diff --git a/.CMake/alg_support.cmake b/.CMake/alg_support.cmake
index 7309c800f..bf8e4d56c 100644
--- a/.CMake/alg_support.cmake
+++ b/.CMake/alg_support.cmake
@@ -174,6 +174,15 @@ cmake_dependent_option(OQS_ENABLE_SIG_mayo_3 "" ON "OQS_ENABLE_SIG_MAYO" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_mayo_5 "" ON "OQS_ENABLE_SIG_MAYO" OFF)
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_END
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_START
+if ((OQS_LIBJADE_BUILD STREQUAL "ON"))
+
+option(OQS_ENABLE_LIBJADE_KEM_KYBER "Enable libjade implementation of kyber algorithm family" ON)
+cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_512 "" ON "OQS_ENABLE_LIBJADE_KEM_KYBER" OFF)
+cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_768 "" ON "OQS_ENABLE_LIBJADE_KEM_KYBER" OFF)
+endif()
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_END
+
if((OQS_MINIMAL_BUILD STREQUAL "ON"))
message(FATAL_ERROR "OQS_MINIMAL_BUILD option ${OQS_MINIMAL_BUILD} no longer supported")
endif()
@@ -530,6 +539,24 @@ endif()
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_END
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_START
+if ((OQS_LIBJADE_BUILD STREQUAL "ON"))
+
+if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
+if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2 "" ON "OQS_ENABLE_LIBJADE_KEM_kyber_512" OFF)
+endif()
+endif()
+
+if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
+if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2 "" ON "OQS_ENABLE_LIBJADE_KEM_kyber_768" OFF)
+endif()
+endif()
+
+endif()
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_END
+
option(OQS_ENABLE_SIG_STFL_XMSS "Enable XMSS algorithm family" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h10 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h16 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml
index c55dd86ee..fbaa3f20c 100644
--- a/.github/workflows/unix.yml
+++ b/.github/workflows/unix.yml
@@ -3,7 +3,13 @@ name: Linux and MacOS tests
permissions:
contents: read
-on: [ push, pull_request ]
+on: [ push, pull_request , workflow_dispatch]
+
+env:
+ # Semi-colon separated list of algorithims with libjade implementations to
+ # be passed as input to CMake option as: -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST
+ # See CONFIGURE.md under ## OQS_MINIMAL_BUILD
+ LIBJADE_ALG_LIST: "KEM_kyber_512;KEM_kyber_768"
jobs:
@@ -23,12 +29,24 @@ jobs:
upstreamcheck:
name: Check upstream code is properly integrated
+ strategy:
+ fail-fast: false
+ matrix:
+ copy-mode:
+ - copy
+ - libjade
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest
runs-on: ubuntu-latest
steps:
+ - name: Setup nix
+ uses: cachix/install-nix-action@v26
+ - name: Setup jasmin-compiler
+ run: |
+ nix-channel --add https://nixos.org/channels/nixos-23.11 nixpkgs && \
+ nix-channel --update && nix-env -iA nixpkgs.jasmin-compiler
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
- - name: Verify copy_from_upstream state
+ - name: Verify copy_from_upstream state after "${{ matrix.copy-mode}}"
run: |
git config --global user.name "ciuser" && \
git config --global user.email "ci@openquantumsafe.org" && \
@@ -36,7 +54,7 @@ jobs:
git config --global --add safe.directory $LIBOQS_DIR && \
cd scripts/copy_from_upstream && \
! pip3 install --require-hashes -r requirements.txt 2>&1 | grep ERROR && \
- python3 copy_from_upstream.py copy && \
+ python3 copy_from_upstream.py ${{ matrix.copy-mode }} && \
! git status | grep modified
buildcheck:
@@ -155,13 +173,18 @@ jobs:
CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=OFF -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON
PYTEST_ARGS: --ignore=tests/test_distbuild.py --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py --maxprocesses=10
runs-on: ${{ matrix.runner }}
+ libjade-build:
+ - -DOQS_LIBJADE_BUILD=OFF
+ # Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by
+ # libjade to minimise repeated tests
+ - -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST
container:
image: ${{ matrix.container }}
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
- name: Configure
- run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N ..
+ run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }} .. && cmake -LA -N ..
- name: Build
run: ninja
working-directory: build
@@ -267,6 +290,16 @@ jobs:
- -DCMAKE_C_COMPILER=gcc-13
- -DOQS_USE_OPENSSL=OFF
- -DBUILD_SHARED_LIBS=ON -DOQS_DIST_BUILD=OFF
+ libjade-build:
+ - -DOQS_LIBJADE_BUILD=OFF
+ # Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by
+ # libjade to minimise repeated tests
+ - -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST
+ exclude:
+ # macos-14 runs on aarch64, libjade targets x86
+ # Skip testing libjade on macos-14
+ - os: macos-14
+ libjade-build: -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST
runs-on: ${{ matrix.os }}
steps:
- name: Install Python
@@ -282,7 +315,7 @@ jobs:
- name: Get system information
run: sysctl -a | grep machdep.cpu
- name: Configure
- run: mkdir -p build && cd build && source ~/.bashrc && cmake -GNinja -DOQS_STRICT_WARNINGS=ON ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N ..
+ run: mkdir -p build && cd build && source ~/.bashrc && cmake -GNinja -DOQS_STRICT_WARNINGS=ON ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }} .. && cmake -LA -N ..
- name: Build
run: ninja
working-directory: build
diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml
index d79fda6f1..dc2ff8346 100644
--- a/.github/workflows/weekly.yml
+++ b/.github/workflows/weekly.yml
@@ -6,6 +6,13 @@ permissions:
on:
schedule:
- cron: "5 0 * * 0"
+ workflow_dispatch:
+
+env:
+ # Semi-colon separated list of algorithims with libjade implementations to
+ # be passed as input to CMake option as: -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST
+ # See CONFIGURE.md under ## OQS_MINIMAL_BUILD
+ LIBJADE_ALG_LIST: "KEM_kyber_512;KEM_kyber_768"
jobs:
constant-time-x64:
@@ -52,13 +59,18 @@ jobs:
container: openquantumsafe/ci-ubuntu-focal-x86_64:latest
CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=auto
PYTEST_ARGS: --numprocesses=auto -k 'test_kat_all'
+ libjade-build:
+ - -DOQS_LIBJADE_BUILD=OFF
+ # Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by
+ # libjade to minimise repeated tests
+ - -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST
container:
image: ${{ matrix.container }}
steps:
- name: Checkout code
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # pin@v2
- name: Configure
- run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N ..
+ run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }}.. && cmake -LA -N ..
- name: Build
run: ninja
working-directory: build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 99f431413..257d302a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,6 +23,7 @@ project(liboqs C ASM)
option(OQS_DIST_BUILD "Build distributable library with optimized code for several CPU microarchitectures. Enables run-time CPU feature detection." ON)
option(OQS_BUILD_ONLY_LIB "Build only liboqs and do not expose build targets for tests, documentation, and pretty-printing available." OFF)
set(OQS_MINIMAL_BUILD "" CACHE STRING "Only build specifically listed algorithms.")
+option(OQS_LIBJADE_BUILD "Enable formally verified implementation of supported algorithms from libjade." OFF)
option(OQS_PERMIT_UNSUPPORTED_ARCHITECTURE "Permit compilation on an an unsupported architecture." OFF)
option(OQS_STRICT_WARNINGS "Enable all compiler warnings." OFF)
option(OQS_EMBEDDED_BUILD "Compile liboqs for an Embedded environment without a full standard library." OFF)
@@ -95,6 +96,10 @@ else()
message(FATAL_ERROR "Unknown or unsupported processor: " ${CMAKE_SYSTEM_PROCESSOR} ". Override by setting OQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON")
endif()
+if (NOT ((CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin") AND (ARCH_X86_64 STREQUAL "ON")) AND (OQS_LIBJADE_BUILD STREQUAL "ON"))
+ message(FATAL_ERROR "Building liboqs with libjade implementations from libjade is only supported on Linux and Darwin on x86_64.")
+endif()
+
# intentionally don't switch to variables to avoid --warn-uninitialized report
if(OQS_USE_CPU_EXTENSIONS)
message(FATAL_ERROR "OQS_USE_CPU_EXTENSIONS is deprecated")
diff --git a/CONFIGURE.md b/CONFIGURE.md
index d22c9fa34..becb4a883 100644
--- a/CONFIGURE.md
+++ b/CONFIGURE.md
@@ -19,6 +19,8 @@ The following options can be passed to CMake before the build file generation pr
- [OQS_ENABLE_TEST_CONSTANT_TIME](#OQS_ENABLE_TEST_CONSTANT_TIME)
- [OQS_STRICT_WARNINGS](#OQS_STRICT_WARNINGS)
- [OQS_EMBEDDED_BUILD](#OQS_EMBEDDED_BUILD)
+- [OQS_LIBJADE_BUILD](#OQS_LIBJADE_BUILD)
+- [OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG](#OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG)
## BUILD_SHARED_LIBS
@@ -198,3 +200,18 @@ At the moment, this is **only** considered for random number generation, as both
**Attention**: When this option is enabled, you have to supply a custom callback for obtaining random numbers using the `OQS_randombytes_custom_algorithm()` API before accessing the cryptographic API. Otherwise, all key generation and signing operations will fail.
**Default**: `OFF`.
+
+## OQS_LIBJADE_BUILD
+Can be `ON` or `OFF`. When `ON` liboqs is built to use high assurance implementations of cryptographic algorithms from [Libjade](https://github.com/formosa-crypto/libjade). The cryptographic primitives in Libjade are written using [Jasmin](https://github.com/jasmin-lang/jasmin) and built using the Jasmin compiler. The Jasmin compiler is proven (in Coq) to preserve semantic correctness of a program, maintain secret-independence of control flow, and maintain secret independence of locations of memory access through compilation. Additionally, the Jasmin compiler guarantees thread safety because Jasmin doesn't support global variables.
+
+At the moment, Libjade only provides Kyber512 and Kyber768 KEMs.
+
+At the moment, libjade only supports Linux and Darwin based operating systems on x86_64 platforms.
+
+**Default** `OFF`.
+
+## OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG
+
+Note: `ALG` in `OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG` should be replaced with the specific algorithm name as demonstrated in OQS_ENABLE_KEM_ALG/OQS_ENABLE_SIG_ALG.
+
+**Default**: `OFF` if OQS_LIBJADE_BUILD is `OFF` else unset.
\ No newline at end of file
diff --git a/README.md b/README.md
index 423032028..7637b770b 100644
--- a/README.md
+++ b/README.md
@@ -194,6 +194,7 @@ liboqs includes some third party libraries or modules that are licensed differen
- `src/kem/classic_mceliece/pqclean_*`: public domain
- `src/kem/kyber/pqcrystals-*`: public domain (CC0) or Apache License v2.0
- `src/kem/kyber/pqclean_*`: public domain (CC0), and public domain (CC0) or Apache License v2.0, and public domain (CC0) or MIT, and MIT
+- `src/kem/kyber/libjade_*` public domain (CC0) or Apache License v2.
- `src/kem/ml_kem/pqcrystals-*`: public domain (CC0) or Apache License v2.0
- `src/sig/dilithium/pqcrystals-*`: public domain (CC0) or Apache License v2.0
- `src/sig/dilithium/pqclean_*`: public domain (CC0), and public domain (CC0) or Apache License v2.0, and public domain (CC0) or MIT, and MIT
diff --git a/docs/.Doxyfile b/docs/.Doxyfile
index 1e7dbd33b..c29f2514d 100644
--- a/docs/.Doxyfile
+++ b/docs/.Doxyfile
@@ -378,7 +378,7 @@ TOC_INCLUDE_HEADINGS = 0
# The default value is: DOXYGEN.
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
-MARKDOWN_ID_STYLE = DOXYGEN
+MARKDOWN_ID_STYLE = GITHUB
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
diff --git a/docs/algorithms/kem/kyber.md b/docs/algorithms/kem/kyber.md
index 0ae1cf310..8e59251ca 100644
--- a/docs/algorithms/kem/kyber.md
+++ b/docs/algorithms/kem/kyber.md
@@ -13,6 +13,10 @@
- **oldpqclean-aarch64**:
- **Source**: https://github.com/PQClean/PQClean/commit/8e220a87308154d48fdfac40abbb191ac7fce06a with copy_from_upstream patches
- **Implementation license (SPDX-Identifier)**: CC0-1.0 and (CC0-1.0 or Apache-2.0) and (CC0-1.0 or MIT) and MIT
+- **Formally-verified Implementation sources**:
+ - **libjade**:
+ - **Source**: https://github.com/formosa-crypto/libjade/tree/release/2023.05-2 with copy_from_upstream patches
+ - **Implementation license (SPDX-Identifier)**: CC0-1.0 OR Apache-2.0
## Parameter set summary
@@ -30,6 +34,8 @@
| [Primary Source](#primary-source) | ref | All | All | None | True | True | False |
| [Primary Source](#primary-source) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | True | False |
| [oldpqclean-aarch64](#oldpqclean-aarch64) | aarch64 | ARM64\_V8 | Linux,Darwin | None | True | False | False |
+| [libjade](#libjade) | ref | x86\_64 | Linux,Darwin | None | True | False | False |
+| [libjade](#libjade) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | False | False |
Are implementations chosen based on runtime CPU feature detection? **Yes**.
@@ -42,6 +48,8 @@ Are implementations chosen based on runtime CPU feature detection? **Yes**.
| [Primary Source](#primary-source) | ref | All | All | None | True | True | False |
| [Primary Source](#primary-source) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | True | False |
| [oldpqclean-aarch64](#oldpqclean-aarch64) | aarch64 | ARM64\_V8 | Linux,Darwin | None | True | False | False |
+| [libjade](#libjade) | ref | x86\_64 | Linux,Darwin | None | True | False | False |
+| [libjade](#libjade) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | False | False |
Are implementations chosen based on runtime CPU feature detection? **Yes**.
diff --git a/docs/algorithms/kem/kyber.yml b/docs/algorithms/kem/kyber.yml
index c3561273a..3ee7f21d9 100644
--- a/docs/algorithms/kem/kyber.yml
+++ b/docs/algorithms/kem/kyber.yml
@@ -26,6 +26,11 @@ optimized-upstreams:
with copy_from_upstream patches
spdx-license-identifier: CC0-1.0 and (CC0-1.0 or Apache-2.0) and (CC0-1.0 or MIT)
and MIT
+formally-verified-upstreams:
+ libjade:
+ source: https://github.com/formosa-crypto/libjade/tree/release/2023.05-2 with
+ copy_from_upstream patches
+ spdx-license-identifier: CC0-1.0 OR Apache-2.0
parameter-sets:
- name: Kyber512
claimed-nist-level: 1
@@ -72,6 +77,30 @@ parameter-sets:
no-secret-dependent-branching-claimed: true
no-secret-dependent-branching-checked-by-valgrind: false
large-stack-usage: false
+ - upstream: libjade
+ upstream-id: ref
+ supported-platforms:
+ - architecture: x86_64
+ operating_systems:
+ - Linux
+ - Darwin
+ no-secret-dependent-branching-claimed: true
+ no-secret-dependent-branching-checked-by-valgrind: false
+ large-stack-usage: false
+ - upstream: libjade
+ upstream-id: avx2
+ supported-platforms:
+ - architecture: x86_64
+ operating_systems:
+ - Linux
+ - Darwin
+ required_flags:
+ - avx2
+ - bmi2
+ - popcnt
+ no-secret-dependent-branching-claimed: true
+ no-secret-dependent-branching-checked-by-valgrind: false
+ large-stack-usage: false
- name: Kyber768
claimed-nist-level: 3
claimed-security: IND-CCA2
@@ -117,6 +146,30 @@ parameter-sets:
no-secret-dependent-branching-claimed: true
no-secret-dependent-branching-checked-by-valgrind: false
large-stack-usage: false
+ - upstream: libjade
+ upstream-id: ref
+ supported-platforms:
+ - architecture: x86_64
+ operating_systems:
+ - Linux
+ - Darwin
+ no-secret-dependent-branching-claimed: true
+ no-secret-dependent-branching-checked-by-valgrind: false
+ large-stack-usage: false
+ - upstream: libjade
+ upstream-id: avx2
+ supported-platforms:
+ - architecture: x86_64
+ operating_systems:
+ - Linux
+ - Darwin
+ required_flags:
+ - avx2
+ - bmi2
+ - popcnt
+ no-secret-dependent-branching-claimed: true
+ no-secret-dependent-branching-checked-by-valgrind: false
+ large-stack-usage: false
- name: Kyber1024
claimed-nist-level: 5
claimed-security: IND-CCA2
diff --git a/docs/cbom.json b/docs/cbom.json
index 358fc28b3..f605276ac 100644
--- a/docs/cbom.json
+++ b/docs/cbom.json
@@ -1,23 +1,23 @@
{
"bomFormat": "CBOM",
"specVersion": "1.4-cbom-1.0",
- "serialNumber": "urn:uuid:004d7395-7601-44af-97dd-57c2214e5f60",
+ "serialNumber": "urn:uuid:58a975ac-ea6b-4ce9-a5ae-80d35105db30",
"version": 1,
"metadata": {
- "timestamp": "2024-07-11T15:22:22.228289",
+ "timestamp": "2024-04-09T21:46:17.101849",
"component": {
"type": "library",
- "bom-ref": "pkg:github/open-quantum-safe/liboqs@ca5d956097e10672aaa9bb7994057bcc58291b65",
+ "bom-ref": "pkg:github/open-quantum-safe/liboqs@2fd65d9ec99a2608149713e5fcaeb9b6402e5872",
"name": "liboqs",
- "version": "ca5d956097e10672aaa9bb7994057bcc58291b65"
+ "version": "2fd65d9ec99a2608149713e5fcaeb9b6402e5872"
}
},
"components": [
{
"type": "library",
- "bom-ref": "pkg:github/open-quantum-safe/liboqs@ca5d956097e10672aaa9bb7994057bcc58291b65",
+ "bom-ref": "pkg:github/open-quantum-safe/liboqs@2fd65d9ec99a2608149713e5fcaeb9b6402e5872",
"name": "liboqs",
- "version": "ca5d956097e10672aaa9bb7994057bcc58291b65"
+ "version": "2fd65d9ec99a2608149713e5fcaeb9b6402e5872"
},
{
"type": "crypto-asset",
@@ -839,6 +839,46 @@
"nistQuantumSecurityLevel": 1
}
},
+ {
+ "type": "crypto-asset",
+ "bom-ref": "alg:Kyber512:jasmin:x86_64",
+ "name": "Kyber",
+ "cryptoProperties": {
+ "assetType": "algorithm",
+ "algorithmProperties": {
+ "variant": "Kyber512",
+ "primitive": "kem",
+ "implementationLevel": "softwarePlainRam",
+ "cryptoFunctions": [
+ "keygen",
+ "encapsulate",
+ "decapsulate"
+ ],
+ "implementationPlatform": "x86_64"
+ },
+ "nistQuantumSecurityLevel": 1
+ }
+ },
+ {
+ "type": "crypto-asset",
+ "bom-ref": "alg:Kyber512:jasmin:avx2:x86_64",
+ "name": "Kyber",
+ "cryptoProperties": {
+ "assetType": "algorithm",
+ "algorithmProperties": {
+ "variant": "Kyber512",
+ "primitive": "kem",
+ "implementationLevel": "softwarePlainRam",
+ "cryptoFunctions": [
+ "keygen",
+ "encapsulate",
+ "decapsulate"
+ ],
+ "implementationPlatform": "x86_64"
+ },
+ "nistQuantumSecurityLevel": 1
+ }
+ },
{
"type": "crypto-asset",
"bom-ref": "alg:Kyber768:generic",
@@ -899,6 +939,46 @@
"nistQuantumSecurityLevel": 3
}
},
+ {
+ "type": "crypto-asset",
+ "bom-ref": "alg:Kyber768:jasmin:x86_64",
+ "name": "Kyber",
+ "cryptoProperties": {
+ "assetType": "algorithm",
+ "algorithmProperties": {
+ "variant": "Kyber768",
+ "primitive": "kem",
+ "implementationLevel": "softwarePlainRam",
+ "cryptoFunctions": [
+ "keygen",
+ "encapsulate",
+ "decapsulate"
+ ],
+ "implementationPlatform": "x86_64"
+ },
+ "nistQuantumSecurityLevel": 3
+ }
+ },
+ {
+ "type": "crypto-asset",
+ "bom-ref": "alg:Kyber768:jasmin:avx2:x86_64",
+ "name": "Kyber",
+ "cryptoProperties": {
+ "assetType": "algorithm",
+ "algorithmProperties": {
+ "variant": "Kyber768",
+ "primitive": "kem",
+ "implementationLevel": "softwarePlainRam",
+ "cryptoFunctions": [
+ "keygen",
+ "encapsulate",
+ "decapsulate"
+ ],
+ "implementationPlatform": "x86_64"
+ },
+ "nistQuantumSecurityLevel": 3
+ }
+ },
{
"type": "crypto-asset",
"bom-ref": "alg:Kyber1024:generic",
@@ -2328,7 +2408,7 @@
],
"dependencies": [
{
- "ref": "pkg:github/open-quantum-safe/liboqs@ca5d956097e10672aaa9bb7994057bcc58291b65",
+ "ref": "pkg:github/open-quantum-safe/liboqs@2fd65d9ec99a2608149713e5fcaeb9b6402e5872",
"dependsOn": [
"alg:BIKE-L1:x86_64",
"alg:BIKE-L3:x86_64",
@@ -2371,9 +2451,13 @@
"alg:Kyber512:generic",
"alg:Kyber512:x86_64",
"alg:Kyber512:armv8-a",
+ "alg:Kyber512:jasmin:x86_64",
+ "alg:Kyber512:jasmin:avx2:x86_64",
"alg:Kyber768:generic",
"alg:Kyber768:x86_64",
"alg:Kyber768:armv8-a",
+ "alg:Kyber768:jasmin:x86_64",
+ "alg:Kyber768:jasmin:avx2:x86_64",
"alg:Kyber1024:generic",
"alg:Kyber1024:x86_64",
"alg:Kyber1024:armv8-a",
diff --git a/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg.libjade b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg.libjade
new file mode 100644
index 000000000..8d0af0aa5
--- /dev/null
+++ b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg.libjade
@@ -0,0 +1,23 @@
+
+if ((OQS_LIBJADE_BUILD STREQUAL "ON"))
+{% for family in instructions['kems'] %}
+option(OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }} "Enable libjade implementation of {{ family['name'] }} algorithm family" ON)
+ {%- for scheme in family['schemes'] %}
+cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }}" OFF)
+{%- if 'alias_scheme' in scheme %}
+cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }}" OFF)
+{%- endif -%}
+ {%- endfor %}
+{% endfor -%}
+
+{% for family in instructions['sigs'] %}
+option(OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }} "Enable libjade implementation of {{ family['name'] }} algorithm family" ON)
+ {%- for scheme in family['schemes'] %}
+cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }}" OFF)
+{%- if 'alias_scheme' in scheme %}
+cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }}" OFF)
+{%- endif -%}
+ {%- endfor %}
+{% endfor -%}
+endif()
+
diff --git a/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg_conditional.libjade b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg_conditional.libjade
new file mode 100644
index 000000000..82da652df
--- /dev/null
+++ b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg_conditional.libjade
@@ -0,0 +1,73 @@
+
+if ((OQS_LIBJADE_BUILD STREQUAL "ON"))
+{% for family in instructions['kems'] %}
+ {%- for scheme in family['schemes'] %}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%}
+ {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %}
+{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
+{% endif -%}
+if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%}))
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
+{%- if 'alias_scheme' in scheme %}
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
+{%- endif %}
+endif()
+{% if platform['operating_systems'] %}endif()
+{% endif -%}
+ {%- endfor -%}
+ {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
+{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
+{% endif -%}
+if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%})))
+{% if impl['upstream']['name'].endswith('pqclean') -%}
+if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
+{%- endif %}
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
+{%- if 'alias_scheme' in scheme %}
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
+{%- endif %}
+{% if impl['upstream']['name'].endswith('pqclean') -%}
+else()
+ message(WARNING " ARM optimizations are not fully supported on this compiler version.")
+endif()
+{%- endif %}
+endif()
+{% if platform['operating_systems'] %}endif()
+{% endif -%}
+ {%- endfor -%}
+ {%- endfor -%}
+ {%- endfor %}
+{% endfor -%}
+
+{% for family in instructions['sigs'] %}
+ {%- for scheme in family['schemes'] %}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%}
+ {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %}
+{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
+{% endif -%}
+if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%}))
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
+{%- if 'alias_scheme' in scheme %}
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
+{%- endif %}
+endif()
+{% if platform['operating_systems'] %}endif()
+{% endif -%}
+ {%- endfor -%}
+ {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
+{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
+{% endif -%}
+if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%}))
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
+{%- if 'alias_scheme' in scheme %}
+ cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
+{%- endif %}
+endif()
+{% if platform['operating_systems'] %}endif()
+{% endif -%}
+ {%- endfor -%}
+ {%- endfor -%}
+ {%- endfor %}
+{% endfor -%}
+endif()
+
diff --git a/scripts/copy_from_upstream/copy_from_libjade.yml b/scripts/copy_from_upstream/copy_from_libjade.yml
new file mode 100644
index 000000000..620949c39
--- /dev/null
+++ b/scripts/copy_from_upstream/copy_from_libjade.yml
@@ -0,0 +1,30 @@
+# When adding an algorithm to copy_from_libjade.yml, the boolean
+# 'libjade_implementation' and list of implementation 'libjade_implementations'
+# must updated for the relevant algorithm in copy_from_upstream.yml
+# Additionaly, the algorithm name must be appended to env.LIBJADE_ALG_LIST
+# in the unix.yml and weekly.yml GitHub Actions workflows
+jasmin_version: '2023.06.3'
+upstreams:
+ -
+ name: libjade
+ git_url: https://github.com/formosa-crypto/libjade.git
+ git_branch: release/2023.05-2
+ git_commit: 4e15c1d221d025deca40edef2c762be9e3d346b7
+ kem_meta_path: 'src/crypto_kem/{family}/{pqclean_scheme}/META.yml'
+ kem_scheme_path: 'src/crypto_kem/{family}/{pqclean_scheme}'
+ patches: ['libjade-kyber-api.patch', 'libjade-kyber-meta.patch']
+kems:
+ -
+ name: kyber
+ default_implementation: ref
+ upstream_location: libjade
+ schemes:
+ -
+ scheme: "512"
+ pqclean_scheme: kyber512
+ pretty_name_full: Kyber512
+ -
+ scheme: "768"
+ pqclean_scheme: kyber768
+ pretty_name_full: Kyber768
+sigs: []
\ No newline at end of file
diff --git a/scripts/copy_from_upstream/copy_from_upstream.py b/scripts/copy_from_upstream/copy_from_upstream.py
index 9c4f8f223..6cd9b12ec 100755
--- a/scripts/copy_from_upstream/copy_from_upstream.py
+++ b/scripts/copy_from_upstream/copy_from_upstream.py
@@ -24,7 +24,7 @@
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbosity", type=int)
parser.add_argument("-k", "--keep_data", action='store_true')
-parser.add_argument("operation", choices=["copy", "verify"])
+parser.add_argument("operation", choices=["copy", "verify", "libjade"])
args = parser.parse_args()
if args.verbosity:
@@ -65,15 +65,27 @@ def shell(command, expect=0):
if ret.returncode != expect:
raise Exception("'{}' failed with error {}. Expected {}.".format(" ".join(command), ret, expect))
-def generator(destination_file_path, template_filename, family, scheme_desired):
+# Generate template from specified scheme to replace old file in 'copy' mode
+# but preserves additions made to file in prior runs of 'libjade' mode
+def generator(destination_file_path, template_filename, delimiter, family, scheme_desired):
template = file_get_contents(
os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', template_filename))
f = copy.deepcopy(family)
+ contents = file_get_contents(os.path.join(os.environ['LIBOQS_DIR'], destination_file_path))
if scheme_desired != None:
f['schemes'] = [x for x in f['schemes'] if x == scheme_desired]
- assert (len(f['schemes']) == 1)
- # if scheme['implementation'] is not set, run over all implementations!
- file_put_contents(destination_file_path, jinja2.Template(template).render(f))
+ identifier = '{} OQS_COPY_FROM_{}_FRAGMENT_{}'.format(delimiter, 'LIBJADE', os.path.splitext(os.path.basename(template_filename))[0].upper())
+ if identifier in contents:
+ identifier_start, identifier_end = identifier + '_START', identifier + '_END'
+ contents = contents.split('\n')
+ libjade_contents = '\n'.join(contents[contents.index(identifier_start) + 1: contents.index(identifier_end)])
+ contents = jinja2.Template(template).render(f)
+ preamble = contents[:contents.find(identifier_start)]
+ postamble = contents[contents.find(identifier_end):]
+ contents = preamble + identifier_start + '\n' + libjade_contents + '\n' + postamble
+ else:
+ contents = jinja2.Template(template).render(f)
+ file_put_contents(destination_file_path, contents)
def generator_all(filename, instructions):
@@ -82,24 +94,38 @@ def generator_all(filename, instructions):
file_put_contents(filename, contents)
-def replacer(filename, instructions, delimiter):
+def replacer(filename, instructions, delimiter, libjade=False):
fragments = glob.glob(
- os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', filename, '*.fragment'))
+ os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', filename, '*.{}'.format('libjade' if libjade else 'fragment')))
contents = file_get_contents(os.path.join(os.environ['LIBOQS_DIR'], filename))
for fragment in fragments:
template = file_get_contents(fragment)
identifier = os.path.splitext(os.path.basename(fragment))[0]
- identifier_start = '{} OQS_COPY_FROM_UPSTREAM_FRAGMENT_{}_START'.format(delimiter, identifier.upper())
- identifier_end = '{} OQS_COPY_FROM_UPSTREAM_FRAGMENT_{}_END'.format(delimiter, identifier.upper())
+ identifier_start = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_START'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper())
+ identifier_end = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_END'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper())
preamble = contents[:contents.find(identifier_start)]
postamble = contents[contents.find(identifier_end):]
contents = preamble + identifier_start + jinja2.Template(template).render(
{'instructions': instructions, 'non_upstream_kems': non_upstream_kems}) + postamble
file_put_contents(os.path.join(os.environ['LIBOQS_DIR'], filename), contents)
-def load_instructions():
+def replacer_contextual(destination_file_path, template_file_path, delimiter, family, scheme_desired, libjade=False):
+ contents = file_get_contents(destination_file_path)
+ template = file_get_contents(template_file_path)
+ identifier = os.path.basename(template_file_path).split(os.extsep)[0]
+ identifier_start = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_START'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper())
+ identifier_end = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_END'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper())
+ f = copy.deepcopy(family)
+ if scheme_desired != None:
+ f['schemes'] = [x for x in f['schemes'] if x == scheme_desired]
+ preamble = contents[:contents.find(identifier_start)]
+ postamble = contents[contents.find(identifier_end):]
+ contents = preamble + identifier_start + jinja2.Template(template).render(f) + postamble
+ file_put_contents(destination_file_path, contents)
+
+def load_instructions(file):
instructions = file_get_contents(
- os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', 'copy_from_upstream.yml'),
+ os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', file),
encoding='utf-8')
instructions = yaml.safe_load(instructions)
upstreams = {}
@@ -118,10 +144,24 @@ def load_instructions():
if not os.path.exists(work_dotgit):
shell(['git', 'init', work_dir])
shell(['git', '--git-dir', work_dotgit, 'remote', 'add', 'origin', upstream_git_url])
- shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'remote', 'set-url', 'origin', upstream_git_url])
- shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'fetch', '--depth=1', 'origin', upstream_git_commit])
- shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'reset', '--hard', upstream_git_commit])
- if 'patches' in upstream:
+ shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'remote', 'set-url', 'origin', upstream_git_url])
+ if file == 'copy_from_libjade.yml':
+ shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'fetch', '--depth=1', 'origin', upstream_git_branch])
+ else:
+ shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'fetch', '--depth=1', 'origin', upstream_git_commit])
+ shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'reset', '--hard', upstream_git_commit])
+ if file == 'copy_from_libjade.yml':
+ try:
+ version = subprocess.run(['jasminc', '-version'], capture_output=True).stdout.decode('utf-8').strip().split(' ')[-1]
+ if version != instructions['jasmin_version']:
+ print('Expected Jasmin compiler version {}; got version {}.'.format(instructions['jasmin_version'], version))
+ print('Must use Jasmin complier version {} or update copy_from_libjade.yml.'.format(instructions['jasmin_version']))
+ exit(1)
+ except FileNotFoundError:
+ print('Jasmin compiler not found; must add `jasminc` to PATH.')
+ exit(1)
+ shell(['make', '-C', os.path.join(work_dir, 'src')])
+ if 'patches' in upstream:
for patch in upstream['patches']:
patch_file = os.path.join('patches', patch)
shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'apply', '--whitespace=fix', '--directory', work_dir, patch_file])
@@ -152,6 +192,7 @@ def load_instructions():
family['common_deps_usedby'] = {}
family['all_required_flags'] = set()
for scheme in family['schemes']:
+ scheme['family'] = family['name']
if not 'upstream_location' in scheme:
scheme['upstream_location'] = family['upstream_location']
if (not 'arch_specific_upstream_locations' in scheme) and 'arch_specific_upstream_locations' in family:
@@ -347,6 +388,7 @@ def load_instructions():
return instructions
+
# Copy over all files for a given impl in a family using scheme
# Returns list of all relative source files
def handle_common_deps(common_dep, family, dst_basedir):
@@ -424,30 +466,43 @@ def handle_implementation(impl, family, scheme, dst_basedir):
of = impl
origfolder = os.path.join(scheme['scheme_paths'][impl], of)
upstream_location = i['upstream']['name']
- shutil.rmtree(os.path.join(dst_basedir, 'src', family['type'], family['name'],
- '{}_{}_{}'.format(upstream_location, scheme['pqclean_scheme'], impl)),
- ignore_errors=True)
srcfolder = os.path.join(dst_basedir, 'src', family['type'], family['name'],
'{}_{}_{}'.format(upstream_location, scheme['pqclean_scheme'], impl))
+ shutil.rmtree(srcfolder, ignore_errors=True)
# Don't copy from PQClean straight but check for origfile list
try:
os.mkdir(srcfolder)
except FileExistsError as fee:
print(fee)
pass
- # determine list of files to copy:
- if 'sources' in i:
- srcs = i['sources'].split(" ")
- for s in srcs:
- # Copy recursively only in case of directories not with plain files to avoid copying over symbolic links
- if os.path.isfile(os.path.join(origfolder, s)):
- subprocess.run(['cp', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))])
- else:
- subprocess.run(
- ['cp', '-r', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))])
+ if upstream_location == 'libjade':
+ # Flatten directory structure while copying relevant files from libjade repo
+ for root, _, files in os.walk(origfolder):
+ for file in files:
+ if os.path.splitext(file)[1] in ['.c', '.h']:
+ source_path = os.path.join(root, file)
+ dest_path = os.path.join(srcfolder, file)
+ subprocess.run(['cp', source_path, dest_path])
+ if os.path.splitext(file)[1] in ['.s']:
+ file_name, file_ext = os.path.splitext(file)
+ new_file = ''.join([file_name, file_ext.upper()])
+ source_path = os.path.join(root, file)
+ dest_path = os.path.join(srcfolder, new_file)
+ subprocess.run(['cp', source_path, dest_path])
else:
- subprocess.run(['cp', '-pr', os.path.join(origfolder, '.'), srcfolder])
- # raise Exception("Malformed YML file: No sources listed to copy. Check upstream YML file." )
+ # determine list of files to copy:
+ if 'sources' in i:
+ srcs = i['sources'].split(" ")
+ for s in srcs:
+ # Copy recursively only in case of directories not with plain files to avoid copying over symbolic links
+ if os.path.isfile(os.path.join(origfolder, s)):
+ subprocess.run(['cp', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))])
+ else:
+ subprocess.run(
+ ['cp', '-r', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))])
+ else:
+ subprocess.run(['cp', '-pr', os.path.join(origfolder, '.'), srcfolder])
+ # raise Exception("Malformed YML file: No sources listed to copy. Check upstream YML file." )
else:
raise Exception("Mandatory argument upstream_location is missing")
@@ -483,7 +538,7 @@ def handle_implementation(impl, family, scheme, dst_basedir):
return [x[len(srcfolder) + 1:] for x in ffs]
-def process_families(instructions, basedir, with_kat, with_generator):
+def process_families(instructions, basedir, with_kat, with_generator, with_libjade=False):
for family in instructions['kems'] + instructions['sigs']:
try:
os.makedirs(os.path.join(basedir, 'src', family['type'], family['name']))
@@ -574,12 +629,14 @@ def process_families(instructions, basedir, with_kat, with_generator):
os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'],
family['type'] + '_{}.h'.format(family['name'])),
os.path.join('src', family['type'], 'family', family['type'] + '_family.h'),
+ '/////',
family,
None,
)
generator(
os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'], 'CMakeLists.txt'),
os.path.join('src', family['type'], 'family', 'CMakeLists.txt'),
+ '#####',
family,
None,
)
@@ -589,16 +646,28 @@ def process_families(instructions, basedir, with_kat, with_generator):
os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'],
family['type'] + '_{}_{}.c'.format(family['name'], scheme['scheme_c'])),
os.path.join('src', family['type'], 'family', family['type'] + '_scheme.c'),
+ '/////',
family,
scheme,
)
+
+ if with_libjade:
+ replacer_contextual(
+ os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'], 'CMakeLists.txt'),
+ os.path.join('src', family['type'], 'family', 'CMakeLists.txt.libjade'),
+ '#####',
+ family,
+ None,
+ libjade=True
+ )
+
def copy_from_upstream():
for t in ["kem", "sig"]:
with open(os.path.join(os.environ['LIBOQS_DIR'], 'tests', 'KATs', t, 'kats.json'), 'r') as fp:
kats[t] = json.load(fp)
- instructions = load_instructions()
+ instructions = load_instructions('copy_from_upstream.yml')
process_families(instructions, os.environ['LIBOQS_DIR'], True, True)
replacer('.CMake/alg_support.cmake', instructions, '#####')
replacer('CMakeLists.txt', instructions, '#####')
@@ -624,6 +693,36 @@ def copy_from_upstream():
if not keepdata:
shutil.rmtree('repos')
+# Copy algorithms from libjade specified in copy_from_libjade.yml, apply
+# patches and generate select templates
+# Can be run independant of 'copy' mode.
+# When adding an algorithm to copy_from_libjade.yml, the boolean
+# 'libjade_implementation' and list of implementation 'libjade_implementations'
+# must updated for the relevant algorithm in copy_from_upstream.yml
+def copy_from_libjade():
+ for t in ["kem", "sig"]:
+ with open(os.path.join(os.environ['LIBOQS_DIR'], 'tests', 'KATs', t, 'kats.json'), 'r') as fp:
+ kats[t] = json.load(fp)
+
+ instructions = load_instructions('copy_from_libjade.yml')
+ process_families(instructions, os.environ['LIBOQS_DIR'], True, False, True)
+ replacer('.CMake/alg_support.cmake', instructions, '#####', libjade=True)
+ replacer('src/oqsconfig.h.cmake', instructions, '/////', libjade=True)
+ for t in ["kem", "sig"]:
+ with open(os.path.join(os.environ['LIBOQS_DIR'], 'tests', 'KATs', t, 'kats.json'), "w") as f:
+ json.dump(kats[t], f, indent=2, sort_keys=True)
+
+ update_upstream_alg_docs.do_it(os.environ['LIBOQS_DIR'], upstream_location='libjade')
+
+ sys.path.insert(1, os.path.join(os.environ['LIBOQS_DIR'], 'scripts'))
+ import update_docs_from_yaml
+ import update_cbom
+ update_docs_from_yaml.do_it(os.environ['LIBOQS_DIR'])
+ update_cbom.update_cbom_if_algs_not_changed(os.environ['LIBOQS_DIR'], "git")
+ if not keepdata:
+ shutil.rmtree('repos')
+
+
def verify_from_upstream():
instructions = load_instructions()
basedir = "verify_from_upstream"
@@ -701,5 +800,7 @@ def verify_from_upstream():
if args.operation == "copy":
copy_from_upstream()
+elif args.operation == "libjade":
+ copy_from_libjade()
elif args.operation == "verify":
verify_from_upstream()
diff --git a/scripts/copy_from_upstream/copy_from_upstream.yml b/scripts/copy_from_upstream/copy_from_upstream.yml
index f9582fa74..12cfec79b 100644
--- a/scripts/copy_from_upstream/copy_from_upstream.yml
+++ b/scripts/copy_from_upstream/copy_from_upstream.yml
@@ -127,6 +127,7 @@ kems:
-
name: kyber
default_implementation: ref
+ libjade_implementation: True
arch_specific_implementations:
aarch64: aarch64
upstream_location: pqcrystals-kyber
@@ -137,14 +138,23 @@ kems:
scheme: "512"
pqclean_scheme: kyber512
pretty_name_full: Kyber512
+ libjade_implementation: True
+ libjade_implementations:
+ - ref
+ - avx2
-
scheme: "768"
pqclean_scheme: kyber768
pretty_name_full: Kyber768
+ libjade_implementation: True
+ libjade_implementations:
+ - ref
+ - avx2
-
scheme: "1024"
pqclean_scheme: kyber1024
pretty_name_full: Kyber1024
+ libjade_implementation: False
-
name: ml_kem
default_implementation: ref
diff --git a/scripts/copy_from_upstream/patches/libjade-kyber-api.patch b/scripts/copy_from_upstream/patches/libjade-kyber-api.patch
new file mode 100644
index 000000000..74c331cf5
--- /dev/null
+++ b/scripts/copy_from_upstream/patches/libjade-kyber-api.patch
@@ -0,0 +1,305 @@
+diff --git a/src/crypto_kem/kyber/kyber512/amd64/avx2/api.c b/src/crypto_kem/kyber/kyber512/amd64/avx2/api.c
+new file mode 100644
+index 0000000..78436e7
+--- /dev/null
++++ b/src/crypto_kem/kyber/kyber512/amd64/avx2/api.c
+@@ -0,0 +1,20 @@
++#include
++#include "api.h"
++
++int libjade_kyber512_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) {
++ uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES];
++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2);
++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2);
++ return jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins);
++}
++
++int libjade_kyber512_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
++ uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES];
++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES);
++ return jade_kem_kyber_kyber512_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
++}
++
++int libjade_kyber512_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
++ return jade_kem_kyber_kyber512_amd64_avx2_dec( shared_secret, ciphertext, secret_key);
++}
++
+diff --git a/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h b/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h
+index 5148fd5..419112e 100644
+--- a/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h
++++ b/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h
+@@ -3,16 +3,8 @@
+
+ #include
+
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_SECRETKEYBYTES 1632
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_PUBLICKEYBYTES 800
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_CIPHERTEXTBYTES 768
+ #define JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES 64
+ #define JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES 32
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_BYTES 32
+-
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_ALGNAME "Kyber512"
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_ARCH "amd64"
+-#define JADE_KEM_kyber_kyber512_amd64_avx2_IMPL "avx2"
+
+ int jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(
+ uint8_t *public_key,
+@@ -20,7 +12,7 @@ int jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber512_amd64_avx2_keypair(
++int libjade_kyber512_avx2_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+ );
+@@ -32,7 +24,7 @@ int jade_kem_kyber_kyber512_amd64_avx2_enc_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber512_amd64_avx2_enc(
++int libjade_kyber512_avx2_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+@@ -44,4 +36,10 @@ int jade_kem_kyber_kyber512_amd64_avx2_dec(
+ const uint8_t *secret_key
+ );
+
++int libjade_kyber512_avx2_dec(
++ uint8_t *shared_secret,
++ const uint8_t *ciphertext,
++ const uint8_t *secret_key
++);
++
+ #endif
+diff --git a/src/crypto_kem/kyber/kyber512/amd64/ref/api.c b/src/crypto_kem/kyber/kyber512/amd64/ref/api.c
+new file mode 100644
+index 0000000..e06e406
+--- /dev/null
++++ b/src/crypto_kem/kyber/kyber512/amd64/ref/api.c
+@@ -0,0 +1,20 @@
++#include
++#include "api.h"
++
++int libjade_kyber512_ref_keypair(uint8_t *public_key, uint8_t *secret_key) {
++ uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES];
++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2);
++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2);
++ return jade_kem_kyber_kyber512_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins);
++}
++
++int libjade_kyber512_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
++ uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES];
++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES);
++ return jade_kem_kyber_kyber512_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
++}
++
++int libjade_kyber512_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
++ return jade_kem_kyber_kyber512_amd64_ref_dec(shared_secret, ciphertext, secret_key);
++}
++
+diff --git a/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h b/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h
+index 38127cf..fcce52b 100644
+--- a/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h
++++ b/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h
+@@ -3,17 +3,8 @@
+
+ #include
+
+-#define JADE_KEM_kyber_kyber512_amd64_ref_SECRETKEYBYTES 1632
+-#define JADE_KEM_kyber_kyber512_amd64_ref_PUBLICKEYBYTES 800
+-#define JADE_KEM_kyber_kyber512_amd64_ref_CIPHERTEXTBYTES 768
+ #define JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES 64
+ #define JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES 32
+-#define JADE_KEM_kyber_kyber512_amd64_ref_BYTES 32
+-
+-#define JADE_KEM_kyber_kyber512_amd64_ref_ALGNAME "Kyber512"
+-#define JADE_KEM_kyber_kyber512_amd64_ref_ARCH "amd64"
+-#define JADE_KEM_kyber_kyber512_amd64_ref_IMPL "ref"
+-
+
+ int jade_kem_kyber_kyber512_amd64_ref_keypair_derand(
+ uint8_t *public_key,
+@@ -21,7 +12,7 @@ int jade_kem_kyber_kyber512_amd64_ref_keypair_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber512_amd64_ref_keypair(
++int libjade_kyber512_ref_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+ );
+@@ -33,7 +24,7 @@ int jade_kem_kyber_kyber512_amd64_ref_enc_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber512_amd64_ref_enc(
++int libjade_kyber512_ref_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+@@ -45,4 +36,10 @@ int jade_kem_kyber_kyber512_amd64_ref_dec(
+ const uint8_t *secret_key
+ );
+
++int libjade_kyber512_ref_dec(
++ uint8_t *shared_secret,
++ const uint8_t *ciphertext,
++ const uint8_t *secret_key
++);
++
+ #endif
+diff --git a/src/crypto_kem/kyber/kyber768/amd64/avx2/api.c b/src/crypto_kem/kyber/kyber768/amd64/avx2/api.c
+new file mode 100644
+index 0000000..9eeab1d
+--- /dev/null
++++ b/src/crypto_kem/kyber/kyber768/amd64/avx2/api.c
+@@ -0,0 +1,20 @@
++#include
++#include "api.h"
++
++int libjade_kyber768_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) {
++ uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES];
++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2);
++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2);
++ return jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins);
++}
++
++int libjade_kyber768_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
++ uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES];
++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES);
++ return jade_kem_kyber_kyber768_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
++}
++
++int libjade_kyber768_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
++ return jade_kem_kyber_kyber768_amd64_avx2_dec(shared_secret, ciphertext, secret_key);
++}
++
+diff --git a/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h b/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h
+index d3b3500..ac36577 100644
+--- a/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h
++++ b/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h
+@@ -3,16 +3,8 @@
+
+ #include
+
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_SECRETKEYBYTES 2400
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_PUBLICKEYBYTES 1184
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_CIPHERTEXTBYTES 1088
+ #define JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES 64
+ #define JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES 32
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_BYTES 32
+-
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_ALGNAME "Kyber768"
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_ARCH "amd64"
+-#define JADE_KEM_kyber_kyber768_amd64_avx2_IMPL "avx2"
+
+ int jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(
+ uint8_t *public_key,
+@@ -20,7 +12,7 @@ int jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber768_amd64_avx2_keypair(
++int libjade_kyber768_avx2_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+ );
+@@ -32,7 +24,7 @@ int jade_kem_kyber_kyber768_amd64_avx2_enc_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber768_amd64_avx2_enc(
++int libjade_kyber768_avx2_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+@@ -44,4 +36,10 @@ int jade_kem_kyber_kyber768_amd64_avx2_dec(
+ const uint8_t *secret_key
+ );
+
++int libjade_kyber768_avx2_dec(
++ uint8_t *shared_secret,
++ const uint8_t *ciphertext,
++ const uint8_t *secret_key
++);
++
+ #endif
+diff --git a/src/crypto_kem/kyber/kyber768/amd64/ref/api.c b/src/crypto_kem/kyber/kyber768/amd64/ref/api.c
+new file mode 100644
+index 0000000..b9a29b6
+--- /dev/null
++++ b/src/crypto_kem/kyber/kyber768/amd64/ref/api.c
+@@ -0,0 +1,20 @@
++#include
++#include "api.h"
++
++int libjade_kyber768_ref_keypair(uint8_t *public_key, uint8_t *secret_key) {
++ uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES];
++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2);
++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2);
++ return jade_kem_kyber_kyber768_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins);
++}
++
++int libjade_kyber768_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
++ uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES];
++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES);
++ return jade_kem_kyber_kyber768_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
++}
++
++int libjade_kyber768_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
++ return jade_kem_kyber_kyber768_amd64_ref_dec(shared_secret, ciphertext, secret_key);
++}
++
+diff --git a/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h b/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h
+index e23e1bf..0c453e0 100644
+--- a/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h
++++ b/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h
+@@ -3,16 +3,8 @@
+
+ #include
+
+-#define JADE_KEM_kyber_kyber768_amd64_ref_SECRETKEYBYTES 2400
+-#define JADE_KEM_kyber_kyber768_amd64_ref_PUBLICKEYBYTES 1184
+-#define JADE_KEM_kyber_kyber768_amd64_ref_CIPHERTEXTBYTES 1088
+ #define JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES 64
+ #define JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES 32
+-#define JADE_KEM_kyber_kyber768_amd64_ref_BYTES 32
+-
+-#define JADE_KEM_kyber_kyber768_amd64_ref_ALGNAME "Kyber768"
+-#define JADE_KEM_kyber_kyber768_amd64_ref_ARCH "amd64"
+-#define JADE_KEM_kyber_kyber768_amd64_ref_IMPL "ref"
+
+ int jade_kem_kyber_kyber768_amd64_ref_keypair_derand(
+ uint8_t *public_key,
+@@ -20,7 +12,7 @@ int jade_kem_kyber_kyber768_amd64_ref_keypair_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber768_amd64_ref_keypair(
++int libjade_kyber768_ref_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+ );
+@@ -32,7 +24,7 @@ int jade_kem_kyber_kyber768_amd64_ref_enc_derand(
+ const uint8_t *coins
+ );
+
+-int jade_kem_kyber_kyber768_amd64_ref_enc(
++int libjade_kyber768_ref_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+@@ -44,4 +36,10 @@ int jade_kem_kyber_kyber768_amd64_ref_dec(
+ const uint8_t *secret_key
+ );
+
++int libjade_kyber768_ref_dec(
++ uint8_t *shared_secret,
++ const uint8_t *ciphertext,
++ const uint8_t *secret_key
++);
++
+ #endif
diff --git a/scripts/copy_from_upstream/patches/libjade-kyber-meta.patch b/scripts/copy_from_upstream/patches/libjade-kyber-meta.patch
new file mode 100644
index 000000000..d511c61c3
--- /dev/null
+++ b/scripts/copy_from_upstream/patches/libjade-kyber-meta.patch
@@ -0,0 +1,120 @@
+diff --git a/src/crypto_kem/kyber/kyber512/META.yml b/src/crypto_kem/kyber/kyber512/META.yml
+index 000ec75..8282075 100644
+--- a/src/crypto_kem/kyber/kyber512/META.yml
++++ b/src/crypto_kem/kyber/kyber512/META.yml
+@@ -1,7 +1,6 @@
+ name: Kyber512
+ type: kem
+-checksumsmall: 9c1a84c0573d21b5fb50ff68f015c19206cebbda4aa3caa6f9ba4b167eea9514
+-checksumbig: 4596232083e3da10d341576afbc59b24a520073e985a9b9df2d587e67e926a7b
++nistkat-sha256: bb0481d3325d828817900b709d23917cefbc10026fc857f098979451f67bb0ca
+ claimed-nist-level: 1
+ claimed-security: IND-CCA2
+ length-public-key: 800
+@@ -9,23 +8,36 @@ length-ciphertext: 768
+ length-secret-key: 1632
+ length-shared-secret: 32
+ principal-submitters:
+- - TODO
++ - Peter Schwabe
+ auxiliary-submitters:
+- - TODO
++ - Roberto Avanzi
++ - Joppe Bos
++ - Léo Ducas
++ - Eike Kiltz
++ - Tancrède Lepoint
++ - Vadim Lyubashevsky
++ - John M. Schanck
++ - Gregor Seiler
++ - Damien Stehlé
+ implementations:
+- - name: amd64/ref
+- version: TODO
++ - name: ref
++ version: NIST Round 3 submission
++ folder_name: amd64/ref
++ signature_keypair: libjade_kyber512_ref_keypair
++ signature_enc: libjade_kyber512_ref_enc
++ signature_dec: libjade_kyber512_ref_dec
+ supported_platforms:
+ - architecture: x86_64
+ operating_systems:
+ - Linux
+ - Darwin
+- required_flags: # FIXME
+- - avx2
+- - bmi2
+- - popcnt
+- - name: amd64/avx2
+- version: TODO
++ required_flags: []
++ - name: avx2
++ version: NIST Round 3 submission
++ folder_name: amd64/avx2
++ signature_keypair: libjade_kyber512_avx2_keypair
++ signature_enc: libjade_kyber512_avx2_enc
++ signature_dec: libjade_kyber512_avx2_dec
+ supported_platforms:
+ - architecture: x86_64
+ operating_systems:
+diff --git a/src/crypto_kem/kyber/kyber768/META.yml b/src/crypto_kem/kyber/kyber768/META.yml
+index d744938..57cb0c7 100644
+--- a/src/crypto_kem/kyber/kyber768/META.yml
++++ b/src/crypto_kem/kyber/kyber768/META.yml
+@@ -1,7 +1,6 @@
+ name: Kyber768
+ type: kem
+-checksumsmall: 456bb24a767160dcca466adde267b87f359de6e827d31b5b23512d227d8bbfaa
+-checksumbig: 8004a42f34a4125acb4f88628139576882cdf9502a77937003e34f52d217a730
++nistkat-sha256: 89e82a5bf2d4ddb2c6444e10409e6d9ca65dafbca67d1a0db2c9b54920a29172
+ claimed-nist-level: 3
+ claimed-security: IND-CCA2
+ length-public-key: 1184
+@@ -9,23 +8,36 @@ length-ciphertext: 1088
+ length-secret-key: 2400
+ length-shared-secret: 32
+ principal-submitters:
+- - TODO
++ - Peter Schwabe
+ auxiliary-submitters:
+- - TODO
++ - Roberto Avanzi
++ - Joppe Bos
++ - Léo Ducas
++ - Eike Kiltz
++ - Tancrède Lepoint
++ - Vadim Lyubashevsky
++ - John M. Schanck
++ - Gregor Seiler
++ - Damien Stehlé
+ implementations:
+- - name: amd64/ref
+- version: TODO
++ - name: ref
++ version: NIST Round 3 submission
++ folder_name: amd64/ref
++ signature_keypair: libjade_kyber768_ref_keypair
++ signature_enc: libjade_kyber768_ref_enc
++ signature_dec: libjade_kyber768_ref_dec
+ supported_platforms:
+ - architecture: x86_64
+ operating_systems:
+ - Linux
+ - Darwin
+- required_flags: # FIXME
+- - avx2
+- - bmi2
+- - popcnt
+- - name: amd64/avx2
+- version: TODO
++ required_flags: []
++ - name: avx2
++ version: NIST Round 3 submission
++ folder_name: amd64/avx2
++ signature_keypair: libjade_kyber768_avx2_keypair
++ signature_enc: libjade_kyber768_avx2_enc
++ signature_dec: libjade_kyber768_avx2_dec
+ supported_platforms:
+ - architecture: x86_64
+ operating_systems:
diff --git a/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt
index 0c6003031..ca9d41eac 100644
--- a/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt
+++ b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt
@@ -65,5 +65,11 @@ endif()
{%- endfor -%}
{%- endfor %}
+{% if libjade_implementation is defined -%}
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_START
+
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_END
+{% endif -%}
+
set({{ family|upper }}_OBJS ${_{{ family|upper }}_OBJS} PARENT_SCOPE)
diff --git a/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt.libjade b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt.libjade
new file mode 100644
index 000000000..8df1271f2
--- /dev/null
+++ b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt.libjade
@@ -0,0 +1,61 @@
+
+{%- if common_deps is defined %}
+ {%- for common_dep in common_deps %}
+
+if({% for used_by in common_deps_usedby[common_dep['name']] -%}OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ used_by['scheme_c'] }}{%- if used_by['impl_name'] != default_implementation %}_{{ used_by['impl_name'] }}{% endif -%}{%- if not loop.last %} OR {% endif -%}{%- endfor -%})
+ add_library(jasmin_{{ family }}_{{ common_dep['name'] }} OBJECT {% for source_file in common_dep['sources_addl']|sort -%}{{ upstream_location }}_{{ common_dep['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
+ target_include_directories(jasmin_{{ family }}_{{ common_dep['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ upstream_location }}_{{ common_dep['name'] }})
+ {%- if common_dep['required_flags'] %}
+ target_compile_options(jasmin_{{ family }}_{{ common_dep['name'] }} PRIVATE {%- for flag in common_dep['required_flags'] %}{%- if flag != 'arm_neon' %} -m{%- if flag == 'bmi1' -%} bmi {%- elif flag == 'sse4_1' -%} sse4.1 {%- elif flag == 'pclmulqdq' -%} pclmul {%- else -%}{{ flag }}{%- endif -%}{%- endif -%}{%- endfor -%})
+ {%- endif %}
+ {%- if common_dep['compile_opts'] %}
+ target_compile_options(jasmin_{{ family }}_{{ common_dep['name'] }} PUBLIC {{ common_dep['compile_opts'] }})
+ {%- endif %}
+ set(_{{ family|upper }}_OBJS ${_{{ family|upper }}_OBJS} $)
+endif()
+
+ {%- endfor %}
+{%- endif %}
+
+{%- for scheme in schemes -%}
+ {%- for impl in scheme['metadata']['implementations'] -%}
+ {%- if impl['name'] == scheme['default_implementation'] %}
+
+if(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme_c'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})
+ add_library(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
+ {%- if impl['compile_opts'] %}
+ target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }})
+ {%- endif -%}
+
+ {%- else %}
+
+if(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}{%- endif %})
+ add_library(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
+ {%- endif %}
+ target_include_directories(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }})
+ target_include_directories(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims)
+ {%- if impl['name'] != scheme['default_implementation'] and impl['required_flags'] -%}
+ {%- set opts %}{% for flag in impl['required_flags'] %}{%- if flag != 'arm_neon' %} -m{%- if flag == 'bmi1' -%} bmi {% elif flag == 'sse4_1' -%} sse4.1 {% elif flag == 'pclmulqdq' -%} pclmul {% else -%}{{ flag }} {% endif %}{% endif -%}{% endfor %}{% endset %}
+ {%- if opts|length > 0 %}
+ target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE {{ opts }})
+ {%- endif -%}
+ {%- endif %}
+ {%- if impl['compile_opts'] %}
+ target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }})
+ {%- endif %}
+ {%- if family == 'classic_mceliece' and impl['name'] == 'avx2' %}
+ target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-language-extension-token -O1)
+ {%- endif %}
+ {%- if family == 'hqc' and impl['name'] == 'avx2' %}
+ target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-missing-braces)
+ {%- endif %}
+ {%- if impl['upstream']['name'].endswith('pqclean') %}
+ if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ target_compile_definitions(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE old_gas_syntax)
+ endif()
+ {%- endif %}
+ set(_{{ family|upper }}_OBJS ${_{{ family|upper }}_OBJS} $)
+endif()
+ {%- endfor -%}
+{%- endfor %}
+
diff --git a/scripts/copy_from_upstream/src/kem/family/kem_scheme.c b/scripts/copy_from_upstream/src/kem/family/kem_scheme.c
index a78b30fb5..2560d1794 100644
--- a/scripts/copy_from_upstream/src/kem/family/kem_scheme.c
+++ b/scripts/copy_from_upstream/src/kem/family/kem_scheme.c
@@ -115,7 +115,57 @@ extern int PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper
#endif
{%- endfor %}
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+{% for scheme in schemes -%}
+
+{%- for impl in scheme['metadata']['implementations'] if impl['name'] in scheme['libjade_implementations'] %}
+#if defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}{%- if impl['name'] != scheme['default_implementation'] %}_{{ impl['name'] }}{%- endif %}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+extern int libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_keypair(uint8_t *pk, uint8_t *sk);
+extern int libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
+extern int libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
+#endif
+{% endfor -%}
+{% endfor -%}
+{% endif %}
+
OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *public_key, uint8_t *secret_key) {
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %})
+{%- for scheme in schemes %}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] and impl['name'] in scheme['libjade_implementations'] %}
+ {%- if loop.first %}
+#if defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+ {%- else %}
+#elif defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+ {%- endif %}
+ {%- if 'required_flags' in impl and impl['required_flags'] %}
+#if defined(OQS_DIST_BUILD)
+ if ({%- for flag in impl['required_flags'] -%}OQS_CPU_has_extension(OQS_CPU_EXT_{{ flag|upper }}){%- if not loop.last %} && {% endif -%}{%- endfor -%}) {
+#endif /* OQS_DIST_BUILD */
+ {%- endif -%}
+ {%- if impl['name'] in scheme['libjade_implementations'] %}
+ {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_keypair(public_key, secret_key);
+ {%- else %}
+ {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper }}_crypto_kem_keypair(public_key, secret_key);
+ {%- endif %}
+ {%- if 'required_flags' in impl and impl['required_flags'] %}
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_keypair(public_key, secret_key);
+ }
+#endif /* OQS_DIST_BUILD */
+ {%- endif -%}
+ {%- endfor %}
+ {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
+#else
+ {%- endif %}
+ return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_keypair(public_key, secret_key);
+ {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
+#endif
+ {%- endif %}
+{% endfor -%}
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }} {%- if 'alias_scheme' in scheme %} || OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})*/
+{%- endif %}
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
{%- if loop.first %}
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
@@ -147,9 +197,49 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *
{%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
#endif
{%- endif %}
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+#endif /* OQS_LIBJADE_BUILD */
+{%- endif %}
}
OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %})
+{%- for scheme in schemes %}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] and impl['name'] in scheme['libjade_implementations'] %}
+ {%- if loop.first %}
+#if defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+ {%- else %}
+#elif defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+ {%- endif %}
+ {%- if 'required_flags' in impl and impl['required_flags'] %}
+#if defined(OQS_DIST_BUILD)
+ if ({%- for flag in impl['required_flags'] -%}OQS_CPU_has_extension(OQS_CPU_EXT_{{ flag|upper }}){%- if not loop.last %} && {% endif -%}{%- endfor -%}) {
+#endif /* OQS_DIST_BUILD */
+ {%- endif -%}
+ {%- if impl['name'] in scheme['libjade_implementations'] %}
+ {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_enc(ciphertext, shared_secret, public_key);
+ {%- else %}
+ {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper }}_crypto_kem_enc(ciphertext, shared_secret, public_key);
+ {%- endif %}
+ {%- if 'required_flags' in impl and impl['required_flags'] %}
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_enc(ciphertext, shared_secret, public_key);
+ }
+#endif /* OQS_DIST_BUILD */
+ {%- endif -%}
+ {%- endfor %}
+ {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
+#else
+ {%- endif %}
+ return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_enc(ciphertext, shared_secret, public_key);
+ {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
+#endif
+ {%- endif %}
+{% endfor -%}
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }} {%- if 'alias_scheme' in scheme %} || OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})*/
+{%- endif %}
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
{%- if loop.first %}
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
@@ -181,9 +271,49 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_encaps(uint8_t *c
{%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
#endif
{%- endif %}
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+#endif /* OQS_LIBJADE_BUILD */
+{%- endif %}
}
OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %})
+{%- for scheme in schemes %}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] and impl['name'] in scheme['libjade_implementations'] %}
+ {%- if loop.first %}
+#if defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+ {%- else %}
+#elif defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
+ {%- endif %}
+ {%- if 'required_flags' in impl and impl['required_flags'] %}
+#if defined(OQS_DIST_BUILD)
+ if ({%- for flag in impl['required_flags'] -%}OQS_CPU_has_extension(OQS_CPU_EXT_{{ flag|upper }}){%- if not loop.last %} && {% endif -%}{%- endfor -%}) {
+#endif /* OQS_DIST_BUILD */
+ {%- endif -%}
+ {%- if impl['name'] in scheme['libjade_implementations'] %}
+ {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_dec(shared_secret, ciphertext, secret_key);
+ {%- else %}
+ {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper }}_crypto_kem_dec(shared_secret, ciphertext, secret_key);
+ {%- endif %}
+ {%- if 'required_flags' in impl and impl['required_flags'] %}
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_dec(shared_secret, ciphertext, secret_key);
+ }
+#endif /* OQS_DIST_BUILD */
+ {%- endif -%}
+ {%- endfor %}
+ {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
+#else
+ {%- endif %}
+ return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_dec(shared_secret, ciphertext, secret_key);
+ {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
+#endif
+ {%- endif %}
+{% endfor -%}
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }} {%- if 'alias_scheme' in scheme %} || OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})*/
+{%- endif %}
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
{%- if loop.first %}
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
@@ -215,6 +345,9 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_decaps(uint8_t *s
{%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %}
#endif
{%- endif %}
+{%- if libjade_implementation is defined and scheme['libjade_implementation'] %}
+#endif /* OQS_LIBJADE_BUILD */
+{%- endif %}
}
#endif
diff --git a/scripts/copy_from_upstream/src/oqsconfig.h.cmake/add_alg_enable_defines.libjade b/scripts/copy_from_upstream/src/oqsconfig.h.cmake/add_alg_enable_defines.libjade
new file mode 100644
index 000000000..cb4b25c7a
--- /dev/null
+++ b/scripts/copy_from_upstream/src/oqsconfig.h.cmake/add_alg_enable_defines.libjade
@@ -0,0 +1,36 @@
+{% for family in instructions['kems'] %}
+
+#cmakedefine01 OQS_LIBJADE_BUILD
+
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }} 1
+ {%- for scheme in family['schemes'] %}
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }} 1
+{%- if 'alias_scheme' in scheme %}
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }} 1
+{%- endif -%}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] %}
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} 1
+{%- if 'alias_scheme' in scheme %}
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} 1
+{%- endif -%}
+ {%- endfor -%}
+ {%- endfor -%}
+{% endfor -%}
+
+{% for family in instructions['sigs'] %}
+
+#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }} 1
+ {%- for scheme in family['schemes'] %}
+#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }} 1
+{%- if 'alias_scheme' in scheme %}
+#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }} 1
+{%- endif -%}
+ {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] %}
+#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} 1
+{%- if 'alias_scheme' in scheme %}
+#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} 1
+{%- endif -%}
+ {%- endfor -%}
+ {%- endfor -%}
+{% endfor %}
+
diff --git a/scripts/copy_from_upstream/update_upstream_alg_docs.py b/scripts/copy_from_upstream/update_upstream_alg_docs.py
index 706c2ed7f..9bcc98eb1 100755
--- a/scripts/copy_from_upstream/update_upstream_alg_docs.py
+++ b/scripts/copy_from_upstream/update_upstream_alg_docs.py
@@ -171,51 +171,125 @@ def update_upstream_kem_alg_docs(liboqs_root, kems, upstream_info, write_changes
_upstream_yaml = upstream_yaml
for impl_index, impl in enumerate(oqs_scheme_yaml['implementations']):
- upstream_yaml = _upstream_yaml
- if impl['upstream'] in ouis:
- upstream_name = impl['upstream']
- meta_yaml_path_template = ouis[upstream_name]['kem_meta_path']
- opt_upstream_root = ouis[upstream_name]['upstream_root']
- upstream_meta_path = os.path.join(opt_upstream_root, meta_yaml_path_template.format_map(scheme))
- upstream_yaml = load_yaml(upstream_meta_path)
+ if impl['upstream'] != 'libjade':
+ upstream_yaml = _upstream_yaml
+ if impl['upstream'] in ouis:
+ upstream_name = impl['upstream']
+ meta_yaml_path_template = ouis[upstream_name]['kem_meta_path']
+ opt_upstream_root = ouis[upstream_name]['upstream_root']
+ upstream_meta_path = os.path.join(opt_upstream_root, meta_yaml_path_template.format_map(scheme))
+ upstream_yaml = load_yaml(upstream_meta_path)
+
+ for upstream_impl in upstream_yaml['implementations']:
+ if impl['upstream-id'] == upstream_impl['name']:
+ break
+ # Logic to add Common_META.yml components
+
+ implementations = upstream_yaml['implementations']
+ uir = get_upstream_info(implementations, impl['upstream-id'])
+ if (uir != None) and ('common_dep' in uir):
+ upstream_common_path = upstream_meta_path.replace(scheme['pretty_name_full'], "Common")
+ upstream_common_yaml = load_yaml(upstream_common_path)
+ for c in uir['common_dep'].split(' '):
+ ur = get_upstream_info(upstream_common_yaml['commons'], c)
+ if (ur != None) and ('supported_platforms' in ur):
+ if 'required_flags' in ur['supported_platforms'][0] and not ur['supported_platforms'][0]['required_flags']:
+ del ur['supported_platforms'][0]['required_flags']
+ if 'required_flags' in ur['supported_platforms'][0].keys():
+ upstream_impl['supported_platforms'][0]['required_flags']=list(set(upstream_impl['supported_platforms'][0]['required_flags']+ur['supported_platforms'][0]['required_flags']))
+ upstream_impl['supported_platforms'][0]['required_flags'].sort()
+ if 'supported_platforms' in upstream_impl:
+ for i in range(len(upstream_impl['supported_platforms'])):
+ if upstream_impl['supported_platforms'][i]['architecture'] == 'arm_8':
+ upstream_impl['supported_platforms'][i]['architecture'] = 'ARM64_V8'
+ if 'asimd' in upstream_impl['supported_platforms'][i]['required_flags']:
+ upstream_impl['supported_platforms'][i]['required_flags'].remove('asimd')
+ if not upstream_impl['supported_platforms'][i]['required_flags']:
+ del upstream_impl['supported_platforms'][i]['required_flags']
+
+ impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], upstream_impl['supported_platforms'], "supported-platforms")
+ else:
+ impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], "all", "supported-platforms")
+ oqs_scheme_yaml['implementations'][impl_index] = impl
+
+ oqs_yaml['parameter-sets'][index] = oqs_scheme_yaml
+
+ if write_changes:
+ store_yaml(oqs_yaml_path, oqs_yaml)
+
+
+# Merge documentation in liboqs_root/docs/algorithms/kem/kem['name'].yml with
+# upstream information from libjade (patched with copy_from_upstream.py):
+# Args:
+# kems: List of kems in copy_from_libjade.yml
+# upstream_info: Hashtable of upstream information (keyed by upstream source)
+# incl. entry: 'upstream_root' pointing to local folder containing source code
+def update_libjade_kem_alg_docs(liboqs_root, kems, upstream_info, write_changes=False):
+ for kem in kems:
+ ui = get_upstream_info(upstream_info, kem['upstream_location'])
+ upstream_root = ui['upstream_root']
+ meta_yaml_path_template = ui['kem_meta_path']
+ oqs_yaml_path = os.path.join(liboqs_root, 'docs', 'algorithms', 'kem', '{}.yml'.format(kem['name']))
+ oqs_yaml = load_yaml(oqs_yaml_path)
+ # We cannot assume that the ordering of "parameter-sets"
+ # in the OQS YAML files matches that of copy_from_upstream.yml
+ # hence use helper function get_oqs_yaml(alg_name)
+ for scheme in kem['schemes']:
+ scheme['family'] = kem['name']
+ upstream_meta_path = os.path.join(upstream_root, meta_yaml_path_template.format_map(scheme))
+ upstream_yaml = load_yaml(upstream_meta_path)
+
+ oqs_yaml['type'] = rhs_if_not_equal(oqs_yaml['type'], upstream_yaml['type'], "type")
+
+ oqs_yaml['principal-submitters'] = rhs_if_not_equal(oqs_yaml['principal-submitters'], upstream_yaml['principal-submitters'], "principal-submitters")
+ if 'auxiliary-submitters' in upstream_yaml:
+ oqs_yaml['auxiliary-submitters'] = rhs_if_not_equal(oqs_yaml['auxiliary-submitters'] if 'auxiliary-submitters' in oqs_yaml else '', upstream_yaml['auxiliary-submitters'], "auxiliary-submitters")
+
+ for upstream in upstream_info:
+ verified_upstream_base_url = upstream['git_url'][:-len(".git")]
+ for patchfilename in upstream['patches']:
+ if kem['name'] in patchfilename:
+ patches_done=" with copy_from_upstream patches"
+ patches_done=""
+ if 'patches' in upstream:
+ for patchfilename in upstream['patches']:
+ if kem['name'] in patchfilename:
+ patches_done=" with copy_from_upstream patches"
+ if 'formally-verified-upstreams' in oqs_yaml and upstream['name'] in oqs_yaml['formally-verified-upstreams']:
+
+ lhs = oqs_yaml['formally-verified-upstreams'][upstream['name']]['source']
+ else:
+ lhs = ''
+ git_branch = upstream['git_branch']
+ oqs_yaml['formally-verified-upstreams'][upstream['name']]['source'] = rhs_if_not_equal(lhs, ("{}/tree/{}"+patches_done).format(verified_upstream_base_url, git_branch), "formally-verified-upstreams")
+
+ index, oqs_scheme_yaml = get_oqs_yaml(oqs_yaml['parameter-sets'], scheme['pretty_name_full'])
+
+ oqs_scheme_yaml['claimed-nist-level'] = rhs_if_not_equal(oqs_scheme_yaml['claimed-nist-level'], upstream_yaml['claimed-nist-level'], "claimed-nist-level")
+ oqs_scheme_yaml['claimed-security'] = rhs_if_not_equal(oqs_scheme_yaml['claimed-security'], upstream_yaml['claimed-security'], "claimed-security")
+ oqs_scheme_yaml['length-public-key'] = rhs_if_not_equal(oqs_scheme_yaml['length-public-key'], upstream_yaml['length-public-key'], "length-public-key")
+ oqs_scheme_yaml['length-ciphertext'] = rhs_if_not_equal(oqs_scheme_yaml['length-ciphertext'], upstream_yaml['length-ciphertext'], "length-ciphertext")
+ oqs_scheme_yaml['length-secret-key'] = rhs_if_not_equal(oqs_scheme_yaml['length-secret-key'], upstream_yaml['length-secret-key'], "legnth-secret-key")
+ oqs_scheme_yaml['length-shared-secret'] = rhs_if_not_equal(oqs_scheme_yaml['length-shared-secret'], upstream_yaml['length-shared-secret'], "length-shared-secret")
+
+ for impl_index, impl in enumerate(oqs_scheme_yaml['implementations']):
+ if impl['upstream'] == kem['upstream_location']:
for upstream_impl in upstream_yaml['implementations']:
if impl['upstream-id'] == upstream_impl['name']:
break
- # Logic to add Common_META.yml components
-
- implementations = upstream_yaml['implementations']
- uir = get_upstream_info(implementations, impl['upstream-id'])
- if (uir != None) and ('common_dep' in uir):
- upstream_common_path = upstream_meta_path.replace(scheme['pretty_name_full'], "Common")
- upstream_common_yaml = load_yaml(upstream_common_path)
- for c in uir['common_dep'].split(' '):
- ur = get_upstream_info(upstream_common_yaml['commons'], c)
- if (ur != None) and ('supported_platforms' in ur):
- if 'required_flags' in ur['supported_platforms'][0] and not ur['supported_platforms'][0]['required_flags']:
- del ur['supported_platforms'][0]['required_flags']
- if 'required_flags' in ur['supported_platforms'][0].keys():
- upstream_impl['supported_platforms'][0]['required_flags']=list(set(upstream_impl['supported_platforms'][0]['required_flags']+ur['supported_platforms'][0]['required_flags']))
- upstream_impl['supported_platforms'][0]['required_flags'].sort()
if 'supported_platforms' in upstream_impl:
- for i in range(len(upstream_impl['supported_platforms'])):
- if upstream_impl['supported_platforms'][i]['architecture'] == 'arm_8':
- upstream_impl['supported_platforms'][i]['architecture'] = 'ARM64_V8'
- if 'asimd' in upstream_impl['supported_platforms'][i]['required_flags']:
- upstream_impl['supported_platforms'][i]['required_flags'].remove('asimd')
- if not upstream_impl['supported_platforms'][i]['required_flags']:
- del upstream_impl['supported_platforms'][i]['required_flags']
-
impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], upstream_impl['supported_platforms'], "supported-platforms")
- else:
- impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], "all", "supported-platforms")
+ for i in range(len(impl['supported-platforms'])):
+ if not impl['supported-platforms'][i]['required_flags']:
+ del impl['supported-platforms'][i]['required_flags']
+
oqs_scheme_yaml['implementations'][impl_index] = impl
oqs_yaml['parameter-sets'][index] = oqs_scheme_yaml
-
- if write_changes:
- store_yaml(oqs_yaml_path, oqs_yaml)
-
+ if write_changes:
+ store_yaml(oqs_yaml_path, oqs_yaml)
+
def update_upstream_sig_alg_docs(liboqs_root, sigs, upstream_info, write_changes=False):
@@ -368,7 +442,7 @@ def update_upstream_sig_alg_docs(liboqs_root, sigs, upstream_info, write_changes
store_yaml(oqs_yaml_path, oqs_yaml)
-def do_it(liboqs_root):
+def do_it(liboqs_root, upstream_location='upstream'):
global DEBUG
if liboqs_root == None:
parser = argparse.ArgumentParser()
@@ -388,15 +462,18 @@ def do_it(liboqs_root):
if not write_changes:
print("--write-changes not set; changes will not be written out.")
instructions = load_yaml(
- os.path.join(liboqs_root, 'scripts', 'copy_from_upstream', 'copy_from_upstream.yml'),
+ os.path.join(liboqs_root, 'scripts', 'copy_from_upstream', 'copy_from_{}.yml'.format(upstream_location)),
encoding='utf-8')
for upstream in instructions['upstreams']:
if 'git_url' in upstream.keys():
upstream['upstream_root'] = fetch_upstream(liboqs_root, upstream)
- update_upstream_kem_alg_docs(liboqs_root, instructions['kems'], instructions['upstreams'], write_changes)
- update_upstream_sig_alg_docs(liboqs_root, instructions['sigs'], instructions['upstreams'], write_changes)
+ if upstream_location == 'libjade':
+ update_libjade_kem_alg_docs(liboqs_root, instructions['kems'], instructions['upstreams'], write_changes)
+ else:
+ update_upstream_kem_alg_docs(liboqs_root, instructions['kems'], instructions['upstreams'], write_changes)
+ update_upstream_sig_alg_docs(liboqs_root, instructions['sigs'], instructions['upstreams'], write_changes)
if __name__ == "__main__":
do_it(None)
diff --git a/scripts/update_cbom.py b/scripts/update_cbom.py
index e3375d7f9..c4fd197ae 100644
--- a/scripts/update_cbom.py
+++ b/scripts/update_cbom.py
@@ -118,7 +118,13 @@ def add_cbom_component(out, kem_yaml, parameter_set):
if plat['architecture'] in dic.keys():
algorithmProperties['implementationPlatform'] = dic[plat['architecture']]
component_cpy = copy.deepcopy(component)
- component_cpy['bom-ref'] += ":" + algorithmProperties['implementationPlatform']
+ if 'upstream' in impl and impl['upstream'] == 'libjade':
+ tag = ":jasmin:"
+ if any('required_flags' in i for i in impl['supported-platforms']):
+ tag += impl['upstream-id'] + ':'
+ component_cpy['bom-ref'] += tag + algorithmProperties['implementationPlatform']
+ else:
+ component_cpy['bom-ref'] += ":" + algorithmProperties['implementationPlatform']
cbom_components.append(component_cpy)
bom_algs_bomrefs.append(component_cpy['bom-ref'])
if dep:
diff --git a/scripts/update_docs_from_yaml.py b/scripts/update_docs_from_yaml.py
index a07a81c2d..2535d0ffa 100644
--- a/scripts/update_docs_from_yaml.py
+++ b/scripts/update_docs_from_yaml.py
@@ -48,6 +48,12 @@ def do_it(liboqs_root):
out_md.write(' - **{}**:\n'.format(opt_upstream, opt_upstream))
out_md.write(' - **Source**: {}\n'.format(kem_yaml['optimized-upstreams'][opt_upstream]['source']))
out_md.write(' - **Implementation license (SPDX-Identifier)**: {}\n'.format(kem_yaml['optimized-upstreams'][opt_upstream]['spdx-license-identifier']))
+ if 'formally-verified-upstreams' in kem_yaml:
+ out_md.write('- **Formally-verified Implementation sources**: \n')
+ for opt_upstream in kem_yaml['formally-verified-upstreams']:
+ out_md.write(' - **{}**:\n'.format(opt_upstream, opt_upstream))
+ out_md.write(' - **Source**: {}\n'.format(kem_yaml['formally-verified-upstreams'][opt_upstream]['source']))
+ out_md.write(' - **Implementation license (SPDX-Identifier)**: {}\n'.format(kem_yaml['formally-verified-upstreams'][opt_upstream]['spdx-license-identifier']))
if 'upstream-ancestors' in kem_yaml:
out_md.write('- **Ancestors of primary source**:\n')
for url in kem_yaml['upstream-ancestors'][:-1]:
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index d82b4ea26..958375fc0 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -71,6 +71,12 @@ else() # using XKCP
set(SHA3_IMPL sha3/xkcp_sha3.c sha3/xkcp_sha3x4.c)
endif()
+if ((OQS_LIBJADE_BUILD STREQUAL "ON"))
+ set(LIBJADE_RANDOMBYTES libjade_shims/libjade_randombytes.c)
+else()
+ set(LIBJADE_RANDOMBYTES "")
+endif()
+
add_library(common OBJECT ${AES_IMPL} aes/aes.c
${SHA2_IMPL} sha2/sha2.c
${SHA3_IMPL} sha3/sha3.c sha3/sha3x4.c
@@ -78,6 +84,7 @@ add_library(common OBJECT ${AES_IMPL} aes/aes.c
common.c
pqclean_shims/fips202.c
pqclean_shims/fips202x4.c
+ ${LIBJADE_RANDOMBYTES}
rand/rand.c)
# Implementations of the internal API to be exposed to test programs
diff --git a/src/common/libjade_shims/libjade_randombytes.c b/src/common/libjade_shims/libjade_randombytes.c
new file mode 100644
index 000000000..84a0102d3
--- /dev/null
+++ b/src/common/libjade_shims/libjade_randombytes.c
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: Apache-2.0 OR CC0-1.0
+
+#if defined(__unix__) || defined(__APPLE__)
+#include
+#include "libjade_randombytes.h"
+
+void __jasmin_syscall_randombytes__(uint8_t *_x, uint64_t xlen) {
+ OQS_randombytes(_x, xlen);
+}
+#endif
diff --git a/src/common/libjade_shims/libjade_randombytes.h b/src/common/libjade_shims/libjade_randombytes.h
new file mode 100644
index 000000000..9b6dd62c6
--- /dev/null
+++ b/src/common/libjade_shims/libjade_randombytes.h
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: Apache-2.0 OR CC0-1.0
+
+#if defined(__unix__) || defined(__APPLE__)
+#ifndef LIBJADE_RANDOMBYTES_H
+#define LIBJADE_RANDOMBYTES_H
+
+#include
+#include
+
+void __jasmin_syscall_randombytes__(uint8_t *_x, uint64_t xlen) __asm__("__jasmin_syscall_randombytes__");
+
+#endif // LIBJADE_RANDOMBYTES_H
+#endif
diff --git a/src/kem/kyber/CMakeLists.txt b/src/kem/kyber/CMakeLists.txt
index 948fc0880..c1e3e845c 100644
--- a/src/kem/kyber/CMakeLists.txt
+++ b/src/kem/kyber/CMakeLists.txt
@@ -89,4 +89,36 @@ if(OQS_ENABLE_KEM_kyber_1024_aarch64)
set(_KYBER_OBJS ${_KYBER_OBJS} $)
endif()
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_START
+
+if(OQS_ENABLE_LIBJADE_KEM_kyber_512)
+ add_library(jasmin_kyber_512_ref OBJECT libjade_kyber512_ref/api.c libjade_kyber512_ref/kem.S)
+ target_include_directories(jasmin_kyber_512_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber512_ref)
+ target_include_directories(jasmin_kyber_512_ref PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims)
+ set(_KYBER_OBJS ${_KYBER_OBJS} $)
+endif()
+
+if(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2)
+ add_library(jasmin_kyber_512_avx2 OBJECT libjade_kyber512_avx2/api.c libjade_kyber512_avx2/kem.S)
+ target_include_directories(jasmin_kyber_512_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber512_avx2)
+ target_include_directories(jasmin_kyber_512_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims)
+ target_compile_options(jasmin_kyber_512_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt )
+ set(_KYBER_OBJS ${_KYBER_OBJS} $)
+endif()
+
+if(OQS_ENABLE_LIBJADE_KEM_kyber_768)
+ add_library(jasmin_kyber_768_ref OBJECT libjade_kyber768_ref/api.c libjade_kyber768_ref/kem.S)
+ target_include_directories(jasmin_kyber_768_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber768_ref)
+ target_include_directories(jasmin_kyber_768_ref PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims)
+ set(_KYBER_OBJS ${_KYBER_OBJS} $)
+endif()
+
+if(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2)
+ add_library(jasmin_kyber_768_avx2 OBJECT libjade_kyber768_avx2/api.c libjade_kyber768_avx2/kem.S)
+ target_include_directories(jasmin_kyber_768_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber768_avx2)
+ target_include_directories(jasmin_kyber_768_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims)
+ target_compile_options(jasmin_kyber_768_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt )
+ set(_KYBER_OBJS ${_KYBER_OBJS} $)
+endif()
+##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_END
set(KYBER_OBJS ${_KYBER_OBJS} PARENT_SCOPE)
diff --git a/src/kem/kyber/kem_kyber_512.c b/src/kem/kyber/kem_kyber_512.c
index a226787f6..e2b870713 100644
--- a/src/kem/kyber/kem_kyber_512.c
+++ b/src/kem/kyber/kem_kyber_512.c
@@ -46,7 +46,35 @@ extern int PQCLEAN_KYBER512_AARCH64_crypto_kem_enc(uint8_t *ct, uint8_t *ss, con
extern int PQCLEAN_KYBER512_AARCH64_crypto_kem_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
#endif
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512)
+extern int libjade_kyber512_ref_keypair(uint8_t *pk, uint8_t *sk);
+extern int libjade_kyber512_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
+extern int libjade_kyber512_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
+#endif
+
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2)
+extern int libjade_kyber512_avx2_keypair(uint8_t *pk, uint8_t *sk);
+extern int libjade_kyber512_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
+extern int libjade_kyber512_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
+#endif
+
+
OQS_API OQS_STATUS OQS_KEM_kyber_512_keypair(uint8_t *public_key, uint8_t *secret_key) {
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_512))
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2)
+#if defined(OQS_DIST_BUILD)
+ if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
+#endif /* OQS_DIST_BUILD */
+ return (OQS_STATUS) libjade_kyber512_avx2_keypair(public_key, secret_key);
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_kyber512_ref_keypair(public_key, secret_key);
+ }
+#endif /* OQS_DIST_BUILD */
+#else
+ return (OQS_STATUS) libjade_kyber512_ref_keypair(public_key, secret_key);
+#endif
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_512)*/
#if defined(OQS_ENABLE_KEM_kyber_512_avx2)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
@@ -70,9 +98,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_keypair(uint8_t *public_key, uint8_t *secre
#else
return (OQS_STATUS) pqcrystals_kyber512_ref_keypair(public_key, secret_key);
#endif
+#endif /* OQS_LIBJADE_BUILD */
}
OQS_API OQS_STATUS OQS_KEM_kyber_512_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_512))
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2)
+#if defined(OQS_DIST_BUILD)
+ if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
+#endif /* OQS_DIST_BUILD */
+ return (OQS_STATUS) libjade_kyber512_avx2_enc(ciphertext, shared_secret, public_key);
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_kyber512_ref_enc(ciphertext, shared_secret, public_key);
+ }
+#endif /* OQS_DIST_BUILD */
+#else
+ return (OQS_STATUS) libjade_kyber512_ref_enc(ciphertext, shared_secret, public_key);
+#endif
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_512)*/
#if defined(OQS_ENABLE_KEM_kyber_512_avx2)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
@@ -96,9 +140,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_encaps(uint8_t *ciphertext, uint8_t *shared
#else
return (OQS_STATUS) pqcrystals_kyber512_ref_enc(ciphertext, shared_secret, public_key);
#endif
+#endif /* OQS_LIBJADE_BUILD */
}
OQS_API OQS_STATUS OQS_KEM_kyber_512_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_512))
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2)
+#if defined(OQS_DIST_BUILD)
+ if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
+#endif /* OQS_DIST_BUILD */
+ return (OQS_STATUS) libjade_kyber512_avx2_dec(shared_secret, ciphertext, secret_key);
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_kyber512_ref_dec(shared_secret, ciphertext, secret_key);
+ }
+#endif /* OQS_DIST_BUILD */
+#else
+ return (OQS_STATUS) libjade_kyber512_ref_dec(shared_secret, ciphertext, secret_key);
+#endif
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_512)*/
#if defined(OQS_ENABLE_KEM_kyber_512_avx2)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
@@ -122,6 +182,7 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_decaps(uint8_t *shared_secret, const uint8_
#else
return (OQS_STATUS) pqcrystals_kyber512_ref_dec(shared_secret, ciphertext, secret_key);
#endif
+#endif /* OQS_LIBJADE_BUILD */
}
#endif
diff --git a/src/kem/kyber/kem_kyber_768.c b/src/kem/kyber/kem_kyber_768.c
index bc21b0038..d1b792b5c 100644
--- a/src/kem/kyber/kem_kyber_768.c
+++ b/src/kem/kyber/kem_kyber_768.c
@@ -46,7 +46,35 @@ extern int PQCLEAN_KYBER768_AARCH64_crypto_kem_enc(uint8_t *ct, uint8_t *ss, con
extern int PQCLEAN_KYBER768_AARCH64_crypto_kem_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
#endif
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768)
+extern int libjade_kyber768_ref_keypair(uint8_t *pk, uint8_t *sk);
+extern int libjade_kyber768_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
+extern int libjade_kyber768_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
+#endif
+
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2)
+extern int libjade_kyber768_avx2_keypair(uint8_t *pk, uint8_t *sk);
+extern int libjade_kyber768_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
+extern int libjade_kyber768_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
+#endif
+
+
OQS_API OQS_STATUS OQS_KEM_kyber_768_keypair(uint8_t *public_key, uint8_t *secret_key) {
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_768))
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2)
+#if defined(OQS_DIST_BUILD)
+ if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
+#endif /* OQS_DIST_BUILD */
+ return (OQS_STATUS) libjade_kyber768_avx2_keypair(public_key, secret_key);
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_kyber768_ref_keypair(public_key, secret_key);
+ }
+#endif /* OQS_DIST_BUILD */
+#else
+ return (OQS_STATUS) libjade_kyber768_ref_keypair(public_key, secret_key);
+#endif
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_768)*/
#if defined(OQS_ENABLE_KEM_kyber_768_avx2)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
@@ -70,9 +98,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_keypair(uint8_t *public_key, uint8_t *secre
#else
return (OQS_STATUS) pqcrystals_kyber768_ref_keypair(public_key, secret_key);
#endif
+#endif /* OQS_LIBJADE_BUILD */
}
OQS_API OQS_STATUS OQS_KEM_kyber_768_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_768))
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2)
+#if defined(OQS_DIST_BUILD)
+ if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
+#endif /* OQS_DIST_BUILD */
+ return (OQS_STATUS) libjade_kyber768_avx2_enc(ciphertext, shared_secret, public_key);
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_kyber768_ref_enc(ciphertext, shared_secret, public_key);
+ }
+#endif /* OQS_DIST_BUILD */
+#else
+ return (OQS_STATUS) libjade_kyber768_ref_enc(ciphertext, shared_secret, public_key);
+#endif
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_768)*/
#if defined(OQS_ENABLE_KEM_kyber_768_avx2)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
@@ -96,9 +140,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_encaps(uint8_t *ciphertext, uint8_t *shared
#else
return (OQS_STATUS) pqcrystals_kyber768_ref_enc(ciphertext, shared_secret, public_key);
#endif
+#endif /* OQS_LIBJADE_BUILD */
}
OQS_API OQS_STATUS OQS_KEM_kyber_768_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_768))
+#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2)
+#if defined(OQS_DIST_BUILD)
+ if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
+#endif /* OQS_DIST_BUILD */
+ return (OQS_STATUS) libjade_kyber768_avx2_dec(shared_secret, ciphertext, secret_key);
+#if defined(OQS_DIST_BUILD)
+ } else {
+ return (OQS_STATUS) libjade_kyber768_ref_dec(shared_secret, ciphertext, secret_key);
+ }
+#endif /* OQS_DIST_BUILD */
+#else
+ return (OQS_STATUS) libjade_kyber768_ref_dec(shared_secret, ciphertext, secret_key);
+#endif
+#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_768)*/
#if defined(OQS_ENABLE_KEM_kyber_768_avx2)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
@@ -122,6 +182,7 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_decaps(uint8_t *shared_secret, const uint8_
#else
return (OQS_STATUS) pqcrystals_kyber768_ref_dec(shared_secret, ciphertext, secret_key);
#endif
+#endif /* OQS_LIBJADE_BUILD */
}
#endif
diff --git a/src/kem/kyber/libjade_kyber512_avx2/api.c b/src/kem/kyber/libjade_kyber512_avx2/api.c
new file mode 100644
index 000000000..ec6ff905c
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber512_avx2/api.c
@@ -0,0 +1,19 @@
+#include
+#include "api.h"
+
+int libjade_kyber512_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) {
+ uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES];
+ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2);
+ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2);
+ return jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins);
+}
+
+int libjade_kyber512_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+ uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES];
+ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES);
+ return jade_kem_kyber_kyber512_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
+}
+
+int libjade_kyber512_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+ return jade_kem_kyber_kyber512_amd64_avx2_dec( shared_secret, ciphertext, secret_key);
+}
diff --git a/src/kem/kyber/libjade_kyber512_avx2/api.h b/src/kem/kyber/libjade_kyber512_avx2/api.h
new file mode 100644
index 000000000..419112ece
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber512_avx2/api.h
@@ -0,0 +1,45 @@
+#ifndef JADE_KEM_kyber_kyber512_amd64_avx2_API_H
+#define JADE_KEM_kyber_kyber512_amd64_avx2_API_H
+
+#include
+
+#define JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES 64
+#define JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES 32
+
+int jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(
+ uint8_t *public_key,
+ uint8_t *secret_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber512_avx2_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+);
+
+int jade_kem_kyber_kyber512_amd64_avx2_enc_derand(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber512_avx2_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+);
+
+int jade_kem_kyber_kyber512_amd64_avx2_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+int libjade_kyber512_avx2_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+#endif
diff --git a/src/kem/kyber/libjade_kyber512_avx2/kem.S b/src/kem/kyber/libjade_kyber512_avx2/kem.S
new file mode 100644
index 000000000..173086f8d
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber512_avx2/kem.S
@@ -0,0 +1,21503 @@
+ .att_syntax
+ .text
+ .p2align 5
+ .globl _jade_kem_kyber_kyber512_amd64_avx2_dec
+ .globl jade_kem_kyber_kyber512_amd64_avx2_dec
+ .globl _jade_kem_kyber_kyber512_amd64_avx2_enc
+ .globl jade_kem_kyber_kyber512_amd64_avx2_enc
+ .globl _jade_kem_kyber_kyber512_amd64_avx2_enc_derand
+ .globl jade_kem_kyber_kyber512_amd64_avx2_enc_derand
+ .globl _jade_kem_kyber_kyber512_amd64_avx2_keypair
+ .globl jade_kem_kyber_kyber512_amd64_avx2_keypair
+ .globl _jade_kem_kyber_kyber512_amd64_avx2_keypair_derand
+ .globl jade_kem_kyber_kyber512_amd64_avx2_keypair_derand
+_jade_kem_kyber_kyber512_amd64_avx2_dec:
+jade_kem_kyber_kyber512_amd64_avx2_dec:
+ movq %rsp, %rax
+ leaq -12064(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 12056(%rsp)
+ movq %r15, 12008(%rsp)
+ movq %r14, 12016(%rsp)
+ movq %r13, 12024(%rsp)
+ movq %r12, 12032(%rsp)
+ movq %rbp, 12040(%rsp)
+ movq %rbx, 12048(%rsp)
+ movq %rdi, 11968(%rsp)
+ movq %rsi, 11976(%rsp)
+ leaq 32(%rsp), %rax
+ vpbroadcastd glob_data + 6436(%rip), %ymm0
+ vmovdqu glob_data + 64(%rip), %ymm1
+ vpbroadcastq glob_data + 6224(%rip), %ymm2
+ vpbroadcastd glob_data + 6432(%rip), %ymm3
+ vmovdqu (%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 5824(%rsp)
+ vmovdqu 20(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 5856(%rsp)
+ vmovdqu 40(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 5888(%rsp)
+ vmovdqu 60(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 5920(%rsp)
+ vmovdqu 80(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 5952(%rsp)
+ vmovdqu 100(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 5984(%rsp)
+ vmovdqu 120(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6016(%rsp)
+ vmovdqu 140(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6048(%rsp)
+ vmovdqu 160(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6080(%rsp)
+ vmovdqu 180(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6112(%rsp)
+ vmovdqu 200(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6144(%rsp)
+ vmovdqu 220(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6176(%rsp)
+ vmovdqu 240(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6208(%rsp)
+ vmovdqu 260(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6240(%rsp)
+ vmovdqu 280(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6272(%rsp)
+ vmovdqu 300(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6304(%rsp)
+ vmovdqu 320(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6336(%rsp)
+ vmovdqu 340(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6368(%rsp)
+ vmovdqu 360(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6400(%rsp)
+ vmovdqu 380(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6432(%rsp)
+ vmovdqu 400(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6464(%rsp)
+ vmovdqu 420(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6496(%rsp)
+ vmovdqu 440(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6528(%rsp)
+ vmovdqu 460(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6560(%rsp)
+ vmovdqu 480(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6592(%rsp)
+ vmovdqu 500(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6624(%rsp)
+ vmovdqu 520(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6656(%rsp)
+ vmovdqu 540(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6688(%rsp)
+ vmovdqu 560(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6720(%rsp)
+ vmovdqu 580(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6752(%rsp)
+ vmovdqu 600(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6784(%rsp)
+ vmovdqu 620(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm1
+ vpsllvd %ymm2, %ymm1, %ymm1
+ vpsrlw $1, %ymm1, %ymm1
+ vpand %ymm3, %ymm1, %ymm1
+ vpmulhrsw %ymm0, %ymm1, %ymm0
+ vmovdqu %ymm0, 6816(%rsp)
+ addq $640, %rsi
+ leaq 2208(%rsp), %rcx
+ leaq -24(%rsp), %rsp
+ call L_poly_decompress$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$77:
+ leaq 24(%rsp), %rsp
+ movq %rdx, %rsi
+ leaq 6848(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$76:
+ addq $384, %rsi
+ leaq 7360(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$75:
+ leaq 5824(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$74:
+ leaq 6336(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$73:
+ leaq 2720(%rsp), %rcx
+ leaq 6848(%rsp), %rsi
+ leaq 5824(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$72:
+ leaq 3232(%rsp), %rcx
+ leaq 7360(%rsp), %rsi
+ leaq 6336(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$71:
+ leaq 2720(%rsp), %rcx
+ leaq 3232(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$70:
+ leaq 2720(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$69:
+ leaq 3232(%rsp), %rcx
+ leaq 2208(%rsp), %rsi
+ leaq 2720(%rsp), %rdi
+ call L_poly_sub$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$68:
+ leaq 3232(%rsp), %rcx
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rcx)
+ vmovdqu 32(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rcx)
+ vmovdqu 64(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rcx)
+ vmovdqu 96(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rcx)
+ vmovdqu 128(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rcx)
+ vmovdqu 160(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rcx)
+ vmovdqu 192(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rcx)
+ vmovdqu 224(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rcx)
+ vmovdqu 256(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rcx)
+ vmovdqu 288(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rcx)
+ vmovdqu 320(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rcx)
+ vmovdqu 352(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rcx)
+ vmovdqu 384(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rcx)
+ vmovdqu 416(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rcx)
+ vmovdqu 448(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rcx)
+ vmovdqu 480(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ leaq 3232(%rsp), %rcx
+ call L_poly_tomsg_1$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$67:
+ leaq 32(%rdx), %rax
+ addq $1536, %rax
+ movq (%rax), %rcx
+ movq %rcx, 64(%rsp)
+ movq 8(%rax), %rcx
+ movq %rcx, 72(%rsp)
+ movq 16(%rax), %rcx
+ movq %rcx, 80(%rsp)
+ movq 24(%rax), %rax
+ movq %rax, 88(%rsp)
+ movq %rdx, 11984(%rsp)
+ leaq 96(%rsp), %rax
+ leaq 32(%rsp), %rcx
+ leaq -248(%rsp), %rsp
+ call L_sha3_512_64$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$66:
+ leaq 248(%rsp), %rsp
+ movq 11984(%rsp), %rax
+ addq $768, %rax
+ leaq 4256(%rsp), %rcx
+ leaq 32(%rsp), %rdi
+ leaq 128(%rsp), %rdx
+ movq %rcx, 11992(%rsp)
+ movq %rax, %rsi
+ leaq 5824(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$65:
+ addq $384, %rsi
+ leaq 6336(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$64:
+ movq $0, %rcx
+ addq $768, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$62
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$63:
+ movq (%rax), %rsi
+ movq %rsi, (%rsp,%rcx,8)
+ addq $8, %rax
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$62:
+ cmpq $4, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_avx2_dec$63
+ leaq 3232(%rsp), %rax
+ call L_poly_frommsg_1$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$61:
+ movq %rdx, 12000(%rsp)
+ vmovdqu (%rsp), %ymm0
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 672(%rsp)
+ vmovdqu %ymm0, 1184(%rsp)
+ vmovdqu %ymm0, 1696(%rsp)
+ movb $0, 192(%rsp)
+ movb $0, 193(%rsp)
+ movb $0, 704(%rsp)
+ movb $1, 705(%rsp)
+ movb $1, 1216(%rsp)
+ movb $0, 1217(%rsp)
+ movb $1, 1728(%rsp)
+ movb $1, 1729(%rsp)
+ leaq 5024(%rsp), %rax
+ leaq 160(%rsp), %rcx
+ leaq 672(%rsp), %rdx
+ leaq 1184(%rsp), %rsi
+ leaq 1696(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$60:
+ leaq 5024(%rsp), %rax
+ leaq 160(%rsp), %rcx
+ leaq 672(%rsp), %r8
+ leaq 1184(%rsp), %r9
+ leaq 1696(%rsp), %r10
+ movq %rcx, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$59:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rcx), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$58:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rcx), %rcx
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$57:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rcx)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rcx)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rcx)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rcx)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rcx)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rcx)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rcx)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rcx)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rcx)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rcx)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rcx)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rcx)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rcx)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rcx)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rcx)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rcx)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rcx)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rcx)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rcx)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rcx)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rcx)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 9920(%rsp), %rbp
+ leaq 160(%rsp), %r12
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$56:
+ movq %rcx, %r10
+ leaq 10432(%rsp), %rbp
+ leaq 672(%rsp), %r12
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$55:
+ movq %rcx, %r11
+ leaq 10944(%rsp), %rbp
+ leaq 1184(%rsp), %r12
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$54:
+ movq %rcx, %rbx
+ leaq 11456(%rsp), %rbp
+ leaq 1696(%rsp), %r12
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$53:
+ cmpq $255, %r10
+ setbe %al
+ cmpq $255, %r11
+ setbe %dl
+ orb %dl, %al
+ cmpq $255, %rbx
+ setbe %dl
+ cmpq $255, %rcx
+ setbe %sil
+ orb %sil, %dl
+ orb %al, %dl
+ jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$30
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$31:
+ leaq 5024(%rsp), %rax
+ leaq 160(%rsp), %r8
+ leaq 672(%rsp), %r9
+ leaq 1184(%rsp), %rbp
+ leaq 1696(%rsp), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$52:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r8)
+ vmovhpd %xmm1, (%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r8)
+ vmovhpd %xmm1, 8(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r8)
+ vmovhpd %xmm1, 16(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r8)
+ vmovhpd %xmm1, 24(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r8)
+ vmovhpd %xmm1, 32(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r8)
+ vmovhpd %xmm1, 40(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r8)
+ vmovhpd %xmm1, 48(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r8)
+ vmovhpd %xmm1, 56(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r8)
+ vmovhpd %xmm1, 64(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r8)
+ vmovhpd %xmm1, 72(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r8)
+ vmovhpd %xmm1, 80(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r8)
+ vmovhpd %xmm1, 88(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r8)
+ vmovhpd %xmm1, 96(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r8)
+ vmovhpd %xmm1, 104(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r8)
+ vmovhpd %xmm1, 112(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r8)
+ vmovhpd %xmm1, 120(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r8)
+ vmovhpd %xmm1, 128(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r8)
+ vmovhpd %xmm1, 136(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r8)
+ vmovhpd %xmm1, 144(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r8)
+ vmovhpd %xmm1, 152(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r8)
+ vmovhpd %xmm1, 160(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 9920(%rsp), %rax
+ leaq 160(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %r10
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$47
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$48:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$51
+ movw %di, (%rax,%r10,2)
+ incq %r10
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$51:
+ cmpq $256, %r10
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$49
+ cmpw $3329, %r9w
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$49
+ movw %r9w, (%rax,%r10,2)
+ incq %r10
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$50:
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$49:
+ cmpq $255, %r10
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$47:
+ jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$48
+ leaq 10432(%rsp), %rax
+ leaq 672(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %r11
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$42
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$43:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$46
+ movw %di, (%rax,%r11,2)
+ incq %r11
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$46:
+ cmpq $256, %r11
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$44
+ cmpw $3329, %r9w
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$44
+ movw %r9w, (%rax,%r11,2)
+ incq %r11
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$45:
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$44:
+ cmpq $255, %r11
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$42:
+ jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$43
+ leaq 10944(%rsp), %rax
+ leaq 1184(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %rbx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$37
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$38:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$41
+ movw %di, (%rax,%rbx,2)
+ incq %rbx
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$41:
+ cmpq $256, %rbx
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$39
+ cmpw $3329, %r9w
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$39
+ movw %r9w, (%rax,%rbx,2)
+ incq %rbx
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$40:
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$39:
+ cmpq $255, %rbx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$37:
+ jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$38
+ leaq 11456(%rsp), %rax
+ leaq 1696(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %rcx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$32
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$33:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$36
+ movw %di, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$36:
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$34
+ cmpw $3329, %r9w
+ jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$34
+ movw %r9w, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$35:
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$34:
+ cmpq $255, %rcx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$32:
+ jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$33
+ cmpq $255, %r10
+ setbe %al
+ cmpq $255, %r11
+ setbe %dl
+ orb %dl, %al
+ cmpq $255, %rbx
+ setbe %dl
+ cmpq $255, %rcx
+ setbe %sil
+ orb %sil, %dl
+ orb %al, %dl
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$30:
+ cmpb $0, %dl
+ jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$31
+ leaq 9920(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$29:
+ leaq 10432(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$28:
+ leaq 10944(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$27:
+ leaq 11456(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$26:
+ movq 12000(%rsp), %rax
+ movb $0, %sil
+ leaq 7872(%rsp), %rdx
+ leaq 8384(%rsp), %rcx
+ leaq 6848(%rsp), %r8
+ leaq 7360(%rsp), %r9
+ leaq -2008(%rsp), %rsp
+ call L_poly_getnoise_eta1122_4x$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$25:
+ leaq 2008(%rsp), %rsp
+ movb $4, %al
+ movq 12000(%rsp), %rcx
+ leaq 2720(%rsp), %rdx
+ leaq -216(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$24:
+ leaq 216(%rsp), %rsp
+ leaq 7872(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$23:
+ leaq 8384(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$22:
+ leaq 8896(%rsp), %rcx
+ leaq 9920(%rsp), %rsi
+ leaq 7872(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$21:
+ leaq 2208(%rsp), %rcx
+ leaq 10432(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$20:
+ leaq 8896(%rsp), %rcx
+ leaq 2208(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$19:
+ leaq 9408(%rsp), %rcx
+ leaq 10944(%rsp), %rsi
+ leaq 7872(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$18:
+ leaq 2208(%rsp), %rcx
+ leaq 11456(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$17:
+ leaq 9408(%rsp), %rcx
+ leaq 2208(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$16:
+ leaq 2208(%rsp), %rcx
+ leaq 5824(%rsp), %rsi
+ leaq 7872(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$15:
+ leaq 3744(%rsp), %rcx
+ leaq 6336(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$14:
+ leaq 2208(%rsp), %rcx
+ leaq 3744(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$13:
+ leaq 8896(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$12:
+ leaq 9408(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$11:
+ leaq 2208(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$10:
+ leaq 8896(%rsp), %rcx
+ leaq 6848(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$9:
+ leaq 9408(%rsp), %rcx
+ leaq 7360(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$8:
+ leaq 2208(%rsp), %rcx
+ leaq 2720(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$7:
+ leaq 2208(%rsp), %rcx
+ leaq 3232(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$6:
+ leaq 8896(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 9408(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 2208(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ movq 11992(%rsp), %rax
+ movq %rax, %rdx
+ leaq 8896(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$5:
+ leaq 9408(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$4:
+ leaq glob_data + 416(%rip), %rcx
+ vmovdqu (%rcx), %ymm0
+ vpsllw $3, %ymm0, %ymm1
+ vpbroadcastw glob_data + 6454(%rip), %ymm2
+ vpbroadcastw glob_data + 6452(%rip), %ymm3
+ vpbroadcastw glob_data + 6450(%rip), %ymm4
+ vpbroadcastq glob_data + 6216(%rip), %ymm5
+ vpbroadcastq glob_data + 6208(%rip), %ymm6
+ vmovdqu glob_data + 32(%rip), %ymm7
+ vmovdqu 8896(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, (%rdx)
+ vpextrd $0, %xmm8, 16(%rdx)
+ vmovdqu 8928(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 20(%rdx)
+ vpextrd $0, %xmm8, 36(%rdx)
+ vmovdqu 8960(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 40(%rdx)
+ vpextrd $0, %xmm8, 56(%rdx)
+ vmovdqu 8992(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 60(%rdx)
+ vpextrd $0, %xmm8, 76(%rdx)
+ vmovdqu 9024(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 80(%rdx)
+ vpextrd $0, %xmm8, 96(%rdx)
+ vmovdqu 9056(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 100(%rdx)
+ vpextrd $0, %xmm8, 116(%rdx)
+ vmovdqu 9088(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 120(%rdx)
+ vpextrd $0, %xmm8, 136(%rdx)
+ vmovdqu 9120(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 140(%rdx)
+ vpextrd $0, %xmm8, 156(%rdx)
+ vmovdqu 9152(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 160(%rdx)
+ vpextrd $0, %xmm8, 176(%rdx)
+ vmovdqu 9184(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 180(%rdx)
+ vpextrd $0, %xmm8, 196(%rdx)
+ vmovdqu 9216(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 200(%rdx)
+ vpextrd $0, %xmm8, 216(%rdx)
+ vmovdqu 9248(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 220(%rdx)
+ vpextrd $0, %xmm8, 236(%rdx)
+ vmovdqu 9280(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 240(%rdx)
+ vpextrd $0, %xmm8, 256(%rdx)
+ vmovdqu 9312(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 260(%rdx)
+ vpextrd $0, %xmm8, 276(%rdx)
+ vmovdqu 9344(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 280(%rdx)
+ vpextrd $0, %xmm8, 296(%rdx)
+ vmovdqu 9376(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 300(%rdx)
+ vpextrd $0, %xmm8, 316(%rdx)
+ vmovdqu 9408(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 320(%rdx)
+ vpextrd $0, %xmm8, 336(%rdx)
+ vmovdqu 9440(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 340(%rdx)
+ vpextrd $0, %xmm8, 356(%rdx)
+ vmovdqu 9472(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 360(%rdx)
+ vpextrd $0, %xmm8, 376(%rdx)
+ vmovdqu 9504(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 380(%rdx)
+ vpextrd $0, %xmm8, 396(%rdx)
+ vmovdqu 9536(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 400(%rdx)
+ vpextrd $0, %xmm8, 416(%rdx)
+ vmovdqu 9568(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 420(%rdx)
+ vpextrd $0, %xmm8, 436(%rdx)
+ vmovdqu 9600(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 440(%rdx)
+ vpextrd $0, %xmm8, 456(%rdx)
+ vmovdqu 9632(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 460(%rdx)
+ vpextrd $0, %xmm8, 476(%rdx)
+ vmovdqu 9664(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 480(%rdx)
+ vpextrd $0, %xmm8, 496(%rdx)
+ vmovdqu 9696(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 500(%rdx)
+ vpextrd $0, %xmm8, 516(%rdx)
+ vmovdqu 9728(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 520(%rdx)
+ vpextrd $0, %xmm8, 536(%rdx)
+ vmovdqu 9760(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 540(%rdx)
+ vpextrd $0, %xmm8, 556(%rdx)
+ vmovdqu 9792(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 560(%rdx)
+ vpextrd $0, %xmm8, 576(%rdx)
+ vmovdqu 9824(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 580(%rdx)
+ vpextrd $0, %xmm8, 596(%rdx)
+ vmovdqu 9856(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 600(%rdx)
+ vpextrd $0, %xmm8, 616(%rdx)
+ vmovdqu 9888(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm1
+ vpaddw %ymm2, %ymm8, %ymm2
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpsubw %ymm2, %ymm1, %ymm2
+ vpandn %ymm2, %ymm1, %ymm1
+ vpsrlw $15, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vpmulhrsw %ymm3, %ymm0, %ymm0
+ vpand %ymm4, %ymm0, %ymm0
+ vpmaddwd %ymm5, %ymm0, %ymm0
+ vpsllvd %ymm6, %ymm0, %ymm0
+ vpsrlq $12, %ymm0, %ymm0
+ vpshufb %ymm7, %ymm0, %ymm0
+ vmovdqu %xmm0, %xmm1
+ vextracti128 $1, %ymm0, %xmm0
+ vpblendw $-32, %xmm0, %xmm1, %xmm1
+ vmovdqu %xmm1, 620(%rdx)
+ vpextrd $0, %xmm0, 636(%rdx)
+ leaq 640(%rax), %rax
+ leaq 2208(%rsp), %rcx
+ call L_poly_compress_1$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$3:
+ movq 11976(%rsp), %r8
+ leaq 4256(%rsp), %rax
+ movq $0, %rcx
+ movq $1, %rdx
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu (%rax), %ymm1
+ vmovdqu (%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 32(%rax), %ymm1
+ vmovdqu 32(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 64(%rax), %ymm1
+ vmovdqu 64(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 96(%rax), %ymm1
+ vmovdqu 96(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 128(%rax), %ymm1
+ vmovdqu 128(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 160(%rax), %ymm1
+ vmovdqu 160(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 192(%rax), %ymm1
+ vmovdqu 192(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 224(%rax), %ymm1
+ vmovdqu 224(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 256(%rax), %ymm1
+ vmovdqu 256(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 288(%rax), %ymm1
+ vmovdqu 288(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 320(%rax), %ymm1
+ vmovdqu 320(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 352(%rax), %ymm1
+ vmovdqu 352(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 384(%rax), %ymm1
+ vmovdqu 384(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 416(%rax), %ymm1
+ vmovdqu 416(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 448(%rax), %ymm1
+ vmovdqu 448(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 480(%rax), %ymm1
+ vmovdqu 480(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 512(%rax), %ymm1
+ vmovdqu 512(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 544(%rax), %ymm1
+ vmovdqu 544(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 576(%rax), %ymm1
+ vmovdqu 576(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 608(%rax), %ymm1
+ vmovdqu 608(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 640(%rax), %ymm1
+ vmovdqu 640(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 672(%rax), %ymm1
+ vmovdqu 672(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 704(%rax), %ymm1
+ vmovdqu 704(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 736(%rax), %ymm1
+ vmovdqu 736(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vptest %ymm0, %ymm0
+ cmovne %rdx, %rcx
+ negq %rcx
+ shrq $63, %rcx
+ movq 11984(%rsp), %rax
+ addq $64, %rax
+ addq $1536, %rax
+ leaq 96(%rsp), %rdx
+ negq %rcx
+ movq %rcx, 11984(%rsp)
+ vpbroadcastq 11984(%rsp), %ymm0
+ vmovdqu (%rdx), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpblendvb %ymm0, %ymm2, %ymm1, %ymm0
+ vmovdqu %ymm0, (%rdx)
+ movq $768, %rdi
+ leaq 128(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$2:
+ leaq 248(%rsp), %rsp
+ movq 11968(%rsp), %rdx
+ movq $32, %rcx
+ leaq 96(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_shake256_64$1
+Ljade_kem_kyber_kyber512_amd64_avx2_dec$1:
+ leaq 248(%rsp), %rsp
+ xorq %rax, %rax
+ movq 12008(%rsp), %r15
+ movq 12016(%rsp), %r14
+ movq 12024(%rsp), %r13
+ movq 12032(%rsp), %r12
+ movq 12040(%rsp), %rbp
+ movq 12048(%rsp), %rbx
+ movq 12056(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_avx2_enc:
+jade_kem_kyber_kyber512_amd64_avx2_enc:
+ movq %rsp, %rax
+ leaq -88(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 80(%rsp)
+ movq %r15, 32(%rsp)
+ movq %r14, 40(%rsp)
+ movq %r13, 48(%rsp)
+ movq %r12, 56(%rsp)
+ movq %rbp, 64(%rsp)
+ movq %rbx, 72(%rsp)
+ movq %rdi, %rbx
+ movq %rsi, %r12
+ movq %rdx, %rbp
+ movq %rsp, %rdi
+ movq $32, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rcx
+ leaq -11256(%rsp), %rsp
+ call L__crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_avx2_enc$1:
+ leaq 11256(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r15
+ movq 40(%rsp), %r14
+ movq 48(%rsp), %r13
+ movq 56(%rsp), %r12
+ movq 64(%rsp), %rbp
+ movq 72(%rsp), %rbx
+ movq 80(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_avx2_enc_derand:
+jade_kem_kyber_kyber512_amd64_avx2_enc_derand:
+ movq %rsp, %rax
+ leaq -88(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 80(%rsp)
+ movq %r15, 32(%rsp)
+ movq %r14, 40(%rsp)
+ movq %r13, 48(%rsp)
+ movq %r12, 56(%rsp)
+ movq %rbp, 64(%rsp)
+ movq %rbx, 72(%rsp)
+ movq %rdi, %rbx
+ movq %rsi, %r12
+ movq %rdx, %rbp
+ movq %rsp, %rax
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ movq %rsp, %rcx
+ leaq -11256(%rsp), %rsp
+ call L__crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_avx2_enc_derand$1:
+ leaq 11256(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r15
+ movq 40(%rsp), %r14
+ movq 48(%rsp), %r13
+ movq 56(%rsp), %r12
+ movq 64(%rsp), %rbp
+ movq 72(%rsp), %rbx
+ movq 80(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_avx2_keypair:
+jade_kem_kyber_kyber512_amd64_avx2_keypair:
+ movq %rsp, %rax
+ leaq -120(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 112(%rsp)
+ movq %r15, 64(%rsp)
+ movq %r14, 72(%rsp)
+ movq %r13, 80(%rsp)
+ movq %r12, 88(%rsp)
+ movq %rbp, 96(%rsp)
+ movq %rbx, 104(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rdi
+ movq $64, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rax
+ leaq -8696(%rsp), %rsp
+ call L__crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_avx2_keypair$1:
+ leaq 8696(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r15
+ movq 72(%rsp), %r14
+ movq 80(%rsp), %r13
+ movq 88(%rsp), %r12
+ movq 96(%rsp), %rbp
+ movq 104(%rsp), %rbx
+ movq 112(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_avx2_keypair_derand:
+jade_kem_kyber_kyber512_amd64_avx2_keypair_derand:
+ movq %rsp, %rax
+ leaq -120(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 112(%rsp)
+ movq %r15, 64(%rsp)
+ movq %r14, 72(%rsp)
+ movq %r13, 80(%rsp)
+ movq %r12, 88(%rsp)
+ movq %rbp, 96(%rsp)
+ movq %rbx, 104(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rax
+ movb (%rdx), %cl
+ movb %cl, (%rax)
+ movb 1(%rdx), %cl
+ movb %cl, 1(%rax)
+ movb 2(%rdx), %cl
+ movb %cl, 2(%rax)
+ movb 3(%rdx), %cl
+ movb %cl, 3(%rax)
+ movb 4(%rdx), %cl
+ movb %cl, 4(%rax)
+ movb 5(%rdx), %cl
+ movb %cl, 5(%rax)
+ movb 6(%rdx), %cl
+ movb %cl, 6(%rax)
+ movb 7(%rdx), %cl
+ movb %cl, 7(%rax)
+ movb 8(%rdx), %cl
+ movb %cl, 8(%rax)
+ movb 9(%rdx), %cl
+ movb %cl, 9(%rax)
+ movb 10(%rdx), %cl
+ movb %cl, 10(%rax)
+ movb 11(%rdx), %cl
+ movb %cl, 11(%rax)
+ movb 12(%rdx), %cl
+ movb %cl, 12(%rax)
+ movb 13(%rdx), %cl
+ movb %cl, 13(%rax)
+ movb 14(%rdx), %cl
+ movb %cl, 14(%rax)
+ movb 15(%rdx), %cl
+ movb %cl, 15(%rax)
+ movb 16(%rdx), %cl
+ movb %cl, 16(%rax)
+ movb 17(%rdx), %cl
+ movb %cl, 17(%rax)
+ movb 18(%rdx), %cl
+ movb %cl, 18(%rax)
+ movb 19(%rdx), %cl
+ movb %cl, 19(%rax)
+ movb 20(%rdx), %cl
+ movb %cl, 20(%rax)
+ movb 21(%rdx), %cl
+ movb %cl, 21(%rax)
+ movb 22(%rdx), %cl
+ movb %cl, 22(%rax)
+ movb 23(%rdx), %cl
+ movb %cl, 23(%rax)
+ movb 24(%rdx), %cl
+ movb %cl, 24(%rax)
+ movb 25(%rdx), %cl
+ movb %cl, 25(%rax)
+ movb 26(%rdx), %cl
+ movb %cl, 26(%rax)
+ movb 27(%rdx), %cl
+ movb %cl, 27(%rax)
+ movb 28(%rdx), %cl
+ movb %cl, 28(%rax)
+ movb 29(%rdx), %cl
+ movb %cl, 29(%rax)
+ movb 30(%rdx), %cl
+ movb %cl, 30(%rax)
+ movb 31(%rdx), %cl
+ movb %cl, 31(%rax)
+ movb 32(%rdx), %cl
+ movb %cl, 32(%rax)
+ movb 33(%rdx), %cl
+ movb %cl, 33(%rax)
+ movb 34(%rdx), %cl
+ movb %cl, 34(%rax)
+ movb 35(%rdx), %cl
+ movb %cl, 35(%rax)
+ movb 36(%rdx), %cl
+ movb %cl, 36(%rax)
+ movb 37(%rdx), %cl
+ movb %cl, 37(%rax)
+ movb 38(%rdx), %cl
+ movb %cl, 38(%rax)
+ movb 39(%rdx), %cl
+ movb %cl, 39(%rax)
+ movb 40(%rdx), %cl
+ movb %cl, 40(%rax)
+ movb 41(%rdx), %cl
+ movb %cl, 41(%rax)
+ movb 42(%rdx), %cl
+ movb %cl, 42(%rax)
+ movb 43(%rdx), %cl
+ movb %cl, 43(%rax)
+ movb 44(%rdx), %cl
+ movb %cl, 44(%rax)
+ movb 45(%rdx), %cl
+ movb %cl, 45(%rax)
+ movb 46(%rdx), %cl
+ movb %cl, 46(%rax)
+ movb 47(%rdx), %cl
+ movb %cl, 47(%rax)
+ movb 48(%rdx), %cl
+ movb %cl, 48(%rax)
+ movb 49(%rdx), %cl
+ movb %cl, 49(%rax)
+ movb 50(%rdx), %cl
+ movb %cl, 50(%rax)
+ movb 51(%rdx), %cl
+ movb %cl, 51(%rax)
+ movb 52(%rdx), %cl
+ movb %cl, 52(%rax)
+ movb 53(%rdx), %cl
+ movb %cl, 53(%rax)
+ movb 54(%rdx), %cl
+ movb %cl, 54(%rax)
+ movb 55(%rdx), %cl
+ movb %cl, 55(%rax)
+ movb 56(%rdx), %cl
+ movb %cl, 56(%rax)
+ movb 57(%rdx), %cl
+ movb %cl, 57(%rax)
+ movb 58(%rdx), %cl
+ movb %cl, 58(%rax)
+ movb 59(%rdx), %cl
+ movb %cl, 59(%rax)
+ movb 60(%rdx), %cl
+ movb %cl, 60(%rax)
+ movb 61(%rdx), %cl
+ movb %cl, 61(%rax)
+ movb 62(%rdx), %cl
+ movb %cl, 62(%rax)
+ movb 63(%rdx), %cl
+ movb %cl, 63(%rax)
+ movq %rsp, %rax
+ leaq -8696(%rsp), %rsp
+ call L__crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_avx2_keypair_derand$1:
+ leaq 8696(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r15
+ movq 72(%rsp), %r14
+ movq 80(%rsp), %r13
+ movq 88(%rsp), %r12
+ movq 96(%rsp), %rbp
+ movq 104(%rsp), %rbx
+ movq 112(%rsp), %rsp
+ ret
+L__crypto_kem_enc_derand_jazz$1:
+ movq %rbp, 11232(%rsp)
+ movq %rbx, 11240(%rsp)
+ movq %r12, 11248(%rsp)
+ leaq 64(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256_32$1
+L__crypto_kem_enc_derand_jazz$69:
+ leaq 248(%rsp), %rsp
+ movq 11232(%rsp), %r8
+ movq $800, %rdi
+ leaq 96(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_enc_derand_jazz$68:
+ leaq 248(%rsp), %rsp
+ leaq 128(%rsp), %rax
+ leaq 64(%rsp), %rcx
+ leaq -248(%rsp), %rsp
+ call L_sha3_512_64$1
+L__crypto_kem_enc_derand_jazz$67:
+ leaq 248(%rsp), %rsp
+ movq 11232(%rsp), %rax
+ leaq 64(%rsp), %rdi
+ leaq 160(%rsp), %rcx
+ movq %rax, %rsi
+ leaq 5088(%rsp), %r8
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$66:
+ addq $384, %rsi
+ leaq 5600(%rsp), %r8
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$65:
+ movq $0, %rdx
+ addq $768, %rax
+ jmp L__crypto_kem_enc_derand_jazz$63
+L__crypto_kem_enc_derand_jazz$64:
+ movq (%rax), %rsi
+ movq %rsi, 32(%rsp,%rdx,8)
+ addq $8, %rax
+ incq %rdx
+L__crypto_kem_enc_derand_jazz$63:
+ cmpq $4, %rdx
+ jb L__crypto_kem_enc_derand_jazz$64
+ leaq 2240(%rsp), %rax
+ call L_poly_frommsg_1$1
+L__crypto_kem_enc_derand_jazz$62:
+ movq %rcx, 11232(%rsp)
+ vmovdqu 32(%rsp), %ymm0
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 704(%rsp)
+ vmovdqu %ymm0, 1216(%rsp)
+ vmovdqu %ymm0, 1728(%rsp)
+ movb $0, 224(%rsp)
+ movb $0, 225(%rsp)
+ movb $0, 736(%rsp)
+ movb $1, 737(%rsp)
+ movb $1, 1248(%rsp)
+ movb $0, 1249(%rsp)
+ movb $1, 1760(%rsp)
+ movb $1, 1761(%rsp)
+ leaq 4288(%rsp), %rax
+ leaq 192(%rsp), %rcx
+ leaq 704(%rsp), %rdx
+ leaq 1216(%rsp), %rsi
+ leaq 1728(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+L__crypto_kem_enc_derand_jazz$61:
+ leaq 4288(%rsp), %rax
+ leaq 192(%rsp), %rcx
+ leaq 704(%rsp), %r8
+ leaq 1216(%rsp), %r9
+ leaq 1728(%rsp), %r10
+ movq %rcx, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$60:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rcx), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$59:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rcx), %rcx
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$58:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rcx)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rcx)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rcx)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rcx)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rcx)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rcx)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rcx)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rcx)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rcx)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rcx)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rcx)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rcx)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rcx)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rcx)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rcx)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rcx)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rcx)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rcx)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rcx)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rcx)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rcx)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 9184(%rsp), %rbp
+ leaq 192(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$57:
+ movq %rcx, %r10
+ leaq 9696(%rsp), %rbp
+ leaq 704(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$56:
+ movq %rcx, %r11
+ leaq 10208(%rsp), %rbp
+ leaq 1216(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$55:
+ movq %rcx, %rbx
+ leaq 10720(%rsp), %rbp
+ leaq 1728(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$54:
+ cmpq $255, %r10
+ setbe %al
+ cmpq $255, %r11
+ setbe %dl
+ orb %dl, %al
+ cmpq $255, %rbx
+ setbe %dl
+ cmpq $255, %rcx
+ setbe %sil
+ orb %sil, %dl
+ orb %al, %dl
+ jmp L__crypto_kem_enc_derand_jazz$31
+L__crypto_kem_enc_derand_jazz$32:
+ leaq 4288(%rsp), %rax
+ leaq 192(%rsp), %r8
+ leaq 704(%rsp), %r9
+ leaq 1216(%rsp), %rbp
+ leaq 1728(%rsp), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$53:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r8)
+ vmovhpd %xmm1, (%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r8)
+ vmovhpd %xmm1, 8(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r8)
+ vmovhpd %xmm1, 16(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r8)
+ vmovhpd %xmm1, 24(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r8)
+ vmovhpd %xmm1, 32(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r8)
+ vmovhpd %xmm1, 40(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r8)
+ vmovhpd %xmm1, 48(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r8)
+ vmovhpd %xmm1, 56(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r8)
+ vmovhpd %xmm1, 64(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r8)
+ vmovhpd %xmm1, 72(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r8)
+ vmovhpd %xmm1, 80(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r8)
+ vmovhpd %xmm1, 88(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r8)
+ vmovhpd %xmm1, 96(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r8)
+ vmovhpd %xmm1, 104(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r8)
+ vmovhpd %xmm1, 112(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r8)
+ vmovhpd %xmm1, 120(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r8)
+ vmovhpd %xmm1, 128(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r8)
+ vmovhpd %xmm1, 136(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r8)
+ vmovhpd %xmm1, 144(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r8)
+ vmovhpd %xmm1, 152(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r8)
+ vmovhpd %xmm1, 160(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 9184(%rsp), %rax
+ leaq 192(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %r10
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_enc_derand_jazz$48
+L__crypto_kem_enc_derand_jazz$49:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$52
+ movw %di, (%rax,%r10,2)
+ incq %r10
+L__crypto_kem_enc_derand_jazz$52:
+ cmpq $256, %r10
+ jnb L__crypto_kem_enc_derand_jazz$50
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_enc_derand_jazz$50
+ movw %r9w, (%rax,%r10,2)
+ incq %r10
+L__crypto_kem_enc_derand_jazz$51:
+L__crypto_kem_enc_derand_jazz$50:
+ cmpq $255, %r10
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_enc_derand_jazz$48:
+ jne L__crypto_kem_enc_derand_jazz$49
+ leaq 9696(%rsp), %rax
+ leaq 704(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %r11
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_enc_derand_jazz$43
+L__crypto_kem_enc_derand_jazz$44:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$47
+ movw %di, (%rax,%r11,2)
+ incq %r11
+L__crypto_kem_enc_derand_jazz$47:
+ cmpq $256, %r11
+ jnb L__crypto_kem_enc_derand_jazz$45
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_enc_derand_jazz$45
+ movw %r9w, (%rax,%r11,2)
+ incq %r11
+L__crypto_kem_enc_derand_jazz$46:
+L__crypto_kem_enc_derand_jazz$45:
+ cmpq $255, %r11
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_enc_derand_jazz$43:
+ jne L__crypto_kem_enc_derand_jazz$44
+ leaq 10208(%rsp), %rax
+ leaq 1216(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %rbx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_enc_derand_jazz$38
+L__crypto_kem_enc_derand_jazz$39:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$42
+ movw %di, (%rax,%rbx,2)
+ incq %rbx
+L__crypto_kem_enc_derand_jazz$42:
+ cmpq $256, %rbx
+ jnb L__crypto_kem_enc_derand_jazz$40
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_enc_derand_jazz$40
+ movw %r9w, (%rax,%rbx,2)
+ incq %rbx
+L__crypto_kem_enc_derand_jazz$41:
+L__crypto_kem_enc_derand_jazz$40:
+ cmpq $255, %rbx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_enc_derand_jazz$38:
+ jne L__crypto_kem_enc_derand_jazz$39
+ leaq 10720(%rsp), %rax
+ leaq 1728(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %rcx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_enc_derand_jazz$33
+L__crypto_kem_enc_derand_jazz$34:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$37
+ movw %di, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$37:
+ cmpq $256, %rcx
+ jnb L__crypto_kem_enc_derand_jazz$35
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_enc_derand_jazz$35
+ movw %r9w, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$36:
+L__crypto_kem_enc_derand_jazz$35:
+ cmpq $255, %rcx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_enc_derand_jazz$33:
+ jne L__crypto_kem_enc_derand_jazz$34
+ cmpq $255, %r10
+ setbe %al
+ cmpq $255, %r11
+ setbe %dl
+ orb %dl, %al
+ cmpq $255, %rbx
+ setbe %dl
+ cmpq $255, %rcx
+ setbe %sil
+ orb %sil, %dl
+ orb %al, %dl
+L__crypto_kem_enc_derand_jazz$31:
+ cmpb $0, %dl
+ jne L__crypto_kem_enc_derand_jazz$32
+ leaq 9184(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$30:
+ leaq 9696(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$29:
+ leaq 10208(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$28:
+ leaq 10720(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$27:
+ movq 11232(%rsp), %rax
+ movb $0, %sil
+ leaq 7136(%rsp), %rdx
+ leaq 7648(%rsp), %rcx
+ leaq 6112(%rsp), %r8
+ leaq 6624(%rsp), %r9
+ leaq -2008(%rsp), %rsp
+ call L_poly_getnoise_eta1122_4x$1
+L__crypto_kem_enc_derand_jazz$26:
+ leaq 2008(%rsp), %rsp
+ movb $4, %al
+ movq 11232(%rsp), %rcx
+ leaq 2752(%rsp), %rdx
+ leaq -216(%rsp), %rsp
+ call L_poly_getnoise$1
+L__crypto_kem_enc_derand_jazz$25:
+ leaq 216(%rsp), %rsp
+ leaq 7136(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$24:
+ leaq 7648(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$23:
+ leaq 8160(%rsp), %rcx
+ leaq 9184(%rsp), %rsi
+ leaq 7136(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$22:
+ leaq 3264(%rsp), %rcx
+ leaq 9696(%rsp), %rsi
+ leaq 7648(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$21:
+ leaq 8160(%rsp), %rcx
+ leaq 3264(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$20:
+ leaq 8672(%rsp), %rcx
+ leaq 10208(%rsp), %rsi
+ leaq 7136(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$19:
+ leaq 3264(%rsp), %rcx
+ leaq 10720(%rsp), %rsi
+ leaq 7648(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$18:
+ leaq 8672(%rsp), %rcx
+ leaq 3264(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$17:
+ leaq 3264(%rsp), %rcx
+ leaq 5088(%rsp), %rsi
+ leaq 7136(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$16:
+ leaq 3776(%rsp), %rcx
+ leaq 5600(%rsp), %rsi
+ leaq 7648(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$15:
+ leaq 3264(%rsp), %rcx
+ leaq 3776(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$14:
+ leaq 8160(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$13:
+ leaq 8672(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$12:
+ leaq 3264(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$11:
+ leaq 8160(%rsp), %rcx
+ leaq 6112(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$10:
+ leaq 8672(%rsp), %rcx
+ leaq 6624(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$9:
+ leaq 3264(%rsp), %rcx
+ leaq 2752(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$8:
+ leaq 3264(%rsp), %rcx
+ leaq 2240(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$7:
+ leaq 8160(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 8672(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 3264(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ movq 11240(%rsp), %rax
+ leaq 8160(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$6:
+ leaq 8672(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$5:
+ leaq glob_data + 416(%rip), %rcx
+ vmovdqu (%rcx), %ymm0
+ vpsllw $3, %ymm0, %ymm1
+ vpbroadcastw glob_data + 6454(%rip), %ymm2
+ vpbroadcastw glob_data + 6452(%rip), %ymm3
+ vpbroadcastw glob_data + 6450(%rip), %ymm4
+ vpbroadcastq glob_data + 6216(%rip), %ymm5
+ vpbroadcastq glob_data + 6208(%rip), %ymm6
+ vmovdqu glob_data + 32(%rip), %ymm7
+ vmovdqu 8160(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, (%rax)
+ vpextrd $0, %xmm8, 16(%rax)
+ vmovdqu 8192(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 20(%rax)
+ vpextrd $0, %xmm8, 36(%rax)
+ vmovdqu 8224(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 40(%rax)
+ vpextrd $0, %xmm8, 56(%rax)
+ vmovdqu 8256(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 60(%rax)
+ vpextrd $0, %xmm8, 76(%rax)
+ vmovdqu 8288(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 80(%rax)
+ vpextrd $0, %xmm8, 96(%rax)
+ vmovdqu 8320(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 100(%rax)
+ vpextrd $0, %xmm8, 116(%rax)
+ vmovdqu 8352(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 120(%rax)
+ vpextrd $0, %xmm8, 136(%rax)
+ vmovdqu 8384(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 140(%rax)
+ vpextrd $0, %xmm8, 156(%rax)
+ vmovdqu 8416(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 160(%rax)
+ vpextrd $0, %xmm8, 176(%rax)
+ vmovdqu 8448(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 180(%rax)
+ vpextrd $0, %xmm8, 196(%rax)
+ vmovdqu 8480(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 200(%rax)
+ vpextrd $0, %xmm8, 216(%rax)
+ vmovdqu 8512(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 220(%rax)
+ vpextrd $0, %xmm8, 236(%rax)
+ vmovdqu 8544(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 240(%rax)
+ vpextrd $0, %xmm8, 256(%rax)
+ vmovdqu 8576(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 260(%rax)
+ vpextrd $0, %xmm8, 276(%rax)
+ vmovdqu 8608(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 280(%rax)
+ vpextrd $0, %xmm8, 296(%rax)
+ vmovdqu 8640(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 300(%rax)
+ vpextrd $0, %xmm8, 316(%rax)
+ vmovdqu 8672(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 320(%rax)
+ vpextrd $0, %xmm8, 336(%rax)
+ vmovdqu 8704(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 340(%rax)
+ vpextrd $0, %xmm8, 356(%rax)
+ vmovdqu 8736(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 360(%rax)
+ vpextrd $0, %xmm8, 376(%rax)
+ vmovdqu 8768(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 380(%rax)
+ vpextrd $0, %xmm8, 396(%rax)
+ vmovdqu 8800(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 400(%rax)
+ vpextrd $0, %xmm8, 416(%rax)
+ vmovdqu 8832(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 420(%rax)
+ vpextrd $0, %xmm8, 436(%rax)
+ vmovdqu 8864(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 440(%rax)
+ vpextrd $0, %xmm8, 456(%rax)
+ vmovdqu 8896(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 460(%rax)
+ vpextrd $0, %xmm8, 476(%rax)
+ vmovdqu 8928(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 480(%rax)
+ vpextrd $0, %xmm8, 496(%rax)
+ vmovdqu 8960(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 500(%rax)
+ vpextrd $0, %xmm8, 516(%rax)
+ vmovdqu 8992(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 520(%rax)
+ vpextrd $0, %xmm8, 536(%rax)
+ vmovdqu 9024(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 540(%rax)
+ vpextrd $0, %xmm8, 556(%rax)
+ vmovdqu 9056(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 560(%rax)
+ vpextrd $0, %xmm8, 576(%rax)
+ vmovdqu 9088(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 580(%rax)
+ vpextrd $0, %xmm8, 596(%rax)
+ vmovdqu 9120(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 600(%rax)
+ vpextrd $0, %xmm8, 616(%rax)
+ vmovdqu 9152(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm1
+ vpaddw %ymm2, %ymm8, %ymm2
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpsubw %ymm2, %ymm1, %ymm2
+ vpandn %ymm2, %ymm1, %ymm1
+ vpsrlw $15, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vpmulhrsw %ymm3, %ymm0, %ymm0
+ vpand %ymm4, %ymm0, %ymm0
+ vpmaddwd %ymm5, %ymm0, %ymm0
+ vpsllvd %ymm6, %ymm0, %ymm0
+ vpsrlq $12, %ymm0, %ymm0
+ vpshufb %ymm7, %ymm0, %ymm0
+ vmovdqu %xmm0, %xmm1
+ vextracti128 $1, %ymm0, %xmm0
+ vpblendw $-32, %xmm0, %xmm1, %xmm1
+ vmovdqu %xmm1, 620(%rax)
+ vpextrd $0, %xmm0, 636(%rax)
+ addq $640, %rax
+ leaq 3264(%rsp), %rcx
+ call L_poly_compress$1
+L__crypto_kem_enc_derand_jazz$4:
+ movq 11240(%rsp), %r8
+ movq $768, %rdi
+ leaq 160(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_enc_derand_jazz$3:
+ leaq 248(%rsp), %rsp
+ movq 11248(%rsp), %rdx
+ movq $32, %rcx
+ leaq 128(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_shake256_64$1
+L__crypto_kem_enc_derand_jazz$2:
+ leaq 248(%rsp), %rsp
+ ret
+L__crypto_kem_keypair_derand_jazz$1:
+ movq %rax, 8576(%rsp)
+ movq %rbp, 8584(%rsp)
+ movq %rbx, 8592(%rsp)
+ movq %rax, %rcx
+ movq %rbp, 8600(%rsp)
+ movq %rbx, 8608(%rsp)
+ leaq 8616(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_512_32$1
+L__crypto_kem_keypair_derand_jazz$57:
+ leaq 248(%rsp), %rsp
+ movq 8616(%rsp), %rax
+ movq %rax, 64(%rsp)
+ movq 8648(%rsp), %rax
+ movq %rax, 32(%rsp)
+ movq 8624(%rsp), %rax
+ movq %rax, 72(%rsp)
+ movq 8656(%rsp), %rax
+ movq %rax, 40(%rsp)
+ movq 8632(%rsp), %rax
+ movq %rax, 80(%rsp)
+ movq 8664(%rsp), %rax
+ movq %rax, 48(%rsp)
+ movq 8640(%rsp), %rax
+ movq %rax, 88(%rsp)
+ movq 8672(%rsp), %rax
+ movq %rax, 56(%rsp)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 608(%rsp)
+ vmovdqu %ymm0, 1120(%rsp)
+ vmovdqu %ymm0, 1632(%rsp)
+ movb $0, 128(%rsp)
+ movb $0, 129(%rsp)
+ movb $1, 640(%rsp)
+ movb $0, 641(%rsp)
+ movb $0, 1152(%rsp)
+ movb $1, 1153(%rsp)
+ movb $1, 1664(%rsp)
+ movb $1, 1665(%rsp)
+ leaq 2656(%rsp), %rax
+ leaq 96(%rsp), %rcx
+ leaq 608(%rsp), %rdx
+ leaq 1120(%rsp), %rsi
+ leaq 1632(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+L__crypto_kem_keypair_derand_jazz$56:
+ leaq 2656(%rsp), %rax
+ leaq 96(%rsp), %rcx
+ leaq 608(%rsp), %r8
+ leaq 1120(%rsp), %r9
+ leaq 1632(%rsp), %r10
+ movq %rcx, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$55:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rcx), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$54:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rcx), %rcx
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$53:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rcx)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rcx)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rcx)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rcx)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rcx)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rcx)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rcx)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rcx)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rcx)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rcx)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rcx)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rcx)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rcx)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rcx)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rcx)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rcx)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rcx)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rcx)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rcx)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rcx)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rcx)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 6528(%rsp), %rbp
+ leaq 96(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$52:
+ movq %rcx, %r10
+ leaq 7040(%rsp), %rbp
+ leaq 608(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$51:
+ movq %rcx, %r11
+ leaq 7552(%rsp), %rbp
+ leaq 1120(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$50:
+ movq %rcx, %rbx
+ leaq 8064(%rsp), %rbp
+ leaq 1632(%rsp), %r12
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$49:
+ cmpq $255, %r10
+ setbe %al
+ cmpq $255, %r11
+ setbe %dl
+ orb %dl, %al
+ cmpq $255, %rbx
+ setbe %dl
+ cmpq $255, %rcx
+ setbe %sil
+ orb %sil, %dl
+ orb %al, %dl
+ jmp L__crypto_kem_keypair_derand_jazz$26
+L__crypto_kem_keypair_derand_jazz$27:
+ leaq 2656(%rsp), %rax
+ leaq 96(%rsp), %r8
+ leaq 608(%rsp), %r9
+ leaq 1120(%rsp), %rbp
+ leaq 1632(%rsp), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$48:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r8)
+ vmovhpd %xmm1, (%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r8)
+ vmovhpd %xmm1, 8(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r8)
+ vmovhpd %xmm1, 16(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r8)
+ vmovhpd %xmm1, 24(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r8)
+ vmovhpd %xmm1, 32(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r8)
+ vmovhpd %xmm1, 40(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r8)
+ vmovhpd %xmm1, 48(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r8)
+ vmovhpd %xmm1, 56(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r8)
+ vmovhpd %xmm1, 64(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r8)
+ vmovhpd %xmm1, 72(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r8)
+ vmovhpd %xmm1, 80(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r8)
+ vmovhpd %xmm1, 88(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r8)
+ vmovhpd %xmm1, 96(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r8)
+ vmovhpd %xmm1, 104(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r8)
+ vmovhpd %xmm1, 112(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r8)
+ vmovhpd %xmm1, 120(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r8)
+ vmovhpd %xmm1, 128(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r8)
+ vmovhpd %xmm1, 136(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r8)
+ vmovhpd %xmm1, 144(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r8)
+ vmovhpd %xmm1, 152(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r8)
+ vmovhpd %xmm1, 160(%r9)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 6528(%rsp), %rax
+ leaq 96(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %r10
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_keypair_derand_jazz$43
+L__crypto_kem_keypair_derand_jazz$44:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$47
+ movw %di, (%rax,%r10,2)
+ incq %r10
+L__crypto_kem_keypair_derand_jazz$47:
+ cmpq $256, %r10
+ jnb L__crypto_kem_keypair_derand_jazz$45
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_keypair_derand_jazz$45
+ movw %r9w, (%rax,%r10,2)
+ incq %r10
+L__crypto_kem_keypair_derand_jazz$46:
+L__crypto_kem_keypair_derand_jazz$45:
+ cmpq $255, %r10
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_keypair_derand_jazz$43:
+ jne L__crypto_kem_keypair_derand_jazz$44
+ leaq 7040(%rsp), %rax
+ leaq 608(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %r11
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_keypair_derand_jazz$38
+L__crypto_kem_keypair_derand_jazz$39:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$42
+ movw %di, (%rax,%r11,2)
+ incq %r11
+L__crypto_kem_keypair_derand_jazz$42:
+ cmpq $256, %r11
+ jnb L__crypto_kem_keypair_derand_jazz$40
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_keypair_derand_jazz$40
+ movw %r9w, (%rax,%r11,2)
+ incq %r11
+L__crypto_kem_keypair_derand_jazz$41:
+L__crypto_kem_keypair_derand_jazz$40:
+ cmpq $255, %r11
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_keypair_derand_jazz$38:
+ jne L__crypto_kem_keypair_derand_jazz$39
+ leaq 7552(%rsp), %rax
+ leaq 1120(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %rbx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_keypair_derand_jazz$33
+L__crypto_kem_keypair_derand_jazz$34:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$37
+ movw %di, (%rax,%rbx,2)
+ incq %rbx
+L__crypto_kem_keypair_derand_jazz$37:
+ cmpq $256, %rbx
+ jnb L__crypto_kem_keypair_derand_jazz$35
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_keypair_derand_jazz$35
+ movw %r9w, (%rax,%rbx,2)
+ incq %rbx
+L__crypto_kem_keypair_derand_jazz$36:
+L__crypto_kem_keypair_derand_jazz$35:
+ cmpq $255, %rbx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_keypair_derand_jazz$33:
+ jne L__crypto_kem_keypair_derand_jazz$34
+ leaq 8064(%rsp), %rax
+ leaq 1632(%rsp), %rdx
+ movq $0, %rsi
+ cmpq $255, %rcx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+ jmp L__crypto_kem_keypair_derand_jazz$28
+L__crypto_kem_keypair_derand_jazz$29:
+ movzbw (%rdx,%rsi), %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ movw %r8w, %r9w
+ shrw $4, %r9w
+ andw $15, %r8w
+ shlw $8, %r8w
+ orw %r8w, %di
+ incq %rsi
+ movzbw (%rdx,%rsi), %r8w
+ shlw $4, %r8w
+ orw %r8w, %r9w
+ incq %rsi
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$32
+ movw %di, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$32:
+ cmpq $256, %rcx
+ jnb L__crypto_kem_keypair_derand_jazz$30
+ cmpw $3329, %r9w
+ jnb L__crypto_kem_keypair_derand_jazz$30
+ movw %r9w, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$31:
+L__crypto_kem_keypair_derand_jazz$30:
+ cmpq $255, %rcx
+ setbe %dil
+ cmpq $165, %rsi
+ setbe %r8b
+ testb %r8b, %dil
+L__crypto_kem_keypair_derand_jazz$28:
+ jne L__crypto_kem_keypair_derand_jazz$29
+ cmpq $255, %r10
+ setbe %al
+ cmpq $255, %r11
+ setbe %dl
+ orb %dl, %al
+ cmpq $255, %rbx
+ setbe %dl
+ cmpq $255, %rcx
+ setbe %sil
+ orb %sil, %dl
+ orb %al, %dl
+L__crypto_kem_keypair_derand_jazz$26:
+ cmpb $0, %dl
+ jne L__crypto_kem_keypair_derand_jazz$27
+ leaq 6528(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$25:
+ leaq 7040(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$24:
+ leaq 7552(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$23:
+ leaq 8064(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$22:
+ movb $0, %sil
+ leaq 4480(%rsp), %rax
+ leaq 4992(%rsp), %rcx
+ leaq 3456(%rsp), %r8
+ leaq 3968(%rsp), %r9
+ leaq 32(%rsp), %rdx
+ leaq -2008(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+L__crypto_kem_keypair_derand_jazz$21:
+ leaq 2008(%rsp), %rsp
+ leaq 4480(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$20:
+ leaq 4992(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$19:
+ leaq 3456(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$18:
+ leaq 3968(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$17:
+ leaq 5504(%rsp), %rcx
+ leaq 6528(%rsp), %rsi
+ leaq 4480(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$16:
+ leaq 2144(%rsp), %rcx
+ leaq 7040(%rsp), %rsi
+ leaq 4992(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$15:
+ leaq 5504(%rsp), %rcx
+ leaq 2144(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$14:
+ leaq 5504(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$13:
+ leaq 6016(%rsp), %rcx
+ leaq 7552(%rsp), %rsi
+ leaq 4480(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$12:
+ leaq 2144(%rsp), %rcx
+ leaq 8064(%rsp), %rsi
+ leaq 4992(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$11:
+ leaq 6016(%rsp), %rcx
+ leaq 2144(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$10:
+ leaq 6016(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$9:
+ leaq 5504(%rsp), %rcx
+ leaq 3456(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$8:
+ leaq 6016(%rsp), %rcx
+ leaq 3968(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$7:
+ leaq 5504(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 6016(%rsp), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ movq 8600(%rsp), %rax
+ movq 8608(%rsp), %rcx
+ leaq 4480(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$6:
+ addq $384, %rcx
+ leaq 4992(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$5:
+ movq %rax, %rcx
+ leaq 5504(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$4:
+ addq $384, %rcx
+ leaq 6016(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$3:
+ addq $768, %rax
+ movq 64(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 72(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 80(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 88(%rsp), %rcx
+ movq %rcx, (%rax)
+ movq 8592(%rsp), %rax
+ addq $768, %rax
+ movq 8584(%rsp), %rcx
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 8(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 16(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 24(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 32(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 40(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 48(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 56(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 64(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 72(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 80(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 88(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 96(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 104(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 112(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 120(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 128(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 136(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 144(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 152(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 160(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 168(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 176(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 184(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 192(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 200(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 208(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 216(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 224(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 232(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 240(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 248(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 256(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 264(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 272(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 280(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 288(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 296(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 304(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 312(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 320(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 328(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 336(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 344(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 352(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 360(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 368(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 376(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 384(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 392(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 400(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 408(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 416(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 424(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 432(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 440(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 448(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 456(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 464(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 472(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 480(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 488(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 496(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 504(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 512(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 520(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 528(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 536(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 544(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 552(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 560(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 568(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 576(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 584(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 592(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 600(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 608(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 616(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 624(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 632(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 640(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 648(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 656(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 664(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 672(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 680(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 688(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 696(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 704(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 712(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 720(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 728(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 736(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 744(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 752(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 760(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 768(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 776(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 784(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 792(%rcx), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq %rax, 8592(%rsp)
+ movq 8584(%rsp), %r8
+ movq $800, %rdi
+ leaq 64(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_keypair_derand_jazz$2:
+ leaq 248(%rsp), %rsp
+ movq 8592(%rsp), %rax
+ movq 8576(%rsp), %rcx
+ leaq 64(%rsp), %rdx
+ movb (%rdx), %sil
+ movb %sil, (%rax)
+ movb 1(%rdx), %sil
+ movb %sil, 1(%rax)
+ movb 2(%rdx), %sil
+ movb %sil, 2(%rax)
+ movb 3(%rdx), %sil
+ movb %sil, 3(%rax)
+ movb 4(%rdx), %sil
+ movb %sil, 4(%rax)
+ movb 5(%rdx), %sil
+ movb %sil, 5(%rax)
+ movb 6(%rdx), %sil
+ movb %sil, 6(%rax)
+ movb 7(%rdx), %sil
+ movb %sil, 7(%rax)
+ movb 8(%rdx), %sil
+ movb %sil, 8(%rax)
+ movb 9(%rdx), %sil
+ movb %sil, 9(%rax)
+ movb 10(%rdx), %sil
+ movb %sil, 10(%rax)
+ movb 11(%rdx), %sil
+ movb %sil, 11(%rax)
+ movb 12(%rdx), %sil
+ movb %sil, 12(%rax)
+ movb 13(%rdx), %sil
+ movb %sil, 13(%rax)
+ movb 14(%rdx), %sil
+ movb %sil, 14(%rax)
+ movb 15(%rdx), %sil
+ movb %sil, 15(%rax)
+ movb 16(%rdx), %sil
+ movb %sil, 16(%rax)
+ movb 17(%rdx), %sil
+ movb %sil, 17(%rax)
+ movb 18(%rdx), %sil
+ movb %sil, 18(%rax)
+ movb 19(%rdx), %sil
+ movb %sil, 19(%rax)
+ movb 20(%rdx), %sil
+ movb %sil, 20(%rax)
+ movb 21(%rdx), %sil
+ movb %sil, 21(%rax)
+ movb 22(%rdx), %sil
+ movb %sil, 22(%rax)
+ movb 23(%rdx), %sil
+ movb %sil, 23(%rax)
+ movb 24(%rdx), %sil
+ movb %sil, 24(%rax)
+ movb 25(%rdx), %sil
+ movb %sil, 25(%rax)
+ movb 26(%rdx), %sil
+ movb %sil, 26(%rax)
+ movb 27(%rdx), %sil
+ movb %sil, 27(%rax)
+ movb 28(%rdx), %sil
+ movb %sil, 28(%rax)
+ movb 29(%rdx), %sil
+ movb %sil, 29(%rax)
+ movb 30(%rdx), %sil
+ movb %sil, 30(%rax)
+ movb 31(%rdx), %dl
+ movb %dl, 31(%rax)
+ addq $32, %rax
+ leaq 32(%rcx), %rcx
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ ret
+L_rej_uniform_avx$1:
+ leaq glob_data + 4160(%rip), %rax
+ vmovdqu glob_data + 480(%rip), %ymm0
+ movq $0, %rcx
+ movq $0, %rdx
+ vpbroadcastb glob_data + 6462(%rip), %ymm1
+ vpbroadcastw glob_data + 6448(%rip), %ymm2
+ vmovdqu glob_data + 0(%rip), %ymm3
+ cmpq $224, %rcx
+ setbe %sil
+ cmpq $448, %rdx
+ setbe %dil
+ testb %dil, %sil
+ jmp L_rej_uniform_avx$9
+L_rej_uniform_avx$10:
+ vpermq $-108, (%r12,%rdx), %ymm4
+ vpermq $-108, 24(%r12,%rdx), %ymm5
+ vpshufb %ymm3, %ymm4, %ymm4
+ vpshufb %ymm3, %ymm5, %ymm5
+ vpsrlw $4, %ymm4, %ymm6
+ vpsrlw $4, %ymm5, %ymm7
+ vpblendw $-86, %ymm6, %ymm4, %ymm4
+ vpblendw $-86, %ymm7, %ymm5, %ymm5
+ vpand %ymm2, %ymm4, %ymm4
+ vpand %ymm2, %ymm5, %ymm5
+ vpcmpgtw %ymm4, %ymm0, %ymm6
+ vpcmpgtw %ymm5, %ymm0, %ymm7
+ vpacksswb %ymm7, %ymm6, %ymm6
+ vpmovmskb %ymm6, %rsi
+ movq %rsi, %rdi
+ andq $255, %rdi
+ vmovq (%rax,%rdi,8), %xmm6
+ movq %rsi, %r8
+ shrq $16, %r8
+ andq $255, %r8
+ vmovq (%rax,%r8,8), %xmm7
+ movq %rsi, %r9
+ shrq $8, %r9
+ andq $255, %r9
+ vmovq (%rax,%r9,8), %xmm8
+ shrq $24, %rsi
+ andq $255, %rsi
+ vmovq (%rax,%rsi,8), %xmm9
+ vinserti128 $1, %xmm7, %ymm6, %ymm6
+ popcnt %rdi, %rdi
+ popcnt %r8, %r8
+ addq %rcx, %rdi
+ vinserti128 $1, %xmm9, %ymm8, %ymm7
+ addq %rdi, %r8
+ popcnt %r9, %r9
+ addq %r8, %r9
+ popcnt %rsi, %rsi
+ addq %r9, %rsi
+ vpaddb %ymm1, %ymm6, %ymm8
+ vpunpcklbw %ymm8, %ymm6, %ymm6
+ vpaddb %ymm1, %ymm7, %ymm8
+ vpunpcklbw %ymm8, %ymm7, %ymm7
+ vpshufb %ymm6, %ymm4, %ymm4
+ vpshufb %ymm7, %ymm5, %ymm5
+ vmovdqu %xmm4, (%rbp,%rcx,2)
+ vextracti128 $1, %ymm4, (%rbp,%rdi,2)
+ vmovdqu %xmm5, (%rbp,%r8,2)
+ vextracti128 $1, %ymm5, (%rbp,%r9,2)
+ movq %rsi, %rcx
+ cmpq $224, %rcx
+ setbe %sil
+ addq $48, %rdx
+ cmpq $448, %rdx
+ setbe %dil
+ testb %dil, %sil
+L_rej_uniform_avx$9:
+ jne L_rej_uniform_avx$10
+ cmpq $248, %rcx
+ setbe %sil
+ cmpq $488, %rdx
+ setbe %dil
+ testb %dil, %sil
+ movq $21845, %rsi
+ jmp L_rej_uniform_avx$7
+L_rej_uniform_avx$8:
+ vmovdqu (%r12,%rdx), %xmm4
+ vpshufb %xmm3, %xmm4, %xmm4
+ vpsrlw $4, %xmm4, %xmm5
+ vpblendw $-86, %xmm5, %xmm4, %xmm4
+ vpand %xmm2, %xmm4, %xmm4
+ vpcmpgtw %xmm4, %xmm0, %xmm5
+ vpmovmskb %xmm5, %rdi
+ pext %rsi, %rdi, %rdi
+ vmovq (%rax,%rdi,8), %xmm5
+ popcnt %rdi, %rdi
+ vpaddb %xmm1, %xmm5, %xmm6
+ vpunpcklbw %xmm6, %xmm5, %xmm5
+ vpshufb %xmm5, %xmm4, %xmm4
+ vmovdqu %xmm4, (%rbp,%rcx,2)
+ addq %rdi, %rcx
+ addq $12, %rdx
+ cmpq $248, %rcx
+ setbe %dil
+ cmpq $488, %rdx
+ setbe %r8b
+ testb %r8b, %dil
+L_rej_uniform_avx$7:
+ jne L_rej_uniform_avx$8
+ cmpq $255, %rcx
+ setbe %al
+ cmpq $501, %rdx
+ setbe %sil
+ testb %sil, %al
+ jmp L_rej_uniform_avx$2
+L_rej_uniform_avx$3:
+ movzbw (%r12,%rdx), %ax
+ incq %rdx
+ movzbw (%r12,%rdx), %di
+ incq %rdx
+ movw %di, %si
+ shlw $8, %di
+ orw %di, %ax
+ andw $4095, %ax
+ shrw $4, %si
+ movzbw (%r12,%rdx), %di
+ incq %rdx
+ shlw $4, %di
+ orw %di, %si
+ cmpw $3329, %ax
+ jnb L_rej_uniform_avx$6
+ movw %ax, (%rbp,%rcx,2)
+ incq %rcx
+L_rej_uniform_avx$6:
+ cmpw $3329, %si
+ jnb L_rej_uniform_avx$4
+ cmpq $256, %rcx
+ jnb L_rej_uniform_avx$4
+ movw %si, (%rbp,%rcx,2)
+ incq %rcx
+L_rej_uniform_avx$5:
+L_rej_uniform_avx$4:
+ cmpq $255, %rcx
+ setbe %al
+ cmpq $501, %rdx
+ setbe %sil
+ testb %sil, %al
+L_rej_uniform_avx$2:
+ jne L_rej_uniform_avx$3
+ ret
+L_poly_tomsg_1$1:
+ call L_poly_csubq$1
+L_poly_tomsg_1$2:
+ leaq glob_data + 256(%rip), %rsi
+ vmovdqu (%rsi), %ymm0
+ leaq glob_data + 224(%rip), %rsi
+ vmovdqu (%rsi), %ymm1
+ vmovdqu (%rcx), %ymm2
+ vmovdqu 32(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, (%rax)
+ vmovdqu 64(%rcx), %ymm2
+ vmovdqu 96(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 4(%rax)
+ vmovdqu 128(%rcx), %ymm2
+ vmovdqu 160(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 8(%rax)
+ vmovdqu 192(%rcx), %ymm2
+ vmovdqu 224(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 12(%rax)
+ vmovdqu 256(%rcx), %ymm2
+ vmovdqu 288(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 16(%rax)
+ vmovdqu 320(%rcx), %ymm2
+ vmovdqu 352(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 20(%rax)
+ vmovdqu 384(%rcx), %ymm2
+ vmovdqu 416(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 24(%rax)
+ vmovdqu 448(%rcx), %ymm2
+ vmovdqu 480(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm0
+ vpsraw $15, %ymm2, %ymm3
+ vpsraw $15, %ymm0, %ymm4
+ vpxor %ymm3, %ymm2, %ymm2
+ vpxor %ymm4, %ymm0, %ymm0
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm0, %ymm0
+ vpacksswb %ymm0, %ymm2, %ymm0
+ vpermq $-40, %ymm0, %ymm0
+ vpmovmskb %ymm0, %ecx
+ movl %ecx, 28(%rax)
+ ret
+L_poly_tobytes$1:
+ leaq glob_data + 480(%rip), %rsi
+ vmovdqu (%rsi), %ymm0
+ vmovdqu (%rdx), %ymm7
+ vmovdqu 32(%rdx), %ymm8
+ vmovdqu 64(%rdx), %ymm1
+ vmovdqu 96(%rdx), %ymm2
+ vmovdqu 128(%rdx), %ymm3
+ vmovdqu 160(%rdx), %ymm4
+ vmovdqu 192(%rdx), %ymm5
+ vmovdqu 224(%rdx), %ymm6
+ vpsubw %ymm0, %ymm7, %ymm7
+ vpsraw $15, %ymm7, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm0, %ymm8, %ymm8
+ vpsraw $15, %ymm8, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm1, %ymm9, %ymm1
+ vpsubw %ymm0, %ymm2, %ymm2
+ vpsraw $15, %ymm2, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm2, %ymm9, %ymm2
+ vpsubw %ymm0, %ymm3, %ymm3
+ vpsraw $15, %ymm3, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm3, %ymm9, %ymm3
+ vpsubw %ymm0, %ymm4, %ymm4
+ vpsraw $15, %ymm4, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm4, %ymm9, %ymm4
+ vpsubw %ymm0, %ymm5, %ymm5
+ vpsraw $15, %ymm5, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm5, %ymm9, %ymm5
+ vpsubw %ymm0, %ymm6, %ymm6
+ vpsraw $15, %ymm6, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm6, %ymm9, %ymm6
+ vpsllw $12, %ymm8, %ymm9
+ vpor %ymm7, %ymm9, %ymm7
+ vpsrlw $4, %ymm8, %ymm8
+ vpsllw $8, %ymm1, %ymm9
+ vpor %ymm9, %ymm8, %ymm8
+ vpsrlw $8, %ymm1, %ymm1
+ vpsllw $4, %ymm2, %ymm2
+ vpor %ymm2, %ymm1, %ymm1
+ vpsllw $12, %ymm4, %ymm2
+ vpor %ymm3, %ymm2, %ymm2
+ vpsrlw $4, %ymm4, %ymm3
+ vpsllw $8, %ymm5, %ymm4
+ vpor %ymm4, %ymm3, %ymm3
+ vpsrlw $8, %ymm5, %ymm4
+ vpsllw $4, %ymm6, %ymm5
+ vpor %ymm5, %ymm4, %ymm4
+ vpslld $16, %ymm8, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm7, %ymm6
+ vpblendw $-86, %ymm8, %ymm6, %ymm6
+ vpslld $16, %ymm2, %ymm7
+ vpblendw $-86, %ymm7, %ymm1, %ymm7
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm1
+ vpslld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm2, %ymm3, %ymm8
+ vpsrld $16, %ymm3, %ymm2
+ vpblendw $-86, %ymm4, %ymm2, %ymm2
+ vmovsldup %ymm7, %ymm3
+ vpblendd $-86, %ymm3, %ymm5, %ymm3
+ vpsrlq $32, %ymm5, %ymm4
+ vpblendd $-86, %ymm7, %ymm4, %ymm4
+ vmovsldup %ymm6, %ymm5
+ vpblendd $-86, %ymm5, %ymm8, %ymm5
+ vpsrlq $32, %ymm8, %ymm7
+ vpblendd $-86, %ymm6, %ymm7, %ymm6
+ vmovsldup %ymm2, %ymm7
+ vpblendd $-86, %ymm7, %ymm1, %ymm7
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm2, %ymm1, %ymm1
+ vpunpcklqdq %ymm5, %ymm3, %ymm2
+ vpunpckhqdq %ymm5, %ymm3, %ymm3
+ vpunpcklqdq %ymm4, %ymm7, %ymm5
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vpunpcklqdq %ymm1, %ymm6, %ymm7
+ vpunpckhqdq %ymm1, %ymm6, %ymm1
+ vperm2i128 $32, %ymm5, %ymm2, %ymm6
+ vperm2i128 $49, %ymm5, %ymm2, %ymm2
+ vperm2i128 $32, %ymm3, %ymm7, %ymm5
+ vperm2i128 $49, %ymm3, %ymm7, %ymm3
+ vperm2i128 $32, %ymm1, %ymm4, %ymm7
+ vperm2i128 $49, %ymm1, %ymm4, %ymm1
+ vmovdqu %ymm6, (%rcx)
+ vmovdqu %ymm5, 32(%rcx)
+ vmovdqu %ymm7, 64(%rcx)
+ vmovdqu %ymm2, 96(%rcx)
+ vmovdqu %ymm3, 128(%rcx)
+ vmovdqu %ymm1, 160(%rcx)
+ vmovdqu 256(%rdx), %ymm7
+ vmovdqu 288(%rdx), %ymm8
+ vmovdqu 320(%rdx), %ymm1
+ vmovdqu 352(%rdx), %ymm2
+ vmovdqu 384(%rdx), %ymm3
+ vmovdqu 416(%rdx), %ymm4
+ vmovdqu 448(%rdx), %ymm5
+ vmovdqu 480(%rdx), %ymm6
+ vpsubw %ymm0, %ymm7, %ymm7
+ vpsraw $15, %ymm7, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm0, %ymm8, %ymm8
+ vpsraw $15, %ymm8, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm1, %ymm9, %ymm1
+ vpsubw %ymm0, %ymm2, %ymm2
+ vpsraw $15, %ymm2, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm2, %ymm9, %ymm2
+ vpsubw %ymm0, %ymm3, %ymm3
+ vpsraw $15, %ymm3, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm3, %ymm9, %ymm3
+ vpsubw %ymm0, %ymm4, %ymm4
+ vpsraw $15, %ymm4, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm4, %ymm9, %ymm4
+ vpsubw %ymm0, %ymm5, %ymm5
+ vpsraw $15, %ymm5, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm5, %ymm9, %ymm5
+ vpsubw %ymm0, %ymm6, %ymm6
+ vpsraw $15, %ymm6, %ymm9
+ vpand %ymm0, %ymm9, %ymm0
+ vpaddw %ymm6, %ymm0, %ymm0
+ vpsllw $12, %ymm8, %ymm6
+ vpor %ymm7, %ymm6, %ymm6
+ vpsrlw $4, %ymm8, %ymm7
+ vpsllw $8, %ymm1, %ymm8
+ vpor %ymm8, %ymm7, %ymm7
+ vpsrlw $8, %ymm1, %ymm1
+ vpsllw $4, %ymm2, %ymm2
+ vpor %ymm2, %ymm1, %ymm1
+ vpsllw $12, %ymm4, %ymm2
+ vpor %ymm3, %ymm2, %ymm2
+ vpsrlw $4, %ymm4, %ymm3
+ vpsllw $8, %ymm5, %ymm4
+ vpor %ymm4, %ymm3, %ymm3
+ vpsrlw $8, %ymm5, %ymm4
+ vpsllw $4, %ymm0, %ymm0
+ vpor %ymm0, %ymm4, %ymm0
+ vpslld $16, %ymm7, %ymm4
+ vpblendw $-86, %ymm4, %ymm6, %ymm4
+ vpsrld $16, %ymm6, %ymm5
+ vpblendw $-86, %ymm7, %ymm5, %ymm5
+ vpslld $16, %ymm2, %ymm6
+ vpblendw $-86, %ymm6, %ymm1, %ymm6
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm1
+ vpslld $16, %ymm0, %ymm2
+ vpblendw $-86, %ymm2, %ymm3, %ymm7
+ vpsrld $16, %ymm3, %ymm2
+ vpblendw $-86, %ymm0, %ymm2, %ymm0
+ vmovsldup %ymm6, %ymm2
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vpsrlq $32, %ymm4, %ymm3
+ vpblendd $-86, %ymm6, %ymm3, %ymm3
+ vmovsldup %ymm5, %ymm4
+ vpblendd $-86, %ymm4, %ymm7, %ymm4
+ vpsrlq $32, %ymm7, %ymm6
+ vpblendd $-86, %ymm5, %ymm6, %ymm5
+ vmovsldup %ymm0, %ymm6
+ vpblendd $-86, %ymm6, %ymm1, %ymm6
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm0, %ymm1, %ymm0
+ vpunpcklqdq %ymm4, %ymm2, %ymm1
+ vpunpckhqdq %ymm4, %ymm2, %ymm2
+ vpunpcklqdq %ymm3, %ymm6, %ymm4
+ vpunpckhqdq %ymm3, %ymm6, %ymm3
+ vpunpcklqdq %ymm0, %ymm5, %ymm6
+ vpunpckhqdq %ymm0, %ymm5, %ymm0
+ vperm2i128 $32, %ymm4, %ymm1, %ymm5
+ vperm2i128 $49, %ymm4, %ymm1, %ymm1
+ vperm2i128 $32, %ymm2, %ymm6, %ymm4
+ vperm2i128 $49, %ymm2, %ymm6, %ymm2
+ vperm2i128 $32, %ymm0, %ymm3, %ymm6
+ vperm2i128 $49, %ymm0, %ymm3, %ymm0
+ vmovdqu %ymm5, 192(%rcx)
+ vmovdqu %ymm4, 224(%rcx)
+ vmovdqu %ymm6, 256(%rcx)
+ vmovdqu %ymm1, 288(%rcx)
+ vmovdqu %ymm2, 320(%rcx)
+ vmovdqu %ymm0, 352(%rcx)
+ ret
+L_poly_sub$1:
+ vmovdqu (%rsi), %ymm0
+ vmovdqu (%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rcx)
+ vmovdqu 32(%rsi), %ymm0
+ vmovdqu 32(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rcx)
+ vmovdqu 64(%rsi), %ymm0
+ vmovdqu 64(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rcx)
+ vmovdqu 96(%rsi), %ymm0
+ vmovdqu 96(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rcx)
+ vmovdqu 128(%rsi), %ymm0
+ vmovdqu 128(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rcx)
+ vmovdqu 160(%rsi), %ymm0
+ vmovdqu 160(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rcx)
+ vmovdqu 192(%rsi), %ymm0
+ vmovdqu 192(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rcx)
+ vmovdqu 224(%rsi), %ymm0
+ vmovdqu 224(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rcx)
+ vmovdqu 256(%rsi), %ymm0
+ vmovdqu 256(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rcx)
+ vmovdqu 288(%rsi), %ymm0
+ vmovdqu 288(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rcx)
+ vmovdqu 320(%rsi), %ymm0
+ vmovdqu 320(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rcx)
+ vmovdqu 352(%rsi), %ymm0
+ vmovdqu 352(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rcx)
+ vmovdqu 384(%rsi), %ymm0
+ vmovdqu 384(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rcx)
+ vmovdqu 416(%rsi), %ymm0
+ vmovdqu 416(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rcx)
+ vmovdqu 448(%rsi), %ymm0
+ vmovdqu 448(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rcx)
+ vmovdqu 480(%rsi), %ymm0
+ vmovdqu 480(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_ntt$1:
+ leaq glob_data + 1312(%rip), %rsi
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vpbroadcastd (%rsi), %ymm1
+ vpbroadcastd 4(%rsi), %ymm2
+ vmovdqu (%rcx), %ymm3
+ vmovdqu 32(%rcx), %ymm14
+ vmovdqu 64(%rcx), %ymm4
+ vmovdqu 96(%rcx), %ymm5
+ vmovdqu 256(%rcx), %ymm6
+ vmovdqu 288(%rcx), %ymm7
+ vmovdqu 320(%rcx), %ymm12
+ vmovdqu 352(%rcx), %ymm8
+ vpmullw %ymm6, %ymm1, %ymm9
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmullw %ymm7, %ymm1, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm15
+ vpmullw %ymm12, %ymm1, %ymm11
+ vpmulhw %ymm12, %ymm2, %ymm7
+ vpmullw %ymm8, %ymm1, %ymm12
+ vpmulhw %ymm8, %ymm2, %ymm8
+ vpmulhw %ymm0, %ymm9, %ymm9
+ vpmulhw %ymm0, %ymm10, %ymm10
+ vpmulhw %ymm0, %ymm11, %ymm11
+ vpmulhw %ymm0, %ymm12, %ymm12
+ vpsubw %ymm15, %ymm14, %ymm13
+ vpaddw %ymm14, %ymm15, %ymm14
+ vpsubw %ymm6, %ymm3, %ymm15
+ vpaddw %ymm3, %ymm6, %ymm3
+ vpsubw %ymm8, %ymm5, %ymm6
+ vpaddw %ymm5, %ymm8, %ymm5
+ vpsubw %ymm7, %ymm4, %ymm8
+ vpaddw %ymm4, %ymm7, %ymm4
+ vpaddw %ymm15, %ymm9, %ymm7
+ vpsubw %ymm9, %ymm3, %ymm3
+ vpaddw %ymm13, %ymm10, %ymm9
+ vpsubw %ymm10, %ymm14, %ymm10
+ vpaddw %ymm8, %ymm11, %ymm8
+ vpsubw %ymm11, %ymm4, %ymm4
+ vpaddw %ymm6, %ymm12, %ymm6
+ vpsubw %ymm12, %ymm5, %ymm5
+ vmovdqu %ymm3, (%rcx)
+ vmovdqu %ymm10, 32(%rcx)
+ vmovdqu %ymm4, 64(%rcx)
+ vmovdqu %ymm5, 96(%rcx)
+ vmovdqu %ymm7, 256(%rcx)
+ vmovdqu %ymm9, 288(%rcx)
+ vmovdqu %ymm8, 320(%rcx)
+ vmovdqu %ymm6, 352(%rcx)
+ vmovdqu 128(%rcx), %ymm3
+ vmovdqu 160(%rcx), %ymm12
+ vmovdqu 192(%rcx), %ymm4
+ vmovdqu 224(%rcx), %ymm5
+ vmovdqu 384(%rcx), %ymm6
+ vmovdqu 416(%rcx), %ymm7
+ vmovdqu 448(%rcx), %ymm10
+ vmovdqu 480(%rcx), %ymm11
+ vpmullw %ymm6, %ymm1, %ymm14
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmullw %ymm7, %ymm1, %ymm8
+ vpmulhw %ymm7, %ymm2, %ymm13
+ vpmullw %ymm10, %ymm1, %ymm9
+ vpmulhw %ymm10, %ymm2, %ymm7
+ vpmullw %ymm11, %ymm1, %ymm10
+ vpmulhw %ymm11, %ymm2, %ymm1
+ vpmulhw %ymm0, %ymm14, %ymm2
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm9, %ymm9
+ vpmulhw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm6, %ymm3, %ymm13
+ vpaddw %ymm3, %ymm6, %ymm3
+ vpsubw %ymm1, %ymm5, %ymm6
+ vpaddw %ymm5, %ymm1, %ymm1
+ vpsubw %ymm7, %ymm4, %ymm5
+ vpaddw %ymm4, %ymm7, %ymm4
+ vpaddw %ymm13, %ymm2, %ymm7
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpaddw %ymm11, %ymm8, %ymm3
+ vpsubw %ymm8, %ymm12, %ymm8
+ vpaddw %ymm5, %ymm9, %ymm5
+ vpsubw %ymm9, %ymm4, %ymm9
+ vpaddw %ymm6, %ymm10, %ymm4
+ vpsubw %ymm10, %ymm1, %ymm14
+ vmovdqu %ymm7, 384(%rcx)
+ vmovdqu %ymm3, 416(%rcx)
+ vmovdqu %ymm5, 448(%rcx)
+ vmovdqu %ymm4, 480(%rcx)
+ vpbroadcastd 8(%rsi), %ymm1
+ vpbroadcastd 12(%rsi), %ymm4
+ vmovdqu %ymm8, %ymm10
+ vmovdqu %ymm9, %ymm3
+ vmovdqu (%rcx), %ymm6
+ vmovdqu 32(%rcx), %ymm5
+ vmovdqu 64(%rcx), %ymm9
+ vmovdqu 96(%rcx), %ymm7
+ vpmullw %ymm2, %ymm1, %ymm11
+ vpmulhw %ymm2, %ymm4, %ymm8
+ vpmullw %ymm10, %ymm1, %ymm13
+ vpmulhw %ymm10, %ymm4, %ymm12
+ vpmullw %ymm3, %ymm1, %ymm2
+ vpmulhw %ymm3, %ymm4, %ymm10
+ vpmullw %ymm14, %ymm1, %ymm3
+ vpmulhw %ymm14, %ymm4, %ymm14
+ vpmulhw %ymm0, %ymm11, %ymm11
+ vpmulhw %ymm0, %ymm13, %ymm1
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm12, %ymm5, %ymm4
+ vpaddw %ymm5, %ymm12, %ymm5
+ vpsubw %ymm8, %ymm6, %ymm12
+ vpaddw %ymm6, %ymm8, %ymm13
+ vpsubw %ymm14, %ymm7, %ymm6
+ vpaddw %ymm7, %ymm14, %ymm7
+ vpsubw %ymm10, %ymm9, %ymm8
+ vpaddw %ymm9, %ymm10, %ymm9
+ vpaddw %ymm12, %ymm11, %ymm10
+ vpsubw %ymm11, %ymm13, %ymm12
+ vpaddw %ymm4, %ymm1, %ymm4
+ vpsubw %ymm1, %ymm5, %ymm5
+ vpaddw %ymm8, %ymm2, %ymm8
+ vpsubw %ymm2, %ymm9, %ymm2
+ vpaddw %ymm6, %ymm3, %ymm13
+ vpsubw %ymm3, %ymm7, %ymm7
+ vmovdqu 16(%rsi), %ymm3
+ vmovdqu 48(%rsi), %ymm6
+ vperm2i128 $32, %ymm10, %ymm12, %ymm11
+ vperm2i128 $49, %ymm10, %ymm12, %ymm9
+ vperm2i128 $32, %ymm4, %ymm5, %ymm1
+ vperm2i128 $49, %ymm4, %ymm5, %ymm12
+ vperm2i128 $32, %ymm8, %ymm2, %ymm5
+ vperm2i128 $49, %ymm8, %ymm2, %ymm8
+ vperm2i128 $32, %ymm13, %ymm7, %ymm2
+ vperm2i128 $49, %ymm13, %ymm7, %ymm13
+ vpmullw %ymm5, %ymm3, %ymm4
+ vpmulhw %ymm5, %ymm6, %ymm10
+ vpmullw %ymm8, %ymm3, %ymm14
+ vpmulhw %ymm8, %ymm6, %ymm8
+ vpmullw %ymm2, %ymm3, %ymm5
+ vpmulhw %ymm2, %ymm6, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm7
+ vpmulhw %ymm13, %ymm6, %ymm13
+ vpmulhw %ymm0, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm14, %ymm4
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm7, %ymm6
+ vpsubw %ymm8, %ymm9, %ymm7
+ vpaddw %ymm9, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 80(%rsi), %ymm1
+ vmovdqu 112(%rsi), %ymm10
+ vpunpcklqdq %ymm2, %ymm9, %ymm5
+ vpunpckhqdq %ymm2, %ymm9, %ymm12
+ vpunpcklqdq %ymm3, %ymm4, %ymm8
+ vpunpckhqdq %ymm3, %ymm4, %ymm6
+ vpunpcklqdq %ymm7, %ymm13, %ymm2
+ vpunpckhqdq %ymm7, %ymm13, %ymm4
+ vpunpcklqdq %ymm11, %ymm14, %ymm3
+ vpunpckhqdq %ymm11, %ymm14, %ymm7
+ vpmullw %ymm2, %ymm1, %ymm11
+ vpmulhw %ymm2, %ymm10, %ymm13
+ vpmullw %ymm4, %ymm1, %ymm14
+ vpmulhw %ymm4, %ymm10, %ymm4
+ vpmullw %ymm3, %ymm1, %ymm2
+ vpmulhw %ymm3, %ymm10, %ymm9
+ vpmullw %ymm7, %ymm1, %ymm3
+ vpmulhw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpmulhw %ymm0, %ymm14, %ymm1
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm4, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm4, %ymm4
+ vpsubw %ymm13, %ymm5, %ymm12
+ vpaddw %ymm5, %ymm13, %ymm13
+ vpsubw %ymm7, %ymm6, %ymm5
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm9
+ vpsubw %ymm10, %ymm13, %ymm12
+ vpaddw %ymm11, %ymm1, %ymm10
+ vpsubw %ymm1, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm2, %ymm7
+ vpsubw %ymm2, %ymm8, %ymm2
+ vpaddw %ymm5, %ymm3, %ymm13
+ vpsubw %ymm3, %ymm6, %ymm6
+ vmovdqu 144(%rsi), %ymm3
+ vmovdqu 176(%rsi), %ymm5
+ vmovsldup %ymm9, %ymm1
+ vpblendd $-86, %ymm1, %ymm12, %ymm11
+ vpsrlq $32, %ymm12, %ymm1
+ vpblendd $-86, %ymm9, %ymm1, %ymm8
+ vmovsldup %ymm10, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm1
+ vpsrlq $32, %ymm4, %ymm4
+ vpblendd $-86, %ymm10, %ymm4, %ymm12
+ vmovsldup %ymm7, %ymm4
+ vpblendd $-86, %ymm4, %ymm2, %ymm9
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm7, %ymm2, %ymm7
+ vmovsldup %ymm13, %ymm2
+ vpblendd $-86, %ymm2, %ymm6, %ymm2
+ vpsrlq $32, %ymm6, %ymm4
+ vpblendd $-86, %ymm13, %ymm4, %ymm13
+ vpmullw %ymm9, %ymm3, %ymm4
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpmullw %ymm7, %ymm3, %ymm14
+ vpmulhw %ymm7, %ymm5, %ymm9
+ vpmullw %ymm2, %ymm3, %ymm6
+ vpmulhw %ymm2, %ymm5, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm7
+ vpmulhw %ymm13, %ymm5, %ymm13
+ vpmulhw %ymm0, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm14, %ymm4
+ vpmulhw %ymm0, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 208(%rsi), %ymm5
+ vmovdqu 240(%rsi), %ymm6
+ vpslld $16, %ymm2, %ymm1
+ vpblendw $-86, %ymm1, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm8
+ vpslld $16, %ymm3, %ymm1
+ vpblendw $-86, %ymm1, %ymm4, %ymm1
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm12
+ vpslld $16, %ymm7, %ymm2
+ vpblendw $-86, %ymm2, %ymm13, %ymm4
+ vpsrld $16, %ymm13, %ymm2
+ vpblendw $-86, %ymm7, %ymm2, %ymm7
+ vpslld $16, %ymm11, %ymm2
+ vpblendw $-86, %ymm2, %ymm14, %ymm2
+ vpsrld $16, %ymm14, %ymm3
+ vpblendw $-86, %ymm11, %ymm3, %ymm13
+ vpmullw %ymm4, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm6, %ymm11
+ vpmullw %ymm7, %ymm5, %ymm4
+ vpmulhw %ymm7, %ymm6, %ymm9
+ vpmullw %ymm2, %ymm5, %ymm7
+ vpmulhw %ymm2, %ymm6, %ymm2
+ vpmullw %ymm13, %ymm5, %ymm14
+ vpmulhw %ymm13, %ymm6, %ymm13
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpmulhw %ymm0, %ymm7, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm11, %ymm10, %ymm9
+ vpaddw %ymm10, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm3
+ vpaddw %ymm7, %ymm4, %ymm7
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm8
+ vpsubw %ymm5, %ymm1, %ymm1
+ vpaddw %ymm11, %ymm6, %ymm5
+ vpsubw %ymm6, %ymm12, %ymm10
+ vmovdqu 272(%rsi), %ymm9
+ vmovdqu 304(%rsi), %ymm13
+ vmovdqu 336(%rsi), %ymm11
+ vmovdqu 368(%rsi), %ymm6
+ vpmullw %ymm1, %ymm9, %ymm14
+ vpmulhw %ymm1, %ymm13, %ymm12
+ vpmullw %ymm10, %ymm9, %ymm9
+ vpmulhw %ymm10, %ymm13, %ymm13
+ vpmullw %ymm8, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm6, %ymm1
+ vpmullw %ymm5, %ymm11, %ymm11
+ vpmulhw %ymm5, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpmulhw %ymm0, %ymm9, %ymm8
+ vpmulhw %ymm0, %ymm10, %ymm9
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm4, %ymm11
+ vpaddw %ymm4, %ymm13, %ymm4
+ vpsubw %ymm12, %ymm3, %ymm13
+ vpaddw %ymm3, %ymm12, %ymm3
+ vpsubw %ymm5, %ymm7, %ymm12
+ vpaddw %ymm7, %ymm5, %ymm5
+ vpsubw %ymm1, %ymm2, %ymm7
+ vpaddw %ymm2, %ymm1, %ymm1
+ vpaddw %ymm13, %ymm6, %ymm2
+ vpsubw %ymm6, %ymm3, %ymm3
+ vpaddw %ymm11, %ymm8, %ymm6
+ vpsubw %ymm8, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm9, %ymm1, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm1
+ vpsubw %ymm10, %ymm5, %ymm5
+ vmovdqu glob_data + 416(%rip), %ymm9
+ vpmulhw %ymm9, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm3
+ vpmulhw %ymm9, %ymm4, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm9, %ymm8, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm8, %ymm8
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm5
+ vpmulhw %ymm9, %ymm2, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpmulhw %ymm9, %ymm6, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpmulhw %ymm9, %ymm7, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm9, %ymm1, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm1, %ymm1
+ vmovdqu %ymm3, (%rcx)
+ vmovdqu %ymm4, 32(%rcx)
+ vmovdqu %ymm2, 64(%rcx)
+ vmovdqu %ymm6, 96(%rcx)
+ vmovdqu %ymm8, 128(%rcx)
+ vmovdqu %ymm5, 160(%rcx)
+ vmovdqu %ymm7, 192(%rcx)
+ vmovdqu %ymm1, 224(%rcx)
+ vpbroadcastd 400(%rsi), %ymm5
+ vpbroadcastd 404(%rsi), %ymm8
+ vmovdqu 384(%rcx), %ymm1
+ vmovdqu 416(%rcx), %ymm2
+ vmovdqu 448(%rcx), %ymm10
+ vmovdqu 480(%rcx), %ymm9
+ vmovdqu 256(%rcx), %ymm3
+ vmovdqu 288(%rcx), %ymm7
+ vmovdqu 320(%rcx), %ymm6
+ vmovdqu 352(%rcx), %ymm4
+ vpmullw %ymm1, %ymm5, %ymm14
+ vpmulhw %ymm1, %ymm8, %ymm12
+ vpmullw %ymm2, %ymm5, %ymm1
+ vpmulhw %ymm2, %ymm8, %ymm11
+ vpmullw %ymm10, %ymm5, %ymm2
+ vpmulhw %ymm10, %ymm8, %ymm13
+ vpmullw %ymm9, %ymm5, %ymm10
+ vpmulhw %ymm9, %ymm8, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm8
+ vpmulhw %ymm0, %ymm1, %ymm9
+ vpmulhw %ymm0, %ymm2, %ymm1
+ vpmulhw %ymm0, %ymm10, %ymm2
+ vpsubw %ymm11, %ymm7, %ymm10
+ vpaddw %ymm7, %ymm11, %ymm11
+ vpsubw %ymm12, %ymm3, %ymm7
+ vpaddw %ymm3, %ymm12, %ymm12
+ vpsubw %ymm5, %ymm4, %ymm3
+ vpaddw %ymm4, %ymm5, %ymm4
+ vpsubw %ymm13, %ymm6, %ymm5
+ vpaddw %ymm6, %ymm13, %ymm6
+ vpaddw %ymm7, %ymm8, %ymm7
+ vpsubw %ymm8, %ymm12, %ymm12
+ vpaddw %ymm10, %ymm9, %ymm8
+ vpsubw %ymm9, %ymm11, %ymm9
+ vpaddw %ymm5, %ymm1, %ymm5
+ vpsubw %ymm1, %ymm6, %ymm6
+ vpaddw %ymm3, %ymm2, %ymm13
+ vpsubw %ymm2, %ymm4, %ymm2
+ vmovdqu 408(%rsi), %ymm3
+ vmovdqu 440(%rsi), %ymm4
+ vperm2i128 $32, %ymm7, %ymm12, %ymm10
+ vperm2i128 $49, %ymm7, %ymm12, %ymm11
+ vperm2i128 $32, %ymm8, %ymm9, %ymm1
+ vperm2i128 $49, %ymm8, %ymm9, %ymm12
+ vperm2i128 $32, %ymm5, %ymm6, %ymm8
+ vperm2i128 $49, %ymm5, %ymm6, %ymm5
+ vperm2i128 $32, %ymm13, %ymm2, %ymm6
+ vperm2i128 $49, %ymm13, %ymm2, %ymm13
+ vpmullw %ymm8, %ymm3, %ymm7
+ vpmulhw %ymm8, %ymm4, %ymm14
+ vpmullw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm5, %ymm4, %ymm8
+ vpmullw %ymm6, %ymm3, %ymm5
+ vpmulhw %ymm6, %ymm4, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm6
+ vpmulhw %ymm13, %ymm4, %ymm13
+ vpmulhw %ymm0, %ymm7, %ymm3
+ vpmulhw %ymm0, %ymm9, %ymm4
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm8, %ymm11, %ymm7
+ vpaddw %ymm11, %ymm8, %ymm8
+ vpsubw %ymm14, %ymm10, %ymm9
+ vpaddw %ymm10, %ymm14, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 472(%rsi), %ymm1
+ vmovdqu 504(%rsi), %ymm10
+ vpunpcklqdq %ymm2, %ymm9, %ymm5
+ vpunpckhqdq %ymm2, %ymm9, %ymm12
+ vpunpcklqdq %ymm3, %ymm4, %ymm8
+ vpunpckhqdq %ymm3, %ymm4, %ymm6
+ vpunpcklqdq %ymm7, %ymm13, %ymm2
+ vpunpckhqdq %ymm7, %ymm13, %ymm4
+ vpunpcklqdq %ymm11, %ymm14, %ymm3
+ vpunpckhqdq %ymm11, %ymm14, %ymm7
+ vpmullw %ymm2, %ymm1, %ymm11
+ vpmulhw %ymm2, %ymm10, %ymm13
+ vpmullw %ymm4, %ymm1, %ymm14
+ vpmulhw %ymm4, %ymm10, %ymm4
+ vpmullw %ymm3, %ymm1, %ymm2
+ vpmulhw %ymm3, %ymm10, %ymm9
+ vpmullw %ymm7, %ymm1, %ymm3
+ vpmulhw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpmulhw %ymm0, %ymm14, %ymm1
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm4, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm4, %ymm4
+ vpsubw %ymm13, %ymm5, %ymm12
+ vpaddw %ymm5, %ymm13, %ymm13
+ vpsubw %ymm7, %ymm6, %ymm5
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm9
+ vpsubw %ymm10, %ymm13, %ymm12
+ vpaddw %ymm11, %ymm1, %ymm10
+ vpsubw %ymm1, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm2, %ymm7
+ vpsubw %ymm2, %ymm8, %ymm2
+ vpaddw %ymm5, %ymm3, %ymm13
+ vpsubw %ymm3, %ymm6, %ymm6
+ vmovdqu 536(%rsi), %ymm3
+ vmovdqu 568(%rsi), %ymm5
+ vmovsldup %ymm9, %ymm1
+ vpblendd $-86, %ymm1, %ymm12, %ymm11
+ vpsrlq $32, %ymm12, %ymm1
+ vpblendd $-86, %ymm9, %ymm1, %ymm8
+ vmovsldup %ymm10, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm1
+ vpsrlq $32, %ymm4, %ymm4
+ vpblendd $-86, %ymm10, %ymm4, %ymm12
+ vmovsldup %ymm7, %ymm4
+ vpblendd $-86, %ymm4, %ymm2, %ymm9
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm7, %ymm2, %ymm7
+ vmovsldup %ymm13, %ymm2
+ vpblendd $-86, %ymm2, %ymm6, %ymm2
+ vpsrlq $32, %ymm6, %ymm4
+ vpblendd $-86, %ymm13, %ymm4, %ymm13
+ vpmullw %ymm9, %ymm3, %ymm4
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpmullw %ymm7, %ymm3, %ymm14
+ vpmulhw %ymm7, %ymm5, %ymm9
+ vpmullw %ymm2, %ymm3, %ymm6
+ vpmulhw %ymm2, %ymm5, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm7
+ vpmulhw %ymm13, %ymm5, %ymm13
+ vpmulhw %ymm0, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm14, %ymm4
+ vpmulhw %ymm0, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 600(%rsi), %ymm5
+ vmovdqu 632(%rsi), %ymm6
+ vpslld $16, %ymm2, %ymm1
+ vpblendw $-86, %ymm1, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm8
+ vpslld $16, %ymm3, %ymm1
+ vpblendw $-86, %ymm1, %ymm4, %ymm1
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm12
+ vpslld $16, %ymm7, %ymm2
+ vpblendw $-86, %ymm2, %ymm13, %ymm4
+ vpsrld $16, %ymm13, %ymm2
+ vpblendw $-86, %ymm7, %ymm2, %ymm7
+ vpslld $16, %ymm11, %ymm2
+ vpblendw $-86, %ymm2, %ymm14, %ymm2
+ vpsrld $16, %ymm14, %ymm3
+ vpblendw $-86, %ymm11, %ymm3, %ymm13
+ vpmullw %ymm4, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm6, %ymm11
+ vpmullw %ymm7, %ymm5, %ymm4
+ vpmulhw %ymm7, %ymm6, %ymm9
+ vpmullw %ymm2, %ymm5, %ymm7
+ vpmulhw %ymm2, %ymm6, %ymm2
+ vpmullw %ymm13, %ymm5, %ymm14
+ vpmulhw %ymm13, %ymm6, %ymm13
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpmulhw %ymm0, %ymm7, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm11, %ymm10, %ymm9
+ vpaddw %ymm10, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm3
+ vpaddw %ymm7, %ymm4, %ymm7
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm8
+ vpsubw %ymm5, %ymm1, %ymm1
+ vpaddw %ymm11, %ymm6, %ymm5
+ vpsubw %ymm6, %ymm12, %ymm10
+ vmovdqu 664(%rsi), %ymm9
+ vmovdqu 696(%rsi), %ymm13
+ vmovdqu 728(%rsi), %ymm11
+ vmovdqu 760(%rsi), %ymm6
+ vpmullw %ymm1, %ymm9, %ymm14
+ vpmulhw %ymm1, %ymm13, %ymm12
+ vpmullw %ymm10, %ymm9, %ymm9
+ vpmulhw %ymm10, %ymm13, %ymm13
+ vpmullw %ymm8, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm6, %ymm1
+ vpmullw %ymm5, %ymm11, %ymm11
+ vpmulhw %ymm5, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpmulhw %ymm0, %ymm9, %ymm8
+ vpmulhw %ymm0, %ymm10, %ymm9
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm4, %ymm11
+ vpaddw %ymm4, %ymm13, %ymm4
+ vpsubw %ymm12, %ymm3, %ymm13
+ vpaddw %ymm3, %ymm12, %ymm3
+ vpsubw %ymm5, %ymm7, %ymm12
+ vpaddw %ymm7, %ymm5, %ymm5
+ vpsubw %ymm1, %ymm2, %ymm7
+ vpaddw %ymm2, %ymm1, %ymm1
+ vpaddw %ymm13, %ymm6, %ymm2
+ vpsubw %ymm6, %ymm3, %ymm3
+ vpaddw %ymm11, %ymm8, %ymm6
+ vpsubw %ymm8, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm9, %ymm1, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm1
+ vpsubw %ymm10, %ymm5, %ymm5
+ vmovdqu glob_data + 416(%rip), %ymm9
+ vpmulhw %ymm9, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm3
+ vpmulhw %ymm9, %ymm4, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm9, %ymm8, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm8, %ymm8
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm5
+ vpmulhw %ymm9, %ymm2, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpmulhw %ymm9, %ymm6, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpmulhw %ymm9, %ymm7, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm9, %ymm1, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm0
+ vpsubw %ymm0, %ymm1, %ymm0
+ vmovdqu %ymm3, 256(%rcx)
+ vmovdqu %ymm4, 288(%rcx)
+ vmovdqu %ymm2, 320(%rcx)
+ vmovdqu %ymm6, 352(%rcx)
+ vmovdqu %ymm8, 384(%rcx)
+ vmovdqu %ymm5, 416(%rcx)
+ vmovdqu %ymm7, 448(%rcx)
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_invntt$1:
+ leaq glob_data + 512(%rip), %rsi
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu (%rsi), %ymm12
+ vmovdqu 64(%rsi), %ymm1
+ vmovdqu 32(%rsi), %ymm2
+ vmovdqu 96(%rsi), %ymm5
+ vmovdqu (%rcx), %ymm3
+ vmovdqu 32(%rcx), %ymm4
+ vmovdqu 64(%rcx), %ymm15
+ vmovdqu 96(%rcx), %ymm11
+ vmovdqu 128(%rcx), %ymm7
+ vmovdqu 160(%rcx), %ymm8
+ vmovdqu 192(%rcx), %ymm13
+ vmovdqu 224(%rcx), %ymm14
+ vpsubw %ymm15, %ymm3, %ymm6
+ vpsubw %ymm11, %ymm4, %ymm9
+ vpsubw %ymm13, %ymm7, %ymm10
+ vpaddw %ymm3, %ymm15, %ymm3
+ vpaddw %ymm4, %ymm11, %ymm4
+ vpmullw %ymm6, %ymm12, %ymm11
+ vpaddw %ymm7, %ymm13, %ymm7
+ vpmullw %ymm9, %ymm12, %ymm12
+ vpsubw %ymm14, %ymm8, %ymm13
+ vpaddw %ymm8, %ymm14, %ymm8
+ vpmullw %ymm10, %ymm1, %ymm14
+ vpmullw %ymm13, %ymm1, %ymm1
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmulhw %ymm9, %ymm2, %ymm2
+ vpmulhw %ymm10, %ymm5, %ymm9
+ vpmulhw %ymm13, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm10
+ vpmulhw %ymm12, %ymm0, %ymm11
+ vpmulhw %ymm14, %ymm0, %ymm12
+ vpmulhw %ymm1, %ymm0, %ymm1
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpsubw %ymm11, %ymm2, %ymm11
+ vpsubw %ymm12, %ymm9, %ymm9
+ vpsubw %ymm1, %ymm5, %ymm13
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu 128(%rsi), %ymm2
+ vmovdqu 160(%rsi), %ymm5
+ vpmulhw %ymm1, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm10
+ vpmulhw %ymm1, %ymm4, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm12
+ vpmulhw %ymm1, %ymm7, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm7, %ymm7
+ vpmulhw %ymm1, %ymm8, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm8, %ymm8
+ vpsubw %ymm7, %ymm10, %ymm15
+ vpsubw %ymm8, %ymm12, %ymm3
+ vpsubw %ymm9, %ymm6, %ymm4
+ vpaddw %ymm10, %ymm7, %ymm7
+ vpaddw %ymm12, %ymm8, %ymm8
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm6, %ymm9, %ymm9
+ vpmullw %ymm3, %ymm2, %ymm6
+ vpsubw %ymm13, %ymm11, %ymm12
+ vpaddw %ymm11, %ymm13, %ymm11
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm12, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm12, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm6, %ymm0, %ymm12
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm6
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm12, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm6, %ymm5, %ymm5
+ vpslld $16, %ymm8, %ymm6
+ vpblendw $-86, %ymm6, %ymm7, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpblendw $-86, %ymm8, %ymm7, %ymm7
+ vpslld $16, %ymm11, %ymm8
+ vpblendw $-86, %ymm8, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm11, %ymm8, %ymm11
+ vpslld $16, %ymm3, %ymm8
+ vpblendw $-86, %ymm8, %ymm2, %ymm8
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm9
+ vpslld $16, %ymm5, %ymm2
+ vpblendw $-86, %ymm2, %ymm4, %ymm12
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm5, %ymm2, %ymm13
+ vmovdqu 192(%rsi), %ymm2
+ vmovdqu 224(%rsi), %ymm5
+ vpsubw %ymm7, %ymm6, %ymm15
+ vpsubw %ymm11, %ymm10, %ymm3
+ vpsubw %ymm9, %ymm8, %ymm4
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpaddw %ymm10, %ymm11, %ymm7
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm3, %ymm2, %ymm9
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm11, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm11, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm9, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm9
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm11, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm9, %ymm5, %ymm5
+ vpmulhw %ymm1, %ymm6, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm6, %ymm6
+ vmovsldup %ymm7, %ymm9
+ vpblendd $-86, %ymm9, %ymm6, %ymm9
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm7, %ymm6, %ymm10
+ vmovsldup %ymm12, %ymm6
+ vpblendd $-86, %ymm6, %ymm8, %ymm11
+ vpsrlq $32, %ymm8, %ymm6
+ vpblendd $-86, %ymm12, %ymm6, %ymm14
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm2, %ymm12
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm13
+ vmovsldup %ymm5, %ymm2
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vpsrlq $32, %ymm4, %ymm3
+ vpblendd $-86, %ymm5, %ymm3, %ymm3
+ vmovdqu 256(%rsi), %ymm4
+ vmovdqu 288(%rsi), %ymm5
+ vpsubw %ymm10, %ymm9, %ymm6
+ vpsubw %ymm14, %ymm11, %ymm7
+ vpsubw %ymm13, %ymm12, %ymm8
+ vpaddw %ymm9, %ymm10, %ymm9
+ vpaddw %ymm11, %ymm14, %ymm10
+ vpmullw %ymm6, %ymm4, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm7, %ymm4, %ymm13
+ vpsubw %ymm3, %ymm2, %ymm14
+ vpaddw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm8, %ymm4, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm4
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpmulhw %ymm7, %ymm5, %ymm7
+ vpmulhw %ymm8, %ymm5, %ymm8
+ vpmulhw %ymm14, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm3, %ymm0, %ymm3
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm11, %ymm6, %ymm6
+ vpsubw %ymm13, %ymm7, %ymm7
+ vpsubw %ymm3, %ymm8, %ymm3
+ vpsubw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm1, %ymm9, %ymm5
+ vpsraw $10, %ymm5, %ymm5
+ vpmullw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm9, %ymm8
+ vpunpcklqdq %ymm10, %ymm8, %ymm5
+ vpunpckhqdq %ymm10, %ymm8, %ymm8
+ vpunpcklqdq %ymm2, %ymm12, %ymm9
+ vpunpckhqdq %ymm2, %ymm12, %ymm2
+ vpunpcklqdq %ymm7, %ymm6, %ymm10
+ vpunpckhqdq %ymm7, %ymm6, %ymm6
+ vpunpcklqdq %ymm4, %ymm3, %ymm7
+ vpunpckhqdq %ymm4, %ymm3, %ymm3
+ vmovdqu 320(%rsi), %ymm4
+ vmovdqu 352(%rsi), %ymm11
+ vpsubw %ymm8, %ymm5, %ymm12
+ vpsubw %ymm2, %ymm9, %ymm13
+ vpsubw %ymm6, %ymm10, %ymm14
+ vpaddw %ymm5, %ymm8, %ymm5
+ vpaddw %ymm9, %ymm2, %ymm2
+ vpmullw %ymm12, %ymm4, %ymm8
+ vpaddw %ymm10, %ymm6, %ymm6
+ vpmullw %ymm13, %ymm4, %ymm9
+ vpsubw %ymm3, %ymm7, %ymm10
+ vpaddw %ymm7, %ymm3, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm7
+ vpmullw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm8, %ymm12, %ymm8
+ vpsubw %ymm9, %ymm13, %ymm9
+ vpsubw %ymm7, %ymm14, %ymm7
+ vpsubw %ymm4, %ymm10, %ymm4
+ vpmulhw %ymm1, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm10
+ vperm2i128 $32, %ymm2, %ymm10, %ymm5
+ vperm2i128 $49, %ymm2, %ymm10, %ymm2
+ vperm2i128 $32, %ymm3, %ymm6, %ymm10
+ vperm2i128 $49, %ymm3, %ymm6, %ymm3
+ vperm2i128 $32, %ymm9, %ymm8, %ymm6
+ vperm2i128 $49, %ymm9, %ymm8, %ymm8
+ vperm2i128 $32, %ymm4, %ymm7, %ymm9
+ vperm2i128 $49, %ymm4, %ymm7, %ymm4
+ vpbroadcastd 384(%rsi), %ymm7
+ vpbroadcastd 388(%rsi), %ymm11
+ vpsubw %ymm2, %ymm5, %ymm12
+ vpsubw %ymm3, %ymm10, %ymm13
+ vpsubw %ymm8, %ymm6, %ymm14
+ vpaddw %ymm5, %ymm2, %ymm2
+ vpaddw %ymm10, %ymm3, %ymm3
+ vpmullw %ymm12, %ymm7, %ymm5
+ vpaddw %ymm6, %ymm8, %ymm6
+ vpmullw %ymm13, %ymm7, %ymm8
+ vpsubw %ymm4, %ymm9, %ymm10
+ vpaddw %ymm9, %ymm4, %ymm4
+ vpmullw %ymm14, %ymm7, %ymm9
+ vpmullw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm5, %ymm0, %ymm5
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpsubw %ymm5, %ymm12, %ymm5
+ vpsubw %ymm8, %ymm13, %ymm8
+ vpsubw %ymm9, %ymm14, %ymm9
+ vpsubw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, (%rcx)
+ vmovdqu %ymm3, 32(%rcx)
+ vmovdqu %ymm6, 64(%rcx)
+ vmovdqu %ymm4, 96(%rcx)
+ vmovdqu %ymm5, 128(%rcx)
+ vmovdqu %ymm8, 160(%rcx)
+ vmovdqu %ymm9, 192(%rcx)
+ vmovdqu %ymm7, 224(%rcx)
+ vmovdqu 392(%rsi), %ymm12
+ vmovdqu 456(%rsi), %ymm1
+ vmovdqu 424(%rsi), %ymm2
+ vmovdqu 488(%rsi), %ymm5
+ vmovdqu 256(%rcx), %ymm3
+ vmovdqu 288(%rcx), %ymm4
+ vmovdqu 320(%rcx), %ymm15
+ vmovdqu 352(%rcx), %ymm11
+ vmovdqu 384(%rcx), %ymm7
+ vmovdqu 416(%rcx), %ymm8
+ vmovdqu 448(%rcx), %ymm13
+ vmovdqu 480(%rcx), %ymm14
+ vpsubw %ymm15, %ymm3, %ymm6
+ vpsubw %ymm11, %ymm4, %ymm9
+ vpsubw %ymm13, %ymm7, %ymm10
+ vpaddw %ymm3, %ymm15, %ymm3
+ vpaddw %ymm4, %ymm11, %ymm4
+ vpmullw %ymm6, %ymm12, %ymm11
+ vpaddw %ymm7, %ymm13, %ymm7
+ vpmullw %ymm9, %ymm12, %ymm12
+ vpsubw %ymm14, %ymm8, %ymm13
+ vpaddw %ymm8, %ymm14, %ymm8
+ vpmullw %ymm10, %ymm1, %ymm14
+ vpmullw %ymm13, %ymm1, %ymm1
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmulhw %ymm9, %ymm2, %ymm2
+ vpmulhw %ymm10, %ymm5, %ymm9
+ vpmulhw %ymm13, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm10
+ vpmulhw %ymm12, %ymm0, %ymm11
+ vpmulhw %ymm14, %ymm0, %ymm12
+ vpmulhw %ymm1, %ymm0, %ymm1
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpsubw %ymm11, %ymm2, %ymm11
+ vpsubw %ymm12, %ymm9, %ymm9
+ vpsubw %ymm1, %ymm5, %ymm13
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu 520(%rsi), %ymm2
+ vmovdqu 552(%rsi), %ymm5
+ vpmulhw %ymm1, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm10
+ vpmulhw %ymm1, %ymm4, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm12
+ vpmulhw %ymm1, %ymm7, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm7, %ymm7
+ vpmulhw %ymm1, %ymm8, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm8, %ymm8
+ vpsubw %ymm7, %ymm10, %ymm15
+ vpsubw %ymm8, %ymm12, %ymm3
+ vpsubw %ymm9, %ymm6, %ymm4
+ vpaddw %ymm10, %ymm7, %ymm7
+ vpaddw %ymm12, %ymm8, %ymm8
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm6, %ymm9, %ymm9
+ vpmullw %ymm3, %ymm2, %ymm6
+ vpsubw %ymm13, %ymm11, %ymm12
+ vpaddw %ymm11, %ymm13, %ymm11
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm12, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm12, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm6, %ymm0, %ymm12
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm6
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm12, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm6, %ymm5, %ymm5
+ vpslld $16, %ymm8, %ymm6
+ vpblendw $-86, %ymm6, %ymm7, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpblendw $-86, %ymm8, %ymm7, %ymm7
+ vpslld $16, %ymm11, %ymm8
+ vpblendw $-86, %ymm8, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm11, %ymm8, %ymm11
+ vpslld $16, %ymm3, %ymm8
+ vpblendw $-86, %ymm8, %ymm2, %ymm8
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm9
+ vpslld $16, %ymm5, %ymm2
+ vpblendw $-86, %ymm2, %ymm4, %ymm12
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm5, %ymm2, %ymm13
+ vmovdqu 584(%rsi), %ymm2
+ vmovdqu 616(%rsi), %ymm5
+ vpsubw %ymm7, %ymm6, %ymm15
+ vpsubw %ymm11, %ymm10, %ymm3
+ vpsubw %ymm9, %ymm8, %ymm4
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpaddw %ymm10, %ymm11, %ymm7
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm3, %ymm2, %ymm9
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm11, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm11, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm9, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm9
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm11, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm9, %ymm5, %ymm5
+ vpmulhw %ymm1, %ymm6, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm6, %ymm6
+ vmovsldup %ymm7, %ymm9
+ vpblendd $-86, %ymm9, %ymm6, %ymm9
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm7, %ymm6, %ymm10
+ vmovsldup %ymm12, %ymm6
+ vpblendd $-86, %ymm6, %ymm8, %ymm11
+ vpsrlq $32, %ymm8, %ymm6
+ vpblendd $-86, %ymm12, %ymm6, %ymm14
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm2, %ymm12
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm13
+ vmovsldup %ymm5, %ymm2
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vpsrlq $32, %ymm4, %ymm3
+ vpblendd $-86, %ymm5, %ymm3, %ymm3
+ vmovdqu 648(%rsi), %ymm4
+ vmovdqu 680(%rsi), %ymm5
+ vpsubw %ymm10, %ymm9, %ymm6
+ vpsubw %ymm14, %ymm11, %ymm7
+ vpsubw %ymm13, %ymm12, %ymm8
+ vpaddw %ymm9, %ymm10, %ymm9
+ vpaddw %ymm11, %ymm14, %ymm10
+ vpmullw %ymm6, %ymm4, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm7, %ymm4, %ymm13
+ vpsubw %ymm3, %ymm2, %ymm14
+ vpaddw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm8, %ymm4, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm4
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpmulhw %ymm7, %ymm5, %ymm7
+ vpmulhw %ymm8, %ymm5, %ymm8
+ vpmulhw %ymm14, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm3, %ymm0, %ymm3
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm11, %ymm6, %ymm6
+ vpsubw %ymm13, %ymm7, %ymm7
+ vpsubw %ymm3, %ymm8, %ymm3
+ vpsubw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm1, %ymm9, %ymm5
+ vpsraw $10, %ymm5, %ymm5
+ vpmullw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm9, %ymm8
+ vpunpcklqdq %ymm10, %ymm8, %ymm5
+ vpunpckhqdq %ymm10, %ymm8, %ymm8
+ vpunpcklqdq %ymm2, %ymm12, %ymm9
+ vpunpckhqdq %ymm2, %ymm12, %ymm2
+ vpunpcklqdq %ymm7, %ymm6, %ymm10
+ vpunpckhqdq %ymm7, %ymm6, %ymm6
+ vpunpcklqdq %ymm4, %ymm3, %ymm7
+ vpunpckhqdq %ymm4, %ymm3, %ymm3
+ vmovdqu 712(%rsi), %ymm4
+ vmovdqu 744(%rsi), %ymm11
+ vpsubw %ymm8, %ymm5, %ymm12
+ vpsubw %ymm2, %ymm9, %ymm13
+ vpsubw %ymm6, %ymm10, %ymm14
+ vpaddw %ymm5, %ymm8, %ymm5
+ vpaddw %ymm9, %ymm2, %ymm2
+ vpmullw %ymm12, %ymm4, %ymm8
+ vpaddw %ymm10, %ymm6, %ymm6
+ vpmullw %ymm13, %ymm4, %ymm9
+ vpsubw %ymm3, %ymm7, %ymm10
+ vpaddw %ymm7, %ymm3, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm7
+ vpmullw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm8, %ymm12, %ymm8
+ vpsubw %ymm9, %ymm13, %ymm9
+ vpsubw %ymm7, %ymm14, %ymm7
+ vpsubw %ymm4, %ymm10, %ymm4
+ vpmulhw %ymm1, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm10
+ vperm2i128 $32, %ymm2, %ymm10, %ymm5
+ vperm2i128 $49, %ymm2, %ymm10, %ymm2
+ vperm2i128 $32, %ymm3, %ymm6, %ymm10
+ vperm2i128 $49, %ymm3, %ymm6, %ymm3
+ vperm2i128 $32, %ymm9, %ymm8, %ymm6
+ vperm2i128 $49, %ymm9, %ymm8, %ymm8
+ vperm2i128 $32, %ymm4, %ymm7, %ymm9
+ vperm2i128 $49, %ymm4, %ymm7, %ymm4
+ vpbroadcastd 776(%rsi), %ymm7
+ vpbroadcastd 780(%rsi), %ymm11
+ vpsubw %ymm2, %ymm5, %ymm12
+ vpsubw %ymm3, %ymm10, %ymm13
+ vpsubw %ymm8, %ymm6, %ymm14
+ vpaddw %ymm5, %ymm2, %ymm2
+ vpaddw %ymm10, %ymm3, %ymm3
+ vpmullw %ymm12, %ymm7, %ymm5
+ vpaddw %ymm6, %ymm8, %ymm6
+ vpmullw %ymm13, %ymm7, %ymm8
+ vpsubw %ymm4, %ymm9, %ymm10
+ vpaddw %ymm9, %ymm4, %ymm4
+ vpmullw %ymm14, %ymm7, %ymm9
+ vpmullw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm5, %ymm0, %ymm5
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpsubw %ymm5, %ymm12, %ymm5
+ vpsubw %ymm8, %ymm13, %ymm8
+ vpsubw %ymm9, %ymm14, %ymm9
+ vpsubw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm2, %ymm10
+ vmovdqu %ymm5, 384(%rcx)
+ vmovdqu %ymm8, 416(%rcx)
+ vmovdqu %ymm9, 448(%rcx)
+ vmovdqu %ymm7, 480(%rcx)
+ vpbroadcastd 784(%rsi), %ymm1
+ vpbroadcastd 788(%rsi), %ymm2
+ vmovdqu %ymm4, %ymm7
+ vmovdqu %ymm3, %ymm4
+ vmovdqu %ymm10, %ymm3
+ vmovdqu (%rcx), %ymm9
+ vmovdqu 32(%rcx), %ymm13
+ vmovdqu 64(%rcx), %ymm5
+ vmovdqu 96(%rcx), %ymm8
+ vpsubw %ymm3, %ymm9, %ymm10
+ vpsubw %ymm4, %ymm13, %ymm11
+ vpsubw %ymm6, %ymm5, %ymm12
+ vpaddw %ymm9, %ymm3, %ymm3
+ vpaddw %ymm13, %ymm4, %ymm4
+ vpmullw %ymm10, %ymm1, %ymm13
+ vpaddw %ymm5, %ymm6, %ymm5
+ vpmullw %ymm11, %ymm1, %ymm6
+ vpsubw %ymm7, %ymm8, %ymm14
+ vpaddw %ymm8, %ymm7, %ymm7
+ vpmullw %ymm12, %ymm1, %ymm8
+ vpmullw %ymm14, %ymm1, %ymm9
+ vpmulhw %ymm10, %ymm2, %ymm10
+ vpmulhw %ymm11, %ymm2, %ymm11
+ vpmulhw %ymm12, %ymm2, %ymm12
+ vpmulhw %ymm14, %ymm2, %ymm14
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm6, %ymm0, %ymm6
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpsubw %ymm13, %ymm10, %ymm10
+ vpsubw %ymm6, %ymm11, %ymm6
+ vpsubw %ymm8, %ymm12, %ymm11
+ vpsubw %ymm9, %ymm14, %ymm12
+ vmovdqu glob_data + 352(%rip), %ymm8
+ vmovdqu glob_data + 384(%rip), %ymm9
+ vmovdqu %ymm10, 256(%rcx)
+ vmovdqu %ymm6, 288(%rcx)
+ vmovdqu %ymm11, 320(%rcx)
+ vmovdqu %ymm12, 352(%rcx)
+ vpmullw %ymm3, %ymm8, %ymm6
+ vpmulhw %ymm3, %ymm9, %ymm3
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm3, %ymm3
+ vpmullw %ymm4, %ymm8, %ymm6
+ vpmulhw %ymm4, %ymm9, %ymm4
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vpmullw %ymm5, %ymm8, %ymm6
+ vpmulhw %ymm5, %ymm9, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm5, %ymm5
+ vpmullw %ymm7, %ymm8, %ymm6
+ vpmulhw %ymm7, %ymm9, %ymm7
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm7, %ymm6
+ vmovdqu %ymm3, (%rcx)
+ vmovdqu %ymm4, 32(%rcx)
+ vmovdqu %ymm5, 64(%rcx)
+ vmovdqu %ymm6, 96(%rcx)
+ vmovdqu 384(%rcx), %ymm4
+ vmovdqu 416(%rcx), %ymm5
+ vmovdqu 448(%rcx), %ymm7
+ vmovdqu 480(%rcx), %ymm10
+ vmovdqu 128(%rcx), %ymm6
+ vmovdqu 160(%rcx), %ymm9
+ vmovdqu 192(%rcx), %ymm8
+ vmovdqu 224(%rcx), %ymm11
+ vpsubw %ymm4, %ymm6, %ymm12
+ vpsubw %ymm5, %ymm9, %ymm13
+ vpsubw %ymm7, %ymm8, %ymm3
+ vpaddw %ymm6, %ymm4, %ymm4
+ vpaddw %ymm9, %ymm5, %ymm5
+ vpmullw %ymm12, %ymm1, %ymm6
+ vpaddw %ymm8, %ymm7, %ymm7
+ vpmullw %ymm13, %ymm1, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpmullw %ymm3, %ymm1, %ymm11
+ vpmullw %ymm9, %ymm1, %ymm1
+ vpmulhw %ymm12, %ymm2, %ymm12
+ vpmulhw %ymm13, %ymm2, %ymm13
+ vpmulhw %ymm3, %ymm2, %ymm3
+ vpmulhw %ymm9, %ymm2, %ymm2
+ vpmulhw %ymm6, %ymm0, %ymm6
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm11, %ymm0, %ymm9
+ vpmulhw %ymm1, %ymm0, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm1
+ vpsubw %ymm8, %ymm13, %ymm6
+ vpsubw %ymm9, %ymm3, %ymm8
+ vpsubw %ymm11, %ymm2, %ymm9
+ vmovdqu glob_data + 352(%rip), %ymm2
+ vmovdqu glob_data + 384(%rip), %ymm3
+ vmovdqu %ymm1, 384(%rcx)
+ vmovdqu %ymm6, 416(%rcx)
+ vmovdqu %ymm8, 448(%rcx)
+ vmovdqu %ymm9, 480(%rcx)
+ vpmullw %ymm4, %ymm2, %ymm1
+ vpmulhw %ymm4, %ymm3, %ymm4
+ vpmulhw %ymm0, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm4, %ymm1
+ vpmullw %ymm5, %ymm2, %ymm4
+ vpmulhw %ymm5, %ymm3, %ymm5
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm7, %ymm2, %ymm5
+ vpmulhw %ymm7, %ymm3, %ymm6
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm6, %ymm5
+ vpmullw %ymm10, %ymm2, %ymm2
+ vpmulhw %ymm10, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm0
+ vpsubw %ymm0, %ymm3, %ymm0
+ vmovdqu %ymm1, 128(%rcx)
+ vmovdqu %ymm4, 160(%rcx)
+ vmovdqu %ymm5, 192(%rcx)
+ vmovdqu %ymm0, 224(%rcx)
+ ret
+L_poly_getnoise_eta1122_4x$1:
+ movq %rdx, 1984(%rsp)
+ vmovdqu (%rax), %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 320(%rsp)
+ vmovdqu %ymm0, 608(%rsp)
+ vmovdqu %ymm0, 896(%rsp)
+ movb %sil, 64(%rsp)
+ incb %sil
+ movb %sil, 352(%rsp)
+ incb %sil
+ movb %sil, 640(%rsp)
+ incb %sil
+ movb %sil, 928(%rsp)
+ leaq 1184(%rsp), %rax
+ leaq 32(%rsp), %rdx
+ leaq 320(%rsp), %rsi
+ leaq 608(%rsp), %rdi
+ leaq 896(%rsp), %r10
+ call L_shake256_absorb4x_33$1
+L_poly_getnoise_eta1122_4x$4:
+ leaq 1184(%rsp), %rax
+ leaq 32(%rsp), %rbp
+ leaq 320(%rsp), %r10
+ leaq 608(%rsp), %r11
+ leaq 896(%rsp), %rbx
+ movq %rbp, %r12
+ movq %r10, %r13
+ movq %r11, %r14
+ movq %rbx, %r15
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L_poly_getnoise_eta1122_4x$3:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r12)
+ vmovhpd %xmm1, (%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r14)
+ vmovhpd %xmm0, (%r15)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r12)
+ vmovhpd %xmm1, 8(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r14)
+ vmovhpd %xmm0, 8(%r15)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r12)
+ vmovhpd %xmm1, 16(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r14)
+ vmovhpd %xmm0, 16(%r15)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r12)
+ vmovhpd %xmm1, 24(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r14)
+ vmovhpd %xmm0, 24(%r15)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r12)
+ vmovhpd %xmm1, 32(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r14)
+ vmovhpd %xmm0, 32(%r15)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r12)
+ vmovhpd %xmm1, 40(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r14)
+ vmovhpd %xmm0, 40(%r15)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r12)
+ vmovhpd %xmm1, 48(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r14)
+ vmovhpd %xmm0, 48(%r15)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r12)
+ vmovhpd %xmm1, 56(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r14)
+ vmovhpd %xmm0, 56(%r15)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r12)
+ vmovhpd %xmm1, 64(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r14)
+ vmovhpd %xmm0, 64(%r15)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r12)
+ vmovhpd %xmm1, 72(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r14)
+ vmovhpd %xmm0, 72(%r15)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r12)
+ vmovhpd %xmm1, 80(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r14)
+ vmovhpd %xmm0, 80(%r15)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r12)
+ vmovhpd %xmm1, 88(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r14)
+ vmovhpd %xmm0, 88(%r15)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r12)
+ vmovhpd %xmm1, 96(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r14)
+ vmovhpd %xmm0, 96(%r15)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r12)
+ vmovhpd %xmm1, 104(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r14)
+ vmovhpd %xmm0, 104(%r15)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r12)
+ vmovhpd %xmm1, 112(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r14)
+ vmovhpd %xmm0, 112(%r15)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r12)
+ vmovhpd %xmm1, 120(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r14)
+ vmovhpd %xmm0, 120(%r15)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r12)
+ vmovhpd %xmm1, 128(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r14)
+ vmovhpd %xmm0, 128(%r15)
+ leaq 136(%rbp), %rbp
+ leaq 136(%r10), %r10
+ leaq 136(%r11), %r11
+ leaq 136(%rbx), %rbx
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L_poly_getnoise_eta1122_4x$2:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rbp)
+ vmovhpd %xmm1, (%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r11)
+ vmovhpd %xmm0, (%rbx)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rbp)
+ vmovhpd %xmm1, 8(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r11)
+ vmovhpd %xmm0, 8(%rbx)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rbp)
+ vmovhpd %xmm1, 16(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r11)
+ vmovhpd %xmm0, 16(%rbx)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rbp)
+ vmovhpd %xmm1, 24(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r11)
+ vmovhpd %xmm0, 24(%rbx)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rbp)
+ vmovhpd %xmm1, 32(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r11)
+ vmovhpd %xmm0, 32(%rbx)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rbp)
+ vmovhpd %xmm1, 40(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r11)
+ vmovhpd %xmm0, 40(%rbx)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rbp)
+ vmovhpd %xmm1, 48(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r11)
+ vmovhpd %xmm0, 48(%rbx)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rbp)
+ vmovhpd %xmm1, 56(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r11)
+ vmovhpd %xmm0, 56(%rbx)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rbp)
+ vmovhpd %xmm1, 64(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r11)
+ vmovhpd %xmm0, 64(%rbx)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rbp)
+ vmovhpd %xmm1, 72(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r11)
+ vmovhpd %xmm0, 72(%rbx)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rbp)
+ vmovhpd %xmm1, 80(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r11)
+ vmovhpd %xmm0, 80(%rbx)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rbp)
+ vmovhpd %xmm1, 88(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r11)
+ vmovhpd %xmm0, 88(%rbx)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rbp)
+ vmovhpd %xmm1, 96(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r11)
+ vmovhpd %xmm0, 96(%rbx)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rbp)
+ vmovhpd %xmm1, 104(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r11)
+ vmovhpd %xmm0, 104(%rbx)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rbp)
+ vmovhpd %xmm1, 112(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r11)
+ vmovhpd %xmm0, 112(%rbx)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rbp)
+ vmovhpd %xmm1, 120(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r11)
+ vmovhpd %xmm0, 120(%rbx)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rbp)
+ vmovhpd %xmm1, 128(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r11)
+ vmovhpd %xmm0, 128(%rbx)
+ movq 1984(%rsp), %rax
+ leaq 32(%rsp), %rdx
+ movl $2396745, 1992(%rsp)
+ movl $7190235, 1996(%rsp)
+ movl $7, 2000(%rsp)
+ movl $458752, 2004(%rsp)
+ movw $3, 2008(%rsp)
+ vpbroadcastd 1992(%rsp), %ymm0
+ vpbroadcastd 1996(%rsp), %ymm1
+ vpbroadcastd 2000(%rsp), %ymm2
+ vpbroadcastd 2004(%rsp), %ymm3
+ vpbroadcastw 2008(%rsp), %ymm4
+ vmovdqu glob_data + 96(%rip), %ymm5
+ vmovdqu (%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, (%rax)
+ vmovdqu %ymm6, 32(%rax)
+ vmovdqu 24(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 64(%rax)
+ vmovdqu %ymm6, 96(%rax)
+ vmovdqu 48(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 128(%rax)
+ vmovdqu %ymm6, 160(%rax)
+ vmovdqu 72(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 192(%rax)
+ vmovdqu %ymm6, 224(%rax)
+ vmovdqu 96(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 256(%rax)
+ vmovdqu %ymm6, 288(%rax)
+ vmovdqu 120(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 320(%rax)
+ vmovdqu %ymm6, 352(%rax)
+ vmovdqu 144(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 384(%rax)
+ vmovdqu %ymm6, 416(%rax)
+ vmovdqu 168(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm5
+ vpsrld $1, %ymm5, %ymm6
+ vpsrld $2, %ymm5, %ymm7
+ vpand %ymm5, %ymm0, %ymm5
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm0
+ vpaddd %ymm6, %ymm5, %ymm5
+ vpaddd %ymm0, %ymm5, %ymm0
+ vpsrld $3, %ymm0, %ymm5
+ vpaddd %ymm1, %ymm0, %ymm0
+ vpsubd %ymm5, %ymm0, %ymm0
+ vpslld $10, %ymm0, %ymm1
+ vpsrld $12, %ymm0, %ymm5
+ vpsrld $2, %ymm0, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpand %ymm3, %ymm1, %ymm1
+ vpand %ymm2, %ymm5, %ymm2
+ vpand %ymm3, %ymm6, %ymm3
+ vpaddw %ymm1, %ymm0, %ymm0
+ vpaddw %ymm3, %ymm2, %ymm1
+ vpsubw %ymm4, %ymm0, %ymm0
+ vpsubw %ymm4, %ymm1, %ymm1
+ vpunpckldq %ymm1, %ymm0, %ymm2
+ vpunpckhdq %ymm1, %ymm0, %ymm0
+ vperm2i128 $32, %ymm0, %ymm2, %ymm1
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm1, 448(%rax)
+ vmovdqu %ymm0, 480(%rax)
+ leaq 320(%rsp), %rax
+ movl $2396745, 2004(%rsp)
+ movl $7190235, 2000(%rsp)
+ movl $7, 1996(%rsp)
+ movl $458752, 1992(%rsp)
+ movw $3, 2008(%rsp)
+ vpbroadcastd 2004(%rsp), %ymm0
+ vpbroadcastd 2000(%rsp), %ymm1
+ vpbroadcastd 1996(%rsp), %ymm2
+ vpbroadcastd 1992(%rsp), %ymm3
+ vpbroadcastw 2008(%rsp), %ymm4
+ vmovdqu glob_data + 96(%rip), %ymm5
+ vmovdqu (%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, (%rcx)
+ vmovdqu %ymm6, 32(%rcx)
+ vmovdqu 24(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 64(%rcx)
+ vmovdqu %ymm6, 96(%rcx)
+ vmovdqu 48(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 128(%rcx)
+ vmovdqu %ymm6, 160(%rcx)
+ vmovdqu 72(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 192(%rcx)
+ vmovdqu %ymm6, 224(%rcx)
+ vmovdqu 96(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 256(%rcx)
+ vmovdqu %ymm6, 288(%rcx)
+ vmovdqu 120(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 320(%rcx)
+ vmovdqu %ymm6, 352(%rcx)
+ vmovdqu 144(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 384(%rcx)
+ vmovdqu %ymm6, 416(%rcx)
+ vmovdqu 168(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm5
+ vpsrld $1, %ymm5, %ymm6
+ vpsrld $2, %ymm5, %ymm7
+ vpand %ymm5, %ymm0, %ymm5
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm0
+ vpaddd %ymm6, %ymm5, %ymm5
+ vpaddd %ymm0, %ymm5, %ymm0
+ vpsrld $3, %ymm0, %ymm5
+ vpaddd %ymm1, %ymm0, %ymm0
+ vpsubd %ymm5, %ymm0, %ymm0
+ vpslld $10, %ymm0, %ymm1
+ vpsrld $12, %ymm0, %ymm5
+ vpsrld $2, %ymm0, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpand %ymm3, %ymm1, %ymm1
+ vpand %ymm2, %ymm5, %ymm2
+ vpand %ymm3, %ymm6, %ymm3
+ vpaddw %ymm1, %ymm0, %ymm0
+ vpaddw %ymm3, %ymm2, %ymm1
+ vpsubw %ymm4, %ymm0, %ymm0
+ vpsubw %ymm4, %ymm1, %ymm1
+ vpunpckldq %ymm1, %ymm0, %ymm2
+ vpunpckhdq %ymm1, %ymm0, %ymm0
+ vperm2i128 $32, %ymm0, %ymm2, %ymm1
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm1, 448(%rcx)
+ vmovdqu %ymm0, 480(%rcx)
+ leaq 608(%rsp), %rax
+ movl $1431655765, 1992(%rsp)
+ movl $858993459, 1996(%rsp)
+ movl $50529027, 2000(%rsp)
+ movl $252645135, 2004(%rsp)
+ vpbroadcastd 1992(%rsp), %ymm0
+ vpbroadcastd 1996(%rsp), %ymm1
+ vpbroadcastd 2000(%rsp), %ymm2
+ vpbroadcastd 2004(%rsp), %ymm3
+ vmovdqu (%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%r8)
+ vmovdqu %ymm7, 32(%r8)
+ vmovdqu %ymm6, 64(%r8)
+ vmovdqu %ymm4, 96(%r8)
+ vmovdqu 32(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%r8)
+ vmovdqu %ymm7, 160(%r8)
+ vmovdqu %ymm6, 192(%r8)
+ vmovdqu %ymm4, 224(%r8)
+ vmovdqu 64(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%r8)
+ vmovdqu %ymm7, 288(%r8)
+ vmovdqu %ymm6, 320(%r8)
+ vmovdqu %ymm4, 352(%r8)
+ vmovdqu 96(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%r8)
+ vmovdqu %ymm3, 416(%r8)
+ vmovdqu %ymm2, 448(%r8)
+ vmovdqu %ymm0, 480(%r8)
+ leaq 896(%rsp), %rax
+ movl $1431655765, 2004(%rsp)
+ movl $858993459, 2000(%rsp)
+ movl $50529027, 1996(%rsp)
+ movl $252645135, 1992(%rsp)
+ vpbroadcastd 2004(%rsp), %ymm0
+ vpbroadcastd 2000(%rsp), %ymm1
+ vpbroadcastd 1996(%rsp), %ymm2
+ vpbroadcastd 1992(%rsp), %ymm3
+ vmovdqu (%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%r9)
+ vmovdqu %ymm7, 32(%r9)
+ vmovdqu %ymm6, 64(%r9)
+ vmovdqu %ymm4, 96(%r9)
+ vmovdqu 32(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%r9)
+ vmovdqu %ymm7, 160(%r9)
+ vmovdqu %ymm6, 192(%r9)
+ vmovdqu %ymm4, 224(%r9)
+ vmovdqu 64(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%r9)
+ vmovdqu %ymm7, 288(%r9)
+ vmovdqu %ymm6, 320(%r9)
+ vmovdqu %ymm4, 352(%r9)
+ vmovdqu 96(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%r9)
+ vmovdqu %ymm3, 416(%r9)
+ vmovdqu %ymm2, 448(%r9)
+ vmovdqu %ymm0, 480(%r9)
+ ret
+L_poly_getnoise_eta1_4x$1:
+ movq %rax, 1984(%rsp)
+ vmovdqu (%rdx), %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 320(%rsp)
+ vmovdqu %ymm0, 608(%rsp)
+ vmovdqu %ymm0, 896(%rsp)
+ movb %sil, 64(%rsp)
+ incb %sil
+ movb %sil, 352(%rsp)
+ incb %sil
+ movb %sil, 640(%rsp)
+ incb %sil
+ movb %sil, 928(%rsp)
+ leaq 1184(%rsp), %rax
+ leaq 32(%rsp), %rdx
+ leaq 320(%rsp), %rsi
+ leaq 608(%rsp), %rdi
+ leaq 896(%rsp), %r10
+ call L_shake256_absorb4x_33$1
+L_poly_getnoise_eta1_4x$4:
+ leaq 1184(%rsp), %rax
+ leaq 32(%rsp), %rbp
+ leaq 320(%rsp), %r10
+ leaq 608(%rsp), %r11
+ leaq 896(%rsp), %rbx
+ movq %rbp, %r12
+ movq %r10, %r13
+ movq %r11, %r14
+ movq %rbx, %r15
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L_poly_getnoise_eta1_4x$3:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r12)
+ vmovhpd %xmm1, (%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r14)
+ vmovhpd %xmm0, (%r15)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r12)
+ vmovhpd %xmm1, 8(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r14)
+ vmovhpd %xmm0, 8(%r15)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r12)
+ vmovhpd %xmm1, 16(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r14)
+ vmovhpd %xmm0, 16(%r15)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r12)
+ vmovhpd %xmm1, 24(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r14)
+ vmovhpd %xmm0, 24(%r15)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r12)
+ vmovhpd %xmm1, 32(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r14)
+ vmovhpd %xmm0, 32(%r15)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r12)
+ vmovhpd %xmm1, 40(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r14)
+ vmovhpd %xmm0, 40(%r15)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r12)
+ vmovhpd %xmm1, 48(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r14)
+ vmovhpd %xmm0, 48(%r15)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r12)
+ vmovhpd %xmm1, 56(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r14)
+ vmovhpd %xmm0, 56(%r15)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r12)
+ vmovhpd %xmm1, 64(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r14)
+ vmovhpd %xmm0, 64(%r15)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r12)
+ vmovhpd %xmm1, 72(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r14)
+ vmovhpd %xmm0, 72(%r15)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r12)
+ vmovhpd %xmm1, 80(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r14)
+ vmovhpd %xmm0, 80(%r15)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r12)
+ vmovhpd %xmm1, 88(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r14)
+ vmovhpd %xmm0, 88(%r15)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r12)
+ vmovhpd %xmm1, 96(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r14)
+ vmovhpd %xmm0, 96(%r15)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r12)
+ vmovhpd %xmm1, 104(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r14)
+ vmovhpd %xmm0, 104(%r15)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r12)
+ vmovhpd %xmm1, 112(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r14)
+ vmovhpd %xmm0, 112(%r15)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r12)
+ vmovhpd %xmm1, 120(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r14)
+ vmovhpd %xmm0, 120(%r15)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r12)
+ vmovhpd %xmm1, 128(%r13)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r14)
+ vmovhpd %xmm0, 128(%r15)
+ leaq 136(%rbp), %rbp
+ leaq 136(%r10), %r10
+ leaq 136(%r11), %r11
+ leaq 136(%rbx), %rbx
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L_poly_getnoise_eta1_4x$2:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rbp)
+ vmovhpd %xmm1, (%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r11)
+ vmovhpd %xmm0, (%rbx)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rbp)
+ vmovhpd %xmm1, 8(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r11)
+ vmovhpd %xmm0, 8(%rbx)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rbp)
+ vmovhpd %xmm1, 16(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r11)
+ vmovhpd %xmm0, 16(%rbx)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rbp)
+ vmovhpd %xmm1, 24(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r11)
+ vmovhpd %xmm0, 24(%rbx)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rbp)
+ vmovhpd %xmm1, 32(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r11)
+ vmovhpd %xmm0, 32(%rbx)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rbp)
+ vmovhpd %xmm1, 40(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r11)
+ vmovhpd %xmm0, 40(%rbx)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rbp)
+ vmovhpd %xmm1, 48(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r11)
+ vmovhpd %xmm0, 48(%rbx)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rbp)
+ vmovhpd %xmm1, 56(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r11)
+ vmovhpd %xmm0, 56(%rbx)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rbp)
+ vmovhpd %xmm1, 64(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r11)
+ vmovhpd %xmm0, 64(%rbx)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rbp)
+ vmovhpd %xmm1, 72(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r11)
+ vmovhpd %xmm0, 72(%rbx)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rbp)
+ vmovhpd %xmm1, 80(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r11)
+ vmovhpd %xmm0, 80(%rbx)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rbp)
+ vmovhpd %xmm1, 88(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r11)
+ vmovhpd %xmm0, 88(%rbx)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rbp)
+ vmovhpd %xmm1, 96(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r11)
+ vmovhpd %xmm0, 96(%rbx)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rbp)
+ vmovhpd %xmm1, 104(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r11)
+ vmovhpd %xmm0, 104(%rbx)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rbp)
+ vmovhpd %xmm1, 112(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r11)
+ vmovhpd %xmm0, 112(%rbx)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rbp)
+ vmovhpd %xmm1, 120(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r11)
+ vmovhpd %xmm0, 120(%rbx)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rbp)
+ vmovhpd %xmm1, 128(%r10)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r11)
+ vmovhpd %xmm0, 128(%rbx)
+ movq 1984(%rsp), %rax
+ leaq 32(%rsp), %rdx
+ movl $2396745, 1992(%rsp)
+ movl $7190235, 1996(%rsp)
+ movl $7, 2000(%rsp)
+ movl $458752, 2004(%rsp)
+ movw $3, 2008(%rsp)
+ vpbroadcastd 1992(%rsp), %ymm0
+ vpbroadcastd 1996(%rsp), %ymm1
+ vpbroadcastd 2000(%rsp), %ymm2
+ vpbroadcastd 2004(%rsp), %ymm3
+ vpbroadcastw 2008(%rsp), %ymm4
+ vmovdqu glob_data + 96(%rip), %ymm5
+ vmovdqu (%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, (%rax)
+ vmovdqu %ymm6, 32(%rax)
+ vmovdqu 24(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 64(%rax)
+ vmovdqu %ymm6, 96(%rax)
+ vmovdqu 48(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 128(%rax)
+ vmovdqu %ymm6, 160(%rax)
+ vmovdqu 72(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 192(%rax)
+ vmovdqu %ymm6, 224(%rax)
+ vmovdqu 96(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 256(%rax)
+ vmovdqu %ymm6, 288(%rax)
+ vmovdqu 120(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 320(%rax)
+ vmovdqu %ymm6, 352(%rax)
+ vmovdqu 144(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 384(%rax)
+ vmovdqu %ymm6, 416(%rax)
+ vmovdqu 168(%rdx), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm5
+ vpsrld $1, %ymm5, %ymm6
+ vpsrld $2, %ymm5, %ymm7
+ vpand %ymm5, %ymm0, %ymm5
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm0
+ vpaddd %ymm6, %ymm5, %ymm5
+ vpaddd %ymm0, %ymm5, %ymm0
+ vpsrld $3, %ymm0, %ymm5
+ vpaddd %ymm1, %ymm0, %ymm0
+ vpsubd %ymm5, %ymm0, %ymm0
+ vpslld $10, %ymm0, %ymm1
+ vpsrld $12, %ymm0, %ymm5
+ vpsrld $2, %ymm0, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpand %ymm3, %ymm1, %ymm1
+ vpand %ymm2, %ymm5, %ymm2
+ vpand %ymm3, %ymm6, %ymm3
+ vpaddw %ymm1, %ymm0, %ymm0
+ vpaddw %ymm3, %ymm2, %ymm1
+ vpsubw %ymm4, %ymm0, %ymm0
+ vpsubw %ymm4, %ymm1, %ymm1
+ vpunpckldq %ymm1, %ymm0, %ymm2
+ vpunpckhdq %ymm1, %ymm0, %ymm0
+ vperm2i128 $32, %ymm0, %ymm2, %ymm1
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm1, 448(%rax)
+ vmovdqu %ymm0, 480(%rax)
+ leaq 320(%rsp), %rax
+ movl $2396745, 2004(%rsp)
+ movl $7190235, 2000(%rsp)
+ movl $7, 1996(%rsp)
+ movl $458752, 1992(%rsp)
+ movw $3, 2008(%rsp)
+ vpbroadcastd 2004(%rsp), %ymm0
+ vpbroadcastd 2000(%rsp), %ymm1
+ vpbroadcastd 1996(%rsp), %ymm2
+ vpbroadcastd 1992(%rsp), %ymm3
+ vpbroadcastw 2008(%rsp), %ymm4
+ vmovdqu glob_data + 96(%rip), %ymm5
+ vmovdqu (%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, (%rcx)
+ vmovdqu %ymm6, 32(%rcx)
+ vmovdqu 24(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 64(%rcx)
+ vmovdqu %ymm6, 96(%rcx)
+ vmovdqu 48(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 128(%rcx)
+ vmovdqu %ymm6, 160(%rcx)
+ vmovdqu 72(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 192(%rcx)
+ vmovdqu %ymm6, 224(%rcx)
+ vmovdqu 96(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 256(%rcx)
+ vmovdqu %ymm6, 288(%rcx)
+ vmovdqu 120(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 320(%rcx)
+ vmovdqu %ymm6, 352(%rcx)
+ vmovdqu 144(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 384(%rcx)
+ vmovdqu %ymm6, 416(%rcx)
+ vmovdqu 168(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm5
+ vpsrld $1, %ymm5, %ymm6
+ vpsrld $2, %ymm5, %ymm7
+ vpand %ymm5, %ymm0, %ymm5
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm0
+ vpaddd %ymm6, %ymm5, %ymm5
+ vpaddd %ymm0, %ymm5, %ymm0
+ vpsrld $3, %ymm0, %ymm5
+ vpaddd %ymm1, %ymm0, %ymm0
+ vpsubd %ymm5, %ymm0, %ymm0
+ vpslld $10, %ymm0, %ymm1
+ vpsrld $12, %ymm0, %ymm5
+ vpsrld $2, %ymm0, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpand %ymm3, %ymm1, %ymm1
+ vpand %ymm2, %ymm5, %ymm2
+ vpand %ymm3, %ymm6, %ymm3
+ vpaddw %ymm1, %ymm0, %ymm0
+ vpaddw %ymm3, %ymm2, %ymm1
+ vpsubw %ymm4, %ymm0, %ymm0
+ vpsubw %ymm4, %ymm1, %ymm1
+ vpunpckldq %ymm1, %ymm0, %ymm2
+ vpunpckhdq %ymm1, %ymm0, %ymm0
+ vperm2i128 $32, %ymm0, %ymm2, %ymm1
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm1, 448(%rcx)
+ vmovdqu %ymm0, 480(%rcx)
+ leaq 608(%rsp), %rax
+ movl $2396745, 1992(%rsp)
+ movl $7190235, 1996(%rsp)
+ movl $7, 2000(%rsp)
+ movl $458752, 2004(%rsp)
+ movw $3, 2008(%rsp)
+ vpbroadcastd 1992(%rsp), %ymm0
+ vpbroadcastd 1996(%rsp), %ymm1
+ vpbroadcastd 2000(%rsp), %ymm2
+ vpbroadcastd 2004(%rsp), %ymm3
+ vpbroadcastw 2008(%rsp), %ymm4
+ vmovdqu glob_data + 96(%rip), %ymm5
+ vmovdqu (%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, (%r8)
+ vmovdqu %ymm6, 32(%r8)
+ vmovdqu 24(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 64(%r8)
+ vmovdqu %ymm6, 96(%r8)
+ vmovdqu 48(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 128(%r8)
+ vmovdqu %ymm6, 160(%r8)
+ vmovdqu 72(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 192(%r8)
+ vmovdqu %ymm6, 224(%r8)
+ vmovdqu 96(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 256(%r8)
+ vmovdqu %ymm6, 288(%r8)
+ vmovdqu 120(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 320(%r8)
+ vmovdqu %ymm6, 352(%r8)
+ vmovdqu 144(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 384(%r8)
+ vmovdqu %ymm6, 416(%r8)
+ vmovdqu 168(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm5
+ vpsrld $1, %ymm5, %ymm6
+ vpsrld $2, %ymm5, %ymm7
+ vpand %ymm5, %ymm0, %ymm5
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm0
+ vpaddd %ymm6, %ymm5, %ymm5
+ vpaddd %ymm0, %ymm5, %ymm0
+ vpsrld $3, %ymm0, %ymm5
+ vpaddd %ymm1, %ymm0, %ymm0
+ vpsubd %ymm5, %ymm0, %ymm0
+ vpslld $10, %ymm0, %ymm1
+ vpsrld $12, %ymm0, %ymm5
+ vpsrld $2, %ymm0, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpand %ymm3, %ymm1, %ymm1
+ vpand %ymm2, %ymm5, %ymm2
+ vpand %ymm3, %ymm6, %ymm3
+ vpaddw %ymm1, %ymm0, %ymm0
+ vpaddw %ymm3, %ymm2, %ymm1
+ vpsubw %ymm4, %ymm0, %ymm0
+ vpsubw %ymm4, %ymm1, %ymm1
+ vpunpckldq %ymm1, %ymm0, %ymm2
+ vpunpckhdq %ymm1, %ymm0, %ymm0
+ vperm2i128 $32, %ymm0, %ymm2, %ymm1
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm1, 448(%r8)
+ vmovdqu %ymm0, 480(%r8)
+ leaq 896(%rsp), %rax
+ movl $2396745, 2004(%rsp)
+ movl $7190235, 2000(%rsp)
+ movl $7, 1996(%rsp)
+ movl $458752, 1992(%rsp)
+ movw $3, 2008(%rsp)
+ vpbroadcastd 2004(%rsp), %ymm0
+ vpbroadcastd 2000(%rsp), %ymm1
+ vpbroadcastd 1996(%rsp), %ymm2
+ vpbroadcastd 1992(%rsp), %ymm3
+ vpbroadcastw 2008(%rsp), %ymm4
+ vmovdqu glob_data + 96(%rip), %ymm5
+ vmovdqu (%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, (%r9)
+ vmovdqu %ymm6, 32(%r9)
+ vmovdqu 24(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 64(%r9)
+ vmovdqu %ymm6, 96(%r9)
+ vmovdqu 48(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 128(%r9)
+ vmovdqu %ymm6, 160(%r9)
+ vmovdqu 72(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 192(%r9)
+ vmovdqu %ymm6, 224(%r9)
+ vmovdqu 96(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 256(%r9)
+ vmovdqu %ymm6, 288(%r9)
+ vmovdqu 120(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 320(%r9)
+ vmovdqu %ymm6, 352(%r9)
+ vmovdqu 144(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm6
+ vpsrld $1, %ymm6, %ymm7
+ vpsrld $2, %ymm6, %ymm8
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm7
+ vpand %ymm8, %ymm0, %ymm8
+ vpaddd %ymm7, %ymm6, %ymm6
+ vpaddd %ymm8, %ymm6, %ymm6
+ vpsrld $3, %ymm6, %ymm7
+ vpaddd %ymm1, %ymm6, %ymm6
+ vpsubd %ymm7, %ymm6, %ymm6
+ vpslld $10, %ymm6, %ymm7
+ vpsrld $12, %ymm6, %ymm8
+ vpsrld $2, %ymm6, %ymm9
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm3, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpand %ymm3, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm6, %ymm6
+ vpaddw %ymm9, %ymm8, %ymm7
+ vpsubw %ymm4, %ymm6, %ymm6
+ vpsubw %ymm4, %ymm7, %ymm7
+ vpunpckldq %ymm7, %ymm6, %ymm8
+ vpunpckhdq %ymm7, %ymm6, %ymm6
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vmovdqu %ymm7, 384(%r9)
+ vmovdqu %ymm6, 416(%r9)
+ vmovdqu 168(%rax), %ymm6
+ vpermq $-108, %ymm6, %ymm6
+ vpshufb %ymm5, %ymm6, %ymm5
+ vpsrld $1, %ymm5, %ymm6
+ vpsrld $2, %ymm5, %ymm7
+ vpand %ymm5, %ymm0, %ymm5
+ vpand %ymm6, %ymm0, %ymm6
+ vpand %ymm7, %ymm0, %ymm0
+ vpaddd %ymm6, %ymm5, %ymm5
+ vpaddd %ymm0, %ymm5, %ymm0
+ vpsrld $3, %ymm0, %ymm5
+ vpaddd %ymm1, %ymm0, %ymm0
+ vpsubd %ymm5, %ymm0, %ymm0
+ vpslld $10, %ymm0, %ymm1
+ vpsrld $12, %ymm0, %ymm5
+ vpsrld $2, %ymm0, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpand %ymm3, %ymm1, %ymm1
+ vpand %ymm2, %ymm5, %ymm2
+ vpand %ymm3, %ymm6, %ymm3
+ vpaddw %ymm1, %ymm0, %ymm0
+ vpaddw %ymm3, %ymm2, %ymm1
+ vpsubw %ymm4, %ymm0, %ymm0
+ vpsubw %ymm4, %ymm1, %ymm1
+ vpunpckldq %ymm1, %ymm0, %ymm2
+ vpunpckhdq %ymm1, %ymm0, %ymm0
+ vperm2i128 $32, %ymm0, %ymm2, %ymm1
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm1, 448(%r9)
+ vmovdqu %ymm0, 480(%r9)
+ ret
+L_poly_getnoise$1:
+ movl $1431655765, 204(%rsp)
+ movl $858993459, 208(%rsp)
+ movl $50529027, 212(%rsp)
+ movl $252645135, 216(%rsp)
+ movq %rdx, 160(%rsp)
+ movq (%rcx), %rdx
+ movq %rdx, 168(%rsp)
+ movq 8(%rcx), %rdx
+ movq %rdx, 176(%rsp)
+ movq 16(%rcx), %rdx
+ movq %rdx, 184(%rsp)
+ movq 24(%rcx), %rcx
+ movq %rcx, 192(%rsp)
+ movb %al, 200(%rsp)
+ leaq 32(%rsp), %rax
+ leaq 168(%rsp), %rcx
+ leaq -248(%rsp), %rsp
+ call L_shake256_128_33$1
+L_poly_getnoise$2:
+ leaq 248(%rsp), %rsp
+ vpbroadcastd 204(%rsp), %ymm0
+ vpbroadcastd 208(%rsp), %ymm1
+ vpbroadcastd 212(%rsp), %ymm2
+ vpbroadcastd 216(%rsp), %ymm3
+ movq 160(%rsp), %rax
+ vmovdqu 32(%rsp), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%rax)
+ vmovdqu %ymm7, 32(%rax)
+ vmovdqu %ymm6, 64(%rax)
+ vmovdqu %ymm4, 96(%rax)
+ vmovdqu 64(%rsp), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%rax)
+ vmovdqu %ymm7, 160(%rax)
+ vmovdqu %ymm6, 192(%rax)
+ vmovdqu %ymm4, 224(%rax)
+ vmovdqu 96(%rsp), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%rax)
+ vmovdqu %ymm7, 288(%rax)
+ vmovdqu %ymm6, 320(%rax)
+ vmovdqu %ymm4, 352(%rax)
+ vmovdqu 128(%rsp), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%rax)
+ vmovdqu %ymm3, 416(%rax)
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu %ymm0, 480(%rax)
+ ret
+L_poly_frommsg_1$1:
+ leaq glob_data + 288(%rip), %rsi
+ vmovdqu (%rsi), %ymm0
+ vbroadcasti128 glob_data + 4144(%rip), %ymm1
+ vbroadcasti128 glob_data + 4128(%rip), %ymm2
+ vmovdqu (%rdi), %ymm3
+ vpshufd $0, %ymm3, %ymm4
+ vpsllvd %ymm1, %ymm4, %ymm4
+ vpshufb %ymm2, %ymm4, %ymm4
+ vpsllw $12, %ymm4, %ymm5
+ vpsllw $8, %ymm4, %ymm6
+ vpsllw $4, %ymm4, %ymm7
+ vpsraw $15, %ymm5, %ymm5
+ vpsraw $15, %ymm6, %ymm6
+ vpsraw $15, %ymm7, %ymm7
+ vpsraw $15, %ymm4, %ymm4
+ vpand %ymm0, %ymm5, %ymm5
+ vpand %ymm0, %ymm6, %ymm6
+ vpand %ymm0, %ymm7, %ymm7
+ vpand %ymm0, %ymm4, %ymm4
+ vpunpcklqdq %ymm6, %ymm5, %ymm8
+ vpunpckhqdq %ymm6, %ymm5, %ymm5
+ vpunpcklqdq %ymm4, %ymm7, %ymm6
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vperm2i128 $32, %ymm4, %ymm5, %ymm8
+ vperm2i128 $49, %ymm4, %ymm5, %ymm4
+ vmovdqu %ymm7, (%rax)
+ vmovdqu %ymm8, 32(%rax)
+ vmovdqu %ymm6, 256(%rax)
+ vmovdqu %ymm4, 288(%rax)
+ vpshufd $85, %ymm3, %ymm4
+ vpsllvd %ymm1, %ymm4, %ymm4
+ vpshufb %ymm2, %ymm4, %ymm4
+ vpsllw $12, %ymm4, %ymm5
+ vpsllw $8, %ymm4, %ymm6
+ vpsllw $4, %ymm4, %ymm7
+ vpsraw $15, %ymm5, %ymm5
+ vpsraw $15, %ymm6, %ymm6
+ vpsraw $15, %ymm7, %ymm7
+ vpsraw $15, %ymm4, %ymm4
+ vpand %ymm0, %ymm5, %ymm5
+ vpand %ymm0, %ymm6, %ymm6
+ vpand %ymm0, %ymm7, %ymm7
+ vpand %ymm0, %ymm4, %ymm4
+ vpunpcklqdq %ymm6, %ymm5, %ymm8
+ vpunpckhqdq %ymm6, %ymm5, %ymm5
+ vpunpcklqdq %ymm4, %ymm7, %ymm6
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vperm2i128 $32, %ymm4, %ymm5, %ymm8
+ vperm2i128 $49, %ymm4, %ymm5, %ymm4
+ vmovdqu %ymm7, 64(%rax)
+ vmovdqu %ymm8, 96(%rax)
+ vmovdqu %ymm6, 320(%rax)
+ vmovdqu %ymm4, 352(%rax)
+ vpshufd $-86, %ymm3, %ymm4
+ vpsllvd %ymm1, %ymm4, %ymm4
+ vpshufb %ymm2, %ymm4, %ymm4
+ vpsllw $12, %ymm4, %ymm5
+ vpsllw $8, %ymm4, %ymm6
+ vpsllw $4, %ymm4, %ymm7
+ vpsraw $15, %ymm5, %ymm5
+ vpsraw $15, %ymm6, %ymm6
+ vpsraw $15, %ymm7, %ymm7
+ vpsraw $15, %ymm4, %ymm4
+ vpand %ymm0, %ymm5, %ymm5
+ vpand %ymm0, %ymm6, %ymm6
+ vpand %ymm0, %ymm7, %ymm7
+ vpand %ymm0, %ymm4, %ymm4
+ vpunpcklqdq %ymm6, %ymm5, %ymm8
+ vpunpckhqdq %ymm6, %ymm5, %ymm5
+ vpunpcklqdq %ymm4, %ymm7, %ymm6
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vperm2i128 $32, %ymm4, %ymm5, %ymm8
+ vperm2i128 $49, %ymm4, %ymm5, %ymm4
+ vmovdqu %ymm7, 128(%rax)
+ vmovdqu %ymm8, 160(%rax)
+ vmovdqu %ymm6, 384(%rax)
+ vmovdqu %ymm4, 416(%rax)
+ vpshufd $-1, %ymm3, %ymm3
+ vpsllvd %ymm1, %ymm3, %ymm1
+ vpshufb %ymm2, %ymm1, %ymm1
+ vpsllw $12, %ymm1, %ymm2
+ vpsllw $8, %ymm1, %ymm3
+ vpsllw $4, %ymm1, %ymm4
+ vpsraw $15, %ymm2, %ymm2
+ vpsraw $15, %ymm3, %ymm3
+ vpsraw $15, %ymm4, %ymm4
+ vpsraw $15, %ymm1, %ymm1
+ vpand %ymm0, %ymm2, %ymm2
+ vpand %ymm0, %ymm3, %ymm3
+ vpand %ymm0, %ymm4, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpunpcklqdq %ymm3, %ymm2, %ymm1
+ vpunpckhqdq %ymm3, %ymm2, %ymm2
+ vpunpcklqdq %ymm0, %ymm4, %ymm3
+ vpunpckhqdq %ymm0, %ymm4, %ymm0
+ vperm2i128 $32, %ymm3, %ymm1, %ymm4
+ vperm2i128 $49, %ymm3, %ymm1, %ymm1
+ vperm2i128 $32, %ymm0, %ymm2, %ymm3
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm4, 192(%rax)
+ vmovdqu %ymm3, 224(%rax)
+ vmovdqu %ymm1, 448(%rax)
+ vmovdqu %ymm0, 480(%rax)
+ ret
+L_poly_frommont$1:
+ leaq glob_data + 480(%rip), %rcx
+ vmovdqu (%rcx), %ymm0
+ leaq glob_data + 448(%rip), %rcx
+ vmovdqu (%rcx), %ymm1
+ leaq glob_data + 192(%rip), %rcx
+ vmovdqu (%rcx), %ymm2
+ vmovdqu (%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, (%rax)
+ vmovdqu 32(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 32(%rax)
+ vmovdqu 64(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 64(%rax)
+ vmovdqu 96(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 96(%rax)
+ vmovdqu 128(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 128(%rax)
+ vmovdqu 160(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 160(%rax)
+ vmovdqu 192(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 192(%rax)
+ vmovdqu 224(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 224(%rax)
+ vmovdqu 256(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 256(%rax)
+ vmovdqu 288(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 288(%rax)
+ vmovdqu 320(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 320(%rax)
+ vmovdqu 352(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 352(%rax)
+ vmovdqu 384(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 384(%rax)
+ vmovdqu 416(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 416(%rax)
+ vmovdqu 448(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 448(%rax)
+ vmovdqu 480(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm1, %ymm2, %ymm1
+ vpmulhw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm4, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ ret
+L_poly_frombytes$1:
+ leaq glob_data + 320(%rip), %r9
+ vmovdqu (%r9), %ymm0
+ vmovdqu (%rsi), %ymm1
+ vmovdqu 32(%rsi), %ymm2
+ vmovdqu 64(%rsi), %ymm3
+ vmovdqu 96(%rsi), %ymm4
+ vmovdqu 128(%rsi), %ymm5
+ vmovdqu 160(%rsi), %ymm6
+ vperm2i128 $32, %ymm4, %ymm1, %ymm7
+ vperm2i128 $49, %ymm4, %ymm1, %ymm4
+ vperm2i128 $32, %ymm5, %ymm2, %ymm8
+ vperm2i128 $49, %ymm5, %ymm2, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm5
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vpunpcklqdq %ymm1, %ymm7, %ymm6
+ vpunpckhqdq %ymm1, %ymm7, %ymm1
+ vpunpcklqdq %ymm5, %ymm4, %ymm2
+ vpunpckhqdq %ymm5, %ymm4, %ymm5
+ vpunpcklqdq %ymm3, %ymm8, %ymm7
+ vpunpckhqdq %ymm3, %ymm8, %ymm3
+ vmovsldup %ymm5, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm5, %ymm6, %ymm5
+ vmovsldup %ymm7, %ymm6
+ vpblendd $-86, %ymm6, %ymm1, %ymm6
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm7, %ymm1, %ymm7
+ vmovsldup %ymm3, %ymm1
+ vpblendd $-86, %ymm1, %ymm2, %ymm1
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm2
+ vpslld $16, %ymm7, %ymm3
+ vpblendw $-86, %ymm3, %ymm4, %ymm3
+ vpsrld $16, %ymm4, %ymm4
+ vpblendw $-86, %ymm7, %ymm4, %ymm4
+ vpslld $16, %ymm1, %ymm7
+ vpblendw $-86, %ymm7, %ymm5, %ymm7
+ vpsrld $16, %ymm5, %ymm5
+ vpblendw $-86, %ymm1, %ymm5, %ymm1
+ vpslld $16, %ymm2, %ymm5
+ vpblendw $-86, %ymm5, %ymm6, %ymm5
+ vpsrld $16, %ymm6, %ymm6
+ vpblendw $-86, %ymm2, %ymm6, %ymm2
+ vpsrlw $12, %ymm3, %ymm6
+ vpsllw $4, %ymm4, %ymm8
+ vpor %ymm8, %ymm6, %ymm6
+ vpand %ymm3, %ymm0, %ymm3
+ vpand %ymm6, %ymm0, %ymm6
+ vpsrlw $8, %ymm4, %ymm4
+ vpsllw $8, %ymm7, %ymm8
+ vpor %ymm8, %ymm4, %ymm4
+ vpand %ymm4, %ymm0, %ymm4
+ vpsrlw $4, %ymm7, %ymm7
+ vpand %ymm7, %ymm0, %ymm7
+ vpsrlw $12, %ymm1, %ymm8
+ vpsllw $4, %ymm5, %ymm9
+ vpor %ymm9, %ymm8, %ymm8
+ vpand %ymm1, %ymm0, %ymm1
+ vpand %ymm8, %ymm0, %ymm8
+ vpsrlw $8, %ymm5, %ymm5
+ vpsllw $8, %ymm2, %ymm9
+ vpor %ymm9, %ymm5, %ymm5
+ vpand %ymm5, %ymm0, %ymm5
+ vpsrlw $4, %ymm2, %ymm2
+ vpand %ymm2, %ymm0, %ymm2
+ vmovdqu %ymm3, (%r8)
+ vmovdqu %ymm6, 32(%r8)
+ vmovdqu %ymm4, 64(%r8)
+ vmovdqu %ymm7, 96(%r8)
+ vmovdqu %ymm1, 128(%r8)
+ vmovdqu %ymm8, 160(%r8)
+ vmovdqu %ymm5, 192(%r8)
+ vmovdqu %ymm2, 224(%r8)
+ vmovdqu 192(%rsi), %ymm1
+ vmovdqu 224(%rsi), %ymm2
+ vmovdqu 256(%rsi), %ymm3
+ vmovdqu 288(%rsi), %ymm4
+ vmovdqu 320(%rsi), %ymm5
+ vmovdqu 352(%rsi), %ymm6
+ vperm2i128 $32, %ymm4, %ymm1, %ymm7
+ vperm2i128 $49, %ymm4, %ymm1, %ymm4
+ vperm2i128 $32, %ymm5, %ymm2, %ymm8
+ vperm2i128 $49, %ymm5, %ymm2, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm5
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vpunpcklqdq %ymm1, %ymm7, %ymm6
+ vpunpckhqdq %ymm1, %ymm7, %ymm1
+ vpunpcklqdq %ymm5, %ymm4, %ymm2
+ vpunpckhqdq %ymm5, %ymm4, %ymm5
+ vpunpcklqdq %ymm3, %ymm8, %ymm7
+ vpunpckhqdq %ymm3, %ymm8, %ymm3
+ vmovsldup %ymm5, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm5, %ymm6, %ymm5
+ vmovsldup %ymm7, %ymm6
+ vpblendd $-86, %ymm6, %ymm1, %ymm6
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm7, %ymm1, %ymm7
+ vmovsldup %ymm3, %ymm1
+ vpblendd $-86, %ymm1, %ymm2, %ymm1
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm2
+ vpslld $16, %ymm7, %ymm3
+ vpblendw $-86, %ymm3, %ymm4, %ymm3
+ vpsrld $16, %ymm4, %ymm4
+ vpblendw $-86, %ymm7, %ymm4, %ymm4
+ vpslld $16, %ymm1, %ymm7
+ vpblendw $-86, %ymm7, %ymm5, %ymm7
+ vpsrld $16, %ymm5, %ymm5
+ vpblendw $-86, %ymm1, %ymm5, %ymm1
+ vpslld $16, %ymm2, %ymm5
+ vpblendw $-86, %ymm5, %ymm6, %ymm5
+ vpsrld $16, %ymm6, %ymm6
+ vpblendw $-86, %ymm2, %ymm6, %ymm2
+ vpsrlw $12, %ymm3, %ymm6
+ vpsllw $4, %ymm4, %ymm8
+ vpor %ymm8, %ymm6, %ymm6
+ vpand %ymm3, %ymm0, %ymm3
+ vpand %ymm6, %ymm0, %ymm6
+ vpsrlw $8, %ymm4, %ymm4
+ vpsllw $8, %ymm7, %ymm8
+ vpor %ymm8, %ymm4, %ymm4
+ vpand %ymm4, %ymm0, %ymm4
+ vpsrlw $4, %ymm7, %ymm7
+ vpand %ymm7, %ymm0, %ymm7
+ vpsrlw $12, %ymm1, %ymm8
+ vpsllw $4, %ymm5, %ymm9
+ vpor %ymm9, %ymm8, %ymm8
+ vpand %ymm1, %ymm0, %ymm1
+ vpand %ymm8, %ymm0, %ymm8
+ vpsrlw $8, %ymm5, %ymm5
+ vpsllw $8, %ymm2, %ymm9
+ vpor %ymm9, %ymm5, %ymm5
+ vpand %ymm5, %ymm0, %ymm5
+ vpsrlw $4, %ymm2, %ymm2
+ vpand %ymm2, %ymm0, %ymm0
+ vmovdqu %ymm3, 256(%r8)
+ vmovdqu %ymm6, 288(%r8)
+ vmovdqu %ymm4, 320(%r8)
+ vmovdqu %ymm7, 352(%r8)
+ vmovdqu %ymm1, 384(%r8)
+ vmovdqu %ymm8, 416(%r8)
+ vmovdqu %ymm5, 448(%r8)
+ vmovdqu %ymm0, 480(%r8)
+ ret
+L_poly_decompress$1:
+ leaq glob_data + 480(%rip), %rdi
+ vmovdqu (%rdi), %ymm0
+ leaq glob_data + 128(%rip), %rdi
+ vmovdqu (%rdi), %ymm1
+ vpbroadcastd glob_data + 6444(%rip), %ymm2
+ vpbroadcastd glob_data + 6440(%rip), %ymm3
+ vpxor %ymm4, %ymm4, %ymm4
+ movq (%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, (%rcx)
+ movq 8(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 32(%rcx)
+ movq 16(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 64(%rcx)
+ movq 24(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 96(%rcx)
+ movq 32(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 128(%rcx)
+ movq 40(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 160(%rcx)
+ movq 48(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 192(%rcx)
+ movq 56(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 224(%rcx)
+ movq 64(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 256(%rcx)
+ movq 72(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 288(%rcx)
+ movq 80(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 320(%rcx)
+ movq 88(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 352(%rcx)
+ movq 96(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 384(%rcx)
+ movq 104(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 416(%rcx)
+ movq 112(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 448(%rcx)
+ movq 120(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm1
+ vpand %ymm2, %ymm1, %ymm1
+ vpmullw %ymm3, %ymm1, %ymm1
+ vpmulhrsw %ymm0, %ymm1, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_compress_1$1:
+ call L_poly_csubq$1
+L_poly_compress_1$2:
+ leaq glob_data + 416(%rip), %rdx
+ vmovdqu (%rdx), %ymm0
+ vpbroadcastw glob_data + 6460(%rip), %ymm1
+ vpbroadcastw glob_data + 6458(%rip), %ymm2
+ vpbroadcastw glob_data + 6456(%rip), %ymm3
+ vmovdqu glob_data + 160(%rip), %ymm4
+ vmovdqu (%rcx), %ymm5
+ vmovdqu 32(%rcx), %ymm6
+ vmovdqu 64(%rcx), %ymm7
+ vmovdqu 96(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, (%rax)
+ vmovdqu 128(%rcx), %ymm5
+ vmovdqu 160(%rcx), %ymm6
+ vmovdqu 192(%rcx), %ymm7
+ vmovdqu 224(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 32(%rax)
+ vmovdqu 256(%rcx), %ymm5
+ vmovdqu 288(%rcx), %ymm6
+ vmovdqu 320(%rcx), %ymm7
+ vmovdqu 352(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 64(%rax)
+ vmovdqu 384(%rcx), %ymm5
+ vmovdqu 416(%rcx), %ymm6
+ vmovdqu 448(%rcx), %ymm7
+ vmovdqu 480(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm0, %ymm0
+ vpand %ymm2, %ymm5, %ymm1
+ vpand %ymm2, %ymm6, %ymm5
+ vpand %ymm2, %ymm7, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpackuswb %ymm5, %ymm1, %ymm1
+ vpackuswb %ymm0, %ymm6, %ymm0
+ vpmaddubsw %ymm3, %ymm1, %ymm1
+ vpmaddubsw %ymm3, %ymm0, %ymm0
+ vpackuswb %ymm0, %ymm1, %ymm0
+ vpermd %ymm0, %ymm4, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ ret
+L_poly_compress$1:
+ call L_poly_csubq$1
+L_poly_compress$2:
+ leaq glob_data + 416(%rip), %rdx
+ vmovdqu (%rdx), %ymm0
+ vpbroadcastw glob_data + 6460(%rip), %ymm1
+ vpbroadcastw glob_data + 6458(%rip), %ymm2
+ vpbroadcastw glob_data + 6456(%rip), %ymm3
+ vmovdqu glob_data + 160(%rip), %ymm4
+ vmovdqu (%rcx), %ymm5
+ vmovdqu 32(%rcx), %ymm6
+ vmovdqu 64(%rcx), %ymm7
+ vmovdqu 96(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, (%rax)
+ vmovdqu 128(%rcx), %ymm5
+ vmovdqu 160(%rcx), %ymm6
+ vmovdqu 192(%rcx), %ymm7
+ vmovdqu 224(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 32(%rax)
+ vmovdqu 256(%rcx), %ymm5
+ vmovdqu 288(%rcx), %ymm6
+ vmovdqu 320(%rcx), %ymm7
+ vmovdqu 352(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 64(%rax)
+ vmovdqu 384(%rcx), %ymm5
+ vmovdqu 416(%rcx), %ymm6
+ vmovdqu 448(%rcx), %ymm7
+ vmovdqu 480(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm0, %ymm0
+ vpand %ymm2, %ymm5, %ymm1
+ vpand %ymm2, %ymm6, %ymm5
+ vpand %ymm2, %ymm7, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpackuswb %ymm5, %ymm1, %ymm1
+ vpackuswb %ymm0, %ymm6, %ymm0
+ vpmaddubsw %ymm3, %ymm1, %ymm1
+ vpmaddubsw %ymm3, %ymm0, %ymm0
+ vpackuswb %ymm0, %ymm1, %ymm0
+ vpermd %ymm0, %ymm4, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ ret
+L_poly_basemul$1:
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu glob_data + 448(%rip), %ymm1
+ vmovdqu glob_data + 1584(%rip), %ymm2
+ vmovdqu glob_data + 1616(%rip), %ymm3
+ vmovdqu (%rsi), %ymm4
+ vmovdqu 32(%rsi), %ymm5
+ vmovdqu (%rdi), %ymm6
+ vmovdqu 32(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, (%rcx)
+ vmovdqu %ymm4, 32(%rcx)
+ vmovdqu 64(%rsi), %ymm4
+ vmovdqu 96(%rsi), %ymm5
+ vmovdqu 64(%rdi), %ymm6
+ vmovdqu 96(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm4
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm3, 64(%rcx)
+ vmovdqu %ymm2, 96(%rcx)
+ vmovdqu glob_data + 1648(%rip), %ymm2
+ vmovdqu glob_data + 1680(%rip), %ymm3
+ vmovdqu 128(%rsi), %ymm4
+ vmovdqu 160(%rsi), %ymm5
+ vmovdqu 128(%rdi), %ymm6
+ vmovdqu 160(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, 128(%rcx)
+ vmovdqu %ymm4, 160(%rcx)
+ vmovdqu 192(%rsi), %ymm4
+ vmovdqu 224(%rsi), %ymm5
+ vmovdqu 192(%rdi), %ymm6
+ vmovdqu 224(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm4
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm3, 192(%rcx)
+ vmovdqu %ymm2, 224(%rcx)
+ vmovdqu glob_data + 1976(%rip), %ymm2
+ vmovdqu glob_data + 2008(%rip), %ymm3
+ vmovdqu 256(%rsi), %ymm4
+ vmovdqu 288(%rsi), %ymm5
+ vmovdqu 256(%rdi), %ymm6
+ vmovdqu 288(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, 256(%rcx)
+ vmovdqu %ymm4, 288(%rcx)
+ vmovdqu 320(%rsi), %ymm4
+ vmovdqu 352(%rsi), %ymm5
+ vmovdqu 320(%rdi), %ymm6
+ vmovdqu 352(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm4
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm3, 320(%rcx)
+ vmovdqu %ymm2, 352(%rcx)
+ vmovdqu glob_data + 2040(%rip), %ymm2
+ vmovdqu glob_data + 2072(%rip), %ymm3
+ vmovdqu 384(%rsi), %ymm4
+ vmovdqu 416(%rsi), %ymm5
+ vmovdqu 384(%rdi), %ymm6
+ vmovdqu 416(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, 384(%rcx)
+ vmovdqu %ymm4, 416(%rcx)
+ vmovdqu 448(%rsi), %ymm4
+ vmovdqu 480(%rsi), %ymm5
+ vmovdqu 448(%rdi), %ymm6
+ vmovdqu 480(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm1
+ vpmulhw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm3, 448(%rcx)
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_csubq$1:
+ vmovdqu glob_data + 480(%rip), %ymm0
+ vmovdqu (%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, (%rcx)
+ vmovdqu 32(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 32(%rcx)
+ vmovdqu 64(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 64(%rcx)
+ vmovdqu 96(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 96(%rcx)
+ vmovdqu 128(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 128(%rcx)
+ vmovdqu 160(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 160(%rcx)
+ vmovdqu 192(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 192(%rcx)
+ vmovdqu 224(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 224(%rcx)
+ vmovdqu 256(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 256(%rcx)
+ vmovdqu 288(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 288(%rcx)
+ vmovdqu 320(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 320(%rcx)
+ vmovdqu 352(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 352(%rcx)
+ vmovdqu 384(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 384(%rcx)
+ vmovdqu 416(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 416(%rcx)
+ vmovdqu 448(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 448(%rcx)
+ vmovdqu 480(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm0
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_add2$1:
+ vmovdqu (%rcx), %ymm0
+ vmovdqu (%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rcx)
+ vmovdqu 32(%rcx), %ymm0
+ vmovdqu 32(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rcx)
+ vmovdqu 64(%rcx), %ymm0
+ vmovdqu 64(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rcx)
+ vmovdqu 96(%rcx), %ymm0
+ vmovdqu 96(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rcx)
+ vmovdqu 128(%rcx), %ymm0
+ vmovdqu 128(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rcx)
+ vmovdqu 160(%rcx), %ymm0
+ vmovdqu 160(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rcx)
+ vmovdqu 192(%rcx), %ymm0
+ vmovdqu 192(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rcx)
+ vmovdqu 224(%rcx), %ymm0
+ vmovdqu 224(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rcx)
+ vmovdqu 256(%rcx), %ymm0
+ vmovdqu 256(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rcx)
+ vmovdqu 288(%rcx), %ymm0
+ vmovdqu 288(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rcx)
+ vmovdqu 320(%rcx), %ymm0
+ vmovdqu 320(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rcx)
+ vmovdqu 352(%rcx), %ymm0
+ vmovdqu 352(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rcx)
+ vmovdqu 384(%rcx), %ymm0
+ vmovdqu 384(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rcx)
+ vmovdqu 416(%rcx), %ymm0
+ vmovdqu 416(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rcx)
+ vmovdqu 448(%rcx), %ymm0
+ vmovdqu 448(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rcx)
+ vmovdqu 480(%rcx), %ymm0
+ vmovdqu 480(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_nttunpack$1:
+ vmovdqu (%rax), %ymm1
+ vmovdqu 32(%rax), %ymm3
+ vmovdqu 64(%rax), %ymm4
+ vmovdqu 96(%rax), %ymm5
+ vmovdqu 128(%rax), %ymm2
+ vmovdqu 160(%rax), %ymm6
+ vmovdqu 192(%rax), %ymm7
+ vmovdqu 224(%rax), %ymm8
+ vperm2i128 $32, %ymm2, %ymm1, %ymm0
+ vperm2i128 $49, %ymm2, %ymm1, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm2
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vperm2i128 $32, %ymm7, %ymm4, %ymm6
+ vperm2i128 $49, %ymm7, %ymm4, %ymm7
+ vperm2i128 $32, %ymm8, %ymm5, %ymm9
+ vperm2i128 $49, %ymm8, %ymm5, %ymm10
+ vpunpcklqdq %ymm6, %ymm0, %ymm4
+ vpunpckhqdq %ymm6, %ymm0, %ymm5
+ vpunpcklqdq %ymm7, %ymm1, %ymm6
+ vpunpckhqdq %ymm7, %ymm1, %ymm7
+ vpunpcklqdq %ymm9, %ymm2, %ymm0
+ vpunpckhqdq %ymm9, %ymm2, %ymm2
+ vpunpcklqdq %ymm10, %ymm3, %ymm8
+ vpunpckhqdq %ymm10, %ymm3, %ymm3
+ vmovsldup %ymm0, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm9
+ vpsrlq $32, %ymm4, %ymm1
+ vpblendd $-86, %ymm0, %ymm1, %ymm0
+ vmovsldup %ymm2, %ymm1
+ vpblendd $-86, %ymm1, %ymm5, %ymm1
+ vpsrlq $32, %ymm5, %ymm4
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vmovsldup %ymm8, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm5
+ vpblendd $-86, %ymm8, %ymm5, %ymm5
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm7, %ymm6
+ vpsrlq $32, %ymm7, %ymm7
+ vpblendd $-86, %ymm3, %ymm7, %ymm3
+ vpslld $16, %ymm4, %ymm7
+ vpblendw $-86, %ymm7, %ymm9, %ymm7
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm4, %ymm8, %ymm4
+ vpslld $16, %ymm5, %ymm8
+ vpblendw $-86, %ymm8, %ymm0, %ymm8
+ vpsrld $16, %ymm0, %ymm0
+ vpblendw $-86, %ymm5, %ymm0, %ymm0
+ vpslld $16, %ymm6, %ymm5
+ vpblendw $-86, %ymm5, %ymm1, %ymm5
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm6, %ymm1, %ymm1
+ vpslld $16, %ymm3, %ymm6
+ vpblendw $-86, %ymm6, %ymm2, %ymm6
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm7, (%rax)
+ vmovdqu %ymm4, 32(%rax)
+ vmovdqu %ymm8, 64(%rax)
+ vmovdqu %ymm0, 96(%rax)
+ vmovdqu %ymm5, 128(%rax)
+ vmovdqu %ymm1, 160(%rax)
+ vmovdqu %ymm6, 192(%rax)
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm1
+ vmovdqu 288(%rax), %ymm3
+ vmovdqu 320(%rax), %ymm4
+ vmovdqu 352(%rax), %ymm5
+ vmovdqu 384(%rax), %ymm2
+ vmovdqu 416(%rax), %ymm6
+ vmovdqu 448(%rax), %ymm7
+ vmovdqu 480(%rax), %ymm8
+ vperm2i128 $32, %ymm2, %ymm1, %ymm0
+ vperm2i128 $49, %ymm2, %ymm1, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm2
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vperm2i128 $32, %ymm7, %ymm4, %ymm6
+ vperm2i128 $49, %ymm7, %ymm4, %ymm7
+ vperm2i128 $32, %ymm8, %ymm5, %ymm9
+ vperm2i128 $49, %ymm8, %ymm5, %ymm10
+ vpunpcklqdq %ymm6, %ymm0, %ymm4
+ vpunpckhqdq %ymm6, %ymm0, %ymm5
+ vpunpcklqdq %ymm7, %ymm1, %ymm6
+ vpunpckhqdq %ymm7, %ymm1, %ymm7
+ vpunpcklqdq %ymm9, %ymm2, %ymm0
+ vpunpckhqdq %ymm9, %ymm2, %ymm2
+ vpunpcklqdq %ymm10, %ymm3, %ymm8
+ vpunpckhqdq %ymm10, %ymm3, %ymm3
+ vmovsldup %ymm0, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm9
+ vpsrlq $32, %ymm4, %ymm1
+ vpblendd $-86, %ymm0, %ymm1, %ymm0
+ vmovsldup %ymm2, %ymm1
+ vpblendd $-86, %ymm1, %ymm5, %ymm1
+ vpsrlq $32, %ymm5, %ymm4
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vmovsldup %ymm8, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm5
+ vpblendd $-86, %ymm8, %ymm5, %ymm5
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm7, %ymm6
+ vpsrlq $32, %ymm7, %ymm7
+ vpblendd $-86, %ymm3, %ymm7, %ymm3
+ vpslld $16, %ymm4, %ymm7
+ vpblendw $-86, %ymm7, %ymm9, %ymm7
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm4, %ymm8, %ymm4
+ vpslld $16, %ymm5, %ymm8
+ vpblendw $-86, %ymm8, %ymm0, %ymm8
+ vpsrld $16, %ymm0, %ymm0
+ vpblendw $-86, %ymm5, %ymm0, %ymm0
+ vpslld $16, %ymm6, %ymm5
+ vpblendw $-86, %ymm5, %ymm1, %ymm5
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm6, %ymm1, %ymm1
+ vpslld $16, %ymm3, %ymm6
+ vpblendw $-86, %ymm6, %ymm2, %ymm6
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm7, 256(%rax)
+ vmovdqu %ymm4, 288(%rax)
+ vmovdqu %ymm8, 320(%rax)
+ vmovdqu %ymm0, 352(%rax)
+ vmovdqu %ymm5, 384(%rax)
+ vmovdqu %ymm1, 416(%rax)
+ vmovdqu %ymm6, 448(%rax)
+ vmovdqu %ymm2, 480(%rax)
+ ret
+L_shake256_absorb4x_33$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 512(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 544(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 576(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 608(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 640(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 672(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 704(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 736(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 768(%rax)
+ movq (%rdx), %r11
+ xorq %r11, (%rax)
+ movq (%rsi), %r11
+ xorq %r11, 8(%rax)
+ movq (%rdi), %r11
+ xorq %r11, 16(%rax)
+ movq (%r10), %r11
+ xorq %r11, 24(%rax)
+ movq 8(%rdx), %r11
+ xorq %r11, 32(%rax)
+ movq 8(%rsi), %r11
+ xorq %r11, 40(%rax)
+ movq 8(%rdi), %r11
+ xorq %r11, 48(%rax)
+ movq 8(%r10), %r11
+ xorq %r11, 56(%rax)
+ movq 16(%rdx), %r11
+ xorq %r11, 64(%rax)
+ movq 16(%rsi), %r11
+ xorq %r11, 72(%rax)
+ movq 16(%rdi), %r11
+ xorq %r11, 80(%rax)
+ movq 16(%r10), %r11
+ xorq %r11, 88(%rax)
+ movq 24(%rdx), %r11
+ xorq %r11, 96(%rax)
+ movq 24(%rsi), %r11
+ xorq %r11, 104(%rax)
+ movq 24(%rdi), %r11
+ xorq %r11, 112(%rax)
+ movq 24(%r10), %r11
+ xorq %r11, 120(%rax)
+ movb 32(%rdx), %dl
+ xorb %dl, 128(%rax)
+ xorb $31, 129(%rax)
+ movb 32(%rsi), %dl
+ xorb %dl, 136(%rax)
+ xorb $31, 137(%rax)
+ movb 32(%rdi), %dl
+ xorb %dl, 144(%rax)
+ xorb $31, 145(%rax)
+ movb 32(%r10), %dl
+ xorb %dl, 152(%rax)
+ xorb $31, 153(%rax)
+ vmovdqu glob_data + 2112(%rip), %ymm0
+ vmovdqu 512(%rax), %ymm1
+ vpxor %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 512(%rax)
+ ret
+L_shake128_absorb4x_34$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 512(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 544(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 576(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 608(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 640(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 672(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 704(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 736(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 768(%rax)
+ movq (%rcx), %r8
+ xorq %r8, (%rax)
+ movq (%rdx), %r8
+ xorq %r8, 8(%rax)
+ movq (%rsi), %r8
+ xorq %r8, 16(%rax)
+ movq (%rdi), %r8
+ xorq %r8, 24(%rax)
+ movq 8(%rcx), %r8
+ xorq %r8, 32(%rax)
+ movq 8(%rdx), %r8
+ xorq %r8, 40(%rax)
+ movq 8(%rsi), %r8
+ xorq %r8, 48(%rax)
+ movq 8(%rdi), %r8
+ xorq %r8, 56(%rax)
+ movq 16(%rcx), %r8
+ xorq %r8, 64(%rax)
+ movq 16(%rdx), %r8
+ xorq %r8, 72(%rax)
+ movq 16(%rsi), %r8
+ xorq %r8, 80(%rax)
+ movq 16(%rdi), %r8
+ xorq %r8, 88(%rax)
+ movq 24(%rcx), %r8
+ xorq %r8, 96(%rax)
+ movq 24(%rdx), %r8
+ xorq %r8, 104(%rax)
+ movq 24(%rsi), %r8
+ xorq %r8, 112(%rax)
+ movq 24(%rdi), %r8
+ xorq %r8, 120(%rax)
+ movw 32(%rcx), %cx
+ xorw %cx, 128(%rax)
+ xorb $31, 130(%rax)
+ movw 32(%rdx), %cx
+ xorw %cx, 136(%rax)
+ xorb $31, 138(%rax)
+ movw 32(%rsi), %cx
+ xorw %cx, 144(%rax)
+ xorb $31, 146(%rax)
+ movw 32(%rdi), %cx
+ xorw %cx, 152(%rax)
+ xorb $31, 154(%rax)
+ vmovdqu glob_data + 2112(%rip), %ymm0
+ vmovdqu 640(%rax), %ymm1
+ vpxor %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 640(%rax)
+ ret
+L_keccakf1600_4x_avx2$1:
+ leaq 32(%rsp), %rdx
+ leaq glob_data + 2208(%rip), %rsi
+ vmovdqu glob_data + 2144(%rip), %ymm0
+ vmovdqu glob_data + 2176(%rip), %ymm1
+ movq $0, %rdi
+L_keccakf1600_4x_avx2$2:
+ vmovdqu (%rsi,%rdi), %ymm2
+ vmovdqu (%rax), %ymm3
+ vmovdqu 32(%rax), %ymm4
+ vmovdqu 64(%rax), %ymm5
+ vmovdqu 96(%rax), %ymm6
+ vmovdqu 128(%rax), %ymm7
+ vpxor 160(%rax), %ymm3, %ymm3
+ vpxor 192(%rax), %ymm4, %ymm4
+ vpxor 224(%rax), %ymm5, %ymm5
+ vpxor 256(%rax), %ymm6, %ymm6
+ vpxor 288(%rax), %ymm7, %ymm7
+ vpxor 320(%rax), %ymm3, %ymm3
+ vpxor 352(%rax), %ymm4, %ymm4
+ vpxor 384(%rax), %ymm5, %ymm5
+ vpxor 416(%rax), %ymm6, %ymm6
+ vpxor 448(%rax), %ymm7, %ymm7
+ vpxor 480(%rax), %ymm3, %ymm3
+ vpxor 512(%rax), %ymm4, %ymm4
+ vpxor 544(%rax), %ymm5, %ymm8
+ vpxor 576(%rax), %ymm6, %ymm9
+ vpxor 608(%rax), %ymm7, %ymm10
+ vpxor 640(%rax), %ymm3, %ymm7
+ vpxor 672(%rax), %ymm4, %ymm5
+ vpxor 704(%rax), %ymm8, %ymm6
+ vpxor 736(%rax), %ymm9, %ymm8
+ vpxor 768(%rax), %ymm10, %ymm9
+ vmovdqu %ymm5, %ymm3
+ vpsllq $1, %ymm3, %ymm4
+ vpsrlq $63, %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm3
+ vpxor %ymm9, %ymm3, %ymm3
+ vmovdqu %ymm6, %ymm4
+ vpsllq $1, %ymm4, %ymm10
+ vpsrlq $63, %ymm4, %ymm4
+ vpor %ymm10, %ymm4, %ymm4
+ vpxor %ymm7, %ymm4, %ymm4
+ vmovdqu %ymm8, %ymm10
+ vpsllq $1, %ymm10, %ymm11
+ vpsrlq $63, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vpxor %ymm5, %ymm10, %ymm5
+ vpsllq $1, %ymm9, %ymm10
+ vpsrlq $63, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vpxor %ymm6, %ymm9, %ymm6
+ vpsllq $1, %ymm7, %ymm9
+ vpsrlq $63, %ymm7, %ymm7
+ vpor %ymm9, %ymm7, %ymm7
+ vpxor %ymm8, %ymm7, %ymm7
+ vmovdqu (%rax), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vmovdqu 192(%rax), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $44, %ymm9, %ymm10
+ vpsrlq $20, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 384(%rax), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $43, %ymm10, %ymm11
+ vpsrlq $21, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 576(%rax), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpsllq $21, %ymm11, %ymm12
+ vpsrlq $43, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vmovdqu 768(%rax), %ymm12
+ vpxor %ymm7, %ymm12, %ymm12
+ vpsllq $14, %ymm12, %ymm13
+ vpsrlq $50, %ymm12, %ymm12
+ vpor %ymm13, %ymm12, %ymm12
+ vpandn %ymm10, %ymm9, %ymm13
+ vpxor %ymm8, %ymm13, %ymm13
+ vpxor %ymm2, %ymm13, %ymm2
+ vmovdqu %ymm2, (%rdx)
+ vpandn %ymm11, %ymm10, %ymm2
+ vpxor %ymm9, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rdx)
+ vpandn %ymm12, %ymm11, %ymm2
+ vpxor %ymm10, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rdx)
+ vpandn %ymm8, %ymm12, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rdx)
+ vpandn %ymm9, %ymm8, %ymm2
+ vpxor %ymm12, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rdx)
+ vmovdqu 96(%rax), %ymm2
+ vpxor %ymm6, %ymm2, %ymm2
+ vpsllq $28, %ymm2, %ymm8
+ vpsrlq $36, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 288(%rax), %ymm8
+ vpxor %ymm7, %ymm8, %ymm8
+ vpsllq $20, %ymm8, %ymm9
+ vpsrlq $44, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 320(%rax), %ymm9
+ vpxor %ymm3, %ymm9, %ymm9
+ vpsllq $3, %ymm9, %ymm10
+ vpsrlq $61, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 512(%rax), %ymm10
+ vpxor %ymm4, %ymm10, %ymm10
+ vpsllq $45, %ymm10, %ymm11
+ vpsrlq $19, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 704(%rax), %ymm11
+ vpxor %ymm5, %ymm11, %ymm11
+ vpsllq $61, %ymm11, %ymm12
+ vpsrlq $3, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 160(%rdx)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 192(%rdx)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 224(%rdx)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 256(%rdx)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rdx)
+ vmovdqu 32(%rax), %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vpsllq $1, %ymm2, %ymm8
+ vpsrlq $63, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 224(%rax), %ymm8
+ vpxor %ymm5, %ymm8, %ymm8
+ vpsllq $6, %ymm8, %ymm9
+ vpsrlq $58, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 416(%rax), %ymm9
+ vpxor %ymm6, %ymm9, %ymm9
+ vpsllq $25, %ymm9, %ymm10
+ vpsrlq $39, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 608(%rax), %ymm10
+ vpxor %ymm7, %ymm10, %ymm10
+ vpshufb %ymm0, %ymm10, %ymm10
+ vmovdqu 640(%rax), %ymm11
+ vpxor %ymm3, %ymm11, %ymm11
+ vpsllq $18, %ymm11, %ymm12
+ vpsrlq $46, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 320(%rdx)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 352(%rdx)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 384(%rdx)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 416(%rdx)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rdx)
+ vmovdqu 128(%rax), %ymm2
+ vpxor %ymm7, %ymm2, %ymm2
+ vpsllq $27, %ymm2, %ymm8
+ vpsrlq $37, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 160(%rax), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vpsllq $36, %ymm8, %ymm9
+ vpsrlq $28, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 352(%rax), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $10, %ymm9, %ymm10
+ vpsrlq $54, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 544(%rax), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $15, %ymm10, %ymm11
+ vpsrlq $49, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 736(%rax), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpshufb %ymm1, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 480(%rdx)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 512(%rdx)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 544(%rdx)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 576(%rdx)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 608(%rdx)
+ vmovdqu 64(%rax), %ymm2
+ vpxor %ymm5, %ymm2, %ymm2
+ vpsllq $62, %ymm2, %ymm5
+ vpsrlq $2, %ymm2, %ymm2
+ vpor %ymm5, %ymm2, %ymm2
+ vmovdqu 256(%rax), %ymm5
+ vpxor %ymm6, %ymm5, %ymm5
+ vpsllq $55, %ymm5, %ymm6
+ vpsrlq $9, %ymm5, %ymm5
+ vpor %ymm6, %ymm5, %ymm5
+ vmovdqu 448(%rax), %ymm6
+ vpxor %ymm7, %ymm6, %ymm6
+ vpsllq $39, %ymm6, %ymm7
+ vpsrlq $25, %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm6
+ vmovdqu 480(%rax), %ymm7
+ vpxor %ymm3, %ymm7, %ymm3
+ vpsllq $41, %ymm3, %ymm7
+ vpsrlq $23, %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm3
+ vmovdqu 672(%rax), %ymm7
+ vpxor %ymm4, %ymm7, %ymm4
+ vpsllq $2, %ymm4, %ymm7
+ vpsrlq $62, %ymm4, %ymm4
+ vpor %ymm7, %ymm4, %ymm4
+ vpandn %ymm6, %ymm5, %ymm7
+ vpxor %ymm2, %ymm7, %ymm7
+ vmovdqu %ymm7, 640(%rdx)
+ vpandn %ymm3, %ymm6, %ymm7
+ vpxor %ymm5, %ymm7, %ymm7
+ vmovdqu %ymm7, 672(%rdx)
+ vpandn %ymm4, %ymm3, %ymm7
+ vpxor %ymm6, %ymm7, %ymm6
+ vmovdqu %ymm6, 704(%rdx)
+ vpandn %ymm2, %ymm4, %ymm6
+ vpxor %ymm3, %ymm6, %ymm3
+ vmovdqu %ymm3, 736(%rdx)
+ vpandn %ymm5, %ymm2, %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm2, 768(%rdx)
+ vmovdqu 32(%rsi,%rdi), %ymm2
+ vmovdqu (%rdx), %ymm3
+ vmovdqu 32(%rdx), %ymm4
+ vmovdqu 64(%rdx), %ymm5
+ vmovdqu 96(%rdx), %ymm6
+ vmovdqu 128(%rdx), %ymm7
+ vpxor 160(%rdx), %ymm3, %ymm3
+ vpxor 192(%rdx), %ymm4, %ymm4
+ vpxor 224(%rdx), %ymm5, %ymm5
+ vpxor 256(%rdx), %ymm6, %ymm6
+ vpxor 288(%rdx), %ymm7, %ymm7
+ vpxor 320(%rdx), %ymm3, %ymm3
+ vpxor 352(%rdx), %ymm4, %ymm4
+ vpxor 384(%rdx), %ymm5, %ymm5
+ vpxor 416(%rdx), %ymm6, %ymm6
+ vpxor 448(%rdx), %ymm7, %ymm7
+ vpxor 480(%rdx), %ymm3, %ymm3
+ vpxor 512(%rdx), %ymm4, %ymm4
+ vpxor 544(%rdx), %ymm5, %ymm8
+ vpxor 576(%rdx), %ymm6, %ymm9
+ vpxor 608(%rdx), %ymm7, %ymm10
+ vpxor 640(%rdx), %ymm3, %ymm7
+ vpxor 672(%rdx), %ymm4, %ymm5
+ vpxor 704(%rdx), %ymm8, %ymm6
+ vpxor 736(%rdx), %ymm9, %ymm8
+ vpxor 768(%rdx), %ymm10, %ymm9
+ vmovdqu %ymm5, %ymm3
+ vpsllq $1, %ymm3, %ymm4
+ vpsrlq $63, %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm3
+ vpxor %ymm9, %ymm3, %ymm3
+ vmovdqu %ymm6, %ymm4
+ vpsllq $1, %ymm4, %ymm10
+ vpsrlq $63, %ymm4, %ymm4
+ vpor %ymm10, %ymm4, %ymm4
+ vpxor %ymm7, %ymm4, %ymm4
+ vmovdqu %ymm8, %ymm10
+ vpsllq $1, %ymm10, %ymm11
+ vpsrlq $63, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vpxor %ymm5, %ymm10, %ymm5
+ vpsllq $1, %ymm9, %ymm10
+ vpsrlq $63, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vpxor %ymm6, %ymm9, %ymm6
+ vpsllq $1, %ymm7, %ymm9
+ vpsrlq $63, %ymm7, %ymm7
+ vpor %ymm9, %ymm7, %ymm7
+ vpxor %ymm8, %ymm7, %ymm7
+ vmovdqu (%rdx), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vmovdqu 192(%rdx), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $44, %ymm9, %ymm10
+ vpsrlq $20, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 384(%rdx), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $43, %ymm10, %ymm11
+ vpsrlq $21, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 576(%rdx), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpsllq $21, %ymm11, %ymm12
+ vpsrlq $43, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vmovdqu 768(%rdx), %ymm12
+ vpxor %ymm7, %ymm12, %ymm12
+ vpsllq $14, %ymm12, %ymm13
+ vpsrlq $50, %ymm12, %ymm12
+ vpor %ymm13, %ymm12, %ymm12
+ vpandn %ymm10, %ymm9, %ymm13
+ vpxor %ymm8, %ymm13, %ymm13
+ vpxor %ymm2, %ymm13, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vpandn %ymm11, %ymm10, %ymm2
+ vpxor %ymm9, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vpandn %ymm12, %ymm11, %ymm2
+ vpxor %ymm10, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vpandn %ymm8, %ymm12, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vpandn %ymm9, %ymm8, %ymm2
+ vpxor %ymm12, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 96(%rdx), %ymm2
+ vpxor %ymm6, %ymm2, %ymm2
+ vpsllq $28, %ymm2, %ymm8
+ vpsrlq $36, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 288(%rdx), %ymm8
+ vpxor %ymm7, %ymm8, %ymm8
+ vpsllq $20, %ymm8, %ymm9
+ vpsrlq $44, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 320(%rdx), %ymm9
+ vpxor %ymm3, %ymm9, %ymm9
+ vpsllq $3, %ymm9, %ymm10
+ vpsrlq $61, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 512(%rdx), %ymm10
+ vpxor %ymm4, %ymm10, %ymm10
+ vpsllq $45, %ymm10, %ymm11
+ vpsrlq $19, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 704(%rdx), %ymm11
+ vpxor %ymm5, %ymm11, %ymm11
+ vpsllq $61, %ymm11, %ymm12
+ vpsrlq $3, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 160(%rax)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 192(%rax)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 224(%rax)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 256(%rax)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 32(%rdx), %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vpsllq $1, %ymm2, %ymm8
+ vpsrlq $63, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 224(%rdx), %ymm8
+ vpxor %ymm5, %ymm8, %ymm8
+ vpsllq $6, %ymm8, %ymm9
+ vpsrlq $58, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 416(%rdx), %ymm9
+ vpxor %ymm6, %ymm9, %ymm9
+ vpsllq $25, %ymm9, %ymm10
+ vpsrlq $39, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 608(%rdx), %ymm10
+ vpxor %ymm7, %ymm10, %ymm10
+ vpshufb %ymm0, %ymm10, %ymm10
+ vmovdqu 640(%rdx), %ymm11
+ vpxor %ymm3, %ymm11, %ymm11
+ vpsllq $18, %ymm11, %ymm12
+ vpsrlq $46, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 320(%rax)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 352(%rax)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 384(%rax)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 416(%rax)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 128(%rdx), %ymm2
+ vpxor %ymm7, %ymm2, %ymm2
+ vpsllq $27, %ymm2, %ymm8
+ vpsrlq $37, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 160(%rdx), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vpsllq $36, %ymm8, %ymm9
+ vpsrlq $28, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 352(%rdx), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $10, %ymm9, %ymm10
+ vpsrlq $54, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 544(%rdx), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $15, %ymm10, %ymm11
+ vpsrlq $49, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 736(%rdx), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpshufb %ymm1, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 480(%rax)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 512(%rax)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 544(%rax)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 576(%rax)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 608(%rax)
+ vmovdqu 64(%rdx), %ymm2
+ vpxor %ymm5, %ymm2, %ymm2
+ vpsllq $62, %ymm2, %ymm5
+ vpsrlq $2, %ymm2, %ymm2
+ vpor %ymm5, %ymm2, %ymm2
+ vmovdqu 256(%rdx), %ymm5
+ vpxor %ymm6, %ymm5, %ymm5
+ vpsllq $55, %ymm5, %ymm6
+ vpsrlq $9, %ymm5, %ymm5
+ vpor %ymm6, %ymm5, %ymm5
+ vmovdqu 448(%rdx), %ymm6
+ vpxor %ymm7, %ymm6, %ymm6
+ vpsllq $39, %ymm6, %ymm7
+ vpsrlq $25, %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm6
+ vmovdqu 480(%rdx), %ymm7
+ vpxor %ymm3, %ymm7, %ymm3
+ vpsllq $41, %ymm3, %ymm7
+ vpsrlq $23, %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm3
+ vmovdqu 672(%rdx), %ymm7
+ vpxor %ymm4, %ymm7, %ymm4
+ vpsllq $2, %ymm4, %ymm7
+ vpsrlq $62, %ymm4, %ymm4
+ vpor %ymm7, %ymm4, %ymm4
+ vpandn %ymm6, %ymm5, %ymm7
+ vpxor %ymm2, %ymm7, %ymm7
+ vmovdqu %ymm7, 640(%rax)
+ vpandn %ymm3, %ymm6, %ymm7
+ vpxor %ymm5, %ymm7, %ymm7
+ vmovdqu %ymm7, 672(%rax)
+ vpandn %ymm4, %ymm3, %ymm7
+ vpxor %ymm6, %ymm7, %ymm6
+ vmovdqu %ymm6, 704(%rax)
+ vpandn %ymm2, %ymm4, %ymm6
+ vpxor %ymm3, %ymm6, %ymm3
+ vmovdqu %ymm3, 736(%rax)
+ vpandn %ymm5, %ymm2, %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm2, 768(%rax)
+ addq $64, %rdi
+ cmpq $768, %rdi
+ jb L_keccakf1600_4x_avx2$2
+ ret
+L_sha3_512_32$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6240(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6248(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rcx
+ movq glob_data + 6256(%rip), %rdx
+ movq %rcx, 32(%rsp,%rdx,8)
+ movq glob_data + 6264(%rip), %rcx
+ shlq $3, %rcx
+ movb $6, 32(%rsp,%rcx)
+ movq glob_data + 6296(%rip), %rcx
+ shlq $3, %rcx
+ movq $71, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3360(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3168(%rip), %rsi
+ leaq glob_data + 2976(%rip), %rdi
+ movq $24, %r8
+L_sha3_512_32$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_512_32$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6232(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ ret
+L_sha3_512_64$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6240(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6248(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rdx
+ movq glob_data + 6256(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 32(%rcx), %rdx
+ movq glob_data + 6264(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 40(%rcx), %rdx
+ movq glob_data + 6272(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 48(%rcx), %rdx
+ movq glob_data + 6280(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 56(%rcx), %rcx
+ movq glob_data + 6288(%rip), %rdx
+ movq %rcx, 32(%rsp,%rdx,8)
+ movq glob_data + 6296(%rip), %rcx
+ shlq $3, %rcx
+ movb $6, 32(%rsp,%rcx)
+ movq glob_data + 6296(%rip), %rcx
+ shlq $3, %rcx
+ movq $71, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3360(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3168(%rip), %rsi
+ leaq glob_data + 2976(%rip), %rdi
+ movq $24, %r8
+L_sha3_512_64$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_512_64$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6232(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ ret
+L_shake256_128_33$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6240(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6248(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rdx
+ movq glob_data + 6256(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movb 32(%rcx), %cl
+ movq glob_data + 6264(%rip), %rdx
+ shlq $3, %rdx
+ movb %cl, 32(%rsp,%rdx)
+ incq %rdx
+ movb $31, 32(%rsp,%rdx)
+ movq glob_data + 6360(%rip), %rcx
+ shlq $3, %rcx
+ movq $135, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3360(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3168(%rip), %rsi
+ leaq glob_data + 2976(%rip), %rdi
+ movq $24, %r8
+L_shake256_128_33$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_shake256_128_33$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6232(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ ret
+L_shake256_64$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rax), %ymm4
+ movq glob_data + 6240(%rip), %rsi
+ movq 8(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6248(%rip), %rsi
+ movq 16(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6256(%rip), %rsi
+ movq 24(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6264(%rip), %rsi
+ movq 32(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6272(%rip), %rsi
+ movq 40(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6280(%rip), %rsi
+ movq 48(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6288(%rip), %rsi
+ movq 56(%rax), %rax
+ movq %rax, 32(%rsp,%rsi,8)
+ movq glob_data + 6296(%rip), %rax
+ shlq $3, %rax
+ movb $31, 32(%rsp,%rax)
+ movq glob_data + 6360(%rip), %rax
+ shlq $3, %rax
+ movq $135, %rsi
+ andq $7, %rsi
+ addq %rsi, %rax
+ xorb $-128, 32(%rsp,%rax)
+ vmovdqu 64(%rsp), %ymm5
+ vmovdqu 96(%rsp), %ymm0
+ vmovdqu 128(%rsp), %ymm1
+ vmovdqu 160(%rsp), %ymm6
+ vmovdqu 192(%rsp), %ymm2
+ vmovdqu 224(%rsp), %ymm3
+ movq $136, %rsi
+ leaq glob_data + 6232(%rip), %rax
+ jmp L_shake256_64$7
+L_shake256_64$8:
+ leaq glob_data + 3360(%rip), %rdi
+ movq $0, %r8
+ leaq glob_data + 3168(%rip), %r9
+ leaq glob_data + 2976(%rip), %r10
+ movq $24, %r11
+L_shake256_64$11:
+ vpshufd $78, %ymm0, %ymm8
+ vpxor %ymm1, %ymm2, %ymm7
+ vpxor %ymm3, %ymm6, %ymm9
+ vpxor %ymm5, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm0, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm4, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm0, %ymm0
+ vpxor %ymm11, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%r9), %ymm0, %ymm7
+ vpsrlvq (%r10), %ymm0, %ymm0
+ vpor %ymm7, %ymm0, %ymm0
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 64(%r9), %ymm1, %ymm7
+ vpsrlvq 64(%r10), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%r9), %ymm6, %ymm7
+ vpsrlvq 96(%r10), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 128(%r9), %ymm2, %ymm6
+ vpsrlvq 128(%r10), %ymm2, %ymm2
+ vpor %ymm6, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpermq $-115, %ymm0, %ymm6
+ vpermq $-115, %ymm1, %ymm7
+ vpsllvq 160(%r9), %ymm3, %ymm0
+ vpsrlvq 160(%r10), %ymm3, %ymm1
+ vpor %ymm0, %ymm1, %ymm8
+ vpxor %ymm9, %ymm5, %ymm0
+ vpermq $27, %ymm10, %ymm5
+ vpermq $114, %ymm2, %ymm9
+ vpsllvq 32(%r9), %ymm0, %ymm1
+ vpsrlvq 32(%r10), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm1
+ vpblendd $12, %ymm9, %ymm10, %ymm0
+ vpblendd $12, %ymm10, %ymm7, %ymm2
+ vpblendd $12, %ymm7, %ymm6, %ymm3
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm0, %ymm0
+ vpblendd $48, %ymm5, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm3, %ymm3
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm5, %ymm0, %ymm0
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm2, %ymm0, %ymm0
+ vpandn %ymm11, %ymm3, %ymm3
+ vpblendd $12, %ymm10, %ymm5, %ymm11
+ vpblendd $12, %ymm5, %ymm6, %ymm12
+ vpxor %ymm6, %ymm0, %ymm2
+ vpblendd $48, %ymm6, %ymm11, %ymm0
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm5, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm0, %ymm0
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm0, %ymm0
+ vpxor %ymm9, %ymm0, %ymm12
+ vpermq $30, %ymm8, %ymm0
+ vpblendd $48, %ymm4, %ymm0, %ymm0
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm4, %ymm11, %ymm11
+ vpandn %ymm0, %ymm11, %ymm11
+ vpblendd $12, %ymm5, %ymm7, %ymm0
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm0, %ymm0
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm0, %ymm0
+ vpblendd $-64, %ymm5, %ymm13, %ymm13
+ vpandn %ymm13, %ymm0, %ymm0
+ vpxor %ymm10, %ymm0, %ymm0
+ vpermq $0, %ymm1, %ymm13
+ vpermq $27, %ymm2, %ymm1
+ vpermq $-115, %ymm3, %ymm2
+ vpermq $114, %ymm12, %ymm3
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm5, %ymm9
+ vpblendd $48, %ymm5, %ymm12, %ymm5
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm5, %ymm5
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm5, %ymm6
+ vpxor %ymm13, %ymm4, %ymm4
+ vpxor %ymm8, %ymm11, %ymm5
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rdi,%r8), %ymm4, %ymm4
+ addq $32, %r8
+ decq %r11
+ jne L_shake256_64$11
+ vmovdqu %ymm4, 32(%rsp)
+ vmovdqu %ymm5, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm1, 128(%rsp)
+ vmovdqu %ymm6, 160(%rsp)
+ vmovdqu %ymm2, 192(%rsp)
+ vmovdqu %ymm3, 224(%rsp)
+ movq %rsi, %rdi
+ shrq $3, %rdi
+ movq $0, %r8
+ jmp L_shake256_64$9
+L_shake256_64$10:
+ movq (%rax,%r8,8), %r9
+ movq 32(%rsp,%r9,8), %r9
+ movq %r9, (%rdx,%r8,8)
+ incq %r8
+L_shake256_64$9:
+ cmpq %rdi, %r8
+ jb L_shake256_64$10
+ addq %rsi, %rdx
+ subq %rsi, %rcx
+L_shake256_64$7:
+ cmpq %rsi, %rcx
+ jnbe L_shake256_64$8
+ leaq glob_data + 3360(%rip), %rsi
+ movq $0, %rdi
+ leaq glob_data + 3168(%rip), %r8
+ leaq glob_data + 2976(%rip), %r9
+ movq $24, %r10
+L_shake256_64$6:
+ vpshufd $78, %ymm0, %ymm8
+ vpxor %ymm1, %ymm2, %ymm7
+ vpxor %ymm3, %ymm6, %ymm9
+ vpxor %ymm5, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm0, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm4, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm0, %ymm0
+ vpxor %ymm11, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%r8), %ymm0, %ymm7
+ vpsrlvq (%r9), %ymm0, %ymm0
+ vpor %ymm7, %ymm0, %ymm0
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 64(%r8), %ymm1, %ymm7
+ vpsrlvq 64(%r9), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%r8), %ymm6, %ymm7
+ vpsrlvq 96(%r9), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 128(%r8), %ymm2, %ymm6
+ vpsrlvq 128(%r9), %ymm2, %ymm2
+ vpor %ymm6, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpermq $-115, %ymm0, %ymm6
+ vpermq $-115, %ymm1, %ymm7
+ vpsllvq 160(%r8), %ymm3, %ymm0
+ vpsrlvq 160(%r9), %ymm3, %ymm1
+ vpor %ymm0, %ymm1, %ymm8
+ vpxor %ymm9, %ymm5, %ymm0
+ vpermq $27, %ymm10, %ymm5
+ vpermq $114, %ymm2, %ymm9
+ vpsllvq 32(%r8), %ymm0, %ymm1
+ vpsrlvq 32(%r9), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm1
+ vpblendd $12, %ymm9, %ymm10, %ymm0
+ vpblendd $12, %ymm10, %ymm7, %ymm2
+ vpblendd $12, %ymm7, %ymm6, %ymm3
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm0, %ymm0
+ vpblendd $48, %ymm5, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm3, %ymm3
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm5, %ymm0, %ymm0
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm2, %ymm0, %ymm0
+ vpandn %ymm11, %ymm3, %ymm3
+ vpblendd $12, %ymm10, %ymm5, %ymm11
+ vpblendd $12, %ymm5, %ymm6, %ymm12
+ vpxor %ymm6, %ymm0, %ymm2
+ vpblendd $48, %ymm6, %ymm11, %ymm0
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm5, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm0, %ymm0
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm0, %ymm0
+ vpxor %ymm9, %ymm0, %ymm12
+ vpermq $30, %ymm8, %ymm0
+ vpblendd $48, %ymm4, %ymm0, %ymm0
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm4, %ymm11, %ymm11
+ vpandn %ymm0, %ymm11, %ymm11
+ vpblendd $12, %ymm5, %ymm7, %ymm0
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm0, %ymm0
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm0, %ymm0
+ vpblendd $-64, %ymm5, %ymm13, %ymm13
+ vpandn %ymm13, %ymm0, %ymm0
+ vpxor %ymm10, %ymm0, %ymm0
+ vpermq $0, %ymm1, %ymm13
+ vpermq $27, %ymm2, %ymm1
+ vpermq $-115, %ymm3, %ymm2
+ vpermq $114, %ymm12, %ymm3
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm5, %ymm9
+ vpblendd $48, %ymm5, %ymm12, %ymm5
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm5, %ymm5
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm5, %ymm6
+ vpxor %ymm13, %ymm4, %ymm4
+ vpxor %ymm8, %ymm11, %ymm5
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rsi,%rdi), %ymm4, %ymm4
+ addq $32, %rdi
+ decq %r10
+ jne L_shake256_64$6
+ vmovdqu %ymm4, 32(%rsp)
+ vmovdqu %ymm5, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm1, 128(%rsp)
+ vmovdqu %ymm6, 160(%rsp)
+ vmovdqu %ymm2, 192(%rsp)
+ vmovdqu %ymm3, 224(%rsp)
+ movq %rcx, %rsi
+ shrq $3, %rsi
+ movq $0, %rdi
+ jmp L_shake256_64$4
+L_shake256_64$5:
+ movq (%rax,%rdi,8), %r8
+ movq 32(%rsp,%r8,8), %r8
+ movq %r8, (%rdx,%rdi,8)
+ incq %rdi
+L_shake256_64$4:
+ cmpq %rsi, %rdi
+ jb L_shake256_64$5
+ movq (%rax,%rdi,8), %rax
+ shlq $3, %rdi
+ shlq $3, %rax
+ jmp L_shake256_64$2
+L_shake256_64$3:
+ movb 32(%rsp,%rax), %sil
+ movb %sil, (%rdx,%rdi)
+ incq %rdi
+ incq %rax
+L_shake256_64$2:
+ cmpq %rcx, %rdi
+ jb L_shake256_64$3
+ ret
+L_sha3_256_32$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6240(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6248(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rcx
+ movq glob_data + 6256(%rip), %rdx
+ movq %rcx, 32(%rsp,%rdx,8)
+ movq glob_data + 6264(%rip), %rcx
+ shlq $3, %rcx
+ movb $6, 32(%rsp,%rcx)
+ movq glob_data + 6360(%rip), %rcx
+ shlq $3, %rcx
+ movq $135, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3360(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3168(%rip), %rsi
+ leaq glob_data + 2976(%rip), %rdi
+ movq $24, %r8
+L_sha3_256_32$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_256_32$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6232(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ ret
+L_sha3_256$1:
+ vpxor %ymm6, %ymm6, %ymm6
+ vpxor %ymm3, %ymm3, %ymm3
+ vpxor %ymm4, %ymm4, %ymm4
+ vpxor %ymm0, %ymm0, %ymm0
+ vpxor %ymm5, %ymm5, %ymm5
+ vpxor %ymm1, %ymm1, %ymm1
+ vpxor %ymm2, %ymm2, %ymm2
+ movb $6, %cl
+ movq $136, %rdx
+ leaq glob_data + 6232(%rip), %rsi
+ vpxor %ymm7, %ymm7, %ymm7
+ vmovdqu %ymm7, 32(%rsp)
+ vmovdqu %ymm7, 64(%rsp)
+ vmovdqu %ymm7, 96(%rsp)
+ vmovdqu %ymm7, 128(%rsp)
+ vmovdqu %ymm7, 160(%rsp)
+ vmovdqu %ymm7, 192(%rsp)
+ vmovdqu %ymm7, 224(%rsp)
+ jmp L_sha3_256$7
+L_sha3_256$8:
+ movq %rdx, %r9
+ shrq $3, %r9
+ movq $0, %r10
+ jmp L_sha3_256$10
+L_sha3_256$11:
+ movq (%r8,%r10,8), %r11
+ movq (%rsi,%r10,8), %rbx
+ movq %r11, 32(%rsp,%rbx,8)
+ incq %r10
+L_sha3_256$10:
+ cmpq %r9, %r10
+ jb L_sha3_256$11
+ movq 32(%rsp), %r9
+ movq %r9, 40(%rsp)
+ movq %r9, 48(%rsp)
+ movq %r9, 56(%rsp)
+ vpxor 32(%rsp), %ymm6, %ymm6
+ vpxor 64(%rsp), %ymm3, %ymm3
+ vpxor 96(%rsp), %ymm4, %ymm4
+ vpxor 128(%rsp), %ymm0, %ymm0
+ vpxor 160(%rsp), %ymm5, %ymm5
+ vpxor 192(%rsp), %ymm1, %ymm1
+ vpxor 224(%rsp), %ymm2, %ymm2
+ addq %rdx, %r8
+ subq %rdx, %rdi
+ leaq glob_data + 3360(%rip), %r9
+ movq $0, %r10
+ leaq glob_data + 3168(%rip), %r11
+ leaq glob_data + 2976(%rip), %rbx
+ movq $24, %rbp
+L_sha3_256$9:
+ vpshufd $78, %ymm4, %ymm8
+ vpxor %ymm0, %ymm1, %ymm7
+ vpxor %ymm2, %ymm5, %ymm9
+ vpxor %ymm3, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm4, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm4, %ymm4
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%r11), %ymm4, %ymm7
+ vpsrlvq (%rbx), %ymm4, %ymm4
+ vpor %ymm7, %ymm4, %ymm4
+ vpxor %ymm9, %ymm0, %ymm0
+ vpsllvq 64(%r11), %ymm0, %ymm7
+ vpsrlvq 64(%rbx), %ymm0, %ymm0
+ vpor %ymm7, %ymm0, %ymm0
+ vpxor %ymm9, %ymm5, %ymm5
+ vpsllvq 96(%r11), %ymm5, %ymm7
+ vpsrlvq 96(%rbx), %ymm5, %ymm5
+ vpor %ymm7, %ymm5, %ymm10
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 128(%r11), %ymm1, %ymm5
+ vpsrlvq 128(%rbx), %ymm1, %ymm1
+ vpor %ymm5, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpermq $-115, %ymm4, %ymm5
+ vpermq $-115, %ymm0, %ymm7
+ vpsllvq 160(%r11), %ymm2, %ymm0
+ vpsrlvq 160(%rbx), %ymm2, %ymm2
+ vpor %ymm0, %ymm2, %ymm8
+ vpxor %ymm9, %ymm3, %ymm0
+ vpermq $27, %ymm10, %ymm3
+ vpermq $114, %ymm1, %ymm9
+ vpsllvq 32(%r11), %ymm0, %ymm1
+ vpsrlvq 32(%rbx), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm0
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm2
+ vpblendd $12, %ymm7, %ymm5, %ymm4
+ vpblendd $12, %ymm5, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm2, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm2
+ vpblendd $12, %ymm10, %ymm3, %ymm4
+ vpblendd $12, %ymm3, %ymm5, %ymm11
+ vpxor %ymm5, %ymm1, %ymm1
+ vpblendd $48, %ymm5, %ymm4, %ymm4
+ vpblendd $48, %ymm7, %ymm11, %ymm11
+ vpxor %ymm3, %ymm2, %ymm2
+ vpblendd $-64, %ymm7, %ymm4, %ymm4
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm4, %ymm4
+ vpxor %ymm9, %ymm4, %ymm12
+ vpermq $30, %ymm8, %ymm4
+ vpblendd $48, %ymm6, %ymm4, %ymm4
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm4, %ymm11, %ymm11
+ vpblendd $12, %ymm3, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm4, %ymm4
+ vpblendd $48, %ymm5, %ymm13, %ymm13
+ vpblendd $-64, %ymm5, %ymm4, %ymm4
+ vpblendd $-64, %ymm3, %ymm13, %ymm13
+ vpandn %ymm13, %ymm4, %ymm4
+ vpxor %ymm10, %ymm4, %ymm4
+ vpermq $0, %ymm0, %ymm13
+ vpermq $27, %ymm1, %ymm0
+ vpermq $-115, %ymm2, %ymm1
+ vpermq $114, %ymm12, %ymm2
+ vpblendd $12, %ymm5, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm3, %ymm9
+ vpblendd $48, %ymm3, %ymm12, %ymm3
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm3, %ymm3
+ vpblendd $-64, %ymm5, %ymm9, %ymm5
+ vpandn %ymm5, %ymm3, %ymm5
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm3
+ vpxor %ymm7, %ymm5, %ymm5
+ vpxor (%r9,%r10), %ymm6, %ymm6
+ addq $32, %r10
+ decq %rbp
+ jne L_sha3_256$9
+L_sha3_256$7:
+ cmpq %rdx, %rdi
+ jnb L_sha3_256$8
+ vpxor %ymm7, %ymm7, %ymm7
+ vmovdqu %ymm7, 32(%rsp)
+ vmovdqu %ymm7, 64(%rsp)
+ vmovdqu %ymm7, 96(%rsp)
+ vmovdqu %ymm7, 128(%rsp)
+ vmovdqu %ymm7, 160(%rsp)
+ vmovdqu %ymm7, 192(%rsp)
+ vmovdqu %ymm7, 224(%rsp)
+ movq %rdi, %r9
+ shrq $3, %r9
+ movq $0, %r10
+ jmp L_sha3_256$5
+L_sha3_256$6:
+ movq (%r8,%r10,8), %r11
+ movq (%rsi,%r10,8), %rbx
+ movq %r11, 32(%rsp,%rbx,8)
+ incq %r10
+L_sha3_256$5:
+ cmpq %r9, %r10
+ jb L_sha3_256$6
+ movq (%rsi,%r10,8), %r9
+ shlq $3, %r9
+ shlq $3, %r10
+ jmp L_sha3_256$3
+L_sha3_256$4:
+ movb (%r8,%r10), %r11b
+ movb %r11b, 32(%rsp,%r9)
+ incq %r10
+ incq %r9
+L_sha3_256$3:
+ cmpq %rdi, %r10
+ jb L_sha3_256$4
+ movb %cl, 32(%rsp,%r9)
+ movq %rdx, %rcx
+ addq $-1, %rcx
+ shrq $3, %rcx
+ movq (%rsi,%rcx,8), %rcx
+ shlq $3, %rcx
+ addq $-1, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ movq 32(%rsp), %rcx
+ movq %rcx, 40(%rsp)
+ movq %rcx, 48(%rsp)
+ movq %rcx, 56(%rsp)
+ vpxor 32(%rsp), %ymm6, %ymm6
+ vpxor 64(%rsp), %ymm3, %ymm7
+ vpxor 96(%rsp), %ymm4, %ymm3
+ vpxor 128(%rsp), %ymm0, %ymm0
+ vpxor 160(%rsp), %ymm5, %ymm4
+ vpxor 192(%rsp), %ymm1, %ymm1
+ vpxor 224(%rsp), %ymm2, %ymm2
+ leaq glob_data + 3360(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3168(%rip), %rsi
+ leaq glob_data + 2976(%rip), %rdi
+ movq $24, %r8
+L_sha3_256$2:
+ vpshufd $78, %ymm3, %ymm5
+ vpxor %ymm0, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm9
+ vpxor %ymm7, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm10
+ vpermq $-109, %ymm10, %ymm8
+ vpxor %ymm3, %ymm5, %ymm5
+ vpermq $78, %ymm5, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm8, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm5, %ymm5
+ vpxor %ymm9, %ymm5, %ymm9
+ vpsrlq $63, %ymm9, %ymm5
+ vpaddq %ymm9, %ymm9, %ymm12
+ vpor %ymm5, %ymm12, %ymm12
+ vpxor %ymm11, %ymm3, %ymm3
+ vpxor %ymm11, %ymm6, %ymm5
+ vpblendd $-64, %ymm12, %ymm10, %ymm6
+ vpblendd $3, %ymm9, %ymm8, %ymm8
+ vpxor %ymm8, %ymm6, %ymm9
+ vpsllvq (%rsi), %ymm3, %ymm6
+ vpsrlvq (%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm0, %ymm0
+ vpsllvq 64(%rsi), %ymm0, %ymm6
+ vpsrlvq 64(%rdi), %ymm0, %ymm0
+ vpor %ymm6, %ymm0, %ymm0
+ vpxor %ymm9, %ymm4, %ymm4
+ vpsllvq 96(%rsi), %ymm4, %ymm6
+ vpsrlvq 96(%rdi), %ymm4, %ymm4
+ vpor %ymm6, %ymm4, %ymm10
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 128(%rsi), %ymm1, %ymm4
+ vpsrlvq 128(%rdi), %ymm1, %ymm1
+ vpor %ymm4, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpermq $-115, %ymm3, %ymm4
+ vpermq $-115, %ymm0, %ymm6
+ vpsllvq 160(%rsi), %ymm2, %ymm0
+ vpsrlvq 160(%rdi), %ymm2, %ymm2
+ vpor %ymm0, %ymm2, %ymm8
+ vpxor %ymm9, %ymm7, %ymm0
+ vpermq $27, %ymm10, %ymm7
+ vpermq $114, %ymm1, %ymm9
+ vpsllvq 32(%rsi), %ymm0, %ymm1
+ vpsrlvq 32(%rdi), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm0
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm6, %ymm2
+ vpblendd $12, %ymm6, %ymm4, %ymm3
+ vpblendd $12, %ymm4, %ymm10, %ymm11
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpblendd $48, %ymm7, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm3, %ymm3
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm2, %ymm1, %ymm1
+ vpandn %ymm11, %ymm3, %ymm2
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm4, %ymm11
+ vpxor %ymm4, %ymm1, %ymm1
+ vpblendd $48, %ymm4, %ymm3, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm11
+ vpxor %ymm7, %ymm2, %ymm2
+ vpblendd $-64, %ymm6, %ymm3, %ymm3
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm3, %ymm3
+ vpxor %ymm9, %ymm3, %ymm12
+ vpermq $30, %ymm8, %ymm3
+ vpblendd $48, %ymm5, %ymm3, %ymm3
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm3, %ymm11, %ymm11
+ vpblendd $12, %ymm7, %ymm6, %ymm3
+ vpblendd $12, %ymm6, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm3, %ymm3
+ vpblendd $48, %ymm4, %ymm13, %ymm13
+ vpblendd $-64, %ymm4, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm13, %ymm13
+ vpandn %ymm13, %ymm3, %ymm3
+ vpxor %ymm10, %ymm3, %ymm3
+ vpermq $0, %ymm0, %ymm13
+ vpermq $27, %ymm1, %ymm0
+ vpermq $-115, %ymm2, %ymm1
+ vpermq $114, %ymm12, %ymm2
+ vpblendd $12, %ymm4, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm7, %ymm9
+ vpblendd $48, %ymm7, %ymm12, %ymm7
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm7, %ymm7
+ vpblendd $-64, %ymm4, %ymm9, %ymm4
+ vpandn %ymm4, %ymm7, %ymm4
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm7
+ vpxor %ymm6, %ymm4, %ymm4
+ vpxor (%rcx,%rdx), %ymm5, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_256$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm7, 64(%rsp)
+ vmovdqu %ymm3, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm4, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ leaq glob_data + 6232(%rip), %rcx
+ movq (%rcx), %rdx
+ movq 32(%rsp,%rdx,8), %rdx
+ movq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ movq 32(%rsp,%rdx,8), %rdx
+ movq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ movq 32(%rsp,%rdx,8), %rdx
+ movq %rdx, 16(%rax)
+ movq 24(%rcx), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ ret
+ .data
+ .p2align 5
+_glob_data:
+glob_data:
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 10
+ .byte 11
+ .byte 4
+ .byte 5
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 11
+ .byte 12
+ .byte 13
+ .byte 14
+ .byte 14
+ .byte 15
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 8
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 8
+ .byte 8
+ .byte 9
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte 8
+ .byte 9
+ .byte 9
+ .byte 10
+ .byte 10
+ .byte 11
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte -1
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte -1
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte -1
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte -1
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte -1
+ .byte 7
+ .byte 8
+ .byte 9
+ .byte -1
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte -1
+ .byte 13
+ .byte 14
+ .byte 15
+ .byte -1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 7
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte -91
+ .byte -91
+ .byte -76
+ .byte -31
+ .byte 34
+ .byte 79
+ .byte 52
+ .byte 93
+ .byte 35
+ .byte 68
+ .byte 86
+ .byte -91
+ .byte -25
+ .byte 78
+ .byte -6
+ .byte 83
+ .byte 123
+ .byte -57
+ .byte 37
+ .byte 43
+ .byte 55
+ .byte 58
+ .byte -120
+ .byte 24
+ .byte -127
+ .byte 126
+ .byte 5
+ .byte -60
+ .byte -97
+ .byte -9
+ .byte -72
+ .byte -80
+ .byte -91
+ .byte 6
+ .byte -76
+ .byte 5
+ .byte 34
+ .byte 9
+ .byte 52
+ .byte 1
+ .byte 35
+ .byte 11
+ .byte 86
+ .byte 3
+ .byte -25
+ .byte 9
+ .byte -6
+ .byte 5
+ .byte 123
+ .byte 6
+ .byte 37
+ .byte 12
+ .byte 55
+ .byte 5
+ .byte -120
+ .byte 0
+ .byte -127
+ .byte 11
+ .byte 5
+ .byte 5
+ .byte -97
+ .byte 10
+ .byte -72
+ .byte 8
+ .byte 15
+ .byte 68
+ .byte 67
+ .byte -94
+ .byte 29
+ .byte -112
+ .byte 108
+ .byte -124
+ .byte 102
+ .byte -43
+ .byte -26
+ .byte 87
+ .byte -2
+ .byte 30
+ .byte -95
+ .byte -41
+ .byte -93
+ .byte -67
+ .byte 106
+ .byte -95
+ .byte 63
+ .byte -43
+ .byte -65
+ .byte 81
+ .byte -71
+ .byte -96
+ .byte -41
+ .byte 28
+ .byte -90
+ .byte -100
+ .byte -48
+ .byte 121
+ .byte 15
+ .byte 7
+ .byte 67
+ .byte 9
+ .byte 29
+ .byte 9
+ .byte 108
+ .byte 0
+ .byte 102
+ .byte 3
+ .byte -26
+ .byte 5
+ .byte -2
+ .byte 4
+ .byte -95
+ .byte 4
+ .byte -93
+ .byte 4
+ .byte 106
+ .byte 3
+ .byte 63
+ .byte 8
+ .byte -65
+ .byte 4
+ .byte -71
+ .byte 5
+ .byte -41
+ .byte 7
+ .byte -90
+ .byte 10
+ .byte -48
+ .byte 9
+ .byte -5
+ .byte 69
+ .byte 92
+ .byte 94
+ .byte 41
+ .byte -17
+ .byte 65
+ .byte -66
+ .byte -43
+ .byte 49
+ .byte -28
+ .byte 113
+ .byte 64
+ .byte -55
+ .byte -114
+ .byte -53
+ .byte -73
+ .byte -72
+ .byte -9
+ .byte 117
+ .byte -115
+ .byte -36
+ .byte -106
+ .byte 110
+ .byte -61
+ .byte 34
+ .byte 15
+ .byte 62
+ .byte 90
+ .byte 110
+ .byte 85
+ .byte -78
+ .byte -5
+ .byte 4
+ .byte 92
+ .byte 10
+ .byte 41
+ .byte 4
+ .byte 65
+ .byte 11
+ .byte -43
+ .byte 2
+ .byte -28
+ .byte 5
+ .byte 64
+ .byte 9
+ .byte -114
+ .byte 1
+ .byte -73
+ .byte 3
+ .byte -9
+ .byte 0
+ .byte -115
+ .byte 5
+ .byte -106
+ .byte 12
+ .byte -61
+ .byte 9
+ .byte 15
+ .byte 1
+ .byte 90
+ .byte 0
+ .byte 85
+ .byte 3
+ .byte 35
+ .byte 63
+ .byte 35
+ .byte 63
+ .byte -51
+ .byte -105
+ .byte -51
+ .byte -105
+ .byte 102
+ .byte -35
+ .byte 102
+ .byte -35
+ .byte 6
+ .byte -72
+ .byte 6
+ .byte -72
+ .byte -95
+ .byte -35
+ .byte -95
+ .byte -35
+ .byte 37
+ .byte 41
+ .byte 37
+ .byte 41
+ .byte 8
+ .byte -95
+ .byte 8
+ .byte -95
+ .byte -87
+ .byte 109
+ .byte -87
+ .byte 109
+ .byte 35
+ .byte 6
+ .byte 35
+ .byte 6
+ .byte -51
+ .byte 0
+ .byte -51
+ .byte 0
+ .byte 102
+ .byte 11
+ .byte 102
+ .byte 11
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte -95
+ .byte 10
+ .byte -95
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 8
+ .byte 9
+ .byte 8
+ .byte 9
+ .byte -87
+ .byte 2
+ .byte -87
+ .byte 2
+ .byte 69
+ .byte -122
+ .byte 69
+ .byte -122
+ .byte 69
+ .byte -122
+ .byte 69
+ .byte -122
+ .byte -62
+ .byte 43
+ .byte -62
+ .byte 43
+ .byte -62
+ .byte 43
+ .byte -62
+ .byte 43
+ .byte -78
+ .byte -6
+ .byte -78
+ .byte -6
+ .byte -78
+ .byte -6
+ .byte -78
+ .byte -6
+ .byte 63
+ .byte -42
+ .byte 63
+ .byte -42
+ .byte 63
+ .byte -42
+ .byte 63
+ .byte -42
+ .byte 69
+ .byte 7
+ .byte 69
+ .byte 7
+ .byte 69
+ .byte 7
+ .byte 69
+ .byte 7
+ .byte -62
+ .byte 5
+ .byte -62
+ .byte 5
+ .byte -62
+ .byte 5
+ .byte -62
+ .byte 5
+ .byte -78
+ .byte 4
+ .byte -78
+ .byte 4
+ .byte -78
+ .byte 4
+ .byte -78
+ .byte 4
+ .byte 63
+ .byte 9
+ .byte 63
+ .byte 9
+ .byte 63
+ .byte 9
+ .byte 63
+ .byte 9
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -19
+ .byte -4
+ .byte -19
+ .byte -4
+ .byte -19
+ .byte 5
+ .byte -19
+ .byte 5
+ .byte 75
+ .byte 49
+ .byte -72
+ .byte -77
+ .byte -92
+ .byte -73
+ .byte 125
+ .byte -79
+ .byte -94
+ .byte -50
+ .byte 54
+ .byte 73
+ .byte -109
+ .byte -119
+ .byte -9
+ .byte 126
+ .byte -116
+ .byte -22
+ .byte -52
+ .byte -91
+ .byte -21
+ .byte 17
+ .byte -74
+ .byte -52
+ .byte -104
+ .byte 84
+ .byte -102
+ .byte 55
+ .byte -74
+ .byte -53
+ .byte 83
+ .byte -44
+ .byte 75
+ .byte 0
+ .byte -72
+ .byte 11
+ .byte -92
+ .byte 11
+ .byte 125
+ .byte 10
+ .byte -94
+ .byte 8
+ .byte 54
+ .byte 7
+ .byte -109
+ .byte 0
+ .byte -9
+ .byte 9
+ .byte -116
+ .byte 6
+ .byte -52
+ .byte 1
+ .byte -21
+ .byte 0
+ .byte -74
+ .byte 10
+ .byte -104
+ .byte 12
+ .byte -102
+ .byte 9
+ .byte -74
+ .byte 9
+ .byte 83
+ .byte 11
+ .byte -100
+ .byte 20
+ .byte 95
+ .byte 56
+ .byte 104
+ .byte -69
+ .byte 54
+ .byte 72
+ .byte 90
+ .byte 112
+ .byte 9
+ .byte -114
+ .byte 122
+ .byte -42
+ .byte -10
+ .byte -126
+ .byte -37
+ .byte -25
+ .byte 35
+ .byte 58
+ .byte 80
+ .byte -4
+ .byte 91
+ .byte 108
+ .byte -13
+ .byte -81
+ .byte -29
+ .byte 125
+ .byte -42
+ .byte 44
+ .byte 79
+ .byte 1
+ .byte -100
+ .byte 0
+ .byte 95
+ .byte 11
+ .byte 104
+ .byte 3
+ .byte 54
+ .byte 6
+ .byte 90
+ .byte 2
+ .byte 9
+ .byte 3
+ .byte 122
+ .byte 8
+ .byte -10
+ .byte 0
+ .byte -37
+ .byte 6
+ .byte 35
+ .byte 1
+ .byte 80
+ .byte 12
+ .byte 91
+ .byte 11
+ .byte -13
+ .byte 6
+ .byte -29
+ .byte 4
+ .byte -42
+ .byte 10
+ .byte 79
+ .byte 4
+ .byte 68
+ .byte -109
+ .byte -125
+ .byte 101
+ .byte -118
+ .byte 2
+ .byte 82
+ .byte -36
+ .byte -102
+ .byte 48
+ .byte 64
+ .byte -63
+ .byte 8
+ .byte -104
+ .byte -3
+ .byte 49
+ .byte 8
+ .byte -98
+ .byte 26
+ .byte -81
+ .byte 46
+ .byte -79
+ .byte 13
+ .byte 92
+ .byte 10
+ .byte -121
+ .byte 40
+ .byte -6
+ .byte 117
+ .byte 25
+ .byte 58
+ .byte 22
+ .byte 68
+ .byte 7
+ .byte -125
+ .byte 12
+ .byte -118
+ .byte 4
+ .byte 82
+ .byte 6
+ .byte -102
+ .byte 2
+ .byte 64
+ .byte 1
+ .byte 8
+ .byte 0
+ .byte -3
+ .byte 10
+ .byte 8
+ .byte 6
+ .byte 26
+ .byte 1
+ .byte 46
+ .byte 7
+ .byte 13
+ .byte 5
+ .byte 10
+ .byte 9
+ .byte 40
+ .byte 2
+ .byte 117
+ .byte 10
+ .byte 58
+ .byte 8
+ .byte -126
+ .byte 102
+ .byte -126
+ .byte 102
+ .byte 66
+ .byte -84
+ .byte 66
+ .byte -84
+ .byte 79
+ .byte 4
+ .byte 79
+ .byte 4
+ .byte 61
+ .byte -22
+ .byte 61
+ .byte -22
+ .byte -126
+ .byte 113
+ .byte -126
+ .byte 113
+ .byte -7
+ .byte 102
+ .byte -7
+ .byte 102
+ .byte 45
+ .byte -68
+ .byte 45
+ .byte -68
+ .byte -60
+ .byte 22
+ .byte -60
+ .byte 22
+ .byte -126
+ .byte 0
+ .byte -126
+ .byte 0
+ .byte 66
+ .byte 6
+ .byte 66
+ .byte 6
+ .byte 79
+ .byte 7
+ .byte 79
+ .byte 7
+ .byte 61
+ .byte 3
+ .byte 61
+ .byte 3
+ .byte -126
+ .byte 11
+ .byte -126
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte 45
+ .byte 5
+ .byte 45
+ .byte 5
+ .byte -60
+ .byte 10
+ .byte -60
+ .byte 10
+ .byte 75
+ .byte 61
+ .byte 75
+ .byte 61
+ .byte 75
+ .byte 61
+ .byte 75
+ .byte 61
+ .byte -40
+ .byte 14
+ .byte -40
+ .byte 14
+ .byte -40
+ .byte 14
+ .byte -40
+ .byte 14
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -85
+ .byte 81
+ .byte -85
+ .byte 81
+ .byte -85
+ .byte 81
+ .byte -85
+ .byte 81
+ .byte 75
+ .byte 12
+ .byte 75
+ .byte 12
+ .byte 75
+ .byte 12
+ .byte 75
+ .byte 12
+ .byte -40
+ .byte 6
+ .byte -40
+ .byte 6
+ .byte -40
+ .byte 6
+ .byte -40
+ .byte 6
+ .byte -109
+ .byte 10
+ .byte -109
+ .byte 10
+ .byte -109
+ .byte 10
+ .byte -109
+ .byte 10
+ .byte -85
+ .byte 0
+ .byte -85
+ .byte 0
+ .byte -85
+ .byte 0
+ .byte -85
+ .byte 0
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 103
+ .byte -58
+ .byte 103
+ .byte -58
+ .byte 103
+ .byte 1
+ .byte 103
+ .byte 1
+ .byte -116
+ .byte -21
+ .byte -116
+ .byte -21
+ .byte -116
+ .byte 7
+ .byte -116
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 11
+ .byte 123
+ .byte 11
+ .byte 123
+ .byte 11
+ .byte 10
+ .byte 11
+ .byte 10
+ .byte -102
+ .byte 57
+ .byte -102
+ .byte 57
+ .byte -102
+ .byte 11
+ .byte -102
+ .byte 11
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte 86
+ .byte -82
+ .byte 86
+ .byte -82
+ .byte 86
+ .byte -82
+ .byte 86
+ .byte -82
+ .byte 110
+ .byte 108
+ .byte 110
+ .byte 108
+ .byte 110
+ .byte 108
+ .byte 110
+ .byte 108
+ .byte 41
+ .byte -15
+ .byte 41
+ .byte -15
+ .byte 41
+ .byte -15
+ .byte 41
+ .byte -15
+ .byte -74
+ .byte -62
+ .byte -74
+ .byte -62
+ .byte -74
+ .byte -62
+ .byte -74
+ .byte -62
+ .byte 86
+ .byte 12
+ .byte 86
+ .byte 12
+ .byte 86
+ .byte 12
+ .byte 86
+ .byte 12
+ .byte 110
+ .byte 2
+ .byte 110
+ .byte 2
+ .byte 110
+ .byte 2
+ .byte 110
+ .byte 2
+ .byte 41
+ .byte 6
+ .byte 41
+ .byte 6
+ .byte 41
+ .byte 6
+ .byte 41
+ .byte 6
+ .byte -74
+ .byte 0
+ .byte -74
+ .byte 0
+ .byte -74
+ .byte 0
+ .byte -74
+ .byte 0
+ .byte 61
+ .byte -23
+ .byte 61
+ .byte -23
+ .byte -44
+ .byte 67
+ .byte -44
+ .byte 67
+ .byte 8
+ .byte -103
+ .byte 8
+ .byte -103
+ .byte 127
+ .byte -114
+ .byte 127
+ .byte -114
+ .byte -60
+ .byte 21
+ .byte -60
+ .byte 21
+ .byte -78
+ .byte -5
+ .byte -78
+ .byte -5
+ .byte -65
+ .byte 83
+ .byte -65
+ .byte 83
+ .byte 127
+ .byte -103
+ .byte 127
+ .byte -103
+ .byte 61
+ .byte 2
+ .byte 61
+ .byte 2
+ .byte -44
+ .byte 7
+ .byte -44
+ .byte 7
+ .byte 8
+ .byte 1
+ .byte 8
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte -60
+ .byte 9
+ .byte -60
+ .byte 9
+ .byte -78
+ .byte 5
+ .byte -78
+ .byte 5
+ .byte -65
+ .byte 6
+ .byte -65
+ .byte 6
+ .byte 127
+ .byte 12
+ .byte 127
+ .byte 12
+ .byte -57
+ .byte -23
+ .byte -116
+ .byte -26
+ .byte -39
+ .byte 5
+ .byte -9
+ .byte 120
+ .byte -12
+ .byte -93
+ .byte -45
+ .byte 78
+ .byte -25
+ .byte 80
+ .byte -7
+ .byte 97
+ .byte 4
+ .byte -50
+ .byte -7
+ .byte 103
+ .byte -63
+ .byte 62
+ .byte 103
+ .byte -49
+ .byte -81
+ .byte 35
+ .byte 119
+ .byte -3
+ .byte 126
+ .byte -102
+ .byte -67
+ .byte 108
+ .byte -57
+ .byte 4
+ .byte -116
+ .byte 2
+ .byte -39
+ .byte 10
+ .byte -9
+ .byte 3
+ .byte -12
+ .byte 7
+ .byte -45
+ .byte 5
+ .byte -25
+ .byte 11
+ .byte -7
+ .byte 6
+ .byte 4
+ .byte 2
+ .byte -7
+ .byte 12
+ .byte -63
+ .byte 11
+ .byte 103
+ .byte 10
+ .byte -81
+ .byte 6
+ .byte 119
+ .byte 8
+ .byte 126
+ .byte 0
+ .byte -67
+ .byte 5
+ .byte -78
+ .byte -2
+ .byte 43
+ .byte -45
+ .byte 30
+ .byte -126
+ .byte 14
+ .byte 80
+ .byte -90
+ .byte -109
+ .byte -79
+ .byte 3
+ .byte -34
+ .byte -59
+ .byte 38
+ .byte 24
+ .byte 11
+ .byte 125
+ .byte -121
+ .byte 41
+ .byte -8
+ .byte 113
+ .byte -89
+ .byte -113
+ .byte -53
+ .byte -73
+ .byte -103
+ .byte 68
+ .byte -94
+ .byte -57
+ .byte 101
+ .byte -21
+ .byte -78
+ .byte 8
+ .byte 43
+ .byte 2
+ .byte 30
+ .byte 8
+ .byte 14
+ .byte 6
+ .byte -90
+ .byte 1
+ .byte -79
+ .byte 0
+ .byte -34
+ .byte 11
+ .byte 38
+ .byte 6
+ .byte 11
+ .byte 12
+ .byte -121
+ .byte 4
+ .byte -8
+ .byte 9
+ .byte -89
+ .byte 10
+ .byte -53
+ .byte 6
+ .byte -103
+ .byte 9
+ .byte -94
+ .byte 1
+ .byte 101
+ .byte 12
+ .byte -82
+ .byte 43
+ .byte 75
+ .byte 52
+ .byte 103
+ .byte -56
+ .byte 105
+ .byte -85
+ .byte 75
+ .byte 51
+ .byte 22
+ .byte -18
+ .byte 53
+ .byte 90
+ .byte 117
+ .byte 21
+ .byte 10
+ .byte -127
+ .byte 110
+ .byte 118
+ .byte -53
+ .byte -74
+ .byte 95
+ .byte 49
+ .byte -124
+ .byte 78
+ .byte 93
+ .byte 72
+ .byte 73
+ .byte 76
+ .byte -74
+ .byte -50
+ .byte -82
+ .byte 1
+ .byte 75
+ .byte 3
+ .byte 103
+ .byte 3
+ .byte 105
+ .byte 0
+ .byte 75
+ .byte 2
+ .byte 22
+ .byte 12
+ .byte 53
+ .byte 11
+ .byte 117
+ .byte 6
+ .byte 10
+ .byte 3
+ .byte 110
+ .byte 12
+ .byte -53
+ .byte 5
+ .byte 95
+ .byte 4
+ .byte -124
+ .byte 2
+ .byte 93
+ .byte 1
+ .byte 73
+ .byte 1
+ .byte -74
+ .byte 12
+ .byte 20
+ .byte 3
+ .byte 20
+ .byte 3
+ .byte 20
+ .byte 7
+ .byte 20
+ .byte 7
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -62
+ .byte 41
+ .byte -62
+ .byte 41
+ .byte -62
+ .byte 41
+ .byte -62
+ .byte 41
+ .byte 79
+ .byte 5
+ .byte 79
+ .byte 5
+ .byte 79
+ .byte 5
+ .byte 79
+ .byte 5
+ .byte 63
+ .byte -44
+ .byte 63
+ .byte -44
+ .byte 63
+ .byte -44
+ .byte 63
+ .byte -44
+ .byte -68
+ .byte 121
+ .byte -68
+ .byte 121
+ .byte -68
+ .byte 121
+ .byte -68
+ .byte 121
+ .byte -62
+ .byte 3
+ .byte -62
+ .byte 3
+ .byte -62
+ .byte 3
+ .byte -62
+ .byte 3
+ .byte 79
+ .byte 8
+ .byte 79
+ .byte 8
+ .byte 79
+ .byte 8
+ .byte 79
+ .byte 8
+ .byte 63
+ .byte 7
+ .byte 63
+ .byte 7
+ .byte 63
+ .byte 7
+ .byte 63
+ .byte 7
+ .byte -68
+ .byte 5
+ .byte -68
+ .byte 5
+ .byte -68
+ .byte 5
+ .byte -68
+ .byte 5
+ .byte 88
+ .byte -110
+ .byte 88
+ .byte -110
+ .byte -7
+ .byte 94
+ .byte -7
+ .byte 94
+ .byte -36
+ .byte -42
+ .byte -36
+ .byte -42
+ .byte 96
+ .byte 34
+ .byte 96
+ .byte 34
+ .byte -5
+ .byte 71
+ .byte -5
+ .byte 71
+ .byte -101
+ .byte 34
+ .byte -101
+ .byte 34
+ .byte 52
+ .byte 104
+ .byte 52
+ .byte 104
+ .byte -34
+ .byte -64
+ .byte -34
+ .byte -64
+ .byte 88
+ .byte 10
+ .byte 88
+ .byte 10
+ .byte -7
+ .byte 3
+ .byte -7
+ .byte 3
+ .byte -36
+ .byte 2
+ .byte -36
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte -5
+ .byte 6
+ .byte -5
+ .byte 6
+ .byte -101
+ .byte 1
+ .byte -101
+ .byte 1
+ .byte 52
+ .byte 12
+ .byte 52
+ .byte 12
+ .byte -34
+ .byte 6
+ .byte -34
+ .byte 6
+ .byte -84
+ .byte 77
+ .byte -89
+ .byte -111
+ .byte -14
+ .byte -63
+ .byte 62
+ .byte -35
+ .byte 107
+ .byte -111
+ .byte 116
+ .byte 35
+ .byte 10
+ .byte -118
+ .byte 74
+ .byte 71
+ .byte 115
+ .byte 52
+ .byte -63
+ .byte 54
+ .byte 29
+ .byte -114
+ .byte 44
+ .byte -50
+ .byte -64
+ .byte 65
+ .byte -40
+ .byte 16
+ .byte -91
+ .byte -95
+ .byte 6
+ .byte -70
+ .byte -84
+ .byte 9
+ .byte -89
+ .byte 12
+ .byte -14
+ .byte 11
+ .byte 62
+ .byte 3
+ .byte 107
+ .byte 0
+ .byte 116
+ .byte 7
+ .byte 10
+ .byte 12
+ .byte 74
+ .byte 9
+ .byte 115
+ .byte 11
+ .byte -63
+ .byte 3
+ .byte 29
+ .byte 7
+ .byte 44
+ .byte 10
+ .byte -64
+ .byte 1
+ .byte -40
+ .byte 8
+ .byte -91
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 49
+ .byte -122
+ .byte 91
+ .byte 99
+ .byte 42
+ .byte -29
+ .byte 72
+ .byte 95
+ .byte 66
+ .byte -82
+ .byte -62
+ .byte 42
+ .byte -105
+ .byte 94
+ .byte 94
+ .byte 66
+ .byte 96
+ .byte 40
+ .byte 3
+ .byte -31
+ .byte 27
+ .byte -88
+ .byte -101
+ .byte 42
+ .byte -107
+ .byte 123
+ .byte -28
+ .byte 111
+ .byte -66
+ .byte 93
+ .byte -14
+ .byte -69
+ .byte 49
+ .byte 3
+ .byte 91
+ .byte 2
+ .byte 42
+ .byte 5
+ .byte 72
+ .byte 7
+ .byte 66
+ .byte 8
+ .byte -62
+ .byte 4
+ .byte -105
+ .byte 9
+ .byte 94
+ .byte 8
+ .byte 96
+ .byte 8
+ .byte 3
+ .byte 8
+ .byte 27
+ .byte 7
+ .byte -101
+ .byte 9
+ .byte -107
+ .byte 12
+ .byte -28
+ .byte 3
+ .byte -66
+ .byte 3
+ .byte -14
+ .byte 5
+ .byte 73
+ .byte 79
+ .byte 98
+ .byte 8
+ .byte -4
+ .byte 59
+ .byte -128
+ .byte -127
+ .byte 121
+ .byte -25
+ .byte -54
+ .byte -59
+ .byte -36
+ .byte -44
+ .byte -122
+ .byte 56
+ .byte 7
+ .byte -84
+ .byte 26
+ .byte -79
+ .byte -85
+ .byte 90
+ .byte -34
+ .byte -69
+ .byte -51
+ .byte -94
+ .byte -33
+ .byte -80
+ .byte 77
+ .byte 30
+ .byte 92
+ .byte 90
+ .byte 73
+ .byte 4
+ .byte 98
+ .byte 2
+ .byte -4
+ .byte 7
+ .byte -128
+ .byte 1
+ .byte 121
+ .byte 12
+ .byte -54
+ .byte 7
+ .byte -36
+ .byte 0
+ .byte -122
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 26
+ .byte 3
+ .byte -85
+ .byte 9
+ .byte -34
+ .byte 1
+ .byte -51
+ .byte 11
+ .byte -33
+ .byte 3
+ .byte 77
+ .byte 7
+ .byte 92
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 7
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 15
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte 13
+ .byte 14
+ .byte 23
+ .byte 16
+ .byte 17
+ .byte 18
+ .byte 19
+ .byte 20
+ .byte 21
+ .byte 22
+ .byte 31
+ .byte 24
+ .byte 25
+ .byte 26
+ .byte 27
+ .byte 28
+ .byte 29
+ .byte 30
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 0
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte 13
+ .byte 14
+ .byte 15
+ .byte 8
+ .byte 17
+ .byte 18
+ .byte 19
+ .byte 20
+ .byte 21
+ .byte 22
+ .byte 23
+ .byte 16
+ .byte 25
+ .byte 26
+ .byte 27
+ .byte 28
+ .byte 29
+ .byte 30
+ .byte 31
+ .byte 24
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 61
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 46
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 28
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 23
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 36
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 37
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 54
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 56
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 62
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 49
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 39
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 44
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 20
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 43
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 50
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 18
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 36
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 41
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 62
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 28
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 27
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 45
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 56
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 39
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 61
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 55
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 20
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 44
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 43
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 1
+ .byte 4
+ .byte 5
+ .byte 8
+ .byte 9
+ .byte 12
+ .byte 13
+ .byte 2
+ .byte 3
+ .byte 6
+ .byte 7
+ .byte 10
+ .byte 11
+ .byte 14
+ .byte 15
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 24
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 18
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 23
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 16
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 22
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 26
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 20
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 17
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 27
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -8
+ .byte 31
+ .byte -32
+ .byte 127
+ .byte 4
+ .byte 52
+ .byte 1
+ .byte 13
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte 15
+ .byte 0
+ .byte -16
+ .byte 0
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 3
+ .byte 0
+ .byte 16
+ .byte 15
+ .byte 0
+ .byte 1
+ .byte 16
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 1
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -91
+ .byte 6
+ .byte 15
+ .byte 7
+ .byte -76
+ .byte 5
+ .byte 67
+ .byte 9
+ .byte 34
+ .byte 9
+ .byte 29
+ .byte 9
+ .byte 52
+ .byte 1
+ .byte 108
+ .byte 0
+ .byte 35
+ .byte 11
+ .byte 102
+ .byte 3
+ .byte 86
+ .byte 3
+ .byte -26
+ .byte 5
+ .byte -25
+ .byte 9
+ .byte -2
+ .byte 4
+ .byte -6
+ .byte 5
+ .byte -95
+ .byte 4
+ .byte 123
+ .byte 6
+ .byte -93
+ .byte 4
+ .byte 37
+ .byte 12
+ .byte 106
+ .byte 3
+ .byte 55
+ .byte 5
+ .byte 63
+ .byte 8
+ .byte -120
+ .byte 0
+ .byte -65
+ .byte 4
+ .byte -127
+ .byte 11
+ .byte -71
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte -41
+ .byte 7
+ .byte -97
+ .byte 10
+ .byte -90
+ .byte 10
+ .byte -72
+ .byte 8
+ .byte -48
+ .byte 9
+ .byte 75
+ .byte 0
+ .byte -100
+ .byte 0
+ .byte -72
+ .byte 11
+ .byte 95
+ .byte 11
+ .byte -92
+ .byte 11
+ .byte 104
+ .byte 3
+ .byte 125
+ .byte 10
+ .byte 54
+ .byte 6
+ .byte -94
+ .byte 8
+ .byte 90
+ .byte 2
+ .byte 54
+ .byte 7
+ .byte 9
+ .byte 3
+ .byte -109
+ .byte 0
+ .byte 122
+ .byte 8
+ .byte -9
+ .byte 9
+ .byte -10
+ .byte 0
+ .byte -116
+ .byte 6
+ .byte -37
+ .byte 6
+ .byte -52
+ .byte 1
+ .byte 35
+ .byte 1
+ .byte -21
+ .byte 0
+ .byte 80
+ .byte 12
+ .byte -74
+ .byte 10
+ .byte 91
+ .byte 11
+ .byte -104
+ .byte 12
+ .byte -13
+ .byte 6
+ .byte -102
+ .byte 9
+ .byte -29
+ .byte 4
+ .byte -74
+ .byte 9
+ .byte -42
+ .byte 10
+ .byte 83
+ .byte 11
+ .byte 79
+ .byte 4
+ .byte -5
+ .byte 4
+ .byte 92
+ .byte 10
+ .byte 41
+ .byte 4
+ .byte 65
+ .byte 11
+ .byte -43
+ .byte 2
+ .byte -28
+ .byte 5
+ .byte 64
+ .byte 9
+ .byte -114
+ .byte 1
+ .byte -73
+ .byte 3
+ .byte -9
+ .byte 0
+ .byte -115
+ .byte 5
+ .byte -106
+ .byte 12
+ .byte -61
+ .byte 9
+ .byte 15
+ .byte 1
+ .byte 90
+ .byte 0
+ .byte 85
+ .byte 3
+ .byte 68
+ .byte 7
+ .byte -125
+ .byte 12
+ .byte -118
+ .byte 4
+ .byte 82
+ .byte 6
+ .byte -102
+ .byte 2
+ .byte 64
+ .byte 1
+ .byte 8
+ .byte 0
+ .byte -3
+ .byte 10
+ .byte 8
+ .byte 6
+ .byte 26
+ .byte 1
+ .byte 46
+ .byte 7
+ .byte 13
+ .byte 5
+ .byte 10
+ .byte 9
+ .byte 40
+ .byte 2
+ .byte 117
+ .byte 10
+ .byte 58
+ .byte 8
+ .byte 35
+ .byte 6
+ .byte -51
+ .byte 0
+ .byte 102
+ .byte 11
+ .byte 6
+ .byte 6
+ .byte -95
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 8
+ .byte 9
+ .byte -87
+ .byte 2
+ .byte -126
+ .byte 0
+ .byte 66
+ .byte 6
+ .byte 79
+ .byte 7
+ .byte 61
+ .byte 3
+ .byte -126
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte 45
+ .byte 5
+ .byte -60
+ .byte 10
+ .byte 69
+ .byte 7
+ .byte -62
+ .byte 5
+ .byte -78
+ .byte 4
+ .byte 63
+ .byte 9
+ .byte 75
+ .byte 12
+ .byte -40
+ .byte 6
+ .byte -109
+ .byte 10
+ .byte -85
+ .byte 0
+ .byte 55
+ .byte 12
+ .byte -30
+ .byte 11
+ .byte 115
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte -19
+ .byte 5
+ .byte 103
+ .byte 1
+ .byte -10
+ .byte 2
+ .byte -95
+ .byte 5
+ .byte -19
+ .byte 8
+ .byte 11
+ .byte 10
+ .byte -102
+ .byte 11
+ .byte 20
+ .byte 7
+ .byte -43
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte 31
+ .byte 1
+ .byte -54
+ .byte 0
+ .byte 86
+ .byte 12
+ .byte 110
+ .byte 2
+ .byte 41
+ .byte 6
+ .byte -74
+ .byte 0
+ .byte -62
+ .byte 3
+ .byte 79
+ .byte 8
+ .byte 63
+ .byte 7
+ .byte -68
+ .byte 5
+ .byte 61
+ .byte 2
+ .byte -44
+ .byte 7
+ .byte 8
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte -60
+ .byte 9
+ .byte -78
+ .byte 5
+ .byte -65
+ .byte 6
+ .byte 127
+ .byte 12
+ .byte 88
+ .byte 10
+ .byte -7
+ .byte 3
+ .byte -36
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte -5
+ .byte 6
+ .byte -101
+ .byte 1
+ .byte 52
+ .byte 12
+ .byte -34
+ .byte 6
+ .byte -57
+ .byte 4
+ .byte -116
+ .byte 2
+ .byte -39
+ .byte 10
+ .byte -9
+ .byte 3
+ .byte -12
+ .byte 7
+ .byte -45
+ .byte 5
+ .byte -25
+ .byte 11
+ .byte -7
+ .byte 6
+ .byte 4
+ .byte 2
+ .byte -7
+ .byte 12
+ .byte -63
+ .byte 11
+ .byte 103
+ .byte 10
+ .byte -81
+ .byte 6
+ .byte 119
+ .byte 8
+ .byte 126
+ .byte 0
+ .byte -67
+ .byte 5
+ .byte -84
+ .byte 9
+ .byte -89
+ .byte 12
+ .byte -14
+ .byte 11
+ .byte 62
+ .byte 3
+ .byte 107
+ .byte 0
+ .byte 116
+ .byte 7
+ .byte 10
+ .byte 12
+ .byte 74
+ .byte 9
+ .byte 115
+ .byte 11
+ .byte -63
+ .byte 3
+ .byte 29
+ .byte 7
+ .byte 44
+ .byte 10
+ .byte -64
+ .byte 1
+ .byte -40
+ .byte 8
+ .byte -91
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -78
+ .byte 8
+ .byte -82
+ .byte 1
+ .byte 43
+ .byte 2
+ .byte 75
+ .byte 3
+ .byte 30
+ .byte 8
+ .byte 103
+ .byte 3
+ .byte 14
+ .byte 6
+ .byte 105
+ .byte 0
+ .byte -90
+ .byte 1
+ .byte 75
+ .byte 2
+ .byte -79
+ .byte 0
+ .byte 22
+ .byte 12
+ .byte -34
+ .byte 11
+ .byte 53
+ .byte 11
+ .byte 38
+ .byte 6
+ .byte 117
+ .byte 6
+ .byte 11
+ .byte 12
+ .byte 10
+ .byte 3
+ .byte -121
+ .byte 4
+ .byte 110
+ .byte 12
+ .byte -8
+ .byte 9
+ .byte -53
+ .byte 5
+ .byte -89
+ .byte 10
+ .byte 95
+ .byte 4
+ .byte -53
+ .byte 6
+ .byte -124
+ .byte 2
+ .byte -103
+ .byte 9
+ .byte 93
+ .byte 1
+ .byte -94
+ .byte 1
+ .byte 73
+ .byte 1
+ .byte 101
+ .byte 12
+ .byte -74
+ .byte 12
+ .byte 49
+ .byte 3
+ .byte 73
+ .byte 4
+ .byte 91
+ .byte 2
+ .byte 98
+ .byte 2
+ .byte 42
+ .byte 5
+ .byte -4
+ .byte 7
+ .byte 72
+ .byte 7
+ .byte -128
+ .byte 1
+ .byte 66
+ .byte 8
+ .byte 121
+ .byte 12
+ .byte -62
+ .byte 4
+ .byte -54
+ .byte 7
+ .byte -105
+ .byte 9
+ .byte -36
+ .byte 0
+ .byte 94
+ .byte 8
+ .byte -122
+ .byte 6
+ .byte 96
+ .byte 8
+ .byte 7
+ .byte 7
+ .byte 3
+ .byte 8
+ .byte 26
+ .byte 3
+ .byte 27
+ .byte 7
+ .byte -85
+ .byte 9
+ .byte -101
+ .byte 9
+ .byte -34
+ .byte 1
+ .byte -107
+ .byte 12
+ .byte -51
+ .byte 11
+ .byte -28
+ .byte 3
+ .byte -33
+ .byte 3
+ .byte -66
+ .byte 3
+ .byte 77
+ .byte 7
+ .byte -14
+ .byte 5
+ .byte 92
+ .byte 6
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
diff --git a/src/kem/kyber/libjade_kyber512_ref/api.c b/src/kem/kyber/libjade_kyber512_ref/api.c
new file mode 100644
index 000000000..7b11f7309
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber512_ref/api.c
@@ -0,0 +1,19 @@
+#include
+#include "api.h"
+
+int libjade_kyber512_ref_keypair(uint8_t *public_key, uint8_t *secret_key) {
+ uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES];
+ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2);
+ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2);
+ return jade_kem_kyber_kyber512_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins);
+}
+
+int libjade_kyber512_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+ uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES];
+ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES);
+ return jade_kem_kyber_kyber512_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
+}
+
+int libjade_kyber512_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+ return jade_kem_kyber_kyber512_amd64_ref_dec(shared_secret, ciphertext, secret_key);
+}
diff --git a/src/kem/kyber/libjade_kyber512_ref/api.h b/src/kem/kyber/libjade_kyber512_ref/api.h
new file mode 100644
index 000000000..fcce52b89
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber512_ref/api.h
@@ -0,0 +1,45 @@
+#ifndef JADE_KEM_kyber_kyber512_amd64_ref_API_H
+#define JADE_KEM_kyber_kyber512_amd64_ref_API_H
+
+#include
+
+#define JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES 64
+#define JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES 32
+
+int jade_kem_kyber_kyber512_amd64_ref_keypair_derand(
+ uint8_t *public_key,
+ uint8_t *secret_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber512_ref_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+);
+
+int jade_kem_kyber_kyber512_amd64_ref_enc_derand(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber512_ref_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+);
+
+int jade_kem_kyber_kyber512_amd64_ref_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+int libjade_kyber512_ref_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+#endif
diff --git a/src/kem/kyber/libjade_kyber512_ref/kem.S b/src/kem/kyber/libjade_kyber512_ref/kem.S
new file mode 100644
index 000000000..ba95209c6
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber512_ref/kem.S
@@ -0,0 +1,16334 @@
+ .att_syntax
+ .text
+ .p2align 5
+ .globl _jade_kem_kyber_kyber512_amd64_ref_dec
+ .globl jade_kem_kyber_kyber512_amd64_ref_dec
+ .globl _jade_kem_kyber_kyber512_amd64_ref_enc
+ .globl jade_kem_kyber_kyber512_amd64_ref_enc
+ .globl _jade_kem_kyber_kyber512_amd64_ref_enc_derand
+ .globl jade_kem_kyber_kyber512_amd64_ref_enc_derand
+ .globl _jade_kem_kyber_kyber512_amd64_ref_keypair
+ .globl jade_kem_kyber_kyber512_amd64_ref_keypair
+ .globl _jade_kem_kyber_kyber512_amd64_ref_keypair_derand
+ .globl jade_kem_kyber_kyber512_amd64_ref_keypair_derand
+_jade_kem_kyber_kyber512_amd64_ref_dec:
+jade_kem_kyber_kyber512_amd64_ref_dec:
+ movq %rsp, %rax
+ leaq -9632(%rsp), %rsp
+ andq $-8, %rsp
+ movq %rax, 9624(%rsp)
+ movq %r14, 9584(%rsp)
+ movq %r13, 9592(%rsp)
+ movq %r12, 9600(%rsp)
+ movq %rbp, 9608(%rsp)
+ movq %rbx, 9616(%rsp)
+ movq %rdi, (%rsp)
+ movq %rsi, 8(%rsp)
+ leaq 88(%rsp), %rax
+ movq $0, %rcx
+ movq $0, %rdi
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$124
+Ljade_kem_kyber_kyber512_amd64_ref_dec$125:
+ movzbl (%rsi,%rdi), %r10d
+ incq %rdi
+ movzbl (%rsi,%rdi), %r11d
+ incq %rdi
+ movzbl (%rsi,%rdi), %r8d
+ incq %rdi
+ movzbl (%rsi,%rdi), %r9d
+ incq %rdi
+ movzbl (%rsi,%rdi), %ebx
+ incq %rdi
+ movl %r11d, %ebp
+ shrl $2, %r11d
+ andl $3, %ebp
+ shll $8, %ebp
+ orl %ebp, %r10d
+ movl %r8d, %ebp
+ shrl $4, %r8d
+ andl $15, %ebp
+ shll $6, %ebp
+ orl %ebp, %r11d
+ movl %r9d, %ebp
+ shrl $6, %r9d
+ andl $63, %ebp
+ shll $4, %ebp
+ orl %ebp, %r8d
+ shll $2, %ebx
+ orl %ebx, %r9d
+ imull $3329, %r10d, %r10d
+ addl $512, %r10d
+ shrl $10, %r10d
+ movw %r10w, 2464(%rsp,%rcx,2)
+ incq %rcx
+ imull $3329, %r11d, %r10d
+ addl $512, %r10d
+ shrl $10, %r10d
+ movw %r10w, 2464(%rsp,%rcx,2)
+ incq %rcx
+ imull $3329, %r8d, %r8d
+ addl $512, %r8d
+ shrl $10, %r8d
+ movw %r8w, 2464(%rsp,%rcx,2)
+ incq %rcx
+ imull $3329, %r9d, %r8d
+ addl $512, %r8d
+ shrl $10, %r8d
+ movw %r8w, 2464(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$124:
+ cmpq $512, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$125
+ addq $640, %rsi
+ leaq 928(%rsp), %rcx
+ call L_poly_decompress$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$123:
+ movq %rdx, %rsi
+ leaq 3488(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$122:
+ addq $384, %rsi
+ leaq 4000(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$121:
+ leaq 2464(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$120:
+ leaq 2976(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$119:
+ leaq 416(%rsp), %rdi
+ leaq 3488(%rsp), %rcx
+ leaq 2464(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$118:
+ leaq 16(%rsp), %rsp
+ leaq 1440(%rsp), %rdi
+ leaq 4000(%rsp), %rcx
+ leaq 2976(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$117:
+ leaq 16(%rsp), %rsp
+ leaq 416(%rsp), %rcx
+ leaq 1440(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$116:
+ leaq 416(%rsp), %rcx
+ movq $0, %rsi
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$114
+Ljade_kem_kyber_kyber512_amd64_ref_dec$115:
+ movw (%rcx,%rsi,2), %di
+ movswl %di, %r8d
+ imull $20159, %r8d, %r8d
+ sarl $26, %r8d
+ imull $3329, %r8d, %r8d
+ subw %r8w, %di
+ movw %di, (%rcx,%rsi,2)
+ incq %rsi
+Ljade_kem_kyber_kyber512_amd64_ref_dec$114:
+ cmpq $256, %rsi
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$115
+ leaq 416(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$113:
+ leaq 1440(%rsp), %rcx
+ leaq 928(%rsp), %rsi
+ leaq 416(%rsp), %rdi
+ call L_poly_sub$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$112:
+ leaq 1440(%rsp), %rcx
+ movq $0, %rsi
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$110
+Ljade_kem_kyber_kyber512_amd64_ref_dec$111:
+ movw (%rcx,%rsi,2), %di
+ movswl %di, %r8d
+ imull $20159, %r8d, %r8d
+ sarl $26, %r8d
+ imull $3329, %r8d, %r8d
+ subw %r8w, %di
+ movw %di, (%rcx,%rsi,2)
+ incq %rsi
+Ljade_kem_kyber_kyber512_amd64_ref_dec$110:
+ cmpq $256, %rsi
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$111
+ leaq 1440(%rsp), %rcx
+ call L_i_poly_tomsg$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$109:
+ leaq 32(%rdx), %rax
+ addq $1536, %rax
+ movq (%rax), %rcx
+ movq %rcx, 120(%rsp)
+ movq 8(%rax), %rcx
+ movq %rcx, 128(%rsp)
+ movq 16(%rax), %rcx
+ movq %rcx, 136(%rsp)
+ movq 24(%rax), %rax
+ movq %rax, 144(%rsp)
+ movq %rdx, 16(%rsp)
+ leaq 152(%rsp), %rax
+ leaq 88(%rsp), %rcx
+ leaq -208(%rsp), %rsp
+ call L_sha3_512_64$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$108:
+ leaq 208(%rsp), %rsp
+ movq 16(%rsp), %rdx
+ addq $768, %rdx
+ leaq 8810(%rsp), %rsi
+ leaq 88(%rsp), %rcx
+ leaq 184(%rsp), %rax
+ movq %rsi, 24(%rsp)
+ movq %rdx, %rsi
+ leaq 2464(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$107:
+ addq $384, %rsi
+ leaq 2976(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$106:
+ movq $0, %rsi
+ addq $768, %rdx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$104
+Ljade_kem_kyber_kyber512_amd64_ref_dec$105:
+ movq (%rdx), %rdi
+ movq %rdi, 56(%rsp,%rsi,8)
+ addq $8, %rdx
+ incq %rsi
+Ljade_kem_kyber_kyber512_amd64_ref_dec$104:
+ cmpq $4, %rsi
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$105
+ leaq 1440(%rsp), %rdx
+ call L_i_poly_frommsg$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$103:
+ movq %rax, 32(%rsp)
+ movq $1, %rax
+ movq %rax, 40(%rsp)
+ movb 56(%rsp), %al
+ movb %al, 8608(%rsp)
+ movb 57(%rsp), %al
+ movb %al, 8609(%rsp)
+ movb 58(%rsp), %al
+ movb %al, 8610(%rsp)
+ movb 59(%rsp), %al
+ movb %al, 8611(%rsp)
+ movb 60(%rsp), %al
+ movb %al, 8612(%rsp)
+ movb 61(%rsp), %al
+ movb %al, 8613(%rsp)
+ movb 62(%rsp), %al
+ movb %al, 8614(%rsp)
+ movb 63(%rsp), %al
+ movb %al, 8615(%rsp)
+ movb 64(%rsp), %al
+ movb %al, 8616(%rsp)
+ movb 65(%rsp), %al
+ movb %al, 8617(%rsp)
+ movb 66(%rsp), %al
+ movb %al, 8618(%rsp)
+ movb 67(%rsp), %al
+ movb %al, 8619(%rsp)
+ movb 68(%rsp), %al
+ movb %al, 8620(%rsp)
+ movb 69(%rsp), %al
+ movb %al, 8621(%rsp)
+ movb 70(%rsp), %al
+ movb %al, 8622(%rsp)
+ movb 71(%rsp), %al
+ movb %al, 8623(%rsp)
+ movb 72(%rsp), %al
+ movb %al, 8624(%rsp)
+ movb 73(%rsp), %al
+ movb %al, 8625(%rsp)
+ movb 74(%rsp), %al
+ movb %al, 8626(%rsp)
+ movb 75(%rsp), %al
+ movb %al, 8627(%rsp)
+ movb 76(%rsp), %al
+ movb %al, 8628(%rsp)
+ movb 77(%rsp), %al
+ movb %al, 8629(%rsp)
+ movb 78(%rsp), %al
+ movb %al, 8630(%rsp)
+ movb 79(%rsp), %al
+ movb %al, 8631(%rsp)
+ movb 80(%rsp), %al
+ movb %al, 8632(%rsp)
+ movb 81(%rsp), %al
+ movb %al, 8633(%rsp)
+ movb 82(%rsp), %al
+ movb %al, 8634(%rsp)
+ movb 83(%rsp), %al
+ movb %al, 8635(%rsp)
+ movb 84(%rsp), %al
+ movb %al, 8636(%rsp)
+ movb 85(%rsp), %al
+ movb %al, 8637(%rsp)
+ movb 86(%rsp), %al
+ movb %al, 8638(%rsp)
+ movb 87(%rsp), %al
+ movb %al, 8639(%rsp)
+ movq 40(%rsp), %rax
+ cmpq $0, %rax
+ je Ljade_kem_kyber_kyber512_amd64_ref_dec$101
+ movb $0, 8640(%rsp)
+ movb $0, 8641(%rsp)
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$102
+Ljade_kem_kyber_kyber512_amd64_ref_dec$101:
+ movb $0, 8640(%rsp)
+ movb $0, 8641(%rsp)
+Ljade_kem_kyber_kyber512_amd64_ref_dec$102:
+ leaq 216(%rsp), %rax
+ leaq 8608(%rsp), %rcx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$100:
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$98
+Ljade_kem_kyber_kyber512_amd64_ref_dec$99:
+ movq %rax, 416(%rsp,%rax,8)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$98:
+ cmpq $64, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$99
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$90
+Ljade_kem_kyber_kyber512_amd64_ref_dec$91:
+ movq %rax, 48(%rsp)
+ leaq 216(%rsp), %rax
+ leaq 8642(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$97:
+ leaq 8(%rsp), %rsp
+ movq 48(%rsp), %rax
+ movq $0, %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$92:
+ movzbw 8642(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$95
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$95
+ movw %dx, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$96:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$95:
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$93
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$93
+ movw %di, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$94:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$93:
+ cmpq $166, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$92
+Ljade_kem_kyber_kyber512_amd64_ref_dec$90:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$91
+ movq $0, %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$88
+Ljade_kem_kyber_kyber512_amd64_ref_dec$89:
+ movw 416(%rsp,%rax,2), %dx
+ movw %dx, 6560(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$88:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$89
+ movq 40(%rsp), %rax
+ cmpq $0, %rax
+ je Ljade_kem_kyber_kyber512_amd64_ref_dec$86
+ movb $0, 8640(%rsp)
+ movb $1, 8641(%rsp)
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$87
+Ljade_kem_kyber_kyber512_amd64_ref_dec$86:
+ movb $1, 8640(%rsp)
+ movb $0, 8641(%rsp)
+Ljade_kem_kyber_kyber512_amd64_ref_dec$87:
+ leaq 216(%rsp), %rax
+ leaq 8608(%rsp), %rcx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$85:
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$83
+Ljade_kem_kyber_kyber512_amd64_ref_dec$84:
+ movq %rax, 416(%rsp,%rax,8)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$83:
+ cmpq $64, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$84
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$75
+Ljade_kem_kyber_kyber512_amd64_ref_dec$76:
+ movq %rax, 48(%rsp)
+ leaq 216(%rsp), %rax
+ leaq 8642(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$82:
+ leaq 8(%rsp), %rsp
+ movq 48(%rsp), %rax
+ movq $0, %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$77:
+ movzbw 8642(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$80
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$80
+ movw %dx, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$81:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$80:
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$78
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$78
+ movw %di, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$79:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$78:
+ cmpq $166, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$77
+Ljade_kem_kyber_kyber512_amd64_ref_dec$75:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$76
+ movq $0, %rax
+ movq $256, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$73
+Ljade_kem_kyber_kyber512_amd64_ref_dec$74:
+ movw 416(%rsp,%rax,2), %dx
+ movw %dx, 6560(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$73:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$74
+ movq 40(%rsp), %rax
+ cmpq $0, %rax
+ je Ljade_kem_kyber_kyber512_amd64_ref_dec$71
+ movb $1, 8640(%rsp)
+ movb $0, 8641(%rsp)
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$72
+Ljade_kem_kyber_kyber512_amd64_ref_dec$71:
+ movb $0, 8640(%rsp)
+ movb $1, 8641(%rsp)
+Ljade_kem_kyber_kyber512_amd64_ref_dec$72:
+ leaq 216(%rsp), %rax
+ leaq 8608(%rsp), %rcx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$70:
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$68
+Ljade_kem_kyber_kyber512_amd64_ref_dec$69:
+ movq %rax, 416(%rsp,%rax,8)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$68:
+ cmpq $64, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$69
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$60
+Ljade_kem_kyber_kyber512_amd64_ref_dec$61:
+ movq %rax, 48(%rsp)
+ leaq 216(%rsp), %rax
+ leaq 8642(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$67:
+ leaq 8(%rsp), %rsp
+ movq 48(%rsp), %rax
+ movq $0, %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$62:
+ movzbw 8642(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$65
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$65
+ movw %dx, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$66:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$65:
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$63
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$63
+ movw %di, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$64:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$63:
+ cmpq $166, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$62
+Ljade_kem_kyber_kyber512_amd64_ref_dec$60:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$61
+ movq $0, %rax
+ movq $512, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$58
+Ljade_kem_kyber_kyber512_amd64_ref_dec$59:
+ movw 416(%rsp,%rax,2), %dx
+ movw %dx, 6560(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$58:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$59
+ movq 40(%rsp), %rax
+ cmpq $0, %rax
+ je Ljade_kem_kyber_kyber512_amd64_ref_dec$56
+ movb $1, 8640(%rsp)
+ movb $1, 8641(%rsp)
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$57
+Ljade_kem_kyber_kyber512_amd64_ref_dec$56:
+ movb $1, 8640(%rsp)
+ movb $1, 8641(%rsp)
+Ljade_kem_kyber_kyber512_amd64_ref_dec$57:
+ leaq 216(%rsp), %rax
+ leaq 8608(%rsp), %rcx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$55:
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$53
+Ljade_kem_kyber_kyber512_amd64_ref_dec$54:
+ movq %rax, 416(%rsp,%rax,8)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$53:
+ cmpq $64, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$54
+ movq $0, %rax
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$45
+Ljade_kem_kyber_kyber512_amd64_ref_dec$46:
+ movq %rax, 40(%rsp)
+ leaq 216(%rsp), %rax
+ leaq 8642(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$52:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rax
+ movq $0, %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$47:
+ movzbw 8642(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8642(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$50
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$50
+ movw %dx, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$51:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$50:
+ cmpw $3329, %di
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$48
+ cmpq $256, %rax
+ jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$48
+ movw %di, 416(%rsp,%rax,2)
+ incq %rax
+Ljade_kem_kyber_kyber512_amd64_ref_dec$49:
+Ljade_kem_kyber_kyber512_amd64_ref_dec$48:
+ cmpq $166, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$47
+Ljade_kem_kyber_kyber512_amd64_ref_dec$45:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$46
+ movq $0, %rax
+ movq $768, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$43
+Ljade_kem_kyber_kyber512_amd64_ref_dec$44:
+ movw 416(%rsp,%rax,2), %dx
+ movw %dx, 6560(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$43:
+ cmpq $256, %rax
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$44
+ movq 32(%rsp), %rcx
+ movb $0, %al
+ leaq 3488(%rsp), %rdx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$42:
+ leaq 240(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movb $1, %al
+ leaq 4000(%rsp), %rdx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$41:
+ leaq 240(%rsp), %rsp
+ movq 32(%rsp), %rax
+ movb $2, %cl
+ leaq 4512(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise_eta2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$40:
+ leaq 176(%rsp), %rsp
+ movq 32(%rsp), %rax
+ movb $3, %cl
+ leaq 5024(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise_eta2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$39:
+ leaq 176(%rsp), %rsp
+ movq 32(%rsp), %rax
+ movb $4, %cl
+ leaq 416(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise_eta2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$38:
+ leaq 176(%rsp), %rsp
+ leaq 3488(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$37:
+ leaq 4000(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$36:
+ leaq 5536(%rsp), %rdi
+ leaq 6560(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$35:
+ leaq 16(%rsp), %rsp
+ leaq 928(%rsp), %rdi
+ leaq 7072(%rsp), %rcx
+ leaq 4000(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$34:
+ leaq 16(%rsp), %rsp
+ leaq 5536(%rsp), %rcx
+ leaq 928(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$33:
+ leaq 5536(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$31
+Ljade_kem_kyber_kyber512_amd64_ref_dec$32:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$31:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$32
+ leaq 6048(%rsp), %rdi
+ leaq 7584(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$30:
+ leaq 16(%rsp), %rsp
+ leaq 928(%rsp), %rdi
+ leaq 8096(%rsp), %rcx
+ leaq 4000(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$29:
+ leaq 16(%rsp), %rsp
+ leaq 6048(%rsp), %rcx
+ leaq 928(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$28:
+ leaq 6048(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$26
+Ljade_kem_kyber_kyber512_amd64_ref_dec$27:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$26:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$27
+ leaq 928(%rsp), %rdi
+ leaq 2464(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$25:
+ leaq 16(%rsp), %rsp
+ leaq 1952(%rsp), %rdi
+ leaq 2976(%rsp), %rcx
+ leaq 4000(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$24:
+ leaq 16(%rsp), %rsp
+ leaq 928(%rsp), %rcx
+ leaq 1952(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$23:
+ leaq 928(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$21
+Ljade_kem_kyber_kyber512_amd64_ref_dec$22:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$21:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$22
+ leaq 5536(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$20:
+ leaq 6048(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$19:
+ leaq 928(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$18:
+ leaq 5536(%rsp), %rcx
+ leaq 4512(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$17:
+ leaq 6048(%rsp), %rcx
+ leaq 5024(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$16:
+ leaq 928(%rsp), %rcx
+ leaq 416(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$15:
+ leaq 928(%rsp), %rcx
+ leaq 1440(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$14:
+ leaq 5536(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$12
+Ljade_kem_kyber_kyber512_amd64_ref_dec$13:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$12:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$13
+ leaq 6048(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$10
+Ljade_kem_kyber_kyber512_amd64_ref_dec$11:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$10:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$11
+ leaq 928(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$8
+Ljade_kem_kyber_kyber512_amd64_ref_dec$9:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber512_amd64_ref_dec$8:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$9
+ movq 24(%rsp), %rax
+ movq %rax, %rdx
+ movq $0, %rsi
+ movq $0, %rdi
+ leaq 5536(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$7:
+ leaq 6048(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$6:
+ jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$4
+Ljade_kem_kyber_kyber512_amd64_ref_dec$5:
+ movzwq 5536(%rsp,%rsi,2), %rcx
+ incq %rsi
+ shlq $10, %rcx
+ addq $1665, %rcx
+ imulq $1290167, %rcx, %rcx
+ shrq $32, %rcx
+ andq $1023, %rcx
+ movzwq 5536(%rsp,%rsi,2), %r8
+ incq %rsi
+ shlq $10, %r8
+ addq $1665, %r8
+ imulq $1290167, %r8, %r8
+ shrq $32, %r8
+ andq $1023, %r8
+ movzwq 5536(%rsp,%rsi,2), %r9
+ incq %rsi
+ shlq $10, %r9
+ addq $1665, %r9
+ imulq $1290167, %r9, %r9
+ shrq $32, %r9
+ andq $1023, %r9
+ movzwq 5536(%rsp,%rsi,2), %r10
+ incq %rsi
+ shlq $10, %r10
+ addq $1665, %r10
+ imulq $1290167, %r10, %r10
+ shrq $32, %r10
+ andq $1023, %r10
+ movw %cx, %r11w
+ andw $255, %r11w
+ movb %r11b, (%rdx,%rdi)
+ incq %rdi
+ shrw $8, %cx
+ movw %r8w, %r11w
+ shlw $2, %r11w
+ orw %cx, %r11w
+ movb %r11b, (%rdx,%rdi)
+ incq %rdi
+ shrw $6, %r8w
+ movw %r9w, %cx
+ shlw $4, %cx
+ orw %r8w, %cx
+ movb %cl, (%rdx,%rdi)
+ incq %rdi
+ shrw $4, %r9w
+ movw %r10w, %cx
+ shlw $6, %cx
+ orw %r9w, %cx
+ movb %cl, (%rdx,%rdi)
+ incq %rdi
+ shrq $2, %r10
+ movb %r10b, (%rdx,%rdi)
+ incq %rdi
+Ljade_kem_kyber_kyber512_amd64_ref_dec$4:
+ cmpq $512, %rsi
+ jb Ljade_kem_kyber_kyber512_amd64_ref_dec$5
+ leaq 640(%rax), %rax
+ leaq 928(%rsp), %rcx
+ call L_i_poly_compress$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$3:
+ movq 8(%rsp), %rsi
+ leaq 8810(%rsp), %rax
+ movq $0, %rcx
+ movb (%rax), %dl
+ movb (%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1(%rax), %dl
+ movb 1(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 2(%rax), %dl
+ movb 2(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 3(%rax), %dl
+ movb 3(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 4(%rax), %dl
+ movb 4(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 5(%rax), %dl
+ movb 5(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 6(%rax), %dl
+ movb 6(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 7(%rax), %dl
+ movb 7(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 8(%rax), %dl
+ movb 8(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 9(%rax), %dl
+ movb 9(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 10(%rax), %dl
+ movb 10(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 11(%rax), %dl
+ movb 11(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 12(%rax), %dl
+ movb 12(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 13(%rax), %dl
+ movb 13(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 14(%rax), %dl
+ movb 14(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 15(%rax), %dl
+ movb 15(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 16(%rax), %dl
+ movb 16(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 17(%rax), %dl
+ movb 17(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 18(%rax), %dl
+ movb 18(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 19(%rax), %dl
+ movb 19(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 20(%rax), %dl
+ movb 20(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 21(%rax), %dl
+ movb 21(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 22(%rax), %dl
+ movb 22(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 23(%rax), %dl
+ movb 23(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 24(%rax), %dl
+ movb 24(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 25(%rax), %dl
+ movb 25(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 26(%rax), %dl
+ movb 26(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 27(%rax), %dl
+ movb 27(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 28(%rax), %dl
+ movb 28(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 29(%rax), %dl
+ movb 29(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 30(%rax), %dl
+ movb 30(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 31(%rax), %dl
+ movb 31(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 32(%rax), %dl
+ movb 32(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 33(%rax), %dl
+ movb 33(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 34(%rax), %dl
+ movb 34(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 35(%rax), %dl
+ movb 35(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 36(%rax), %dl
+ movb 36(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 37(%rax), %dl
+ movb 37(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 38(%rax), %dl
+ movb 38(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 39(%rax), %dl
+ movb 39(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 40(%rax), %dl
+ movb 40(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 41(%rax), %dl
+ movb 41(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 42(%rax), %dl
+ movb 42(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 43(%rax), %dl
+ movb 43(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 44(%rax), %dl
+ movb 44(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 45(%rax), %dl
+ movb 45(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 46(%rax), %dl
+ movb 46(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 47(%rax), %dl
+ movb 47(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 48(%rax), %dl
+ movb 48(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 49(%rax), %dl
+ movb 49(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 50(%rax), %dl
+ movb 50(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 51(%rax), %dl
+ movb 51(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 52(%rax), %dl
+ movb 52(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 53(%rax), %dl
+ movb 53(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 54(%rax), %dl
+ movb 54(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 55(%rax), %dl
+ movb 55(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 56(%rax), %dl
+ movb 56(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 57(%rax), %dl
+ movb 57(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 58(%rax), %dl
+ movb 58(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 59(%rax), %dl
+ movb 59(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 60(%rax), %dl
+ movb 60(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 61(%rax), %dl
+ movb 61(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 62(%rax), %dl
+ movb 62(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 63(%rax), %dl
+ movb 63(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 64(%rax), %dl
+ movb 64(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 65(%rax), %dl
+ movb 65(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 66(%rax), %dl
+ movb 66(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 67(%rax), %dl
+ movb 67(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 68(%rax), %dl
+ movb 68(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 69(%rax), %dl
+ movb 69(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 70(%rax), %dl
+ movb 70(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 71(%rax), %dl
+ movb 71(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 72(%rax), %dl
+ movb 72(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 73(%rax), %dl
+ movb 73(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 74(%rax), %dl
+ movb 74(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 75(%rax), %dl
+ movb 75(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 76(%rax), %dl
+ movb 76(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 77(%rax), %dl
+ movb 77(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 78(%rax), %dl
+ movb 78(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 79(%rax), %dl
+ movb 79(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 80(%rax), %dl
+ movb 80(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 81(%rax), %dl
+ movb 81(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 82(%rax), %dl
+ movb 82(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 83(%rax), %dl
+ movb 83(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 84(%rax), %dl
+ movb 84(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 85(%rax), %dl
+ movb 85(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 86(%rax), %dl
+ movb 86(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 87(%rax), %dl
+ movb 87(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 88(%rax), %dl
+ movb 88(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 89(%rax), %dl
+ movb 89(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 90(%rax), %dl
+ movb 90(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 91(%rax), %dl
+ movb 91(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 92(%rax), %dl
+ movb 92(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 93(%rax), %dl
+ movb 93(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 94(%rax), %dl
+ movb 94(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 95(%rax), %dl
+ movb 95(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 96(%rax), %dl
+ movb 96(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 97(%rax), %dl
+ movb 97(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 98(%rax), %dl
+ movb 98(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 99(%rax), %dl
+ movb 99(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 100(%rax), %dl
+ movb 100(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 101(%rax), %dl
+ movb 101(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 102(%rax), %dl
+ movb 102(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 103(%rax), %dl
+ movb 103(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 104(%rax), %dl
+ movb 104(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 105(%rax), %dl
+ movb 105(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 106(%rax), %dl
+ movb 106(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 107(%rax), %dl
+ movb 107(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 108(%rax), %dl
+ movb 108(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 109(%rax), %dl
+ movb 109(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 110(%rax), %dl
+ movb 110(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 111(%rax), %dl
+ movb 111(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 112(%rax), %dl
+ movb 112(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 113(%rax), %dl
+ movb 113(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 114(%rax), %dl
+ movb 114(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 115(%rax), %dl
+ movb 115(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 116(%rax), %dl
+ movb 116(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 117(%rax), %dl
+ movb 117(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 118(%rax), %dl
+ movb 118(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 119(%rax), %dl
+ movb 119(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 120(%rax), %dl
+ movb 120(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 121(%rax), %dl
+ movb 121(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 122(%rax), %dl
+ movb 122(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 123(%rax), %dl
+ movb 123(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 124(%rax), %dl
+ movb 124(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 125(%rax), %dl
+ movb 125(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 126(%rax), %dl
+ movb 126(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 127(%rax), %dl
+ movb 127(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 128(%rax), %dl
+ movb 128(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 129(%rax), %dl
+ movb 129(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 130(%rax), %dl
+ movb 130(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 131(%rax), %dl
+ movb 131(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 132(%rax), %dl
+ movb 132(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 133(%rax), %dl
+ movb 133(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 134(%rax), %dl
+ movb 134(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 135(%rax), %dl
+ movb 135(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 136(%rax), %dl
+ movb 136(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 137(%rax), %dl
+ movb 137(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 138(%rax), %dl
+ movb 138(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 139(%rax), %dl
+ movb 139(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 140(%rax), %dl
+ movb 140(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 141(%rax), %dl
+ movb 141(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 142(%rax), %dl
+ movb 142(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 143(%rax), %dl
+ movb 143(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 144(%rax), %dl
+ movb 144(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 145(%rax), %dl
+ movb 145(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 146(%rax), %dl
+ movb 146(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 147(%rax), %dl
+ movb 147(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 148(%rax), %dl
+ movb 148(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 149(%rax), %dl
+ movb 149(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 150(%rax), %dl
+ movb 150(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 151(%rax), %dl
+ movb 151(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 152(%rax), %dl
+ movb 152(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 153(%rax), %dl
+ movb 153(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 154(%rax), %dl
+ movb 154(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 155(%rax), %dl
+ movb 155(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 156(%rax), %dl
+ movb 156(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 157(%rax), %dl
+ movb 157(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 158(%rax), %dl
+ movb 158(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 159(%rax), %dl
+ movb 159(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 160(%rax), %dl
+ movb 160(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 161(%rax), %dl
+ movb 161(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 162(%rax), %dl
+ movb 162(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 163(%rax), %dl
+ movb 163(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 164(%rax), %dl
+ movb 164(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 165(%rax), %dl
+ movb 165(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 166(%rax), %dl
+ movb 166(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 167(%rax), %dl
+ movb 167(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 168(%rax), %dl
+ movb 168(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 169(%rax), %dl
+ movb 169(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 170(%rax), %dl
+ movb 170(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 171(%rax), %dl
+ movb 171(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 172(%rax), %dl
+ movb 172(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 173(%rax), %dl
+ movb 173(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 174(%rax), %dl
+ movb 174(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 175(%rax), %dl
+ movb 175(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 176(%rax), %dl
+ movb 176(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 177(%rax), %dl
+ movb 177(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 178(%rax), %dl
+ movb 178(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 179(%rax), %dl
+ movb 179(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 180(%rax), %dl
+ movb 180(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 181(%rax), %dl
+ movb 181(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 182(%rax), %dl
+ movb 182(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 183(%rax), %dl
+ movb 183(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 184(%rax), %dl
+ movb 184(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 185(%rax), %dl
+ movb 185(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 186(%rax), %dl
+ movb 186(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 187(%rax), %dl
+ movb 187(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 188(%rax), %dl
+ movb 188(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 189(%rax), %dl
+ movb 189(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 190(%rax), %dl
+ movb 190(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 191(%rax), %dl
+ movb 191(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 192(%rax), %dl
+ movb 192(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 193(%rax), %dl
+ movb 193(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 194(%rax), %dl
+ movb 194(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 195(%rax), %dl
+ movb 195(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 196(%rax), %dl
+ movb 196(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 197(%rax), %dl
+ movb 197(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 198(%rax), %dl
+ movb 198(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 199(%rax), %dl
+ movb 199(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 200(%rax), %dl
+ movb 200(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 201(%rax), %dl
+ movb 201(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 202(%rax), %dl
+ movb 202(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 203(%rax), %dl
+ movb 203(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 204(%rax), %dl
+ movb 204(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 205(%rax), %dl
+ movb 205(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 206(%rax), %dl
+ movb 206(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 207(%rax), %dl
+ movb 207(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 208(%rax), %dl
+ movb 208(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 209(%rax), %dl
+ movb 209(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 210(%rax), %dl
+ movb 210(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 211(%rax), %dl
+ movb 211(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 212(%rax), %dl
+ movb 212(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 213(%rax), %dl
+ movb 213(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 214(%rax), %dl
+ movb 214(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 215(%rax), %dl
+ movb 215(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 216(%rax), %dl
+ movb 216(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 217(%rax), %dl
+ movb 217(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 218(%rax), %dl
+ movb 218(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 219(%rax), %dl
+ movb 219(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 220(%rax), %dl
+ movb 220(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 221(%rax), %dl
+ movb 221(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 222(%rax), %dl
+ movb 222(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 223(%rax), %dl
+ movb 223(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 224(%rax), %dl
+ movb 224(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 225(%rax), %dl
+ movb 225(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 226(%rax), %dl
+ movb 226(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 227(%rax), %dl
+ movb 227(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 228(%rax), %dl
+ movb 228(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 229(%rax), %dl
+ movb 229(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 230(%rax), %dl
+ movb 230(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 231(%rax), %dl
+ movb 231(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 232(%rax), %dl
+ movb 232(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 233(%rax), %dl
+ movb 233(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 234(%rax), %dl
+ movb 234(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 235(%rax), %dl
+ movb 235(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 236(%rax), %dl
+ movb 236(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 237(%rax), %dl
+ movb 237(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 238(%rax), %dl
+ movb 238(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 239(%rax), %dl
+ movb 239(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 240(%rax), %dl
+ movb 240(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 241(%rax), %dl
+ movb 241(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 242(%rax), %dl
+ movb 242(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 243(%rax), %dl
+ movb 243(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 244(%rax), %dl
+ movb 244(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 245(%rax), %dl
+ movb 245(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 246(%rax), %dl
+ movb 246(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 247(%rax), %dl
+ movb 247(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 248(%rax), %dl
+ movb 248(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 249(%rax), %dl
+ movb 249(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 250(%rax), %dl
+ movb 250(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 251(%rax), %dl
+ movb 251(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 252(%rax), %dl
+ movb 252(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 253(%rax), %dl
+ movb 253(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 254(%rax), %dl
+ movb 254(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 255(%rax), %dl
+ movb 255(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 256(%rax), %dl
+ movb 256(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 257(%rax), %dl
+ movb 257(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 258(%rax), %dl
+ movb 258(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 259(%rax), %dl
+ movb 259(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 260(%rax), %dl
+ movb 260(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 261(%rax), %dl
+ movb 261(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 262(%rax), %dl
+ movb 262(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 263(%rax), %dl
+ movb 263(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 264(%rax), %dl
+ movb 264(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 265(%rax), %dl
+ movb 265(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 266(%rax), %dl
+ movb 266(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 267(%rax), %dl
+ movb 267(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 268(%rax), %dl
+ movb 268(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 269(%rax), %dl
+ movb 269(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 270(%rax), %dl
+ movb 270(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 271(%rax), %dl
+ movb 271(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 272(%rax), %dl
+ movb 272(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 273(%rax), %dl
+ movb 273(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 274(%rax), %dl
+ movb 274(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 275(%rax), %dl
+ movb 275(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 276(%rax), %dl
+ movb 276(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 277(%rax), %dl
+ movb 277(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 278(%rax), %dl
+ movb 278(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 279(%rax), %dl
+ movb 279(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 280(%rax), %dl
+ movb 280(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 281(%rax), %dl
+ movb 281(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 282(%rax), %dl
+ movb 282(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 283(%rax), %dl
+ movb 283(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 284(%rax), %dl
+ movb 284(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 285(%rax), %dl
+ movb 285(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 286(%rax), %dl
+ movb 286(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 287(%rax), %dl
+ movb 287(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 288(%rax), %dl
+ movb 288(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 289(%rax), %dl
+ movb 289(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 290(%rax), %dl
+ movb 290(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 291(%rax), %dl
+ movb 291(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 292(%rax), %dl
+ movb 292(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 293(%rax), %dl
+ movb 293(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 294(%rax), %dl
+ movb 294(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 295(%rax), %dl
+ movb 295(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 296(%rax), %dl
+ movb 296(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 297(%rax), %dl
+ movb 297(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 298(%rax), %dl
+ movb 298(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 299(%rax), %dl
+ movb 299(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 300(%rax), %dl
+ movb 300(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 301(%rax), %dl
+ movb 301(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 302(%rax), %dl
+ movb 302(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 303(%rax), %dl
+ movb 303(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 304(%rax), %dl
+ movb 304(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 305(%rax), %dl
+ movb 305(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 306(%rax), %dl
+ movb 306(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 307(%rax), %dl
+ movb 307(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 308(%rax), %dl
+ movb 308(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 309(%rax), %dl
+ movb 309(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 310(%rax), %dl
+ movb 310(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 311(%rax), %dl
+ movb 311(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 312(%rax), %dl
+ movb 312(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 313(%rax), %dl
+ movb 313(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 314(%rax), %dl
+ movb 314(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 315(%rax), %dl
+ movb 315(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 316(%rax), %dl
+ movb 316(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 317(%rax), %dl
+ movb 317(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 318(%rax), %dl
+ movb 318(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 319(%rax), %dl
+ movb 319(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 320(%rax), %dl
+ movb 320(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 321(%rax), %dl
+ movb 321(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 322(%rax), %dl
+ movb 322(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 323(%rax), %dl
+ movb 323(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 324(%rax), %dl
+ movb 324(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 325(%rax), %dl
+ movb 325(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 326(%rax), %dl
+ movb 326(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 327(%rax), %dl
+ movb 327(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 328(%rax), %dl
+ movb 328(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 329(%rax), %dl
+ movb 329(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 330(%rax), %dl
+ movb 330(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 331(%rax), %dl
+ movb 331(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 332(%rax), %dl
+ movb 332(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 333(%rax), %dl
+ movb 333(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 334(%rax), %dl
+ movb 334(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 335(%rax), %dl
+ movb 335(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 336(%rax), %dl
+ movb 336(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 337(%rax), %dl
+ movb 337(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 338(%rax), %dl
+ movb 338(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 339(%rax), %dl
+ movb 339(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 340(%rax), %dl
+ movb 340(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 341(%rax), %dl
+ movb 341(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 342(%rax), %dl
+ movb 342(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 343(%rax), %dl
+ movb 343(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 344(%rax), %dl
+ movb 344(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 345(%rax), %dl
+ movb 345(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 346(%rax), %dl
+ movb 346(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 347(%rax), %dl
+ movb 347(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 348(%rax), %dl
+ movb 348(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 349(%rax), %dl
+ movb 349(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 350(%rax), %dl
+ movb 350(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 351(%rax), %dl
+ movb 351(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 352(%rax), %dl
+ movb 352(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 353(%rax), %dl
+ movb 353(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 354(%rax), %dl
+ movb 354(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 355(%rax), %dl
+ movb 355(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 356(%rax), %dl
+ movb 356(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 357(%rax), %dl
+ movb 357(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 358(%rax), %dl
+ movb 358(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 359(%rax), %dl
+ movb 359(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 360(%rax), %dl
+ movb 360(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 361(%rax), %dl
+ movb 361(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 362(%rax), %dl
+ movb 362(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 363(%rax), %dl
+ movb 363(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 364(%rax), %dl
+ movb 364(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 365(%rax), %dl
+ movb 365(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 366(%rax), %dl
+ movb 366(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 367(%rax), %dl
+ movb 367(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 368(%rax), %dl
+ movb 368(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 369(%rax), %dl
+ movb 369(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 370(%rax), %dl
+ movb 370(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 371(%rax), %dl
+ movb 371(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 372(%rax), %dl
+ movb 372(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 373(%rax), %dl
+ movb 373(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 374(%rax), %dl
+ movb 374(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 375(%rax), %dl
+ movb 375(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 376(%rax), %dl
+ movb 376(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 377(%rax), %dl
+ movb 377(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 378(%rax), %dl
+ movb 378(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 379(%rax), %dl
+ movb 379(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 380(%rax), %dl
+ movb 380(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 381(%rax), %dl
+ movb 381(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 382(%rax), %dl
+ movb 382(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 383(%rax), %dl
+ movb 383(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 384(%rax), %dl
+ movb 384(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 385(%rax), %dl
+ movb 385(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 386(%rax), %dl
+ movb 386(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 387(%rax), %dl
+ movb 387(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 388(%rax), %dl
+ movb 388(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 389(%rax), %dl
+ movb 389(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 390(%rax), %dl
+ movb 390(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 391(%rax), %dl
+ movb 391(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 392(%rax), %dl
+ movb 392(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 393(%rax), %dl
+ movb 393(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 394(%rax), %dl
+ movb 394(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 395(%rax), %dl
+ movb 395(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 396(%rax), %dl
+ movb 396(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 397(%rax), %dl
+ movb 397(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 398(%rax), %dl
+ movb 398(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 399(%rax), %dl
+ movb 399(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 400(%rax), %dl
+ movb 400(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 401(%rax), %dl
+ movb 401(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 402(%rax), %dl
+ movb 402(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 403(%rax), %dl
+ movb 403(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 404(%rax), %dl
+ movb 404(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 405(%rax), %dl
+ movb 405(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 406(%rax), %dl
+ movb 406(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 407(%rax), %dl
+ movb 407(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 408(%rax), %dl
+ movb 408(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 409(%rax), %dl
+ movb 409(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 410(%rax), %dl
+ movb 410(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 411(%rax), %dl
+ movb 411(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 412(%rax), %dl
+ movb 412(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 413(%rax), %dl
+ movb 413(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 414(%rax), %dl
+ movb 414(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 415(%rax), %dl
+ movb 415(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 416(%rax), %dl
+ movb 416(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 417(%rax), %dl
+ movb 417(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 418(%rax), %dl
+ movb 418(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 419(%rax), %dl
+ movb 419(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 420(%rax), %dl
+ movb 420(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 421(%rax), %dl
+ movb 421(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 422(%rax), %dl
+ movb 422(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 423(%rax), %dl
+ movb 423(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 424(%rax), %dl
+ movb 424(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 425(%rax), %dl
+ movb 425(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 426(%rax), %dl
+ movb 426(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 427(%rax), %dl
+ movb 427(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 428(%rax), %dl
+ movb 428(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 429(%rax), %dl
+ movb 429(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 430(%rax), %dl
+ movb 430(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 431(%rax), %dl
+ movb 431(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 432(%rax), %dl
+ movb 432(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 433(%rax), %dl
+ movb 433(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 434(%rax), %dl
+ movb 434(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 435(%rax), %dl
+ movb 435(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 436(%rax), %dl
+ movb 436(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 437(%rax), %dl
+ movb 437(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 438(%rax), %dl
+ movb 438(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 439(%rax), %dl
+ movb 439(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 440(%rax), %dl
+ movb 440(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 441(%rax), %dl
+ movb 441(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 442(%rax), %dl
+ movb 442(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 443(%rax), %dl
+ movb 443(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 444(%rax), %dl
+ movb 444(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 445(%rax), %dl
+ movb 445(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 446(%rax), %dl
+ movb 446(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 447(%rax), %dl
+ movb 447(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 448(%rax), %dl
+ movb 448(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 449(%rax), %dl
+ movb 449(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 450(%rax), %dl
+ movb 450(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 451(%rax), %dl
+ movb 451(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 452(%rax), %dl
+ movb 452(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 453(%rax), %dl
+ movb 453(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 454(%rax), %dl
+ movb 454(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 455(%rax), %dl
+ movb 455(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 456(%rax), %dl
+ movb 456(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 457(%rax), %dl
+ movb 457(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 458(%rax), %dl
+ movb 458(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 459(%rax), %dl
+ movb 459(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 460(%rax), %dl
+ movb 460(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 461(%rax), %dl
+ movb 461(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 462(%rax), %dl
+ movb 462(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 463(%rax), %dl
+ movb 463(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 464(%rax), %dl
+ movb 464(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 465(%rax), %dl
+ movb 465(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 466(%rax), %dl
+ movb 466(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 467(%rax), %dl
+ movb 467(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 468(%rax), %dl
+ movb 468(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 469(%rax), %dl
+ movb 469(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 470(%rax), %dl
+ movb 470(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 471(%rax), %dl
+ movb 471(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 472(%rax), %dl
+ movb 472(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 473(%rax), %dl
+ movb 473(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 474(%rax), %dl
+ movb 474(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 475(%rax), %dl
+ movb 475(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 476(%rax), %dl
+ movb 476(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 477(%rax), %dl
+ movb 477(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 478(%rax), %dl
+ movb 478(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 479(%rax), %dl
+ movb 479(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 480(%rax), %dl
+ movb 480(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 481(%rax), %dl
+ movb 481(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 482(%rax), %dl
+ movb 482(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 483(%rax), %dl
+ movb 483(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 484(%rax), %dl
+ movb 484(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 485(%rax), %dl
+ movb 485(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 486(%rax), %dl
+ movb 486(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 487(%rax), %dl
+ movb 487(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 488(%rax), %dl
+ movb 488(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 489(%rax), %dl
+ movb 489(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 490(%rax), %dl
+ movb 490(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 491(%rax), %dl
+ movb 491(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 492(%rax), %dl
+ movb 492(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 493(%rax), %dl
+ movb 493(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 494(%rax), %dl
+ movb 494(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 495(%rax), %dl
+ movb 495(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 496(%rax), %dl
+ movb 496(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 497(%rax), %dl
+ movb 497(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 498(%rax), %dl
+ movb 498(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 499(%rax), %dl
+ movb 499(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 500(%rax), %dl
+ movb 500(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 501(%rax), %dl
+ movb 501(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 502(%rax), %dl
+ movb 502(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 503(%rax), %dl
+ movb 503(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 504(%rax), %dl
+ movb 504(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 505(%rax), %dl
+ movb 505(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 506(%rax), %dl
+ movb 506(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 507(%rax), %dl
+ movb 507(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 508(%rax), %dl
+ movb 508(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 509(%rax), %dl
+ movb 509(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 510(%rax), %dl
+ movb 510(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 511(%rax), %dl
+ movb 511(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 512(%rax), %dl
+ movb 512(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 513(%rax), %dl
+ movb 513(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 514(%rax), %dl
+ movb 514(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 515(%rax), %dl
+ movb 515(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 516(%rax), %dl
+ movb 516(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 517(%rax), %dl
+ movb 517(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 518(%rax), %dl
+ movb 518(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 519(%rax), %dl
+ movb 519(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 520(%rax), %dl
+ movb 520(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 521(%rax), %dl
+ movb 521(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 522(%rax), %dl
+ movb 522(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 523(%rax), %dl
+ movb 523(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 524(%rax), %dl
+ movb 524(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 525(%rax), %dl
+ movb 525(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 526(%rax), %dl
+ movb 526(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 527(%rax), %dl
+ movb 527(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 528(%rax), %dl
+ movb 528(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 529(%rax), %dl
+ movb 529(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 530(%rax), %dl
+ movb 530(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 531(%rax), %dl
+ movb 531(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 532(%rax), %dl
+ movb 532(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 533(%rax), %dl
+ movb 533(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 534(%rax), %dl
+ movb 534(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 535(%rax), %dl
+ movb 535(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 536(%rax), %dl
+ movb 536(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 537(%rax), %dl
+ movb 537(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 538(%rax), %dl
+ movb 538(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 539(%rax), %dl
+ movb 539(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 540(%rax), %dl
+ movb 540(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 541(%rax), %dl
+ movb 541(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 542(%rax), %dl
+ movb 542(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 543(%rax), %dl
+ movb 543(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 544(%rax), %dl
+ movb 544(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 545(%rax), %dl
+ movb 545(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 546(%rax), %dl
+ movb 546(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 547(%rax), %dl
+ movb 547(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 548(%rax), %dl
+ movb 548(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 549(%rax), %dl
+ movb 549(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 550(%rax), %dl
+ movb 550(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 551(%rax), %dl
+ movb 551(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 552(%rax), %dl
+ movb 552(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 553(%rax), %dl
+ movb 553(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 554(%rax), %dl
+ movb 554(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 555(%rax), %dl
+ movb 555(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 556(%rax), %dl
+ movb 556(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 557(%rax), %dl
+ movb 557(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 558(%rax), %dl
+ movb 558(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 559(%rax), %dl
+ movb 559(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 560(%rax), %dl
+ movb 560(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 561(%rax), %dl
+ movb 561(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 562(%rax), %dl
+ movb 562(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 563(%rax), %dl
+ movb 563(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 564(%rax), %dl
+ movb 564(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 565(%rax), %dl
+ movb 565(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 566(%rax), %dl
+ movb 566(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 567(%rax), %dl
+ movb 567(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 568(%rax), %dl
+ movb 568(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 569(%rax), %dl
+ movb 569(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 570(%rax), %dl
+ movb 570(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 571(%rax), %dl
+ movb 571(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 572(%rax), %dl
+ movb 572(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 573(%rax), %dl
+ movb 573(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 574(%rax), %dl
+ movb 574(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 575(%rax), %dl
+ movb 575(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 576(%rax), %dl
+ movb 576(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 577(%rax), %dl
+ movb 577(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 578(%rax), %dl
+ movb 578(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 579(%rax), %dl
+ movb 579(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 580(%rax), %dl
+ movb 580(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 581(%rax), %dl
+ movb 581(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 582(%rax), %dl
+ movb 582(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 583(%rax), %dl
+ movb 583(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 584(%rax), %dl
+ movb 584(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 585(%rax), %dl
+ movb 585(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 586(%rax), %dl
+ movb 586(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 587(%rax), %dl
+ movb 587(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 588(%rax), %dl
+ movb 588(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 589(%rax), %dl
+ movb 589(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 590(%rax), %dl
+ movb 590(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 591(%rax), %dl
+ movb 591(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 592(%rax), %dl
+ movb 592(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 593(%rax), %dl
+ movb 593(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 594(%rax), %dl
+ movb 594(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 595(%rax), %dl
+ movb 595(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 596(%rax), %dl
+ movb 596(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 597(%rax), %dl
+ movb 597(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 598(%rax), %dl
+ movb 598(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 599(%rax), %dl
+ movb 599(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 600(%rax), %dl
+ movb 600(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 601(%rax), %dl
+ movb 601(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 602(%rax), %dl
+ movb 602(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 603(%rax), %dl
+ movb 603(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 604(%rax), %dl
+ movb 604(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 605(%rax), %dl
+ movb 605(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 606(%rax), %dl
+ movb 606(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 607(%rax), %dl
+ movb 607(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 608(%rax), %dl
+ movb 608(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 609(%rax), %dl
+ movb 609(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 610(%rax), %dl
+ movb 610(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 611(%rax), %dl
+ movb 611(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 612(%rax), %dl
+ movb 612(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 613(%rax), %dl
+ movb 613(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 614(%rax), %dl
+ movb 614(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 615(%rax), %dl
+ movb 615(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 616(%rax), %dl
+ movb 616(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 617(%rax), %dl
+ movb 617(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 618(%rax), %dl
+ movb 618(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 619(%rax), %dl
+ movb 619(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 620(%rax), %dl
+ movb 620(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 621(%rax), %dl
+ movb 621(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 622(%rax), %dl
+ movb 622(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 623(%rax), %dl
+ movb 623(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 624(%rax), %dl
+ movb 624(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 625(%rax), %dl
+ movb 625(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 626(%rax), %dl
+ movb 626(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 627(%rax), %dl
+ movb 627(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 628(%rax), %dl
+ movb 628(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 629(%rax), %dl
+ movb 629(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 630(%rax), %dl
+ movb 630(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 631(%rax), %dl
+ movb 631(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 632(%rax), %dl
+ movb 632(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 633(%rax), %dl
+ movb 633(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 634(%rax), %dl
+ movb 634(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 635(%rax), %dl
+ movb 635(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 636(%rax), %dl
+ movb 636(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 637(%rax), %dl
+ movb 637(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 638(%rax), %dl
+ movb 638(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 639(%rax), %dl
+ movb 639(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 640(%rax), %dl
+ movb 640(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 641(%rax), %dl
+ movb 641(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 642(%rax), %dl
+ movb 642(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 643(%rax), %dl
+ movb 643(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 644(%rax), %dl
+ movb 644(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 645(%rax), %dl
+ movb 645(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 646(%rax), %dl
+ movb 646(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 647(%rax), %dl
+ movb 647(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 648(%rax), %dl
+ movb 648(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 649(%rax), %dl
+ movb 649(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 650(%rax), %dl
+ movb 650(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 651(%rax), %dl
+ movb 651(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 652(%rax), %dl
+ movb 652(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 653(%rax), %dl
+ movb 653(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 654(%rax), %dl
+ movb 654(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 655(%rax), %dl
+ movb 655(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 656(%rax), %dl
+ movb 656(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 657(%rax), %dl
+ movb 657(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 658(%rax), %dl
+ movb 658(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 659(%rax), %dl
+ movb 659(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 660(%rax), %dl
+ movb 660(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 661(%rax), %dl
+ movb 661(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 662(%rax), %dl
+ movb 662(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 663(%rax), %dl
+ movb 663(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 664(%rax), %dl
+ movb 664(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 665(%rax), %dl
+ movb 665(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 666(%rax), %dl
+ movb 666(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 667(%rax), %dl
+ movb 667(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 668(%rax), %dl
+ movb 668(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 669(%rax), %dl
+ movb 669(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 670(%rax), %dl
+ movb 670(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 671(%rax), %dl
+ movb 671(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 672(%rax), %dl
+ movb 672(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 673(%rax), %dl
+ movb 673(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 674(%rax), %dl
+ movb 674(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 675(%rax), %dl
+ movb 675(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 676(%rax), %dl
+ movb 676(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 677(%rax), %dl
+ movb 677(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 678(%rax), %dl
+ movb 678(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 679(%rax), %dl
+ movb 679(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 680(%rax), %dl
+ movb 680(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 681(%rax), %dl
+ movb 681(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 682(%rax), %dl
+ movb 682(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 683(%rax), %dl
+ movb 683(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 684(%rax), %dl
+ movb 684(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 685(%rax), %dl
+ movb 685(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 686(%rax), %dl
+ movb 686(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 687(%rax), %dl
+ movb 687(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 688(%rax), %dl
+ movb 688(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 689(%rax), %dl
+ movb 689(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 690(%rax), %dl
+ movb 690(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 691(%rax), %dl
+ movb 691(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 692(%rax), %dl
+ movb 692(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 693(%rax), %dl
+ movb 693(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 694(%rax), %dl
+ movb 694(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 695(%rax), %dl
+ movb 695(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 696(%rax), %dl
+ movb 696(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 697(%rax), %dl
+ movb 697(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 698(%rax), %dl
+ movb 698(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 699(%rax), %dl
+ movb 699(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 700(%rax), %dl
+ movb 700(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 701(%rax), %dl
+ movb 701(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 702(%rax), %dl
+ movb 702(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 703(%rax), %dl
+ movb 703(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 704(%rax), %dl
+ movb 704(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 705(%rax), %dl
+ movb 705(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 706(%rax), %dl
+ movb 706(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 707(%rax), %dl
+ movb 707(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 708(%rax), %dl
+ movb 708(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 709(%rax), %dl
+ movb 709(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 710(%rax), %dl
+ movb 710(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 711(%rax), %dl
+ movb 711(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 712(%rax), %dl
+ movb 712(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 713(%rax), %dl
+ movb 713(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 714(%rax), %dl
+ movb 714(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 715(%rax), %dl
+ movb 715(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 716(%rax), %dl
+ movb 716(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 717(%rax), %dl
+ movb 717(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 718(%rax), %dl
+ movb 718(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 719(%rax), %dl
+ movb 719(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 720(%rax), %dl
+ movb 720(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 721(%rax), %dl
+ movb 721(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 722(%rax), %dl
+ movb 722(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 723(%rax), %dl
+ movb 723(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 724(%rax), %dl
+ movb 724(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 725(%rax), %dl
+ movb 725(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 726(%rax), %dl
+ movb 726(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 727(%rax), %dl
+ movb 727(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 728(%rax), %dl
+ movb 728(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 729(%rax), %dl
+ movb 729(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 730(%rax), %dl
+ movb 730(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 731(%rax), %dl
+ movb 731(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 732(%rax), %dl
+ movb 732(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 733(%rax), %dl
+ movb 733(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 734(%rax), %dl
+ movb 734(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 735(%rax), %dl
+ movb 735(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 736(%rax), %dl
+ movb 736(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 737(%rax), %dl
+ movb 737(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 738(%rax), %dl
+ movb 738(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 739(%rax), %dl
+ movb 739(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 740(%rax), %dl
+ movb 740(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 741(%rax), %dl
+ movb 741(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 742(%rax), %dl
+ movb 742(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 743(%rax), %dl
+ movb 743(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 744(%rax), %dl
+ movb 744(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 745(%rax), %dl
+ movb 745(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 746(%rax), %dl
+ movb 746(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 747(%rax), %dl
+ movb 747(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 748(%rax), %dl
+ movb 748(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 749(%rax), %dl
+ movb 749(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 750(%rax), %dl
+ movb 750(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 751(%rax), %dl
+ movb 751(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 752(%rax), %dl
+ movb 752(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 753(%rax), %dl
+ movb 753(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 754(%rax), %dl
+ movb 754(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 755(%rax), %dl
+ movb 755(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 756(%rax), %dl
+ movb 756(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 757(%rax), %dl
+ movb 757(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 758(%rax), %dl
+ movb 758(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 759(%rax), %dl
+ movb 759(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 760(%rax), %dl
+ movb 760(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 761(%rax), %dl
+ movb 761(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 762(%rax), %dl
+ movb 762(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 763(%rax), %dl
+ movb 763(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 764(%rax), %dl
+ movb 764(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 765(%rax), %dl
+ movb 765(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 766(%rax), %dl
+ movb 766(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 767(%rax), %al
+ movb 767(%rsi), %dl
+ xorb %dl, %al
+ movzbq %al, %rax
+ orq %rax, %rcx
+ negq %rcx
+ shrq $63, %rcx
+ movq 16(%rsp), %rax
+ addq $64, %rax
+ addq $1536, %rax
+ leaq 152(%rsp), %rdx
+ negq %rcx
+ movb (%rdx), %dil
+ movb (%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, (%rdx)
+ movb 1(%rdx), %dil
+ movb 1(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 1(%rdx)
+ movb 2(%rdx), %dil
+ movb 2(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 2(%rdx)
+ movb 3(%rdx), %dil
+ movb 3(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 3(%rdx)
+ movb 4(%rdx), %dil
+ movb 4(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 4(%rdx)
+ movb 5(%rdx), %dil
+ movb 5(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 5(%rdx)
+ movb 6(%rdx), %dil
+ movb 6(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 6(%rdx)
+ movb 7(%rdx), %dil
+ movb 7(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 7(%rdx)
+ movb 8(%rdx), %dil
+ movb 8(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 8(%rdx)
+ movb 9(%rdx), %dil
+ movb 9(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 9(%rdx)
+ movb 10(%rdx), %dil
+ movb 10(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 10(%rdx)
+ movb 11(%rdx), %dil
+ movb 11(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 11(%rdx)
+ movb 12(%rdx), %dil
+ movb 12(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 12(%rdx)
+ movb 13(%rdx), %dil
+ movb 13(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 13(%rdx)
+ movb 14(%rdx), %dil
+ movb 14(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 14(%rdx)
+ movb 15(%rdx), %dil
+ movb 15(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 15(%rdx)
+ movb 16(%rdx), %dil
+ movb 16(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 16(%rdx)
+ movb 17(%rdx), %dil
+ movb 17(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 17(%rdx)
+ movb 18(%rdx), %dil
+ movb 18(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 18(%rdx)
+ movb 19(%rdx), %dil
+ movb 19(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 19(%rdx)
+ movb 20(%rdx), %dil
+ movb 20(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 20(%rdx)
+ movb 21(%rdx), %dil
+ movb 21(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 21(%rdx)
+ movb 22(%rdx), %dil
+ movb 22(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 22(%rdx)
+ movb 23(%rdx), %dil
+ movb 23(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 23(%rdx)
+ movb 24(%rdx), %dil
+ movb 24(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 24(%rdx)
+ movb 25(%rdx), %dil
+ movb 25(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 25(%rdx)
+ movb 26(%rdx), %dil
+ movb 26(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 26(%rdx)
+ movb 27(%rdx), %dil
+ movb 27(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 27(%rdx)
+ movb 28(%rdx), %dil
+ movb 28(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 28(%rdx)
+ movb 29(%rdx), %dil
+ movb 29(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 29(%rdx)
+ movb 30(%rdx), %dil
+ movb 30(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 30(%rdx)
+ movb 31(%rdx), %dil
+ movb 31(%rax), %al
+ xorb %dil, %al
+ andb %cl, %al
+ xorb %al, %dil
+ movb %dil, 31(%rdx)
+ movq $768, %rcx
+ leaq 184(%rsp), %rax
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$2:
+ leaq 232(%rsp), %rsp
+ movq (%rsp), %rax
+ movq $32, %rcx
+ leaq 152(%rsp), %rdx
+ leaq -216(%rsp), %rsp
+ call L_shake256_64$1
+Ljade_kem_kyber_kyber512_amd64_ref_dec$1:
+ leaq 216(%rsp), %rsp
+ xorq %rax, %rax
+ movq 9584(%rsp), %r14
+ movq 9592(%rsp), %r13
+ movq 9600(%rsp), %r12
+ movq 9608(%rsp), %rbp
+ movq 9616(%rsp), %rbx
+ movq 9624(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_ref_enc:
+jade_kem_kyber_kyber512_amd64_ref_enc:
+ movq %rsp, %rax
+ leaq -80(%rsp), %rsp
+ andq $-16, %rsp
+ movq %rax, 72(%rsp)
+ movq %r14, 32(%rsp)
+ movq %r13, 40(%rsp)
+ movq %r12, 48(%rsp)
+ movq %rbp, 56(%rsp)
+ movq %rbx, 64(%rsp)
+ movq %rdi, %rbx
+ movq %rsi, %rbp
+ movq %rdx, %r12
+ movq %rsp, %rdi
+ movq $32, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rcx
+ leaq -8800(%rsp), %rsp
+ call L__crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_ref_enc$1:
+ leaq 8800(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r14
+ movq 40(%rsp), %r13
+ movq 48(%rsp), %r12
+ movq 56(%rsp), %rbp
+ movq 64(%rsp), %rbx
+ movq 72(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_ref_enc_derand:
+jade_kem_kyber_kyber512_amd64_ref_enc_derand:
+ movq %rsp, %rax
+ leaq -80(%rsp), %rsp
+ andq $-8, %rsp
+ movq %rax, 72(%rsp)
+ movq %r14, 32(%rsp)
+ movq %r13, 40(%rsp)
+ movq %r12, 48(%rsp)
+ movq %rbp, 56(%rsp)
+ movq %rbx, 64(%rsp)
+ movq %rdi, %rbx
+ movq %rsi, %rbp
+ movq %rdx, %r12
+ movq %rsp, %rax
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ movq %rsp, %rcx
+ leaq -8800(%rsp), %rsp
+ call L__crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_ref_enc_derand$1:
+ leaq 8800(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r14
+ movq 40(%rsp), %r13
+ movq 48(%rsp), %r12
+ movq 56(%rsp), %rbp
+ movq 64(%rsp), %rbx
+ movq 72(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_ref_keypair:
+jade_kem_kyber_kyber512_amd64_ref_keypair:
+ movq %rsp, %rax
+ leaq -112(%rsp), %rsp
+ andq $-16, %rsp
+ movq %rax, 104(%rsp)
+ movq %r14, 64(%rsp)
+ movq %r13, 72(%rsp)
+ movq %r12, 80(%rsp)
+ movq %rbp, 88(%rsp)
+ movq %rbx, 96(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rdi
+ movq $64, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rax
+ leaq -6224(%rsp), %rsp
+ call L__crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_ref_keypair$1:
+ leaq 6224(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r14
+ movq 72(%rsp), %r13
+ movq 80(%rsp), %r12
+ movq 88(%rsp), %rbp
+ movq 96(%rsp), %rbx
+ movq 104(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber512_amd64_ref_keypair_derand:
+jade_kem_kyber_kyber512_amd64_ref_keypair_derand:
+ movq %rsp, %rax
+ leaq -112(%rsp), %rsp
+ andq $-8, %rsp
+ movq %rax, 104(%rsp)
+ movq %r14, 64(%rsp)
+ movq %r13, 72(%rsp)
+ movq %r12, 80(%rsp)
+ movq %rbp, 88(%rsp)
+ movq %rbx, 96(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rax
+ movb (%rdx), %cl
+ movb %cl, (%rax)
+ movb 1(%rdx), %cl
+ movb %cl, 1(%rax)
+ movb 2(%rdx), %cl
+ movb %cl, 2(%rax)
+ movb 3(%rdx), %cl
+ movb %cl, 3(%rax)
+ movb 4(%rdx), %cl
+ movb %cl, 4(%rax)
+ movb 5(%rdx), %cl
+ movb %cl, 5(%rax)
+ movb 6(%rdx), %cl
+ movb %cl, 6(%rax)
+ movb 7(%rdx), %cl
+ movb %cl, 7(%rax)
+ movb 8(%rdx), %cl
+ movb %cl, 8(%rax)
+ movb 9(%rdx), %cl
+ movb %cl, 9(%rax)
+ movb 10(%rdx), %cl
+ movb %cl, 10(%rax)
+ movb 11(%rdx), %cl
+ movb %cl, 11(%rax)
+ movb 12(%rdx), %cl
+ movb %cl, 12(%rax)
+ movb 13(%rdx), %cl
+ movb %cl, 13(%rax)
+ movb 14(%rdx), %cl
+ movb %cl, 14(%rax)
+ movb 15(%rdx), %cl
+ movb %cl, 15(%rax)
+ movb 16(%rdx), %cl
+ movb %cl, 16(%rax)
+ movb 17(%rdx), %cl
+ movb %cl, 17(%rax)
+ movb 18(%rdx), %cl
+ movb %cl, 18(%rax)
+ movb 19(%rdx), %cl
+ movb %cl, 19(%rax)
+ movb 20(%rdx), %cl
+ movb %cl, 20(%rax)
+ movb 21(%rdx), %cl
+ movb %cl, 21(%rax)
+ movb 22(%rdx), %cl
+ movb %cl, 22(%rax)
+ movb 23(%rdx), %cl
+ movb %cl, 23(%rax)
+ movb 24(%rdx), %cl
+ movb %cl, 24(%rax)
+ movb 25(%rdx), %cl
+ movb %cl, 25(%rax)
+ movb 26(%rdx), %cl
+ movb %cl, 26(%rax)
+ movb 27(%rdx), %cl
+ movb %cl, 27(%rax)
+ movb 28(%rdx), %cl
+ movb %cl, 28(%rax)
+ movb 29(%rdx), %cl
+ movb %cl, 29(%rax)
+ movb 30(%rdx), %cl
+ movb %cl, 30(%rax)
+ movb 31(%rdx), %cl
+ movb %cl, 31(%rax)
+ movb 32(%rdx), %cl
+ movb %cl, 32(%rax)
+ movb 33(%rdx), %cl
+ movb %cl, 33(%rax)
+ movb 34(%rdx), %cl
+ movb %cl, 34(%rax)
+ movb 35(%rdx), %cl
+ movb %cl, 35(%rax)
+ movb 36(%rdx), %cl
+ movb %cl, 36(%rax)
+ movb 37(%rdx), %cl
+ movb %cl, 37(%rax)
+ movb 38(%rdx), %cl
+ movb %cl, 38(%rax)
+ movb 39(%rdx), %cl
+ movb %cl, 39(%rax)
+ movb 40(%rdx), %cl
+ movb %cl, 40(%rax)
+ movb 41(%rdx), %cl
+ movb %cl, 41(%rax)
+ movb 42(%rdx), %cl
+ movb %cl, 42(%rax)
+ movb 43(%rdx), %cl
+ movb %cl, 43(%rax)
+ movb 44(%rdx), %cl
+ movb %cl, 44(%rax)
+ movb 45(%rdx), %cl
+ movb %cl, 45(%rax)
+ movb 46(%rdx), %cl
+ movb %cl, 46(%rax)
+ movb 47(%rdx), %cl
+ movb %cl, 47(%rax)
+ movb 48(%rdx), %cl
+ movb %cl, 48(%rax)
+ movb 49(%rdx), %cl
+ movb %cl, 49(%rax)
+ movb 50(%rdx), %cl
+ movb %cl, 50(%rax)
+ movb 51(%rdx), %cl
+ movb %cl, 51(%rax)
+ movb 52(%rdx), %cl
+ movb %cl, 52(%rax)
+ movb 53(%rdx), %cl
+ movb %cl, 53(%rax)
+ movb 54(%rdx), %cl
+ movb %cl, 54(%rax)
+ movb 55(%rdx), %cl
+ movb %cl, 55(%rax)
+ movb 56(%rdx), %cl
+ movb %cl, 56(%rax)
+ movb 57(%rdx), %cl
+ movb %cl, 57(%rax)
+ movb 58(%rdx), %cl
+ movb %cl, 58(%rax)
+ movb 59(%rdx), %cl
+ movb %cl, 59(%rax)
+ movb 60(%rdx), %cl
+ movb %cl, 60(%rax)
+ movb 61(%rdx), %cl
+ movb %cl, 61(%rax)
+ movb 62(%rdx), %cl
+ movb %cl, 62(%rax)
+ movb 63(%rdx), %cl
+ movb %cl, 63(%rax)
+ movq %rsp, %rax
+ leaq -6224(%rsp), %rsp
+ call L__crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber512_amd64_ref_keypair_derand$1:
+ leaq 6224(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r14
+ movq 72(%rsp), %r13
+ movq 80(%rsp), %r12
+ movq 88(%rsp), %rbp
+ movq 96(%rsp), %rbx
+ movq 104(%rsp), %rsp
+ ret
+L__crypto_kem_enc_derand_jazz$1:
+ movq %r12, 8(%rsp)
+ movq %rbx, 16(%rsp)
+ movq %rbp, 24(%rsp)
+ leaq 80(%rsp), %rax
+ leaq -208(%rsp), %rsp
+ call L_sha3_256_32$1
+L__crypto_kem_enc_derand_jazz$111:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rsi
+ movq $800, %rcx
+ leaq 112(%rsp), %rax
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_enc_derand_jazz$110:
+ leaq 232(%rsp), %rsp
+ leaq 144(%rsp), %rax
+ leaq 80(%rsp), %rcx
+ leaq -208(%rsp), %rsp
+ call L_sha3_512_64$1
+L__crypto_kem_enc_derand_jazz$109:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rdx
+ leaq 80(%rsp), %rcx
+ leaq 176(%rsp), %rax
+ movq %rdx, %rsi
+ leaq 2456(%rsp), %rdi
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$108:
+ addq $384, %rsi
+ leaq 2968(%rsp), %rdi
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$107:
+ movq $0, %rsi
+ addq $768, %rdx
+ jmp L__crypto_kem_enc_derand_jazz$105
+L__crypto_kem_enc_derand_jazz$106:
+ movq (%rdx), %rdi
+ movq %rdi, 48(%rsp,%rsi,8)
+ addq $8, %rdx
+ incq %rsi
+L__crypto_kem_enc_derand_jazz$105:
+ cmpq $4, %rsi
+ jb L__crypto_kem_enc_derand_jazz$106
+ leaq 920(%rsp), %rdx
+ call L_i_poly_frommsg$1
+L__crypto_kem_enc_derand_jazz$104:
+ movq %rax, 8(%rsp)
+ movq $1, %rax
+ movq %rax, 32(%rsp)
+ movb 48(%rsp), %al
+ movb %al, 8600(%rsp)
+ movb 49(%rsp), %al
+ movb %al, 8601(%rsp)
+ movb 50(%rsp), %al
+ movb %al, 8602(%rsp)
+ movb 51(%rsp), %al
+ movb %al, 8603(%rsp)
+ movb 52(%rsp), %al
+ movb %al, 8604(%rsp)
+ movb 53(%rsp), %al
+ movb %al, 8605(%rsp)
+ movb 54(%rsp), %al
+ movb %al, 8606(%rsp)
+ movb 55(%rsp), %al
+ movb %al, 8607(%rsp)
+ movb 56(%rsp), %al
+ movb %al, 8608(%rsp)
+ movb 57(%rsp), %al
+ movb %al, 8609(%rsp)
+ movb 58(%rsp), %al
+ movb %al, 8610(%rsp)
+ movb 59(%rsp), %al
+ movb %al, 8611(%rsp)
+ movb 60(%rsp), %al
+ movb %al, 8612(%rsp)
+ movb 61(%rsp), %al
+ movb %al, 8613(%rsp)
+ movb 62(%rsp), %al
+ movb %al, 8614(%rsp)
+ movb 63(%rsp), %al
+ movb %al, 8615(%rsp)
+ movb 64(%rsp), %al
+ movb %al, 8616(%rsp)
+ movb 65(%rsp), %al
+ movb %al, 8617(%rsp)
+ movb 66(%rsp), %al
+ movb %al, 8618(%rsp)
+ movb 67(%rsp), %al
+ movb %al, 8619(%rsp)
+ movb 68(%rsp), %al
+ movb %al, 8620(%rsp)
+ movb 69(%rsp), %al
+ movb %al, 8621(%rsp)
+ movb 70(%rsp), %al
+ movb %al, 8622(%rsp)
+ movb 71(%rsp), %al
+ movb %al, 8623(%rsp)
+ movb 72(%rsp), %al
+ movb %al, 8624(%rsp)
+ movb 73(%rsp), %al
+ movb %al, 8625(%rsp)
+ movb 74(%rsp), %al
+ movb %al, 8626(%rsp)
+ movb 75(%rsp), %al
+ movb %al, 8627(%rsp)
+ movb 76(%rsp), %al
+ movb %al, 8628(%rsp)
+ movb 77(%rsp), %al
+ movb %al, 8629(%rsp)
+ movb 78(%rsp), %al
+ movb %al, 8630(%rsp)
+ movb 79(%rsp), %al
+ movb %al, 8631(%rsp)
+ movq 32(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_enc_derand_jazz$102
+ movb $0, 8632(%rsp)
+ movb $0, 8633(%rsp)
+ jmp L__crypto_kem_enc_derand_jazz$103
+L__crypto_kem_enc_derand_jazz$102:
+ movb $0, 8632(%rsp)
+ movb $0, 8633(%rsp)
+L__crypto_kem_enc_derand_jazz$103:
+ leaq 208(%rsp), %rax
+ leaq 8600(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_enc_derand_jazz$101:
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$99
+L__crypto_kem_enc_derand_jazz$100:
+ movq %rax, 408(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$99:
+ cmpq $64, %rax
+ jb L__crypto_kem_enc_derand_jazz$100
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$91
+L__crypto_kem_enc_derand_jazz$92:
+ movq %rax, 40(%rsp)
+ leaq 208(%rsp), %rax
+ leaq 8634(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_enc_derand_jazz$98:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_enc_derand_jazz$93:
+ movzbw 8634(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_enc_derand_jazz$96
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$96
+ movw %dx, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$97:
+L__crypto_kem_enc_derand_jazz$96:
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$94
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$94
+ movw %di, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$95:
+L__crypto_kem_enc_derand_jazz$94:
+ cmpq $166, %rcx
+ jb L__crypto_kem_enc_derand_jazz$93
+L__crypto_kem_enc_derand_jazz$91:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$92
+ movq $0, %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$89
+L__crypto_kem_enc_derand_jazz$90:
+ movw 408(%rsp,%rax,2), %dx
+ movw %dx, 6552(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$89:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$90
+ movq 32(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_enc_derand_jazz$87
+ movb $0, 8632(%rsp)
+ movb $1, 8633(%rsp)
+ jmp L__crypto_kem_enc_derand_jazz$88
+L__crypto_kem_enc_derand_jazz$87:
+ movb $1, 8632(%rsp)
+ movb $0, 8633(%rsp)
+L__crypto_kem_enc_derand_jazz$88:
+ leaq 208(%rsp), %rax
+ leaq 8600(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_enc_derand_jazz$86:
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$84
+L__crypto_kem_enc_derand_jazz$85:
+ movq %rax, 408(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$84:
+ cmpq $64, %rax
+ jb L__crypto_kem_enc_derand_jazz$85
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$76
+L__crypto_kem_enc_derand_jazz$77:
+ movq %rax, 40(%rsp)
+ leaq 208(%rsp), %rax
+ leaq 8634(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_enc_derand_jazz$83:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_enc_derand_jazz$78:
+ movzbw 8634(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_enc_derand_jazz$81
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$81
+ movw %dx, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$82:
+L__crypto_kem_enc_derand_jazz$81:
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$79
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$79
+ movw %di, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$80:
+L__crypto_kem_enc_derand_jazz$79:
+ cmpq $166, %rcx
+ jb L__crypto_kem_enc_derand_jazz$78
+L__crypto_kem_enc_derand_jazz$76:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$77
+ movq $0, %rax
+ movq $256, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$74
+L__crypto_kem_enc_derand_jazz$75:
+ movw 408(%rsp,%rax,2), %dx
+ movw %dx, 6552(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$74:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$75
+ movq 32(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_enc_derand_jazz$72
+ movb $1, 8632(%rsp)
+ movb $0, 8633(%rsp)
+ jmp L__crypto_kem_enc_derand_jazz$73
+L__crypto_kem_enc_derand_jazz$72:
+ movb $0, 8632(%rsp)
+ movb $1, 8633(%rsp)
+L__crypto_kem_enc_derand_jazz$73:
+ leaq 208(%rsp), %rax
+ leaq 8600(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_enc_derand_jazz$71:
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$69
+L__crypto_kem_enc_derand_jazz$70:
+ movq %rax, 408(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$69:
+ cmpq $64, %rax
+ jb L__crypto_kem_enc_derand_jazz$70
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$61
+L__crypto_kem_enc_derand_jazz$62:
+ movq %rax, 40(%rsp)
+ leaq 208(%rsp), %rax
+ leaq 8634(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_enc_derand_jazz$68:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_enc_derand_jazz$63:
+ movzbw 8634(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_enc_derand_jazz$66
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$66
+ movw %dx, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$67:
+L__crypto_kem_enc_derand_jazz$66:
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$64
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$64
+ movw %di, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$65:
+L__crypto_kem_enc_derand_jazz$64:
+ cmpq $166, %rcx
+ jb L__crypto_kem_enc_derand_jazz$63
+L__crypto_kem_enc_derand_jazz$61:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$62
+ movq $0, %rax
+ movq $512, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$59
+L__crypto_kem_enc_derand_jazz$60:
+ movw 408(%rsp,%rax,2), %dx
+ movw %dx, 6552(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$59:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$60
+ movq 32(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_enc_derand_jazz$57
+ movb $1, 8632(%rsp)
+ movb $1, 8633(%rsp)
+ jmp L__crypto_kem_enc_derand_jazz$58
+L__crypto_kem_enc_derand_jazz$57:
+ movb $1, 8632(%rsp)
+ movb $1, 8633(%rsp)
+L__crypto_kem_enc_derand_jazz$58:
+ leaq 208(%rsp), %rax
+ leaq 8600(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_enc_derand_jazz$56:
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$54
+L__crypto_kem_enc_derand_jazz$55:
+ movq %rax, 408(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$54:
+ cmpq $64, %rax
+ jb L__crypto_kem_enc_derand_jazz$55
+ movq $0, %rax
+ jmp L__crypto_kem_enc_derand_jazz$46
+L__crypto_kem_enc_derand_jazz$47:
+ movq %rax, 32(%rsp)
+ leaq 208(%rsp), %rax
+ leaq 8634(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_enc_derand_jazz$53:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_enc_derand_jazz$48:
+ movzbw 8634(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 8634(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_enc_derand_jazz$51
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$51
+ movw %dx, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$52:
+L__crypto_kem_enc_derand_jazz$51:
+ cmpw $3329, %di
+ jnb L__crypto_kem_enc_derand_jazz$49
+ cmpq $256, %rax
+ jnb L__crypto_kem_enc_derand_jazz$49
+ movw %di, 408(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_enc_derand_jazz$50:
+L__crypto_kem_enc_derand_jazz$49:
+ cmpq $166, %rcx
+ jb L__crypto_kem_enc_derand_jazz$48
+L__crypto_kem_enc_derand_jazz$46:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$47
+ movq $0, %rax
+ movq $768, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$44
+L__crypto_kem_enc_derand_jazz$45:
+ movw 408(%rsp,%rax,2), %dx
+ movw %dx, 6552(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$44:
+ cmpq $256, %rax
+ jb L__crypto_kem_enc_derand_jazz$45
+ movq 8(%rsp), %rcx
+ movb $0, %al
+ leaq 3480(%rsp), %rdx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+L__crypto_kem_enc_derand_jazz$43:
+ leaq 240(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movb $1, %al
+ leaq 3992(%rsp), %rdx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+L__crypto_kem_enc_derand_jazz$42:
+ leaq 240(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movb $2, %cl
+ leaq 4504(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise_eta2$1
+L__crypto_kem_enc_derand_jazz$41:
+ leaq 176(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movb $3, %cl
+ leaq 5016(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise_eta2$1
+L__crypto_kem_enc_derand_jazz$40:
+ leaq 176(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movb $4, %cl
+ leaq 408(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise_eta2$1
+L__crypto_kem_enc_derand_jazz$39:
+ leaq 176(%rsp), %rsp
+ leaq 3480(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$38:
+ leaq 3992(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$37:
+ leaq 5528(%rsp), %rdi
+ leaq 6552(%rsp), %rcx
+ leaq 3480(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$36:
+ leaq 16(%rsp), %rsp
+ leaq 1432(%rsp), %rdi
+ leaq 7064(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$35:
+ leaq 16(%rsp), %rsp
+ leaq 5528(%rsp), %rcx
+ leaq 1432(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$34:
+ leaq 5528(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$32
+L__crypto_kem_enc_derand_jazz$33:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$32:
+ cmpq $256, %rcx
+ jb L__crypto_kem_enc_derand_jazz$33
+ leaq 6040(%rsp), %rdi
+ leaq 7576(%rsp), %rcx
+ leaq 3480(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$31:
+ leaq 16(%rsp), %rsp
+ leaq 1432(%rsp), %rdi
+ leaq 8088(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$30:
+ leaq 16(%rsp), %rsp
+ leaq 6040(%rsp), %rcx
+ leaq 1432(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$29:
+ leaq 6040(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$27
+L__crypto_kem_enc_derand_jazz$28:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$27:
+ cmpq $256, %rcx
+ jb L__crypto_kem_enc_derand_jazz$28
+ leaq 1432(%rsp), %rdi
+ leaq 2456(%rsp), %rcx
+ leaq 3480(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$26:
+ leaq 16(%rsp), %rsp
+ leaq 1944(%rsp), %rdi
+ leaq 2968(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$25:
+ leaq 16(%rsp), %rsp
+ leaq 1432(%rsp), %rcx
+ leaq 1944(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$24:
+ leaq 1432(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$22
+L__crypto_kem_enc_derand_jazz$23:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$22:
+ cmpq $256, %rcx
+ jb L__crypto_kem_enc_derand_jazz$23
+ leaq 5528(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$21:
+ leaq 6040(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$20:
+ leaq 1432(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$19:
+ leaq 5528(%rsp), %rcx
+ leaq 4504(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$18:
+ leaq 6040(%rsp), %rcx
+ leaq 5016(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$17:
+ leaq 1432(%rsp), %rcx
+ leaq 408(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$16:
+ leaq 1432(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$15:
+ leaq 5528(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$13
+L__crypto_kem_enc_derand_jazz$14:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$13:
+ cmpq $256, %rcx
+ jb L__crypto_kem_enc_derand_jazz$14
+ leaq 6040(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$11
+L__crypto_kem_enc_derand_jazz$12:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$11:
+ cmpq $256, %rcx
+ jb L__crypto_kem_enc_derand_jazz$12
+ leaq 1432(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_enc_derand_jazz$9
+L__crypto_kem_enc_derand_jazz$10:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_enc_derand_jazz$9:
+ cmpq $256, %rcx
+ jb L__crypto_kem_enc_derand_jazz$10
+ movq 16(%rsp), %rax
+ movq $0, %rdx
+ movq $0, %rsi
+ leaq 5528(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$8:
+ leaq 6040(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$7:
+ jmp L__crypto_kem_enc_derand_jazz$5
+L__crypto_kem_enc_derand_jazz$6:
+ movzwq 5528(%rsp,%rdx,2), %rcx
+ incq %rdx
+ shlq $10, %rcx
+ addq $1665, %rcx
+ imulq $1290167, %rcx, %rcx
+ shrq $32, %rcx
+ andq $1023, %rcx
+ movzwq 5528(%rsp,%rdx,2), %rdi
+ incq %rdx
+ shlq $10, %rdi
+ addq $1665, %rdi
+ imulq $1290167, %rdi, %rdi
+ shrq $32, %rdi
+ andq $1023, %rdi
+ movzwq 5528(%rsp,%rdx,2), %r8
+ incq %rdx
+ shlq $10, %r8
+ addq $1665, %r8
+ imulq $1290167, %r8, %r8
+ shrq $32, %r8
+ andq $1023, %r8
+ movzwq 5528(%rsp,%rdx,2), %r9
+ incq %rdx
+ shlq $10, %r9
+ addq $1665, %r9
+ imulq $1290167, %r9, %r9
+ shrq $32, %r9
+ andq $1023, %r9
+ movw %cx, %r10w
+ andw $255, %r10w
+ movb %r10b, (%rax,%rsi)
+ incq %rsi
+ shrw $8, %cx
+ movw %di, %r10w
+ shlw $2, %r10w
+ orw %cx, %r10w
+ movb %r10b, (%rax,%rsi)
+ incq %rsi
+ shrw $6, %di
+ movw %r8w, %cx
+ shlw $4, %cx
+ orw %di, %cx
+ movb %cl, (%rax,%rsi)
+ incq %rsi
+ shrw $4, %r8w
+ movw %r9w, %cx
+ shlw $6, %cx
+ orw %r8w, %cx
+ movb %cl, (%rax,%rsi)
+ incq %rsi
+ shrq $2, %r9
+ movb %r9b, (%rax,%rsi)
+ incq %rsi
+L__crypto_kem_enc_derand_jazz$5:
+ cmpq $512, %rdx
+ jb L__crypto_kem_enc_derand_jazz$6
+ addq $640, %rax
+ leaq 1432(%rsp), %rcx
+ call L_poly_compress$1
+L__crypto_kem_enc_derand_jazz$4:
+ movq 16(%rsp), %rsi
+ movq $768, %rcx
+ leaq 176(%rsp), %rax
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_enc_derand_jazz$3:
+ leaq 232(%rsp), %rsp
+ movq 24(%rsp), %rax
+ movq $32, %rcx
+ leaq 144(%rsp), %rdx
+ leaq -216(%rsp), %rsp
+ call L_shake256_64$1
+L__crypto_kem_enc_derand_jazz$2:
+ leaq 216(%rsp), %rsp
+ ret
+L__crypto_kem_keypair_derand_jazz$1:
+ movq %rax, 8(%rsp)
+ movq %rbp, 16(%rsp)
+ movq %rbx, 24(%rsp)
+ movq %rax, %rcx
+ movq %rbp, 32(%rsp)
+ movq %rbx, 40(%rsp)
+ leaq 128(%rsp), %rax
+ leaq -208(%rsp), %rsp
+ call L_sha3_512_32$1
+L__crypto_kem_keypair_derand_jazz$93:
+ leaq 208(%rsp), %rsp
+ movq 128(%rsp), %rax
+ movq %rax, 96(%rsp)
+ movq 160(%rsp), %rax
+ movq %rax, 64(%rsp)
+ movq 136(%rsp), %rax
+ movq %rax, 104(%rsp)
+ movq 168(%rsp), %rax
+ movq %rax, 72(%rsp)
+ movq 144(%rsp), %rax
+ movq %rax, 112(%rsp)
+ movq 176(%rsp), %rax
+ movq %rax, 80(%rsp)
+ movq 152(%rsp), %rax
+ movq %rax, 120(%rsp)
+ movq 184(%rsp), %rax
+ movq %rax, 88(%rsp)
+ movq $0, %rax
+ movq %rax, 48(%rsp)
+ movb 96(%rsp), %al
+ movb %al, 6024(%rsp)
+ movb 97(%rsp), %al
+ movb %al, 6025(%rsp)
+ movb 98(%rsp), %al
+ movb %al, 6026(%rsp)
+ movb 99(%rsp), %al
+ movb %al, 6027(%rsp)
+ movb 100(%rsp), %al
+ movb %al, 6028(%rsp)
+ movb 101(%rsp), %al
+ movb %al, 6029(%rsp)
+ movb 102(%rsp), %al
+ movb %al, 6030(%rsp)
+ movb 103(%rsp), %al
+ movb %al, 6031(%rsp)
+ movb 104(%rsp), %al
+ movb %al, 6032(%rsp)
+ movb 105(%rsp), %al
+ movb %al, 6033(%rsp)
+ movb 106(%rsp), %al
+ movb %al, 6034(%rsp)
+ movb 107(%rsp), %al
+ movb %al, 6035(%rsp)
+ movb 108(%rsp), %al
+ movb %al, 6036(%rsp)
+ movb 109(%rsp), %al
+ movb %al, 6037(%rsp)
+ movb 110(%rsp), %al
+ movb %al, 6038(%rsp)
+ movb 111(%rsp), %al
+ movb %al, 6039(%rsp)
+ movb 112(%rsp), %al
+ movb %al, 6040(%rsp)
+ movb 113(%rsp), %al
+ movb %al, 6041(%rsp)
+ movb 114(%rsp), %al
+ movb %al, 6042(%rsp)
+ movb 115(%rsp), %al
+ movb %al, 6043(%rsp)
+ movb 116(%rsp), %al
+ movb %al, 6044(%rsp)
+ movb 117(%rsp), %al
+ movb %al, 6045(%rsp)
+ movb 118(%rsp), %al
+ movb %al, 6046(%rsp)
+ movb 119(%rsp), %al
+ movb %al, 6047(%rsp)
+ movb 120(%rsp), %al
+ movb %al, 6048(%rsp)
+ movb 121(%rsp), %al
+ movb %al, 6049(%rsp)
+ movb 122(%rsp), %al
+ movb %al, 6050(%rsp)
+ movb 123(%rsp), %al
+ movb %al, 6051(%rsp)
+ movb 124(%rsp), %al
+ movb %al, 6052(%rsp)
+ movb 125(%rsp), %al
+ movb %al, 6053(%rsp)
+ movb 126(%rsp), %al
+ movb %al, 6054(%rsp)
+ movb 127(%rsp), %al
+ movb %al, 6055(%rsp)
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_keypair_derand_jazz$91
+ movb $0, 6056(%rsp)
+ movb $0, 6057(%rsp)
+ jmp L__crypto_kem_keypair_derand_jazz$92
+L__crypto_kem_keypair_derand_jazz$91:
+ movb $0, 6056(%rsp)
+ movb $0, 6057(%rsp)
+L__crypto_kem_keypair_derand_jazz$92:
+ leaq 192(%rsp), %rax
+ leaq 6024(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_keypair_derand_jazz$90:
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$88
+L__crypto_kem_keypair_derand_jazz$89:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$88:
+ cmpq $64, %rax
+ jb L__crypto_kem_keypair_derand_jazz$89
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$80
+L__crypto_kem_keypair_derand_jazz$81:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rax
+ leaq 6058(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_keypair_derand_jazz$87:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_keypair_derand_jazz$82:
+ movzbw 6058(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_keypair_derand_jazz$85
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$85
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$86:
+L__crypto_kem_keypair_derand_jazz$85:
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$83
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$83
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$84:
+L__crypto_kem_keypair_derand_jazz$83:
+ cmpq $166, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$82
+L__crypto_kem_keypair_derand_jazz$80:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$81
+ movq $0, %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$78
+L__crypto_kem_keypair_derand_jazz$79:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 3976(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$78:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$79
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_keypair_derand_jazz$76
+ movb $0, 6056(%rsp)
+ movb $1, 6057(%rsp)
+ jmp L__crypto_kem_keypair_derand_jazz$77
+L__crypto_kem_keypair_derand_jazz$76:
+ movb $1, 6056(%rsp)
+ movb $0, 6057(%rsp)
+L__crypto_kem_keypair_derand_jazz$77:
+ leaq 192(%rsp), %rax
+ leaq 6024(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_keypair_derand_jazz$75:
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$73
+L__crypto_kem_keypair_derand_jazz$74:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$73:
+ cmpq $64, %rax
+ jb L__crypto_kem_keypair_derand_jazz$74
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$65
+L__crypto_kem_keypair_derand_jazz$66:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rax
+ leaq 6058(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_keypair_derand_jazz$72:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_keypair_derand_jazz$67:
+ movzbw 6058(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_keypair_derand_jazz$70
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$70
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$71:
+L__crypto_kem_keypair_derand_jazz$70:
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$68
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$68
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$69:
+L__crypto_kem_keypair_derand_jazz$68:
+ cmpq $166, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$67
+L__crypto_kem_keypair_derand_jazz$65:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$66
+ movq $0, %rax
+ movq $256, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$63
+L__crypto_kem_keypair_derand_jazz$64:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 3976(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$63:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$64
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_keypair_derand_jazz$61
+ movb $1, 6056(%rsp)
+ movb $0, 6057(%rsp)
+ jmp L__crypto_kem_keypair_derand_jazz$62
+L__crypto_kem_keypair_derand_jazz$61:
+ movb $0, 6056(%rsp)
+ movb $1, 6057(%rsp)
+L__crypto_kem_keypair_derand_jazz$62:
+ leaq 192(%rsp), %rax
+ leaq 6024(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_keypair_derand_jazz$60:
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$58
+L__crypto_kem_keypair_derand_jazz$59:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$58:
+ cmpq $64, %rax
+ jb L__crypto_kem_keypair_derand_jazz$59
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$50
+L__crypto_kem_keypair_derand_jazz$51:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rax
+ leaq 6058(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_keypair_derand_jazz$57:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_keypair_derand_jazz$52:
+ movzbw 6058(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_keypair_derand_jazz$55
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$55
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$56:
+L__crypto_kem_keypair_derand_jazz$55:
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$53
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$53
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$54:
+L__crypto_kem_keypair_derand_jazz$53:
+ cmpq $166, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$52
+L__crypto_kem_keypair_derand_jazz$50:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$51
+ movq $0, %rax
+ movq $512, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$48
+L__crypto_kem_keypair_derand_jazz$49:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 3976(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$48:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$49
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L__crypto_kem_keypair_derand_jazz$46
+ movb $1, 6056(%rsp)
+ movb $1, 6057(%rsp)
+ jmp L__crypto_kem_keypair_derand_jazz$47
+L__crypto_kem_keypair_derand_jazz$46:
+ movb $1, 6056(%rsp)
+ movb $1, 6057(%rsp)
+L__crypto_kem_keypair_derand_jazz$47:
+ leaq 192(%rsp), %rax
+ leaq 6024(%rsp), %rcx
+ call L_shake128_absorb34$1
+L__crypto_kem_keypair_derand_jazz$45:
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$43
+L__crypto_kem_keypair_derand_jazz$44:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$43:
+ cmpq $64, %rax
+ jb L__crypto_kem_keypair_derand_jazz$44
+ movq $0, %rax
+ jmp L__crypto_kem_keypair_derand_jazz$35
+L__crypto_kem_keypair_derand_jazz$36:
+ movq %rax, 48(%rsp)
+ leaq 192(%rsp), %rax
+ leaq 6058(%rsp), %rcx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L__crypto_kem_keypair_derand_jazz$42:
+ leaq 8(%rsp), %rsp
+ movq 48(%rsp), %rax
+ movq $0, %rcx
+L__crypto_kem_keypair_derand_jazz$37:
+ movzbw 6058(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 6058(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L__crypto_kem_keypair_derand_jazz$40
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$40
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$41:
+L__crypto_kem_keypair_derand_jazz$40:
+ cmpw $3329, %di
+ jnb L__crypto_kem_keypair_derand_jazz$38
+ cmpq $256, %rax
+ jnb L__crypto_kem_keypair_derand_jazz$38
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L__crypto_kem_keypair_derand_jazz$39:
+L__crypto_kem_keypair_derand_jazz$38:
+ cmpq $166, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$37
+L__crypto_kem_keypair_derand_jazz$35:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$36
+ movq $0, %rax
+ movq $768, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$33
+L__crypto_kem_keypair_derand_jazz$34:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 3976(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$33:
+ cmpq $256, %rax
+ jb L__crypto_kem_keypair_derand_jazz$34
+ movb $0, %al
+ leaq 904(%rsp), %rdx
+ leaq 64(%rsp), %rcx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+L__crypto_kem_keypair_derand_jazz$32:
+ leaq 240(%rsp), %rsp
+ movb $1, %al
+ leaq 1416(%rsp), %rdx
+ leaq 64(%rsp), %rcx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+L__crypto_kem_keypair_derand_jazz$31:
+ leaq 240(%rsp), %rsp
+ movb $2, %al
+ leaq 1928(%rsp), %rdx
+ leaq 64(%rsp), %rcx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+L__crypto_kem_keypair_derand_jazz$30:
+ leaq 240(%rsp), %rsp
+ movb $3, %al
+ leaq 2440(%rsp), %rdx
+ leaq 64(%rsp), %rcx
+ leaq -240(%rsp), %rsp
+ call L_poly_getnoise_eta1$1
+L__crypto_kem_keypair_derand_jazz$29:
+ leaq 240(%rsp), %rsp
+ leaq 904(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$28:
+ leaq 1416(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$27:
+ leaq 1928(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$26:
+ leaq 2440(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$25:
+ leaq 2952(%rsp), %rdi
+ leaq 3976(%rsp), %rcx
+ leaq 904(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$24:
+ leaq 16(%rsp), %rsp
+ leaq 392(%rsp), %rdi
+ leaq 4488(%rsp), %rcx
+ leaq 1416(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$23:
+ leaq 16(%rsp), %rsp
+ leaq 2952(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$22:
+ leaq 2952(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$20
+L__crypto_kem_keypair_derand_jazz$21:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$20:
+ cmpq $256, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$21
+ leaq 2952(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$19:
+ leaq 3464(%rsp), %rdi
+ leaq 5000(%rsp), %rcx
+ leaq 904(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$18:
+ leaq 16(%rsp), %rsp
+ leaq 392(%rsp), %rdi
+ leaq 5512(%rsp), %rcx
+ leaq 1416(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$17:
+ leaq 16(%rsp), %rsp
+ leaq 3464(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$16:
+ leaq 3464(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$14
+L__crypto_kem_keypair_derand_jazz$15:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$14:
+ cmpq $256, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$15
+ leaq 3464(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$13:
+ leaq 2952(%rsp), %rcx
+ leaq 1928(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$12:
+ leaq 3464(%rsp), %rcx
+ leaq 2440(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$11:
+ leaq 2952(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$9
+L__crypto_kem_keypair_derand_jazz$10:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$9:
+ cmpq $256, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$10
+ leaq 3464(%rsp), %rax
+ movq $0, %rcx
+ jmp L__crypto_kem_keypair_derand_jazz$7
+L__crypto_kem_keypair_derand_jazz$8:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L__crypto_kem_keypair_derand_jazz$7:
+ cmpq $256, %rcx
+ jb L__crypto_kem_keypair_derand_jazz$8
+ movq 32(%rsp), %rax
+ movq 40(%rsp), %rcx
+ movq %rcx, %rdx
+ leaq 904(%rsp), %rcx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$6:
+ addq $384, %rdx
+ leaq 1416(%rsp), %rcx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$5:
+ movq %rax, %rdx
+ leaq 2952(%rsp), %rcx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$4:
+ addq $384, %rdx
+ leaq 3464(%rsp), %rcx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$3:
+ addq $768, %rax
+ movq 96(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 104(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 112(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 120(%rsp), %rcx
+ movq %rcx, (%rax)
+ movq 24(%rsp), %rax
+ addq $768, %rax
+ movq 16(%rsp), %rcx
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 8(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 16(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 24(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 32(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 40(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 48(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 56(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 64(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 72(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 80(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 88(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 96(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 104(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 112(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 120(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 128(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 136(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 144(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 152(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 160(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 168(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 176(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 184(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 192(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 200(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 208(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 216(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 224(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 232(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 240(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 248(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 256(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 264(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 272(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 280(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 288(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 296(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 304(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 312(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 320(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 328(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 336(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 344(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 352(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 360(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 368(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 376(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 384(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 392(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 400(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 408(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 416(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 424(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 432(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 440(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 448(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 456(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 464(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 472(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 480(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 488(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 496(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 504(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 512(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 520(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 528(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 536(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 544(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 552(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 560(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 568(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 576(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 584(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 592(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 600(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 608(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 616(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 624(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 632(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 640(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 648(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 656(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 664(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 672(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 680(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 688(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 696(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 704(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 712(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 720(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 728(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 736(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 744(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 752(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 760(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 768(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 776(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 784(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 792(%rcx), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq %rax, 24(%rsp)
+ movq 16(%rsp), %rsi
+ movq $800, %rcx
+ leaq 96(%rsp), %rax
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_keypair_derand_jazz$2:
+ leaq 232(%rsp), %rsp
+ movq 24(%rsp), %rax
+ movq 8(%rsp), %rcx
+ leaq 96(%rsp), %rdx
+ movb (%rdx), %sil
+ movb %sil, (%rax)
+ movb 1(%rdx), %sil
+ movb %sil, 1(%rax)
+ movb 2(%rdx), %sil
+ movb %sil, 2(%rax)
+ movb 3(%rdx), %sil
+ movb %sil, 3(%rax)
+ movb 4(%rdx), %sil
+ movb %sil, 4(%rax)
+ movb 5(%rdx), %sil
+ movb %sil, 5(%rax)
+ movb 6(%rdx), %sil
+ movb %sil, 6(%rax)
+ movb 7(%rdx), %sil
+ movb %sil, 7(%rax)
+ movb 8(%rdx), %sil
+ movb %sil, 8(%rax)
+ movb 9(%rdx), %sil
+ movb %sil, 9(%rax)
+ movb 10(%rdx), %sil
+ movb %sil, 10(%rax)
+ movb 11(%rdx), %sil
+ movb %sil, 11(%rax)
+ movb 12(%rdx), %sil
+ movb %sil, 12(%rax)
+ movb 13(%rdx), %sil
+ movb %sil, 13(%rax)
+ movb 14(%rdx), %sil
+ movb %sil, 14(%rax)
+ movb 15(%rdx), %sil
+ movb %sil, 15(%rax)
+ movb 16(%rdx), %sil
+ movb %sil, 16(%rax)
+ movb 17(%rdx), %sil
+ movb %sil, 17(%rax)
+ movb 18(%rdx), %sil
+ movb %sil, 18(%rax)
+ movb 19(%rdx), %sil
+ movb %sil, 19(%rax)
+ movb 20(%rdx), %sil
+ movb %sil, 20(%rax)
+ movb 21(%rdx), %sil
+ movb %sil, 21(%rax)
+ movb 22(%rdx), %sil
+ movb %sil, 22(%rax)
+ movb 23(%rdx), %sil
+ movb %sil, 23(%rax)
+ movb 24(%rdx), %sil
+ movb %sil, 24(%rax)
+ movb 25(%rdx), %sil
+ movb %sil, 25(%rax)
+ movb 26(%rdx), %sil
+ movb %sil, 26(%rax)
+ movb 27(%rdx), %sil
+ movb %sil, 27(%rax)
+ movb 28(%rdx), %sil
+ movb %sil, 28(%rax)
+ movb 29(%rdx), %sil
+ movb %sil, 29(%rax)
+ movb 30(%rdx), %sil
+ movb %sil, 30(%rax)
+ movb 31(%rdx), %dl
+ movb %dl, 31(%rax)
+ addq $32, %rax
+ leaq 32(%rcx), %rcx
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ ret
+L_i_poly_tomsg$1:
+ call L_poly_csubq$1
+L_i_poly_tomsg$2:
+ movb $0, %sil
+ movw (%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 2(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 4(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 6(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 8(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 10(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 12(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 14(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, (%rax)
+ movb $0, %sil
+ movw 16(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 18(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 20(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 22(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 24(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 26(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 28(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 30(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 1(%rax)
+ movb $0, %sil
+ movw 32(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 34(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 36(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 38(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 40(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 42(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 44(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 46(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 2(%rax)
+ movb $0, %sil
+ movw 48(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 50(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 52(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 54(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 56(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 58(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 60(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 62(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 3(%rax)
+ movb $0, %sil
+ movw 64(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 66(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 68(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 70(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 72(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 74(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 76(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 78(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 4(%rax)
+ movb $0, %sil
+ movw 80(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 82(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 84(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 86(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 88(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 90(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 92(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 94(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 5(%rax)
+ movb $0, %sil
+ movw 96(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 98(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 100(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 102(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 104(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 106(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 108(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 110(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 6(%rax)
+ movb $0, %sil
+ movw 112(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 114(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 116(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 118(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 120(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 122(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 124(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 126(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 7(%rax)
+ movb $0, %sil
+ movw 128(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 130(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 132(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 134(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 136(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 138(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 140(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 142(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 8(%rax)
+ movb $0, %sil
+ movw 144(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 146(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 148(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 150(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 152(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 154(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 156(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 158(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 9(%rax)
+ movb $0, %sil
+ movw 160(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 162(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 164(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 166(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 168(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 170(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 172(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 174(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 10(%rax)
+ movb $0, %sil
+ movw 176(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 178(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 180(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 182(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 184(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 186(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 188(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 190(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 11(%rax)
+ movb $0, %sil
+ movw 192(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 194(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 196(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 198(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 200(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 202(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 204(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 206(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 12(%rax)
+ movb $0, %sil
+ movw 208(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 210(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 212(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 214(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 216(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 218(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 220(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 222(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 13(%rax)
+ movb $0, %sil
+ movw 224(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 226(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 228(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 230(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 232(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 234(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 236(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 238(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 14(%rax)
+ movb $0, %sil
+ movw 240(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 242(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 244(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 246(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 248(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 250(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 252(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 254(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 15(%rax)
+ movb $0, %sil
+ movw 256(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 258(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 260(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 262(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 264(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 266(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 268(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 270(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 16(%rax)
+ movb $0, %sil
+ movw 272(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 274(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 276(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 278(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 280(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 282(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 284(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 286(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 17(%rax)
+ movb $0, %sil
+ movw 288(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 290(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 292(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 294(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 296(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 298(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 300(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 302(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 18(%rax)
+ movb $0, %sil
+ movw 304(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 306(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 308(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 310(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 312(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 314(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 316(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 318(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 19(%rax)
+ movb $0, %sil
+ movw 320(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 322(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 324(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 326(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 328(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 330(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 332(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 334(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 20(%rax)
+ movb $0, %sil
+ movw 336(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 338(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 340(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 342(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 344(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 346(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 348(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 350(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 21(%rax)
+ movb $0, %sil
+ movw 352(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 354(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 356(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 358(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 360(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 362(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 364(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 366(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 22(%rax)
+ movb $0, %sil
+ movw 368(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 370(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 372(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 374(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 376(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 378(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 380(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 382(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 23(%rax)
+ movb $0, %sil
+ movw 384(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 386(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 388(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 390(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 392(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 394(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 396(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 398(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 24(%rax)
+ movb $0, %sil
+ movw 400(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 402(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 404(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 406(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 408(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 410(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 412(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 414(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 25(%rax)
+ movb $0, %sil
+ movw 416(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 418(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 420(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 422(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 424(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 426(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 428(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 430(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 26(%rax)
+ movb $0, %sil
+ movw 432(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 434(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 436(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 438(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 440(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 442(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 444(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 446(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 27(%rax)
+ movb $0, %sil
+ movw 448(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 450(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 452(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 454(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 456(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 458(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 460(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 462(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 28(%rax)
+ movb $0, %sil
+ movw 464(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 466(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 468(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 470(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 472(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 474(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 476(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 478(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 29(%rax)
+ movb $0, %sil
+ movw 480(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 482(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 484(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 486(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 488(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 490(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 492(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 494(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 30(%rax)
+ movb $0, %sil
+ movw 496(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 498(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 500(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 502(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 504(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 506(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 508(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 510(%rcx), %cx
+ movzwl %cx, %ecx
+ shll $1, %ecx
+ addl $1665, %ecx
+ imull $80635, %ecx, %ecx
+ shrl $28, %ecx
+ andl $1, %ecx
+ shll $7, %ecx
+ orb %cl, %sil
+ movb %sil, 31(%rax)
+ ret
+L_poly_tobytes$1:
+ call L_poly_csubq$1
+L_poly_tobytes$4:
+ movq $0, %rsi
+ movq $0, %rdi
+ jmp L_poly_tobytes$2
+L_poly_tobytes$3:
+ movw (%rcx,%rsi,2), %r8w
+ incq %rsi
+ movw (%rcx,%rsi,2), %r9w
+ incq %rsi
+ movw %r8w, %r10w
+ andw $255, %r10w
+ movb %r10b, (%rdx,%rdi)
+ incq %rdi
+ shrw $8, %r8w
+ movw %r9w, %r10w
+ andw $15, %r10w
+ shlw $4, %r10w
+ orw %r8w, %r10w
+ movb %r10b, (%rdx,%rdi)
+ incq %rdi
+ shrw $4, %r9w
+ movb %r9b, (%rdx,%rdi)
+ incq %rdi
+L_poly_tobytes$2:
+ cmpq $256, %rsi
+ jb L_poly_tobytes$3
+ ret
+L_poly_sub$1:
+ movq $0, %r8
+ jmp L_poly_sub$2
+L_poly_sub$3:
+ movw (%rsi,%r8,2), %r9w
+ movw (%rdi,%r8,2), %r10w
+ subw %r10w, %r9w
+ movw %r9w, (%rcx,%r8,2)
+ incq %r8
+L_poly_sub$2:
+ cmpq $256, %r8
+ jb L_poly_sub$3
+ ret
+L_poly_ntt$1:
+ leaq glob_data + 448(%rip), %rsi
+ movq $0, %rdi
+ movq $128, %r8
+ jmp L_poly_ntt$4
+L_poly_ntt$5:
+ movq $0, %r11
+ jmp L_poly_ntt$6
+L_poly_ntt$7:
+ incq %rdi
+ movw (%rsi,%rdi,2), %r9w
+ movq %r11, %r10
+ leaq (%r11,%r8), %r11
+ jmp L_poly_ntt$8
+L_poly_ntt$9:
+ leaq (%r10,%r8), %rbx
+ movw (%rcx,%rbx,2), %bp
+ movswl %bp, %ebp
+ movswl %r9w, %r12d
+ imull %r12d, %ebp
+ imull $62209, %ebp, %r12d
+ shll $16, %r12d
+ sarl $16, %r12d
+ imull $3329, %r12d, %r12d
+ subl %r12d, %ebp
+ sarl $16, %ebp
+ movw (%rcx,%r10,2), %r12w
+ movw %r12w, %r13w
+ subw %bp, %r13w
+ movw %r13w, (%rcx,%rbx,2)
+ addw %r12w, %bp
+ movw %bp, (%rcx,%r10,2)
+ incq %r10
+L_poly_ntt$8:
+ cmpq %r11, %r10
+ jb L_poly_ntt$9
+ leaq (%r10,%r8), %r11
+L_poly_ntt$6:
+ cmpq $256, %r11
+ jb L_poly_ntt$7
+ shrq $1, %r8
+L_poly_ntt$4:
+ cmpq $2, %r8
+ jnb L_poly_ntt$5
+ movq $0, %rsi
+ jmp L_poly_ntt$2
+L_poly_ntt$3:
+ movw (%rcx,%rsi,2), %di
+ movswl %di, %r8d
+ imull $20159, %r8d, %r8d
+ sarl $26, %r8d
+ imull $3329, %r8d, %r8d
+ subw %r8w, %di
+ movw %di, (%rcx,%rsi,2)
+ incq %rsi
+L_poly_ntt$2:
+ cmpq $256, %rsi
+ jb L_poly_ntt$3
+ ret
+L_poly_invntt$1:
+ leaq glob_data + 192(%rip), %rsi
+ movq $0, %rdi
+ movq $2, %r8
+ jmp L_poly_invntt$4
+L_poly_invntt$5:
+ movq $0, %r11
+ jmp L_poly_invntt$6
+L_poly_invntt$7:
+ movw (%rsi,%rdi,2), %r9w
+ incq %rdi
+ movq %r11, %r10
+ leaq (%r11,%r8), %r11
+ jmp L_poly_invntt$8
+L_poly_invntt$9:
+ leaq (%r10,%r8), %rbx
+ movw (%rcx,%rbx,2), %bp
+ movw (%rcx,%r10,2), %r12w
+ movw %bp, %r13w
+ addw %r12w, %r13w
+ movswl %r13w, %r14d
+ imull $20159, %r14d, %r14d
+ sarl $26, %r14d
+ imull $3329, %r14d, %r14d
+ subw %r14w, %r13w
+ movw %r13w, (%rcx,%r10,2)
+ subw %bp, %r12w
+ movswl %r12w, %ebp
+ movswl %r9w, %r12d
+ imull %r12d, %ebp
+ imull $62209, %ebp, %r12d
+ shll $16, %r12d
+ sarl $16, %r12d
+ imull $3329, %r12d, %r12d
+ subl %r12d, %ebp
+ sarl $16, %ebp
+ movw %bp, (%rcx,%rbx,2)
+ incq %r10
+L_poly_invntt$8:
+ cmpq %r11, %r10
+ jb L_poly_invntt$9
+ leaq (%r10,%r8), %r11
+L_poly_invntt$6:
+ cmpq $256, %r11
+ jb L_poly_invntt$7
+ shlq $1, %r8
+L_poly_invntt$4:
+ cmpq $128, %r8
+ jbe L_poly_invntt$5
+ movw 254(%rsi), %si
+ movq $0, %rdi
+ jmp L_poly_invntt$2
+L_poly_invntt$3:
+ movw (%rcx,%rdi,2), %r8w
+ movswl %r8w, %r8d
+ movswl %si, %r9d
+ imull %r9d, %r8d
+ imull $62209, %r8d, %r9d
+ shll $16, %r9d
+ sarl $16, %r9d
+ imull $3329, %r9d, %r9d
+ subl %r9d, %r8d
+ sarl $16, %r8d
+ movw %r8w, (%rcx,%rdi,2)
+ incq %rdi
+L_poly_invntt$2:
+ cmpq $256, %rdi
+ jb L_poly_invntt$3
+ ret
+L_poly_getnoise_eta2$1:
+ movq %rdx, 8(%rsp)
+ movb (%rax), %dl
+ movb %dl, 16(%rsp)
+ movb 1(%rax), %dl
+ movb %dl, 17(%rsp)
+ movb 2(%rax), %dl
+ movb %dl, 18(%rsp)
+ movb 3(%rax), %dl
+ movb %dl, 19(%rsp)
+ movb 4(%rax), %dl
+ movb %dl, 20(%rsp)
+ movb 5(%rax), %dl
+ movb %dl, 21(%rsp)
+ movb 6(%rax), %dl
+ movb %dl, 22(%rsp)
+ movb 7(%rax), %dl
+ movb %dl, 23(%rsp)
+ movb 8(%rax), %dl
+ movb %dl, 24(%rsp)
+ movb 9(%rax), %dl
+ movb %dl, 25(%rsp)
+ movb 10(%rax), %dl
+ movb %dl, 26(%rsp)
+ movb 11(%rax), %dl
+ movb %dl, 27(%rsp)
+ movb 12(%rax), %dl
+ movb %dl, 28(%rsp)
+ movb 13(%rax), %dl
+ movb %dl, 29(%rsp)
+ movb 14(%rax), %dl
+ movb %dl, 30(%rsp)
+ movb 15(%rax), %dl
+ movb %dl, 31(%rsp)
+ movb 16(%rax), %dl
+ movb %dl, 32(%rsp)
+ movb 17(%rax), %dl
+ movb %dl, 33(%rsp)
+ movb 18(%rax), %dl
+ movb %dl, 34(%rsp)
+ movb 19(%rax), %dl
+ movb %dl, 35(%rsp)
+ movb 20(%rax), %dl
+ movb %dl, 36(%rsp)
+ movb 21(%rax), %dl
+ movb %dl, 37(%rsp)
+ movb 22(%rax), %dl
+ movb %dl, 38(%rsp)
+ movb 23(%rax), %dl
+ movb %dl, 39(%rsp)
+ movb 24(%rax), %dl
+ movb %dl, 40(%rsp)
+ movb 25(%rax), %dl
+ movb %dl, 41(%rsp)
+ movb 26(%rax), %dl
+ movb %dl, 42(%rsp)
+ movb 27(%rax), %dl
+ movb %dl, 43(%rsp)
+ movb 28(%rax), %dl
+ movb %dl, 44(%rsp)
+ movb 29(%rax), %dl
+ movb %dl, 45(%rsp)
+ movb 30(%rax), %dl
+ movb %dl, 46(%rsp)
+ movb 31(%rax), %al
+ movb %al, 47(%rsp)
+ movb %cl, 48(%rsp)
+ leaq 49(%rsp), %rax
+ leaq 16(%rsp), %rcx
+ leaq -208(%rsp), %rsp
+ call L_shake256_128_33$1
+L_poly_getnoise_eta2$4:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rax
+ leaq 49(%rsp), %rcx
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_poly_getnoise_eta2$2
+L_poly_getnoise_eta2$3:
+ movb (%rcx,%rdx), %dil
+ movb %dil, %r8b
+ andb $85, %r8b
+ shrb $1, %dil
+ andb $85, %dil
+ addb %r8b, %dil
+ movb %dil, %r8b
+ andb $3, %r8b
+ movb %dil, %r9b
+ shrb $2, %r9b
+ andb $3, %r9b
+ subb %r9b, %r8b
+ movsbw %r8b, %r8w
+ movw %r8w, (%rax,%rsi,2)
+ movb %dil, %r8b
+ shrb $4, %r8b
+ andb $3, %r8b
+ shrb $6, %dil
+ andb $3, %dil
+ subb %dil, %r8b
+ movsbw %r8b, %di
+ incq %rsi
+ movw %di, (%rax,%rsi,2)
+ incq %rdx
+ incq %rsi
+L_poly_getnoise_eta2$2:
+ cmpq $128, %rdx
+ jb L_poly_getnoise_eta2$3
+ ret
+L_poly_getnoise_eta1$1:
+ movq %rdx, 8(%rsp)
+ movb (%rcx), %dl
+ movb %dl, 16(%rsp)
+ movb 1(%rcx), %dl
+ movb %dl, 17(%rsp)
+ movb 2(%rcx), %dl
+ movb %dl, 18(%rsp)
+ movb 3(%rcx), %dl
+ movb %dl, 19(%rsp)
+ movb 4(%rcx), %dl
+ movb %dl, 20(%rsp)
+ movb 5(%rcx), %dl
+ movb %dl, 21(%rsp)
+ movb 6(%rcx), %dl
+ movb %dl, 22(%rsp)
+ movb 7(%rcx), %dl
+ movb %dl, 23(%rsp)
+ movb 8(%rcx), %dl
+ movb %dl, 24(%rsp)
+ movb 9(%rcx), %dl
+ movb %dl, 25(%rsp)
+ movb 10(%rcx), %dl
+ movb %dl, 26(%rsp)
+ movb 11(%rcx), %dl
+ movb %dl, 27(%rsp)
+ movb 12(%rcx), %dl
+ movb %dl, 28(%rsp)
+ movb 13(%rcx), %dl
+ movb %dl, 29(%rsp)
+ movb 14(%rcx), %dl
+ movb %dl, 30(%rsp)
+ movb 15(%rcx), %dl
+ movb %dl, 31(%rsp)
+ movb 16(%rcx), %dl
+ movb %dl, 32(%rsp)
+ movb 17(%rcx), %dl
+ movb %dl, 33(%rsp)
+ movb 18(%rcx), %dl
+ movb %dl, 34(%rsp)
+ movb 19(%rcx), %dl
+ movb %dl, 35(%rsp)
+ movb 20(%rcx), %dl
+ movb %dl, 36(%rsp)
+ movb 21(%rcx), %dl
+ movb %dl, 37(%rsp)
+ movb 22(%rcx), %dl
+ movb %dl, 38(%rsp)
+ movb 23(%rcx), %dl
+ movb %dl, 39(%rsp)
+ movb 24(%rcx), %dl
+ movb %dl, 40(%rsp)
+ movb 25(%rcx), %dl
+ movb %dl, 41(%rsp)
+ movb 26(%rcx), %dl
+ movb %dl, 42(%rsp)
+ movb 27(%rcx), %dl
+ movb %dl, 43(%rsp)
+ movb 28(%rcx), %dl
+ movb %dl, 44(%rsp)
+ movb 29(%rcx), %dl
+ movb %dl, 45(%rsp)
+ movb 30(%rcx), %dl
+ movb %dl, 46(%rsp)
+ movb 31(%rcx), %cl
+ movb %cl, 47(%rsp)
+ movb %al, 48(%rsp)
+ leaq 49(%rsp), %rax
+ leaq 16(%rsp), %rcx
+ leaq -208(%rsp), %rsp
+ call L_shake256_192_33$1
+L_poly_getnoise_eta1$4:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rax
+ leaq 49(%rsp), %rcx
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_poly_getnoise_eta1$2
+L_poly_getnoise_eta1$3:
+ imulq $3, %rdx, %r8
+ movzbl (%rcx,%r8), %edi
+ movzbl 1(%rcx,%r8), %r9d
+ shll $8, %r9d
+ orl %r9d, %edi
+ movzbl 2(%rcx,%r8), %r8d
+ shll $16, %r8d
+ orl %r8d, %edi
+ movl %edi, %r8d
+ andl $2396745, %r8d
+ shrl $1, %edi
+ movl %edi, %r9d
+ andl $2396745, %r9d
+ addl %r9d, %r8d
+ shrl $1, %edi
+ andl $2396745, %edi
+ addl %r8d, %edi
+ movb %dil, %r8b
+ andb $7, %r8b
+ movb %dil, %r9b
+ shrb $3, %r9b
+ andb $7, %r9b
+ subb %r9b, %r8b
+ movsbw %r8b, %r8w
+ movw %r8w, (%rax,%rsi,2)
+ shrl $6, %edi
+ incq %rsi
+ movb %dil, %r8b
+ andb $7, %r8b
+ movb %dil, %r9b
+ shrb $3, %r9b
+ andb $7, %r9b
+ subb %r9b, %r8b
+ movsbw %r8b, %r8w
+ movw %r8w, (%rax,%rsi,2)
+ shrl $6, %edi
+ incq %rsi
+ movb %dil, %r8b
+ andb $7, %r8b
+ movb %dil, %r9b
+ shrb $3, %r9b
+ andb $7, %r9b
+ subb %r9b, %r8b
+ movsbw %r8b, %r8w
+ movw %r8w, (%rax,%rsi,2)
+ shrl $6, %edi
+ incq %rsi
+ movb %dil, %r8b
+ andb $7, %r8b
+ shrb $3, %dil
+ andb $7, %dil
+ subb %dil, %r8b
+ movsbw %r8b, %di
+ movw %di, (%rax,%rsi,2)
+ incq %rsi
+ incq %rdx
+L_poly_getnoise_eta1$2:
+ cmpq $64, %rdx
+ jb L_poly_getnoise_eta1$3
+ ret
+L_i_poly_frommsg$1:
+ movb (%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, (%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 2(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 4(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 6(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 8(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 10(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 12(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 14(%rdx)
+ movb 1(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 16(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 18(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 20(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 22(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 24(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 26(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 28(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 30(%rdx)
+ movb 2(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 32(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 34(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 36(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 38(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 40(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 42(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 44(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 46(%rdx)
+ movb 3(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 48(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 50(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 52(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 54(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 56(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 58(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 60(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 62(%rdx)
+ movb 4(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 64(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 66(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 68(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 70(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 72(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 74(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 76(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 78(%rdx)
+ movb 5(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 80(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 82(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 84(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 86(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 88(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 90(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 92(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 94(%rdx)
+ movb 6(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 96(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 98(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 100(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 102(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 104(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 106(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 108(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 110(%rdx)
+ movb 7(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 112(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 114(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 116(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 118(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 120(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 122(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 124(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 126(%rdx)
+ movb 8(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 128(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 130(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 132(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 134(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 136(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 138(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 140(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 142(%rdx)
+ movb 9(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 144(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 146(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 148(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 150(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 152(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 154(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 156(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 158(%rdx)
+ movb 10(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 160(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 162(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 164(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 166(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 168(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 170(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 172(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 174(%rdx)
+ movb 11(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 176(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 178(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 180(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 182(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 184(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 186(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 188(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 190(%rdx)
+ movb 12(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 192(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 194(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 196(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 198(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 200(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 202(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 204(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 206(%rdx)
+ movb 13(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 208(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 210(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 212(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 214(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 216(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 218(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 220(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 222(%rdx)
+ movb 14(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 224(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 226(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 228(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 230(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 232(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 234(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 236(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 238(%rdx)
+ movb 15(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 240(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 242(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 244(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 246(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 248(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 250(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 252(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 254(%rdx)
+ movb 16(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 256(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 258(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 260(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 262(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 264(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 266(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 268(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 270(%rdx)
+ movb 17(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 272(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 274(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 276(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 278(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 280(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 282(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 284(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 286(%rdx)
+ movb 18(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 288(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 290(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 292(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 294(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 296(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 298(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 300(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 302(%rdx)
+ movb 19(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 304(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 306(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 308(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 310(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 312(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 314(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 316(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 318(%rdx)
+ movb 20(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 320(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 322(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 324(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 326(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 328(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 330(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 332(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 334(%rdx)
+ movb 21(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 336(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 338(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 340(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 342(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 344(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 346(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 348(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 350(%rdx)
+ movb 22(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 352(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 354(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 356(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 358(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 360(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 362(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 364(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 366(%rdx)
+ movb 23(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 368(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 370(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 372(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 374(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 376(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 378(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 380(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 382(%rdx)
+ movb 24(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 384(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 386(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 388(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 390(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 392(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 394(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 396(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 398(%rdx)
+ movb 25(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 400(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 402(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 404(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 406(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 408(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 410(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 412(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 414(%rdx)
+ movb 26(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 416(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 418(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 420(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 422(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 424(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 426(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 428(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 430(%rdx)
+ movb 27(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 432(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 434(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 436(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 438(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 440(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 442(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 444(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 446(%rdx)
+ movb 28(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 448(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 450(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 452(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 454(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 456(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 458(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 460(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 462(%rdx)
+ movb 29(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 464(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 466(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 468(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 470(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 472(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 474(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 476(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 478(%rdx)
+ movb 30(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 480(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 482(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 484(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 486(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 488(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 490(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 492(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 494(%rdx)
+ movb 31(%rcx), %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 496(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 498(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 500(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 502(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 504(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 506(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 508(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %cx
+ andw $1, %cx
+ imulw $1665, %cx, %cx
+ movw %cx, 510(%rdx)
+ ret
+L_poly_frommont$1:
+ movw $1353, %cx
+ movq $0, %rdx
+ jmp L_poly_frommont$2
+L_poly_frommont$3:
+ movw (%rax,%rdx,2), %si
+ movswl %si, %esi
+ movswl %cx, %edi
+ imull %edi, %esi
+ imull $62209, %esi, %edi
+ shll $16, %edi
+ sarl $16, %edi
+ imull $3329, %edi, %edi
+ subl %edi, %esi
+ sarl $16, %esi
+ movw %si, (%rax,%rdx,2)
+ incq %rdx
+L_poly_frommont$2:
+ cmpq $256, %rdx
+ jb L_poly_frommont$3
+ ret
+L_poly_frombytes$1:
+ movb (%rsi), %r8b
+ movb 1(%rsi), %r9b
+ movb 2(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, (%rdi)
+ movw %r10w, 2(%rdi)
+ movb 3(%rsi), %r8b
+ movb 4(%rsi), %r9b
+ movb 5(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 4(%rdi)
+ movw %r10w, 6(%rdi)
+ movb 6(%rsi), %r8b
+ movb 7(%rsi), %r9b
+ movb 8(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 8(%rdi)
+ movw %r10w, 10(%rdi)
+ movb 9(%rsi), %r8b
+ movb 10(%rsi), %r9b
+ movb 11(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 12(%rdi)
+ movw %r10w, 14(%rdi)
+ movb 12(%rsi), %r8b
+ movb 13(%rsi), %r9b
+ movb 14(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 16(%rdi)
+ movw %r10w, 18(%rdi)
+ movb 15(%rsi), %r8b
+ movb 16(%rsi), %r9b
+ movb 17(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 20(%rdi)
+ movw %r10w, 22(%rdi)
+ movb 18(%rsi), %r8b
+ movb 19(%rsi), %r9b
+ movb 20(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 24(%rdi)
+ movw %r10w, 26(%rdi)
+ movb 21(%rsi), %r8b
+ movb 22(%rsi), %r9b
+ movb 23(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 28(%rdi)
+ movw %r10w, 30(%rdi)
+ movb 24(%rsi), %r8b
+ movb 25(%rsi), %r9b
+ movb 26(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 32(%rdi)
+ movw %r10w, 34(%rdi)
+ movb 27(%rsi), %r8b
+ movb 28(%rsi), %r9b
+ movb 29(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 36(%rdi)
+ movw %r10w, 38(%rdi)
+ movb 30(%rsi), %r8b
+ movb 31(%rsi), %r9b
+ movb 32(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 40(%rdi)
+ movw %r10w, 42(%rdi)
+ movb 33(%rsi), %r8b
+ movb 34(%rsi), %r9b
+ movb 35(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 44(%rdi)
+ movw %r10w, 46(%rdi)
+ movb 36(%rsi), %r8b
+ movb 37(%rsi), %r9b
+ movb 38(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 48(%rdi)
+ movw %r10w, 50(%rdi)
+ movb 39(%rsi), %r8b
+ movb 40(%rsi), %r9b
+ movb 41(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 52(%rdi)
+ movw %r10w, 54(%rdi)
+ movb 42(%rsi), %r8b
+ movb 43(%rsi), %r9b
+ movb 44(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 56(%rdi)
+ movw %r10w, 58(%rdi)
+ movb 45(%rsi), %r8b
+ movb 46(%rsi), %r9b
+ movb 47(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 60(%rdi)
+ movw %r10w, 62(%rdi)
+ movb 48(%rsi), %r8b
+ movb 49(%rsi), %r9b
+ movb 50(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 64(%rdi)
+ movw %r10w, 66(%rdi)
+ movb 51(%rsi), %r8b
+ movb 52(%rsi), %r9b
+ movb 53(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 68(%rdi)
+ movw %r10w, 70(%rdi)
+ movb 54(%rsi), %r8b
+ movb 55(%rsi), %r9b
+ movb 56(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 72(%rdi)
+ movw %r10w, 74(%rdi)
+ movb 57(%rsi), %r8b
+ movb 58(%rsi), %r9b
+ movb 59(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 76(%rdi)
+ movw %r10w, 78(%rdi)
+ movb 60(%rsi), %r8b
+ movb 61(%rsi), %r9b
+ movb 62(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 80(%rdi)
+ movw %r10w, 82(%rdi)
+ movb 63(%rsi), %r8b
+ movb 64(%rsi), %r9b
+ movb 65(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 84(%rdi)
+ movw %r10w, 86(%rdi)
+ movb 66(%rsi), %r8b
+ movb 67(%rsi), %r9b
+ movb 68(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 88(%rdi)
+ movw %r10w, 90(%rdi)
+ movb 69(%rsi), %r8b
+ movb 70(%rsi), %r9b
+ movb 71(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 92(%rdi)
+ movw %r10w, 94(%rdi)
+ movb 72(%rsi), %r8b
+ movb 73(%rsi), %r9b
+ movb 74(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 96(%rdi)
+ movw %r10w, 98(%rdi)
+ movb 75(%rsi), %r8b
+ movb 76(%rsi), %r9b
+ movb 77(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 100(%rdi)
+ movw %r10w, 102(%rdi)
+ movb 78(%rsi), %r8b
+ movb 79(%rsi), %r9b
+ movb 80(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 104(%rdi)
+ movw %r10w, 106(%rdi)
+ movb 81(%rsi), %r8b
+ movb 82(%rsi), %r9b
+ movb 83(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 108(%rdi)
+ movw %r10w, 110(%rdi)
+ movb 84(%rsi), %r8b
+ movb 85(%rsi), %r9b
+ movb 86(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 112(%rdi)
+ movw %r10w, 114(%rdi)
+ movb 87(%rsi), %r8b
+ movb 88(%rsi), %r9b
+ movb 89(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 116(%rdi)
+ movw %r10w, 118(%rdi)
+ movb 90(%rsi), %r8b
+ movb 91(%rsi), %r9b
+ movb 92(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 120(%rdi)
+ movw %r10w, 122(%rdi)
+ movb 93(%rsi), %r8b
+ movb 94(%rsi), %r9b
+ movb 95(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 124(%rdi)
+ movw %r10w, 126(%rdi)
+ movb 96(%rsi), %r8b
+ movb 97(%rsi), %r9b
+ movb 98(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 128(%rdi)
+ movw %r10w, 130(%rdi)
+ movb 99(%rsi), %r8b
+ movb 100(%rsi), %r9b
+ movb 101(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 132(%rdi)
+ movw %r10w, 134(%rdi)
+ movb 102(%rsi), %r8b
+ movb 103(%rsi), %r9b
+ movb 104(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 136(%rdi)
+ movw %r10w, 138(%rdi)
+ movb 105(%rsi), %r8b
+ movb 106(%rsi), %r9b
+ movb 107(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 140(%rdi)
+ movw %r10w, 142(%rdi)
+ movb 108(%rsi), %r8b
+ movb 109(%rsi), %r9b
+ movb 110(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 144(%rdi)
+ movw %r10w, 146(%rdi)
+ movb 111(%rsi), %r8b
+ movb 112(%rsi), %r9b
+ movb 113(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 148(%rdi)
+ movw %r10w, 150(%rdi)
+ movb 114(%rsi), %r8b
+ movb 115(%rsi), %r9b
+ movb 116(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 152(%rdi)
+ movw %r10w, 154(%rdi)
+ movb 117(%rsi), %r8b
+ movb 118(%rsi), %r9b
+ movb 119(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 156(%rdi)
+ movw %r10w, 158(%rdi)
+ movb 120(%rsi), %r8b
+ movb 121(%rsi), %r9b
+ movb 122(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 160(%rdi)
+ movw %r10w, 162(%rdi)
+ movb 123(%rsi), %r8b
+ movb 124(%rsi), %r9b
+ movb 125(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 164(%rdi)
+ movw %r10w, 166(%rdi)
+ movb 126(%rsi), %r8b
+ movb 127(%rsi), %r9b
+ movb 128(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 168(%rdi)
+ movw %r10w, 170(%rdi)
+ movb 129(%rsi), %r8b
+ movb 130(%rsi), %r9b
+ movb 131(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 172(%rdi)
+ movw %r10w, 174(%rdi)
+ movb 132(%rsi), %r8b
+ movb 133(%rsi), %r9b
+ movb 134(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 176(%rdi)
+ movw %r10w, 178(%rdi)
+ movb 135(%rsi), %r8b
+ movb 136(%rsi), %r9b
+ movb 137(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 180(%rdi)
+ movw %r10w, 182(%rdi)
+ movb 138(%rsi), %r8b
+ movb 139(%rsi), %r9b
+ movb 140(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 184(%rdi)
+ movw %r10w, 186(%rdi)
+ movb 141(%rsi), %r8b
+ movb 142(%rsi), %r9b
+ movb 143(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 188(%rdi)
+ movw %r10w, 190(%rdi)
+ movb 144(%rsi), %r8b
+ movb 145(%rsi), %r9b
+ movb 146(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 192(%rdi)
+ movw %r10w, 194(%rdi)
+ movb 147(%rsi), %r8b
+ movb 148(%rsi), %r9b
+ movb 149(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 196(%rdi)
+ movw %r10w, 198(%rdi)
+ movb 150(%rsi), %r8b
+ movb 151(%rsi), %r9b
+ movb 152(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 200(%rdi)
+ movw %r10w, 202(%rdi)
+ movb 153(%rsi), %r8b
+ movb 154(%rsi), %r9b
+ movb 155(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 204(%rdi)
+ movw %r10w, 206(%rdi)
+ movb 156(%rsi), %r8b
+ movb 157(%rsi), %r9b
+ movb 158(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 208(%rdi)
+ movw %r10w, 210(%rdi)
+ movb 159(%rsi), %r8b
+ movb 160(%rsi), %r9b
+ movb 161(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 212(%rdi)
+ movw %r10w, 214(%rdi)
+ movb 162(%rsi), %r8b
+ movb 163(%rsi), %r9b
+ movb 164(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 216(%rdi)
+ movw %r10w, 218(%rdi)
+ movb 165(%rsi), %r8b
+ movb 166(%rsi), %r9b
+ movb 167(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 220(%rdi)
+ movw %r10w, 222(%rdi)
+ movb 168(%rsi), %r8b
+ movb 169(%rsi), %r9b
+ movb 170(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 224(%rdi)
+ movw %r10w, 226(%rdi)
+ movb 171(%rsi), %r8b
+ movb 172(%rsi), %r9b
+ movb 173(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 228(%rdi)
+ movw %r10w, 230(%rdi)
+ movb 174(%rsi), %r8b
+ movb 175(%rsi), %r9b
+ movb 176(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 232(%rdi)
+ movw %r10w, 234(%rdi)
+ movb 177(%rsi), %r8b
+ movb 178(%rsi), %r9b
+ movb 179(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 236(%rdi)
+ movw %r10w, 238(%rdi)
+ movb 180(%rsi), %r8b
+ movb 181(%rsi), %r9b
+ movb 182(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 240(%rdi)
+ movw %r10w, 242(%rdi)
+ movb 183(%rsi), %r8b
+ movb 184(%rsi), %r9b
+ movb 185(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 244(%rdi)
+ movw %r10w, 246(%rdi)
+ movb 186(%rsi), %r8b
+ movb 187(%rsi), %r9b
+ movb 188(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 248(%rdi)
+ movw %r10w, 250(%rdi)
+ movb 189(%rsi), %r8b
+ movb 190(%rsi), %r9b
+ movb 191(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 252(%rdi)
+ movw %r10w, 254(%rdi)
+ movb 192(%rsi), %r8b
+ movb 193(%rsi), %r9b
+ movb 194(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 256(%rdi)
+ movw %r10w, 258(%rdi)
+ movb 195(%rsi), %r8b
+ movb 196(%rsi), %r9b
+ movb 197(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 260(%rdi)
+ movw %r10w, 262(%rdi)
+ movb 198(%rsi), %r8b
+ movb 199(%rsi), %r9b
+ movb 200(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 264(%rdi)
+ movw %r10w, 266(%rdi)
+ movb 201(%rsi), %r8b
+ movb 202(%rsi), %r9b
+ movb 203(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 268(%rdi)
+ movw %r10w, 270(%rdi)
+ movb 204(%rsi), %r8b
+ movb 205(%rsi), %r9b
+ movb 206(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 272(%rdi)
+ movw %r10w, 274(%rdi)
+ movb 207(%rsi), %r8b
+ movb 208(%rsi), %r9b
+ movb 209(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 276(%rdi)
+ movw %r10w, 278(%rdi)
+ movb 210(%rsi), %r8b
+ movb 211(%rsi), %r9b
+ movb 212(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 280(%rdi)
+ movw %r10w, 282(%rdi)
+ movb 213(%rsi), %r8b
+ movb 214(%rsi), %r9b
+ movb 215(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 284(%rdi)
+ movw %r10w, 286(%rdi)
+ movb 216(%rsi), %r8b
+ movb 217(%rsi), %r9b
+ movb 218(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 288(%rdi)
+ movw %r10w, 290(%rdi)
+ movb 219(%rsi), %r8b
+ movb 220(%rsi), %r9b
+ movb 221(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 292(%rdi)
+ movw %r10w, 294(%rdi)
+ movb 222(%rsi), %r8b
+ movb 223(%rsi), %r9b
+ movb 224(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 296(%rdi)
+ movw %r10w, 298(%rdi)
+ movb 225(%rsi), %r8b
+ movb 226(%rsi), %r9b
+ movb 227(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 300(%rdi)
+ movw %r10w, 302(%rdi)
+ movb 228(%rsi), %r8b
+ movb 229(%rsi), %r9b
+ movb 230(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 304(%rdi)
+ movw %r10w, 306(%rdi)
+ movb 231(%rsi), %r8b
+ movb 232(%rsi), %r9b
+ movb 233(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 308(%rdi)
+ movw %r10w, 310(%rdi)
+ movb 234(%rsi), %r8b
+ movb 235(%rsi), %r9b
+ movb 236(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 312(%rdi)
+ movw %r10w, 314(%rdi)
+ movb 237(%rsi), %r8b
+ movb 238(%rsi), %r9b
+ movb 239(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 316(%rdi)
+ movw %r10w, 318(%rdi)
+ movb 240(%rsi), %r8b
+ movb 241(%rsi), %r9b
+ movb 242(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 320(%rdi)
+ movw %r10w, 322(%rdi)
+ movb 243(%rsi), %r8b
+ movb 244(%rsi), %r9b
+ movb 245(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 324(%rdi)
+ movw %r10w, 326(%rdi)
+ movb 246(%rsi), %r8b
+ movb 247(%rsi), %r9b
+ movb 248(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 328(%rdi)
+ movw %r10w, 330(%rdi)
+ movb 249(%rsi), %r8b
+ movb 250(%rsi), %r9b
+ movb 251(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 332(%rdi)
+ movw %r10w, 334(%rdi)
+ movb 252(%rsi), %r8b
+ movb 253(%rsi), %r9b
+ movb 254(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 336(%rdi)
+ movw %r10w, 338(%rdi)
+ movb 255(%rsi), %r8b
+ movb 256(%rsi), %r9b
+ movb 257(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 340(%rdi)
+ movw %r10w, 342(%rdi)
+ movb 258(%rsi), %r8b
+ movb 259(%rsi), %r9b
+ movb 260(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 344(%rdi)
+ movw %r10w, 346(%rdi)
+ movb 261(%rsi), %r8b
+ movb 262(%rsi), %r9b
+ movb 263(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 348(%rdi)
+ movw %r10w, 350(%rdi)
+ movb 264(%rsi), %r8b
+ movb 265(%rsi), %r9b
+ movb 266(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 352(%rdi)
+ movw %r10w, 354(%rdi)
+ movb 267(%rsi), %r8b
+ movb 268(%rsi), %r9b
+ movb 269(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 356(%rdi)
+ movw %r10w, 358(%rdi)
+ movb 270(%rsi), %r8b
+ movb 271(%rsi), %r9b
+ movb 272(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 360(%rdi)
+ movw %r10w, 362(%rdi)
+ movb 273(%rsi), %r8b
+ movb 274(%rsi), %r9b
+ movb 275(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 364(%rdi)
+ movw %r10w, 366(%rdi)
+ movb 276(%rsi), %r8b
+ movb 277(%rsi), %r9b
+ movb 278(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 368(%rdi)
+ movw %r10w, 370(%rdi)
+ movb 279(%rsi), %r8b
+ movb 280(%rsi), %r9b
+ movb 281(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 372(%rdi)
+ movw %r10w, 374(%rdi)
+ movb 282(%rsi), %r8b
+ movb 283(%rsi), %r9b
+ movb 284(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 376(%rdi)
+ movw %r10w, 378(%rdi)
+ movb 285(%rsi), %r8b
+ movb 286(%rsi), %r9b
+ movb 287(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 380(%rdi)
+ movw %r10w, 382(%rdi)
+ movb 288(%rsi), %r8b
+ movb 289(%rsi), %r9b
+ movb 290(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 384(%rdi)
+ movw %r10w, 386(%rdi)
+ movb 291(%rsi), %r8b
+ movb 292(%rsi), %r9b
+ movb 293(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 388(%rdi)
+ movw %r10w, 390(%rdi)
+ movb 294(%rsi), %r8b
+ movb 295(%rsi), %r9b
+ movb 296(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 392(%rdi)
+ movw %r10w, 394(%rdi)
+ movb 297(%rsi), %r8b
+ movb 298(%rsi), %r9b
+ movb 299(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 396(%rdi)
+ movw %r10w, 398(%rdi)
+ movb 300(%rsi), %r8b
+ movb 301(%rsi), %r9b
+ movb 302(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 400(%rdi)
+ movw %r10w, 402(%rdi)
+ movb 303(%rsi), %r8b
+ movb 304(%rsi), %r9b
+ movb 305(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 404(%rdi)
+ movw %r10w, 406(%rdi)
+ movb 306(%rsi), %r8b
+ movb 307(%rsi), %r9b
+ movb 308(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 408(%rdi)
+ movw %r10w, 410(%rdi)
+ movb 309(%rsi), %r8b
+ movb 310(%rsi), %r9b
+ movb 311(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 412(%rdi)
+ movw %r10w, 414(%rdi)
+ movb 312(%rsi), %r8b
+ movb 313(%rsi), %r9b
+ movb 314(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 416(%rdi)
+ movw %r10w, 418(%rdi)
+ movb 315(%rsi), %r8b
+ movb 316(%rsi), %r9b
+ movb 317(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 420(%rdi)
+ movw %r10w, 422(%rdi)
+ movb 318(%rsi), %r8b
+ movb 319(%rsi), %r9b
+ movb 320(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 424(%rdi)
+ movw %r10w, 426(%rdi)
+ movb 321(%rsi), %r8b
+ movb 322(%rsi), %r9b
+ movb 323(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 428(%rdi)
+ movw %r10w, 430(%rdi)
+ movb 324(%rsi), %r8b
+ movb 325(%rsi), %r9b
+ movb 326(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 432(%rdi)
+ movw %r10w, 434(%rdi)
+ movb 327(%rsi), %r8b
+ movb 328(%rsi), %r9b
+ movb 329(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 436(%rdi)
+ movw %r10w, 438(%rdi)
+ movb 330(%rsi), %r8b
+ movb 331(%rsi), %r9b
+ movb 332(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 440(%rdi)
+ movw %r10w, 442(%rdi)
+ movb 333(%rsi), %r8b
+ movb 334(%rsi), %r9b
+ movb 335(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 444(%rdi)
+ movw %r10w, 446(%rdi)
+ movb 336(%rsi), %r8b
+ movb 337(%rsi), %r9b
+ movb 338(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 448(%rdi)
+ movw %r10w, 450(%rdi)
+ movb 339(%rsi), %r8b
+ movb 340(%rsi), %r9b
+ movb 341(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 452(%rdi)
+ movw %r10w, 454(%rdi)
+ movb 342(%rsi), %r8b
+ movb 343(%rsi), %r9b
+ movb 344(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 456(%rdi)
+ movw %r10w, 458(%rdi)
+ movb 345(%rsi), %r8b
+ movb 346(%rsi), %r9b
+ movb 347(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 460(%rdi)
+ movw %r10w, 462(%rdi)
+ movb 348(%rsi), %r8b
+ movb 349(%rsi), %r9b
+ movb 350(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 464(%rdi)
+ movw %r10w, 466(%rdi)
+ movb 351(%rsi), %r8b
+ movb 352(%rsi), %r9b
+ movb 353(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 468(%rdi)
+ movw %r10w, 470(%rdi)
+ movb 354(%rsi), %r8b
+ movb 355(%rsi), %r9b
+ movb 356(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 472(%rdi)
+ movw %r10w, 474(%rdi)
+ movb 357(%rsi), %r8b
+ movb 358(%rsi), %r9b
+ movb 359(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 476(%rdi)
+ movw %r10w, 478(%rdi)
+ movb 360(%rsi), %r8b
+ movb 361(%rsi), %r9b
+ movb 362(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 480(%rdi)
+ movw %r10w, 482(%rdi)
+ movb 363(%rsi), %r8b
+ movb 364(%rsi), %r9b
+ movb 365(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 484(%rdi)
+ movw %r10w, 486(%rdi)
+ movb 366(%rsi), %r8b
+ movb 367(%rsi), %r9b
+ movb 368(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 488(%rdi)
+ movw %r10w, 490(%rdi)
+ movb 369(%rsi), %r8b
+ movb 370(%rsi), %r9b
+ movb 371(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 492(%rdi)
+ movw %r10w, 494(%rdi)
+ movb 372(%rsi), %r8b
+ movb 373(%rsi), %r9b
+ movb 374(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 496(%rdi)
+ movw %r10w, 498(%rdi)
+ movb 375(%rsi), %r8b
+ movb 376(%rsi), %r9b
+ movb 377(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 500(%rdi)
+ movw %r10w, 502(%rdi)
+ movb 378(%rsi), %r8b
+ movb 379(%rsi), %r9b
+ movb 380(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 504(%rdi)
+ movw %r10w, 506(%rdi)
+ movb 381(%rsi), %r8b
+ movb 382(%rsi), %r9b
+ movb 383(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 508(%rdi)
+ movw %r10w, 510(%rdi)
+ ret
+L_poly_decompress$1:
+ movq $0, %rdi
+ movq $0, %r8
+ jmp L_poly_decompress$2
+L_poly_decompress$3:
+ movb (%rsi,%rdi), %r9b
+ movzbw %r9b, %r10w
+ movzbw %r9b, %r9w
+ andw $15, %r10w
+ shrw $4, %r9w
+ imulw $3329, %r10w, %r10w
+ imulw $3329, %r9w, %r9w
+ addw $8, %r10w
+ addw $8, %r9w
+ shrw $4, %r10w
+ shrw $4, %r9w
+ movw %r10w, (%rcx,%r8,2)
+ incq %r8
+ movw %r9w, (%rcx,%r8,2)
+ incq %r8
+ incq %rdi
+L_poly_decompress$2:
+ cmpq $128, %rdi
+ jb L_poly_decompress$3
+ ret
+L_i_poly_compress$1:
+ call L_poly_csubq$1
+L_i_poly_compress$4:
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_i_poly_compress$2
+L_i_poly_compress$3:
+ movw (%rcx,%rsi,2), %di
+ movzwl %di, %edi
+ shll $4, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $15, %edi
+ incq %rsi
+ movw (%rcx,%rsi,2), %r8w
+ movzwl %r8w, %r8d
+ shll $4, %r8d
+ addl $1665, %r8d
+ imull $80635, %r8d, %r8d
+ shrl $28, %r8d
+ andl $15, %r8d
+ shll $4, %r8d
+ orl %r8d, %edi
+ movb %dil, (%rax,%rdx)
+ incq %rdx
+ incq %rsi
+L_i_poly_compress$2:
+ cmpq $128, %rdx
+ jb L_i_poly_compress$3
+ ret
+L_poly_compress$1:
+ call L_poly_csubq$1
+L_poly_compress$4:
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_poly_compress$2
+L_poly_compress$3:
+ movw (%rcx,%rsi,2), %di
+ movzwl %di, %edi
+ shll $4, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $15, %edi
+ incq %rsi
+ movw (%rcx,%rsi,2), %r8w
+ movzwl %r8w, %r8d
+ shll $4, %r8d
+ addl $1665, %r8d
+ imull $80635, %r8d, %r8d
+ shrl $28, %r8d
+ andl $15, %r8d
+ shll $4, %r8d
+ orl %r8d, %edi
+ movb %dil, (%rax,%rdx)
+ incq %rdx
+ incq %rsi
+L_poly_compress$2:
+ cmpq $128, %rdx
+ jb L_poly_compress$3
+ ret
+L_poly_basemul$1:
+ movq %rdi, 8(%rsp)
+ movq $64, %rdi
+ movq $0, %r8
+ jmp L_poly_basemul$2
+L_poly_basemul$3:
+ leaq glob_data + 448(%rip), %r9
+ movw (%r9,%rdi,2), %r9w
+ incq %rdi
+ movw (%rcx,%r8,2), %r10w
+ movw (%rsi,%r8,2), %r11w
+ incq %r8
+ movw (%rcx,%r8,2), %bx
+ movw (%rsi,%r8,2), %bp
+ addq $-1, %r8
+ movswl %bx, %r12d
+ movswl %bp, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ movswl %r12w, %r12d
+ movswl %r9w, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ movswl %r10w, %r13d
+ movswl %r11w, %r14d
+ imull %r14d, %r13d
+ imull $62209, %r13d, %r14d
+ shll $16, %r14d
+ sarl $16, %r14d
+ imull $3329, %r14d, %r14d
+ subl %r14d, %r13d
+ sarl $16, %r13d
+ addw %r13w, %r12w
+ movswl %r10w, %r10d
+ movswl %bp, %ebp
+ imull %ebp, %r10d
+ imull $62209, %r10d, %ebp
+ shll $16, %ebp
+ sarl $16, %ebp
+ imull $3329, %ebp, %ebp
+ subl %ebp, %r10d
+ sarl $16, %r10d
+ movswl %bx, %ebx
+ movswl %r11w, %r11d
+ imull %r11d, %ebx
+ imull $62209, %ebx, %r11d
+ shll $16, %r11d
+ sarl $16, %r11d
+ imull $3329, %r11d, %r11d
+ subl %r11d, %ebx
+ sarl $16, %ebx
+ addw %bx, %r10w
+ movq 8(%rsp), %r11
+ movw %r12w, (%r11,%r8,2)
+ incq %r8
+ movw %r10w, (%r11,%r8,2)
+ movq %r11, 16(%rsp)
+ negw %r9w
+ incq %r8
+ movw (%rcx,%r8,2), %r10w
+ movw (%rsi,%r8,2), %r11w
+ incq %r8
+ movw (%rcx,%r8,2), %bx
+ movw (%rsi,%r8,2), %bp
+ addq $-1, %r8
+ movswl %bx, %r12d
+ movswl %bp, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ movswl %r12w, %r12d
+ movswl %r9w, %r9d
+ imull %r9d, %r12d
+ imull $62209, %r12d, %r9d
+ shll $16, %r9d
+ sarl $16, %r9d
+ imull $3329, %r9d, %r9d
+ subl %r9d, %r12d
+ sarl $16, %r12d
+ movw %r12w, %r9w
+ movswl %r10w, %r12d
+ movswl %r11w, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ addw %r12w, %r9w
+ movswl %r10w, %r10d
+ movswl %bp, %ebp
+ imull %ebp, %r10d
+ imull $62209, %r10d, %ebp
+ shll $16, %ebp
+ sarl $16, %ebp
+ imull $3329, %ebp, %ebp
+ subl %ebp, %r10d
+ sarl $16, %r10d
+ movswl %bx, %ebx
+ movswl %r11w, %r11d
+ imull %r11d, %ebx
+ imull $62209, %ebx, %r11d
+ shll $16, %r11d
+ sarl $16, %r11d
+ imull $3329, %r11d, %r11d
+ subl %r11d, %ebx
+ sarl $16, %ebx
+ addw %bx, %r10w
+ movq 16(%rsp), %r11
+ movw %r9w, (%r11,%r8,2)
+ incq %r8
+ movw %r10w, (%r11,%r8,2)
+ incq %r8
+L_poly_basemul$2:
+ cmpq $256, %r8
+ jb L_poly_basemul$3
+ ret
+L_poly_csubq$1:
+ movq $0, %r8
+ jmp L_poly_csubq$2
+L_poly_csubq$3:
+ movw (%rcx,%r8,2), %r9w
+ addw $-3329, %r9w
+ movw %r9w, %r10w
+ sarw $15, %r10w
+ andw $3329, %r10w
+ addw %r10w, %r9w
+ movw %r9w, (%rcx,%r8,2)
+ incq %r8
+L_poly_csubq$2:
+ cmpq $256, %r8
+ jb L_poly_csubq$3
+ ret
+L_poly_add2$1:
+ movq $0, %rdi
+ jmp L_poly_add2$2
+L_poly_add2$3:
+ movw (%rcx,%rdi,2), %r8w
+ movw (%rsi,%rdi,2), %r9w
+ addw %r9w, %r8w
+ movw %r8w, (%rcx,%rdi,2)
+ incq %rdi
+L_poly_add2$2:
+ cmpq $256, %rdi
+ jb L_poly_add2$3
+ ret
+L_shake256_64$1:
+ movq %rax, 8(%rsp)
+ movq %rcx, 16(%rsp)
+ leaq 24(%rsp), %rax
+ xorq %rcx, %rcx
+ movq %rcx, (%rax)
+ movq %rcx, 8(%rax)
+ movq %rcx, 16(%rax)
+ movq %rcx, 24(%rax)
+ movq %rcx, 32(%rax)
+ movq %rcx, 40(%rax)
+ movq %rcx, 48(%rax)
+ movq %rcx, 56(%rax)
+ movq %rcx, 64(%rax)
+ movq %rcx, 72(%rax)
+ movq %rcx, 80(%rax)
+ movq %rcx, 88(%rax)
+ movq %rcx, 96(%rax)
+ movq %rcx, 104(%rax)
+ movq %rcx, 112(%rax)
+ movq %rcx, 120(%rax)
+ movq %rcx, 128(%rax)
+ movq %rcx, 136(%rax)
+ movq %rcx, 144(%rax)
+ movq %rcx, 152(%rax)
+ movq %rcx, 160(%rax)
+ movq %rcx, 168(%rax)
+ movq %rcx, 176(%rax)
+ movq %rcx, 184(%rax)
+ movq %rcx, 192(%rax)
+ movq (%rdx), %rcx
+ xorq %rcx, (%rax)
+ movq 8(%rdx), %rcx
+ xorq %rcx, 8(%rax)
+ movq 16(%rdx), %rcx
+ xorq %rcx, 16(%rax)
+ movq 24(%rdx), %rcx
+ xorq %rcx, 24(%rax)
+ movq 32(%rdx), %rcx
+ xorq %rcx, 32(%rax)
+ movq 40(%rdx), %rcx
+ xorq %rcx, 40(%rax)
+ movq 48(%rdx), %rcx
+ xorq %rcx, 48(%rax)
+ movq 56(%rdx), %rcx
+ xorq %rcx, 56(%rax)
+ xorb $31, 64(%rax)
+ xorb $-128, 135(%rax)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_64$9:
+ leaq 224(%rsp), %rsp
+ movq 16(%rsp), %rcx
+ movq 8(%rsp), %rdx
+ jmp L_shake256_64$6
+L_shake256_64$7:
+ movq (%rax), %rsi
+ movq %rsi, (%rdx)
+ movq 8(%rax), %rsi
+ movq %rsi, 8(%rdx)
+ movq 16(%rax), %rsi
+ movq %rsi, 16(%rdx)
+ movq 24(%rax), %rsi
+ movq %rsi, 24(%rdx)
+ movq 32(%rax), %rsi
+ movq %rsi, 32(%rdx)
+ movq 40(%rax), %rsi
+ movq %rsi, 40(%rdx)
+ movq 48(%rax), %rsi
+ movq %rsi, 48(%rdx)
+ movq 56(%rax), %rsi
+ movq %rsi, 56(%rdx)
+ movq 64(%rax), %rsi
+ movq %rsi, 64(%rdx)
+ movq 72(%rax), %rsi
+ movq %rsi, 72(%rdx)
+ movq 80(%rax), %rsi
+ movq %rsi, 80(%rdx)
+ movq 88(%rax), %rsi
+ movq %rsi, 88(%rdx)
+ movq 96(%rax), %rsi
+ movq %rsi, 96(%rdx)
+ movq 104(%rax), %rsi
+ movq %rsi, 104(%rdx)
+ movq 112(%rax), %rsi
+ movq %rsi, 112(%rdx)
+ movq 120(%rax), %rsi
+ movq %rsi, 120(%rdx)
+ movq 128(%rax), %rsi
+ movq %rsi, 128(%rdx)
+ addq $136, %rdx
+ addq $-136, %rcx
+ movq %rdx, 8(%rsp)
+ movq %rcx, 16(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_64$8:
+ leaq 224(%rsp), %rsp
+ movq 16(%rsp), %rcx
+ movq 8(%rsp), %rdx
+L_shake256_64$6:
+ cmpq $136, %rcx
+ jnbe L_shake256_64$7
+ movq %rcx, 8(%rsp)
+ shrq $3, %rcx
+ movq $0, %rsi
+ jmp L_shake256_64$4
+L_shake256_64$5:
+ movq (%rax,%rsi,8), %rdi
+ movq %rdi, (%rdx,%rsi,8)
+ incq %rsi
+L_shake256_64$4:
+ cmpq %rcx, %rsi
+ jb L_shake256_64$5
+ shlq $3, %rsi
+ movq 8(%rsp), %rcx
+ jmp L_shake256_64$2
+L_shake256_64$3:
+ movb (%rax,%rsi), %dil
+ movb %dil, (%rdx,%rsi)
+ incq %rsi
+L_shake256_64$2:
+ cmpq %rcx, %rsi
+ jb L_shake256_64$3
+ ret
+L_sha3_512_64$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rax
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movq (%rcx), %rdx
+ xorq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ xorq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ xorq %rdx, 16(%rax)
+ movq 24(%rcx), %rdx
+ xorq %rdx, 24(%rax)
+ movq 32(%rcx), %rdx
+ xorq %rdx, 32(%rax)
+ movq 40(%rcx), %rdx
+ xorq %rdx, 40(%rax)
+ movq 48(%rcx), %rdx
+ xorq %rdx, 48(%rax)
+ movq 56(%rcx), %rcx
+ xorq %rcx, 56(%rax)
+ xorb $6, 64(%rax)
+ xorb $-128, 71(%rax)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_512_64$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movq (%rax), %rdx
+ movq %rdx, (%rcx)
+ movq 8(%rax), %rdx
+ movq %rdx, 8(%rcx)
+ movq 16(%rax), %rdx
+ movq %rdx, 16(%rcx)
+ movq 24(%rax), %rdx
+ movq %rdx, 24(%rcx)
+ movq 32(%rax), %rdx
+ movq %rdx, 32(%rcx)
+ movq 40(%rax), %rdx
+ movq %rdx, 40(%rcx)
+ movq 48(%rax), %rdx
+ movq %rdx, 48(%rcx)
+ movq 56(%rax), %rax
+ movq %rax, 56(%rcx)
+ ret
+L_sha3_256_32$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rax
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ movq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ movq %rdx, 16(%rax)
+ movq 24(%rcx), %rcx
+ movq %rcx, 24(%rax)
+ xorb $6, 32(%rax)
+ movb $-128, 135(%rax)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_256_32$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movq (%rax), %rdx
+ movq %rdx, (%rcx)
+ movq 8(%rax), %rdx
+ movq %rdx, 8(%rcx)
+ movq 16(%rax), %rdx
+ movq %rdx, 16(%rcx)
+ movq 24(%rax), %rax
+ movq %rax, 24(%rcx)
+ ret
+L_sha3_256$1:
+ movq %rax, 8(%rsp)
+ leaq 40(%rsp), %rax
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movq $136, %rdx
+ jmp L_sha3_256$7
+L_sha3_256$8:
+ movq %rdx, %rdi
+ shrq $3, %rdi
+ movq $0, %r8
+ jmp L_sha3_256$10
+L_sha3_256$11:
+ movq (%rsi,%r8,8), %r9
+ xorq %r9, (%rax,%r8,8)
+ incq %r8
+L_sha3_256$10:
+ cmpq %rdi, %r8
+ jb L_sha3_256$11
+ addq %rdx, %rsi
+ subq %rdx, %rcx
+ movq %rsi, 16(%rsp)
+ movq %rcx, 24(%rsp)
+ movq %rdx, 32(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_256$9:
+ leaq 224(%rsp), %rsp
+ movq 16(%rsp), %rsi
+ movq 24(%rsp), %rcx
+ movq 32(%rsp), %rdx
+L_sha3_256$7:
+ cmpq %rdx, %rcx
+ jnb L_sha3_256$8
+ movb $6, %dil
+ movq %rcx, %r8
+ shrq $3, %r8
+ movq $0, %r9
+ jmp L_sha3_256$5
+L_sha3_256$6:
+ movq (%rsi,%r9,8), %r10
+ xorq %r10, (%rax,%r9,8)
+ incq %r9
+L_sha3_256$5:
+ cmpq %r8, %r9
+ jb L_sha3_256$6
+ shlq $3, %r9
+ jmp L_sha3_256$3
+L_sha3_256$4:
+ movb (%rsi,%r9), %r8b
+ xorb %r8b, (%rax,%r9)
+ incq %r9
+L_sha3_256$3:
+ cmpq %rcx, %r9
+ jb L_sha3_256$4
+ xorb %dil, (%rax,%r9)
+ addq $-1, %rdx
+ xorb $-128, (%rax,%rdx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_256$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movq (%rax), %rdx
+ movq %rdx, (%rcx)
+ movq 8(%rax), %rdx
+ movq %rdx, 8(%rcx)
+ movq 16(%rax), %rdx
+ movq %rdx, 16(%rcx)
+ movq 24(%rax), %rax
+ movq %rax, 24(%rcx)
+ ret
+L_shake128_squeezeblock$1:
+ movq %rcx, 8(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake128_squeezeblock$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movb (%rax), %dl
+ movb %dl, (%rcx)
+ movb 1(%rax), %dl
+ movb %dl, 1(%rcx)
+ movb 2(%rax), %dl
+ movb %dl, 2(%rcx)
+ movb 3(%rax), %dl
+ movb %dl, 3(%rcx)
+ movb 4(%rax), %dl
+ movb %dl, 4(%rcx)
+ movb 5(%rax), %dl
+ movb %dl, 5(%rcx)
+ movb 6(%rax), %dl
+ movb %dl, 6(%rcx)
+ movb 7(%rax), %dl
+ movb %dl, 7(%rcx)
+ movb 8(%rax), %dl
+ movb %dl, 8(%rcx)
+ movb 9(%rax), %dl
+ movb %dl, 9(%rcx)
+ movb 10(%rax), %dl
+ movb %dl, 10(%rcx)
+ movb 11(%rax), %dl
+ movb %dl, 11(%rcx)
+ movb 12(%rax), %dl
+ movb %dl, 12(%rcx)
+ movb 13(%rax), %dl
+ movb %dl, 13(%rcx)
+ movb 14(%rax), %dl
+ movb %dl, 14(%rcx)
+ movb 15(%rax), %dl
+ movb %dl, 15(%rcx)
+ movb 16(%rax), %dl
+ movb %dl, 16(%rcx)
+ movb 17(%rax), %dl
+ movb %dl, 17(%rcx)
+ movb 18(%rax), %dl
+ movb %dl, 18(%rcx)
+ movb 19(%rax), %dl
+ movb %dl, 19(%rcx)
+ movb 20(%rax), %dl
+ movb %dl, 20(%rcx)
+ movb 21(%rax), %dl
+ movb %dl, 21(%rcx)
+ movb 22(%rax), %dl
+ movb %dl, 22(%rcx)
+ movb 23(%rax), %dl
+ movb %dl, 23(%rcx)
+ movb 24(%rax), %dl
+ movb %dl, 24(%rcx)
+ movb 25(%rax), %dl
+ movb %dl, 25(%rcx)
+ movb 26(%rax), %dl
+ movb %dl, 26(%rcx)
+ movb 27(%rax), %dl
+ movb %dl, 27(%rcx)
+ movb 28(%rax), %dl
+ movb %dl, 28(%rcx)
+ movb 29(%rax), %dl
+ movb %dl, 29(%rcx)
+ movb 30(%rax), %dl
+ movb %dl, 30(%rcx)
+ movb 31(%rax), %dl
+ movb %dl, 31(%rcx)
+ movb 32(%rax), %dl
+ movb %dl, 32(%rcx)
+ movb 33(%rax), %dl
+ movb %dl, 33(%rcx)
+ movb 34(%rax), %dl
+ movb %dl, 34(%rcx)
+ movb 35(%rax), %dl
+ movb %dl, 35(%rcx)
+ movb 36(%rax), %dl
+ movb %dl, 36(%rcx)
+ movb 37(%rax), %dl
+ movb %dl, 37(%rcx)
+ movb 38(%rax), %dl
+ movb %dl, 38(%rcx)
+ movb 39(%rax), %dl
+ movb %dl, 39(%rcx)
+ movb 40(%rax), %dl
+ movb %dl, 40(%rcx)
+ movb 41(%rax), %dl
+ movb %dl, 41(%rcx)
+ movb 42(%rax), %dl
+ movb %dl, 42(%rcx)
+ movb 43(%rax), %dl
+ movb %dl, 43(%rcx)
+ movb 44(%rax), %dl
+ movb %dl, 44(%rcx)
+ movb 45(%rax), %dl
+ movb %dl, 45(%rcx)
+ movb 46(%rax), %dl
+ movb %dl, 46(%rcx)
+ movb 47(%rax), %dl
+ movb %dl, 47(%rcx)
+ movb 48(%rax), %dl
+ movb %dl, 48(%rcx)
+ movb 49(%rax), %dl
+ movb %dl, 49(%rcx)
+ movb 50(%rax), %dl
+ movb %dl, 50(%rcx)
+ movb 51(%rax), %dl
+ movb %dl, 51(%rcx)
+ movb 52(%rax), %dl
+ movb %dl, 52(%rcx)
+ movb 53(%rax), %dl
+ movb %dl, 53(%rcx)
+ movb 54(%rax), %dl
+ movb %dl, 54(%rcx)
+ movb 55(%rax), %dl
+ movb %dl, 55(%rcx)
+ movb 56(%rax), %dl
+ movb %dl, 56(%rcx)
+ movb 57(%rax), %dl
+ movb %dl, 57(%rcx)
+ movb 58(%rax), %dl
+ movb %dl, 58(%rcx)
+ movb 59(%rax), %dl
+ movb %dl, 59(%rcx)
+ movb 60(%rax), %dl
+ movb %dl, 60(%rcx)
+ movb 61(%rax), %dl
+ movb %dl, 61(%rcx)
+ movb 62(%rax), %dl
+ movb %dl, 62(%rcx)
+ movb 63(%rax), %dl
+ movb %dl, 63(%rcx)
+ movb 64(%rax), %dl
+ movb %dl, 64(%rcx)
+ movb 65(%rax), %dl
+ movb %dl, 65(%rcx)
+ movb 66(%rax), %dl
+ movb %dl, 66(%rcx)
+ movb 67(%rax), %dl
+ movb %dl, 67(%rcx)
+ movb 68(%rax), %dl
+ movb %dl, 68(%rcx)
+ movb 69(%rax), %dl
+ movb %dl, 69(%rcx)
+ movb 70(%rax), %dl
+ movb %dl, 70(%rcx)
+ movb 71(%rax), %dl
+ movb %dl, 71(%rcx)
+ movb 72(%rax), %dl
+ movb %dl, 72(%rcx)
+ movb 73(%rax), %dl
+ movb %dl, 73(%rcx)
+ movb 74(%rax), %dl
+ movb %dl, 74(%rcx)
+ movb 75(%rax), %dl
+ movb %dl, 75(%rcx)
+ movb 76(%rax), %dl
+ movb %dl, 76(%rcx)
+ movb 77(%rax), %dl
+ movb %dl, 77(%rcx)
+ movb 78(%rax), %dl
+ movb %dl, 78(%rcx)
+ movb 79(%rax), %dl
+ movb %dl, 79(%rcx)
+ movb 80(%rax), %dl
+ movb %dl, 80(%rcx)
+ movb 81(%rax), %dl
+ movb %dl, 81(%rcx)
+ movb 82(%rax), %dl
+ movb %dl, 82(%rcx)
+ movb 83(%rax), %dl
+ movb %dl, 83(%rcx)
+ movb 84(%rax), %dl
+ movb %dl, 84(%rcx)
+ movb 85(%rax), %dl
+ movb %dl, 85(%rcx)
+ movb 86(%rax), %dl
+ movb %dl, 86(%rcx)
+ movb 87(%rax), %dl
+ movb %dl, 87(%rcx)
+ movb 88(%rax), %dl
+ movb %dl, 88(%rcx)
+ movb 89(%rax), %dl
+ movb %dl, 89(%rcx)
+ movb 90(%rax), %dl
+ movb %dl, 90(%rcx)
+ movb 91(%rax), %dl
+ movb %dl, 91(%rcx)
+ movb 92(%rax), %dl
+ movb %dl, 92(%rcx)
+ movb 93(%rax), %dl
+ movb %dl, 93(%rcx)
+ movb 94(%rax), %dl
+ movb %dl, 94(%rcx)
+ movb 95(%rax), %dl
+ movb %dl, 95(%rcx)
+ movb 96(%rax), %dl
+ movb %dl, 96(%rcx)
+ movb 97(%rax), %dl
+ movb %dl, 97(%rcx)
+ movb 98(%rax), %dl
+ movb %dl, 98(%rcx)
+ movb 99(%rax), %dl
+ movb %dl, 99(%rcx)
+ movb 100(%rax), %dl
+ movb %dl, 100(%rcx)
+ movb 101(%rax), %dl
+ movb %dl, 101(%rcx)
+ movb 102(%rax), %dl
+ movb %dl, 102(%rcx)
+ movb 103(%rax), %dl
+ movb %dl, 103(%rcx)
+ movb 104(%rax), %dl
+ movb %dl, 104(%rcx)
+ movb 105(%rax), %dl
+ movb %dl, 105(%rcx)
+ movb 106(%rax), %dl
+ movb %dl, 106(%rcx)
+ movb 107(%rax), %dl
+ movb %dl, 107(%rcx)
+ movb 108(%rax), %dl
+ movb %dl, 108(%rcx)
+ movb 109(%rax), %dl
+ movb %dl, 109(%rcx)
+ movb 110(%rax), %dl
+ movb %dl, 110(%rcx)
+ movb 111(%rax), %dl
+ movb %dl, 111(%rcx)
+ movb 112(%rax), %dl
+ movb %dl, 112(%rcx)
+ movb 113(%rax), %dl
+ movb %dl, 113(%rcx)
+ movb 114(%rax), %dl
+ movb %dl, 114(%rcx)
+ movb 115(%rax), %dl
+ movb %dl, 115(%rcx)
+ movb 116(%rax), %dl
+ movb %dl, 116(%rcx)
+ movb 117(%rax), %dl
+ movb %dl, 117(%rcx)
+ movb 118(%rax), %dl
+ movb %dl, 118(%rcx)
+ movb 119(%rax), %dl
+ movb %dl, 119(%rcx)
+ movb 120(%rax), %dl
+ movb %dl, 120(%rcx)
+ movb 121(%rax), %dl
+ movb %dl, 121(%rcx)
+ movb 122(%rax), %dl
+ movb %dl, 122(%rcx)
+ movb 123(%rax), %dl
+ movb %dl, 123(%rcx)
+ movb 124(%rax), %dl
+ movb %dl, 124(%rcx)
+ movb 125(%rax), %dl
+ movb %dl, 125(%rcx)
+ movb 126(%rax), %dl
+ movb %dl, 126(%rcx)
+ movb 127(%rax), %dl
+ movb %dl, 127(%rcx)
+ movb 128(%rax), %dl
+ movb %dl, 128(%rcx)
+ movb 129(%rax), %dl
+ movb %dl, 129(%rcx)
+ movb 130(%rax), %dl
+ movb %dl, 130(%rcx)
+ movb 131(%rax), %dl
+ movb %dl, 131(%rcx)
+ movb 132(%rax), %dl
+ movb %dl, 132(%rcx)
+ movb 133(%rax), %dl
+ movb %dl, 133(%rcx)
+ movb 134(%rax), %dl
+ movb %dl, 134(%rcx)
+ movb 135(%rax), %dl
+ movb %dl, 135(%rcx)
+ movb 136(%rax), %dl
+ movb %dl, 136(%rcx)
+ movb 137(%rax), %dl
+ movb %dl, 137(%rcx)
+ movb 138(%rax), %dl
+ movb %dl, 138(%rcx)
+ movb 139(%rax), %dl
+ movb %dl, 139(%rcx)
+ movb 140(%rax), %dl
+ movb %dl, 140(%rcx)
+ movb 141(%rax), %dl
+ movb %dl, 141(%rcx)
+ movb 142(%rax), %dl
+ movb %dl, 142(%rcx)
+ movb 143(%rax), %dl
+ movb %dl, 143(%rcx)
+ movb 144(%rax), %dl
+ movb %dl, 144(%rcx)
+ movb 145(%rax), %dl
+ movb %dl, 145(%rcx)
+ movb 146(%rax), %dl
+ movb %dl, 146(%rcx)
+ movb 147(%rax), %dl
+ movb %dl, 147(%rcx)
+ movb 148(%rax), %dl
+ movb %dl, 148(%rcx)
+ movb 149(%rax), %dl
+ movb %dl, 149(%rcx)
+ movb 150(%rax), %dl
+ movb %dl, 150(%rcx)
+ movb 151(%rax), %dl
+ movb %dl, 151(%rcx)
+ movb 152(%rax), %dl
+ movb %dl, 152(%rcx)
+ movb 153(%rax), %dl
+ movb %dl, 153(%rcx)
+ movb 154(%rax), %dl
+ movb %dl, 154(%rcx)
+ movb 155(%rax), %dl
+ movb %dl, 155(%rcx)
+ movb 156(%rax), %dl
+ movb %dl, 156(%rcx)
+ movb 157(%rax), %dl
+ movb %dl, 157(%rcx)
+ movb 158(%rax), %dl
+ movb %dl, 158(%rcx)
+ movb 159(%rax), %dl
+ movb %dl, 159(%rcx)
+ movb 160(%rax), %dl
+ movb %dl, 160(%rcx)
+ movb 161(%rax), %dl
+ movb %dl, 161(%rcx)
+ movb 162(%rax), %dl
+ movb %dl, 162(%rcx)
+ movb 163(%rax), %dl
+ movb %dl, 163(%rcx)
+ movb 164(%rax), %dl
+ movb %dl, 164(%rcx)
+ movb 165(%rax), %dl
+ movb %dl, 165(%rcx)
+ movb 166(%rax), %dl
+ movb %dl, 166(%rcx)
+ movb 167(%rax), %al
+ movb %al, 167(%rcx)
+ ret
+L_shake128_absorb34$1:
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movb (%rcx), %dl
+ xorb %dl, (%rax)
+ movb 1(%rcx), %dl
+ xorb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ xorb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ xorb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ xorb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ xorb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ xorb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ xorb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ xorb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ xorb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ xorb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ xorb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ xorb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ xorb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ xorb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ xorb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ xorb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ xorb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ xorb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ xorb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ xorb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ xorb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ xorb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ xorb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ xorb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ xorb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ xorb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ xorb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ xorb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ xorb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ xorb %dl, 30(%rax)
+ movb 31(%rcx), %dl
+ xorb %dl, 31(%rax)
+ movb 32(%rcx), %dl
+ xorb %dl, 32(%rax)
+ movb 33(%rcx), %cl
+ xorb %cl, 33(%rax)
+ xorb $31, 34(%rax)
+ xorb $-128, 167(%rax)
+ ret
+L_sha3_512_32$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rax
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movb (%rcx), %dl
+ xorb %dl, (%rax)
+ movb 1(%rcx), %dl
+ xorb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ xorb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ xorb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ xorb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ xorb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ xorb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ xorb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ xorb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ xorb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ xorb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ xorb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ xorb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ xorb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ xorb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ xorb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ xorb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ xorb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ xorb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ xorb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ xorb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ xorb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ xorb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ xorb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ xorb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ xorb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ xorb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ xorb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ xorb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ xorb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ xorb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ xorb %cl, 31(%rax)
+ xorb $6, 32(%rax)
+ xorb $-128, 71(%rax)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_512_32$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movb (%rax), %dl
+ movb %dl, (%rcx)
+ movb 1(%rax), %dl
+ movb %dl, 1(%rcx)
+ movb 2(%rax), %dl
+ movb %dl, 2(%rcx)
+ movb 3(%rax), %dl
+ movb %dl, 3(%rcx)
+ movb 4(%rax), %dl
+ movb %dl, 4(%rcx)
+ movb 5(%rax), %dl
+ movb %dl, 5(%rcx)
+ movb 6(%rax), %dl
+ movb %dl, 6(%rcx)
+ movb 7(%rax), %dl
+ movb %dl, 7(%rcx)
+ movb 8(%rax), %dl
+ movb %dl, 8(%rcx)
+ movb 9(%rax), %dl
+ movb %dl, 9(%rcx)
+ movb 10(%rax), %dl
+ movb %dl, 10(%rcx)
+ movb 11(%rax), %dl
+ movb %dl, 11(%rcx)
+ movb 12(%rax), %dl
+ movb %dl, 12(%rcx)
+ movb 13(%rax), %dl
+ movb %dl, 13(%rcx)
+ movb 14(%rax), %dl
+ movb %dl, 14(%rcx)
+ movb 15(%rax), %dl
+ movb %dl, 15(%rcx)
+ movb 16(%rax), %dl
+ movb %dl, 16(%rcx)
+ movb 17(%rax), %dl
+ movb %dl, 17(%rcx)
+ movb 18(%rax), %dl
+ movb %dl, 18(%rcx)
+ movb 19(%rax), %dl
+ movb %dl, 19(%rcx)
+ movb 20(%rax), %dl
+ movb %dl, 20(%rcx)
+ movb 21(%rax), %dl
+ movb %dl, 21(%rcx)
+ movb 22(%rax), %dl
+ movb %dl, 22(%rcx)
+ movb 23(%rax), %dl
+ movb %dl, 23(%rcx)
+ movb 24(%rax), %dl
+ movb %dl, 24(%rcx)
+ movb 25(%rax), %dl
+ movb %dl, 25(%rcx)
+ movb 26(%rax), %dl
+ movb %dl, 26(%rcx)
+ movb 27(%rax), %dl
+ movb %dl, 27(%rcx)
+ movb 28(%rax), %dl
+ movb %dl, 28(%rcx)
+ movb 29(%rax), %dl
+ movb %dl, 29(%rcx)
+ movb 30(%rax), %dl
+ movb %dl, 30(%rcx)
+ movb 31(%rax), %dl
+ movb %dl, 31(%rcx)
+ movb 32(%rax), %dl
+ movb %dl, 32(%rcx)
+ movb 33(%rax), %dl
+ movb %dl, 33(%rcx)
+ movb 34(%rax), %dl
+ movb %dl, 34(%rcx)
+ movb 35(%rax), %dl
+ movb %dl, 35(%rcx)
+ movb 36(%rax), %dl
+ movb %dl, 36(%rcx)
+ movb 37(%rax), %dl
+ movb %dl, 37(%rcx)
+ movb 38(%rax), %dl
+ movb %dl, 38(%rcx)
+ movb 39(%rax), %dl
+ movb %dl, 39(%rcx)
+ movb 40(%rax), %dl
+ movb %dl, 40(%rcx)
+ movb 41(%rax), %dl
+ movb %dl, 41(%rcx)
+ movb 42(%rax), %dl
+ movb %dl, 42(%rcx)
+ movb 43(%rax), %dl
+ movb %dl, 43(%rcx)
+ movb 44(%rax), %dl
+ movb %dl, 44(%rcx)
+ movb 45(%rax), %dl
+ movb %dl, 45(%rcx)
+ movb 46(%rax), %dl
+ movb %dl, 46(%rcx)
+ movb 47(%rax), %dl
+ movb %dl, 47(%rcx)
+ movb 48(%rax), %dl
+ movb %dl, 48(%rcx)
+ movb 49(%rax), %dl
+ movb %dl, 49(%rcx)
+ movb 50(%rax), %dl
+ movb %dl, 50(%rcx)
+ movb 51(%rax), %dl
+ movb %dl, 51(%rcx)
+ movb 52(%rax), %dl
+ movb %dl, 52(%rcx)
+ movb 53(%rax), %dl
+ movb %dl, 53(%rcx)
+ movb 54(%rax), %dl
+ movb %dl, 54(%rcx)
+ movb 55(%rax), %dl
+ movb %dl, 55(%rcx)
+ movb 56(%rax), %dl
+ movb %dl, 56(%rcx)
+ movb 57(%rax), %dl
+ movb %dl, 57(%rcx)
+ movb 58(%rax), %dl
+ movb %dl, 58(%rcx)
+ movb 59(%rax), %dl
+ movb %dl, 59(%rcx)
+ movb 60(%rax), %dl
+ movb %dl, 60(%rcx)
+ movb 61(%rax), %dl
+ movb %dl, 61(%rcx)
+ movb 62(%rax), %dl
+ movb %dl, 62(%rcx)
+ movb 63(%rax), %al
+ movb %al, 63(%rcx)
+ ret
+L_shake256_192_33$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rax
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movb (%rcx), %dl
+ xorb %dl, (%rax)
+ movb 1(%rcx), %dl
+ xorb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ xorb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ xorb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ xorb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ xorb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ xorb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ xorb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ xorb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ xorb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ xorb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ xorb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ xorb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ xorb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ xorb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ xorb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ xorb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ xorb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ xorb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ xorb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ xorb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ xorb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ xorb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ xorb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ xorb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ xorb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ xorb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ xorb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ xorb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ xorb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ xorb %dl, 30(%rax)
+ movb 31(%rcx), %dl
+ xorb %dl, 31(%rax)
+ movb 32(%rcx), %cl
+ xorb %cl, 32(%rax)
+ xorb $31, 33(%rax)
+ xorb $-128, 135(%rax)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_192_33$3:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movb (%rax), %dl
+ movb %dl, (%rcx)
+ movb 1(%rax), %dl
+ movb %dl, 1(%rcx)
+ movb 2(%rax), %dl
+ movb %dl, 2(%rcx)
+ movb 3(%rax), %dl
+ movb %dl, 3(%rcx)
+ movb 4(%rax), %dl
+ movb %dl, 4(%rcx)
+ movb 5(%rax), %dl
+ movb %dl, 5(%rcx)
+ movb 6(%rax), %dl
+ movb %dl, 6(%rcx)
+ movb 7(%rax), %dl
+ movb %dl, 7(%rcx)
+ movb 8(%rax), %dl
+ movb %dl, 8(%rcx)
+ movb 9(%rax), %dl
+ movb %dl, 9(%rcx)
+ movb 10(%rax), %dl
+ movb %dl, 10(%rcx)
+ movb 11(%rax), %dl
+ movb %dl, 11(%rcx)
+ movb 12(%rax), %dl
+ movb %dl, 12(%rcx)
+ movb 13(%rax), %dl
+ movb %dl, 13(%rcx)
+ movb 14(%rax), %dl
+ movb %dl, 14(%rcx)
+ movb 15(%rax), %dl
+ movb %dl, 15(%rcx)
+ movb 16(%rax), %dl
+ movb %dl, 16(%rcx)
+ movb 17(%rax), %dl
+ movb %dl, 17(%rcx)
+ movb 18(%rax), %dl
+ movb %dl, 18(%rcx)
+ movb 19(%rax), %dl
+ movb %dl, 19(%rcx)
+ movb 20(%rax), %dl
+ movb %dl, 20(%rcx)
+ movb 21(%rax), %dl
+ movb %dl, 21(%rcx)
+ movb 22(%rax), %dl
+ movb %dl, 22(%rcx)
+ movb 23(%rax), %dl
+ movb %dl, 23(%rcx)
+ movb 24(%rax), %dl
+ movb %dl, 24(%rcx)
+ movb 25(%rax), %dl
+ movb %dl, 25(%rcx)
+ movb 26(%rax), %dl
+ movb %dl, 26(%rcx)
+ movb 27(%rax), %dl
+ movb %dl, 27(%rcx)
+ movb 28(%rax), %dl
+ movb %dl, 28(%rcx)
+ movb 29(%rax), %dl
+ movb %dl, 29(%rcx)
+ movb 30(%rax), %dl
+ movb %dl, 30(%rcx)
+ movb 31(%rax), %dl
+ movb %dl, 31(%rcx)
+ movb 32(%rax), %dl
+ movb %dl, 32(%rcx)
+ movb 33(%rax), %dl
+ movb %dl, 33(%rcx)
+ movb 34(%rax), %dl
+ movb %dl, 34(%rcx)
+ movb 35(%rax), %dl
+ movb %dl, 35(%rcx)
+ movb 36(%rax), %dl
+ movb %dl, 36(%rcx)
+ movb 37(%rax), %dl
+ movb %dl, 37(%rcx)
+ movb 38(%rax), %dl
+ movb %dl, 38(%rcx)
+ movb 39(%rax), %dl
+ movb %dl, 39(%rcx)
+ movb 40(%rax), %dl
+ movb %dl, 40(%rcx)
+ movb 41(%rax), %dl
+ movb %dl, 41(%rcx)
+ movb 42(%rax), %dl
+ movb %dl, 42(%rcx)
+ movb 43(%rax), %dl
+ movb %dl, 43(%rcx)
+ movb 44(%rax), %dl
+ movb %dl, 44(%rcx)
+ movb 45(%rax), %dl
+ movb %dl, 45(%rcx)
+ movb 46(%rax), %dl
+ movb %dl, 46(%rcx)
+ movb 47(%rax), %dl
+ movb %dl, 47(%rcx)
+ movb 48(%rax), %dl
+ movb %dl, 48(%rcx)
+ movb 49(%rax), %dl
+ movb %dl, 49(%rcx)
+ movb 50(%rax), %dl
+ movb %dl, 50(%rcx)
+ movb 51(%rax), %dl
+ movb %dl, 51(%rcx)
+ movb 52(%rax), %dl
+ movb %dl, 52(%rcx)
+ movb 53(%rax), %dl
+ movb %dl, 53(%rcx)
+ movb 54(%rax), %dl
+ movb %dl, 54(%rcx)
+ movb 55(%rax), %dl
+ movb %dl, 55(%rcx)
+ movb 56(%rax), %dl
+ movb %dl, 56(%rcx)
+ movb 57(%rax), %dl
+ movb %dl, 57(%rcx)
+ movb 58(%rax), %dl
+ movb %dl, 58(%rcx)
+ movb 59(%rax), %dl
+ movb %dl, 59(%rcx)
+ movb 60(%rax), %dl
+ movb %dl, 60(%rcx)
+ movb 61(%rax), %dl
+ movb %dl, 61(%rcx)
+ movb 62(%rax), %dl
+ movb %dl, 62(%rcx)
+ movb 63(%rax), %dl
+ movb %dl, 63(%rcx)
+ movb 64(%rax), %dl
+ movb %dl, 64(%rcx)
+ movb 65(%rax), %dl
+ movb %dl, 65(%rcx)
+ movb 66(%rax), %dl
+ movb %dl, 66(%rcx)
+ movb 67(%rax), %dl
+ movb %dl, 67(%rcx)
+ movb 68(%rax), %dl
+ movb %dl, 68(%rcx)
+ movb 69(%rax), %dl
+ movb %dl, 69(%rcx)
+ movb 70(%rax), %dl
+ movb %dl, 70(%rcx)
+ movb 71(%rax), %dl
+ movb %dl, 71(%rcx)
+ movb 72(%rax), %dl
+ movb %dl, 72(%rcx)
+ movb 73(%rax), %dl
+ movb %dl, 73(%rcx)
+ movb 74(%rax), %dl
+ movb %dl, 74(%rcx)
+ movb 75(%rax), %dl
+ movb %dl, 75(%rcx)
+ movb 76(%rax), %dl
+ movb %dl, 76(%rcx)
+ movb 77(%rax), %dl
+ movb %dl, 77(%rcx)
+ movb 78(%rax), %dl
+ movb %dl, 78(%rcx)
+ movb 79(%rax), %dl
+ movb %dl, 79(%rcx)
+ movb 80(%rax), %dl
+ movb %dl, 80(%rcx)
+ movb 81(%rax), %dl
+ movb %dl, 81(%rcx)
+ movb 82(%rax), %dl
+ movb %dl, 82(%rcx)
+ movb 83(%rax), %dl
+ movb %dl, 83(%rcx)
+ movb 84(%rax), %dl
+ movb %dl, 84(%rcx)
+ movb 85(%rax), %dl
+ movb %dl, 85(%rcx)
+ movb 86(%rax), %dl
+ movb %dl, 86(%rcx)
+ movb 87(%rax), %dl
+ movb %dl, 87(%rcx)
+ movb 88(%rax), %dl
+ movb %dl, 88(%rcx)
+ movb 89(%rax), %dl
+ movb %dl, 89(%rcx)
+ movb 90(%rax), %dl
+ movb %dl, 90(%rcx)
+ movb 91(%rax), %dl
+ movb %dl, 91(%rcx)
+ movb 92(%rax), %dl
+ movb %dl, 92(%rcx)
+ movb 93(%rax), %dl
+ movb %dl, 93(%rcx)
+ movb 94(%rax), %dl
+ movb %dl, 94(%rcx)
+ movb 95(%rax), %dl
+ movb %dl, 95(%rcx)
+ movb 96(%rax), %dl
+ movb %dl, 96(%rcx)
+ movb 97(%rax), %dl
+ movb %dl, 97(%rcx)
+ movb 98(%rax), %dl
+ movb %dl, 98(%rcx)
+ movb 99(%rax), %dl
+ movb %dl, 99(%rcx)
+ movb 100(%rax), %dl
+ movb %dl, 100(%rcx)
+ movb 101(%rax), %dl
+ movb %dl, 101(%rcx)
+ movb 102(%rax), %dl
+ movb %dl, 102(%rcx)
+ movb 103(%rax), %dl
+ movb %dl, 103(%rcx)
+ movb 104(%rax), %dl
+ movb %dl, 104(%rcx)
+ movb 105(%rax), %dl
+ movb %dl, 105(%rcx)
+ movb 106(%rax), %dl
+ movb %dl, 106(%rcx)
+ movb 107(%rax), %dl
+ movb %dl, 107(%rcx)
+ movb 108(%rax), %dl
+ movb %dl, 108(%rcx)
+ movb 109(%rax), %dl
+ movb %dl, 109(%rcx)
+ movb 110(%rax), %dl
+ movb %dl, 110(%rcx)
+ movb 111(%rax), %dl
+ movb %dl, 111(%rcx)
+ movb 112(%rax), %dl
+ movb %dl, 112(%rcx)
+ movb 113(%rax), %dl
+ movb %dl, 113(%rcx)
+ movb 114(%rax), %dl
+ movb %dl, 114(%rcx)
+ movb 115(%rax), %dl
+ movb %dl, 115(%rcx)
+ movb 116(%rax), %dl
+ movb %dl, 116(%rcx)
+ movb 117(%rax), %dl
+ movb %dl, 117(%rcx)
+ movb 118(%rax), %dl
+ movb %dl, 118(%rcx)
+ movb 119(%rax), %dl
+ movb %dl, 119(%rcx)
+ movb 120(%rax), %dl
+ movb %dl, 120(%rcx)
+ movb 121(%rax), %dl
+ movb %dl, 121(%rcx)
+ movb 122(%rax), %dl
+ movb %dl, 122(%rcx)
+ movb 123(%rax), %dl
+ movb %dl, 123(%rcx)
+ movb 124(%rax), %dl
+ movb %dl, 124(%rcx)
+ movb 125(%rax), %dl
+ movb %dl, 125(%rcx)
+ movb 126(%rax), %dl
+ movb %dl, 126(%rcx)
+ movb 127(%rax), %dl
+ movb %dl, 127(%rcx)
+ movb 128(%rax), %dl
+ movb %dl, 128(%rcx)
+ movb 129(%rax), %dl
+ movb %dl, 129(%rcx)
+ movb 130(%rax), %dl
+ movb %dl, 130(%rcx)
+ movb 131(%rax), %dl
+ movb %dl, 131(%rcx)
+ movb 132(%rax), %dl
+ movb %dl, 132(%rcx)
+ movb 133(%rax), %dl
+ movb %dl, 133(%rcx)
+ movb 134(%rax), %dl
+ movb %dl, 134(%rcx)
+ movb 135(%rax), %dl
+ movb %dl, 135(%rcx)
+ movq %rcx, 8(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_192_33$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movb (%rax), %dl
+ movb %dl, 136(%rcx)
+ movb 1(%rax), %dl
+ movb %dl, 137(%rcx)
+ movb 2(%rax), %dl
+ movb %dl, 138(%rcx)
+ movb 3(%rax), %dl
+ movb %dl, 139(%rcx)
+ movb 4(%rax), %dl
+ movb %dl, 140(%rcx)
+ movb 5(%rax), %dl
+ movb %dl, 141(%rcx)
+ movb 6(%rax), %dl
+ movb %dl, 142(%rcx)
+ movb 7(%rax), %dl
+ movb %dl, 143(%rcx)
+ movb 8(%rax), %dl
+ movb %dl, 144(%rcx)
+ movb 9(%rax), %dl
+ movb %dl, 145(%rcx)
+ movb 10(%rax), %dl
+ movb %dl, 146(%rcx)
+ movb 11(%rax), %dl
+ movb %dl, 147(%rcx)
+ movb 12(%rax), %dl
+ movb %dl, 148(%rcx)
+ movb 13(%rax), %dl
+ movb %dl, 149(%rcx)
+ movb 14(%rax), %dl
+ movb %dl, 150(%rcx)
+ movb 15(%rax), %dl
+ movb %dl, 151(%rcx)
+ movb 16(%rax), %dl
+ movb %dl, 152(%rcx)
+ movb 17(%rax), %dl
+ movb %dl, 153(%rcx)
+ movb 18(%rax), %dl
+ movb %dl, 154(%rcx)
+ movb 19(%rax), %dl
+ movb %dl, 155(%rcx)
+ movb 20(%rax), %dl
+ movb %dl, 156(%rcx)
+ movb 21(%rax), %dl
+ movb %dl, 157(%rcx)
+ movb 22(%rax), %dl
+ movb %dl, 158(%rcx)
+ movb 23(%rax), %dl
+ movb %dl, 159(%rcx)
+ movb 24(%rax), %dl
+ movb %dl, 160(%rcx)
+ movb 25(%rax), %dl
+ movb %dl, 161(%rcx)
+ movb 26(%rax), %dl
+ movb %dl, 162(%rcx)
+ movb 27(%rax), %dl
+ movb %dl, 163(%rcx)
+ movb 28(%rax), %dl
+ movb %dl, 164(%rcx)
+ movb 29(%rax), %dl
+ movb %dl, 165(%rcx)
+ movb 30(%rax), %dl
+ movb %dl, 166(%rcx)
+ movb 31(%rax), %dl
+ movb %dl, 167(%rcx)
+ movb 32(%rax), %dl
+ movb %dl, 168(%rcx)
+ movb 33(%rax), %dl
+ movb %dl, 169(%rcx)
+ movb 34(%rax), %dl
+ movb %dl, 170(%rcx)
+ movb 35(%rax), %dl
+ movb %dl, 171(%rcx)
+ movb 36(%rax), %dl
+ movb %dl, 172(%rcx)
+ movb 37(%rax), %dl
+ movb %dl, 173(%rcx)
+ movb 38(%rax), %dl
+ movb %dl, 174(%rcx)
+ movb 39(%rax), %dl
+ movb %dl, 175(%rcx)
+ movb 40(%rax), %dl
+ movb %dl, 176(%rcx)
+ movb 41(%rax), %dl
+ movb %dl, 177(%rcx)
+ movb 42(%rax), %dl
+ movb %dl, 178(%rcx)
+ movb 43(%rax), %dl
+ movb %dl, 179(%rcx)
+ movb 44(%rax), %dl
+ movb %dl, 180(%rcx)
+ movb 45(%rax), %dl
+ movb %dl, 181(%rcx)
+ movb 46(%rax), %dl
+ movb %dl, 182(%rcx)
+ movb 47(%rax), %dl
+ movb %dl, 183(%rcx)
+ movb 48(%rax), %dl
+ movb %dl, 184(%rcx)
+ movb 49(%rax), %dl
+ movb %dl, 185(%rcx)
+ movb 50(%rax), %dl
+ movb %dl, 186(%rcx)
+ movb 51(%rax), %dl
+ movb %dl, 187(%rcx)
+ movb 52(%rax), %dl
+ movb %dl, 188(%rcx)
+ movb 53(%rax), %dl
+ movb %dl, 189(%rcx)
+ movb 54(%rax), %dl
+ movb %dl, 190(%rcx)
+ movb 55(%rax), %al
+ movb %al, 191(%rcx)
+ ret
+L_shake256_128_33$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rax
+ xorq %rdx, %rdx
+ movq %rdx, (%rax)
+ movq %rdx, 8(%rax)
+ movq %rdx, 16(%rax)
+ movq %rdx, 24(%rax)
+ movq %rdx, 32(%rax)
+ movq %rdx, 40(%rax)
+ movq %rdx, 48(%rax)
+ movq %rdx, 56(%rax)
+ movq %rdx, 64(%rax)
+ movq %rdx, 72(%rax)
+ movq %rdx, 80(%rax)
+ movq %rdx, 88(%rax)
+ movq %rdx, 96(%rax)
+ movq %rdx, 104(%rax)
+ movq %rdx, 112(%rax)
+ movq %rdx, 120(%rax)
+ movq %rdx, 128(%rax)
+ movq %rdx, 136(%rax)
+ movq %rdx, 144(%rax)
+ movq %rdx, 152(%rax)
+ movq %rdx, 160(%rax)
+ movq %rdx, 168(%rax)
+ movq %rdx, 176(%rax)
+ movq %rdx, 184(%rax)
+ movq %rdx, 192(%rax)
+ movb (%rcx), %dl
+ xorb %dl, (%rax)
+ movb 1(%rcx), %dl
+ xorb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ xorb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ xorb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ xorb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ xorb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ xorb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ xorb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ xorb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ xorb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ xorb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ xorb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ xorb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ xorb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ xorb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ xorb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ xorb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ xorb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ xorb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ xorb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ xorb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ xorb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ xorb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ xorb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ xorb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ xorb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ xorb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ xorb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ xorb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ xorb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ xorb %dl, 30(%rax)
+ movb 31(%rcx), %dl
+ xorb %dl, 31(%rax)
+ movb 32(%rcx), %cl
+ xorb %cl, 32(%rax)
+ xorb $31, 33(%rax)
+ xorb $-128, 135(%rax)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_128_33$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movb (%rax), %dl
+ movb %dl, (%rcx)
+ movb 1(%rax), %dl
+ movb %dl, 1(%rcx)
+ movb 2(%rax), %dl
+ movb %dl, 2(%rcx)
+ movb 3(%rax), %dl
+ movb %dl, 3(%rcx)
+ movb 4(%rax), %dl
+ movb %dl, 4(%rcx)
+ movb 5(%rax), %dl
+ movb %dl, 5(%rcx)
+ movb 6(%rax), %dl
+ movb %dl, 6(%rcx)
+ movb 7(%rax), %dl
+ movb %dl, 7(%rcx)
+ movb 8(%rax), %dl
+ movb %dl, 8(%rcx)
+ movb 9(%rax), %dl
+ movb %dl, 9(%rcx)
+ movb 10(%rax), %dl
+ movb %dl, 10(%rcx)
+ movb 11(%rax), %dl
+ movb %dl, 11(%rcx)
+ movb 12(%rax), %dl
+ movb %dl, 12(%rcx)
+ movb 13(%rax), %dl
+ movb %dl, 13(%rcx)
+ movb 14(%rax), %dl
+ movb %dl, 14(%rcx)
+ movb 15(%rax), %dl
+ movb %dl, 15(%rcx)
+ movb 16(%rax), %dl
+ movb %dl, 16(%rcx)
+ movb 17(%rax), %dl
+ movb %dl, 17(%rcx)
+ movb 18(%rax), %dl
+ movb %dl, 18(%rcx)
+ movb 19(%rax), %dl
+ movb %dl, 19(%rcx)
+ movb 20(%rax), %dl
+ movb %dl, 20(%rcx)
+ movb 21(%rax), %dl
+ movb %dl, 21(%rcx)
+ movb 22(%rax), %dl
+ movb %dl, 22(%rcx)
+ movb 23(%rax), %dl
+ movb %dl, 23(%rcx)
+ movb 24(%rax), %dl
+ movb %dl, 24(%rcx)
+ movb 25(%rax), %dl
+ movb %dl, 25(%rcx)
+ movb 26(%rax), %dl
+ movb %dl, 26(%rcx)
+ movb 27(%rax), %dl
+ movb %dl, 27(%rcx)
+ movb 28(%rax), %dl
+ movb %dl, 28(%rcx)
+ movb 29(%rax), %dl
+ movb %dl, 29(%rcx)
+ movb 30(%rax), %dl
+ movb %dl, 30(%rcx)
+ movb 31(%rax), %dl
+ movb %dl, 31(%rcx)
+ movb 32(%rax), %dl
+ movb %dl, 32(%rcx)
+ movb 33(%rax), %dl
+ movb %dl, 33(%rcx)
+ movb 34(%rax), %dl
+ movb %dl, 34(%rcx)
+ movb 35(%rax), %dl
+ movb %dl, 35(%rcx)
+ movb 36(%rax), %dl
+ movb %dl, 36(%rcx)
+ movb 37(%rax), %dl
+ movb %dl, 37(%rcx)
+ movb 38(%rax), %dl
+ movb %dl, 38(%rcx)
+ movb 39(%rax), %dl
+ movb %dl, 39(%rcx)
+ movb 40(%rax), %dl
+ movb %dl, 40(%rcx)
+ movb 41(%rax), %dl
+ movb %dl, 41(%rcx)
+ movb 42(%rax), %dl
+ movb %dl, 42(%rcx)
+ movb 43(%rax), %dl
+ movb %dl, 43(%rcx)
+ movb 44(%rax), %dl
+ movb %dl, 44(%rcx)
+ movb 45(%rax), %dl
+ movb %dl, 45(%rcx)
+ movb 46(%rax), %dl
+ movb %dl, 46(%rcx)
+ movb 47(%rax), %dl
+ movb %dl, 47(%rcx)
+ movb 48(%rax), %dl
+ movb %dl, 48(%rcx)
+ movb 49(%rax), %dl
+ movb %dl, 49(%rcx)
+ movb 50(%rax), %dl
+ movb %dl, 50(%rcx)
+ movb 51(%rax), %dl
+ movb %dl, 51(%rcx)
+ movb 52(%rax), %dl
+ movb %dl, 52(%rcx)
+ movb 53(%rax), %dl
+ movb %dl, 53(%rcx)
+ movb 54(%rax), %dl
+ movb %dl, 54(%rcx)
+ movb 55(%rax), %dl
+ movb %dl, 55(%rcx)
+ movb 56(%rax), %dl
+ movb %dl, 56(%rcx)
+ movb 57(%rax), %dl
+ movb %dl, 57(%rcx)
+ movb 58(%rax), %dl
+ movb %dl, 58(%rcx)
+ movb 59(%rax), %dl
+ movb %dl, 59(%rcx)
+ movb 60(%rax), %dl
+ movb %dl, 60(%rcx)
+ movb 61(%rax), %dl
+ movb %dl, 61(%rcx)
+ movb 62(%rax), %dl
+ movb %dl, 62(%rcx)
+ movb 63(%rax), %dl
+ movb %dl, 63(%rcx)
+ movb 64(%rax), %dl
+ movb %dl, 64(%rcx)
+ movb 65(%rax), %dl
+ movb %dl, 65(%rcx)
+ movb 66(%rax), %dl
+ movb %dl, 66(%rcx)
+ movb 67(%rax), %dl
+ movb %dl, 67(%rcx)
+ movb 68(%rax), %dl
+ movb %dl, 68(%rcx)
+ movb 69(%rax), %dl
+ movb %dl, 69(%rcx)
+ movb 70(%rax), %dl
+ movb %dl, 70(%rcx)
+ movb 71(%rax), %dl
+ movb %dl, 71(%rcx)
+ movb 72(%rax), %dl
+ movb %dl, 72(%rcx)
+ movb 73(%rax), %dl
+ movb %dl, 73(%rcx)
+ movb 74(%rax), %dl
+ movb %dl, 74(%rcx)
+ movb 75(%rax), %dl
+ movb %dl, 75(%rcx)
+ movb 76(%rax), %dl
+ movb %dl, 76(%rcx)
+ movb 77(%rax), %dl
+ movb %dl, 77(%rcx)
+ movb 78(%rax), %dl
+ movb %dl, 78(%rcx)
+ movb 79(%rax), %dl
+ movb %dl, 79(%rcx)
+ movb 80(%rax), %dl
+ movb %dl, 80(%rcx)
+ movb 81(%rax), %dl
+ movb %dl, 81(%rcx)
+ movb 82(%rax), %dl
+ movb %dl, 82(%rcx)
+ movb 83(%rax), %dl
+ movb %dl, 83(%rcx)
+ movb 84(%rax), %dl
+ movb %dl, 84(%rcx)
+ movb 85(%rax), %dl
+ movb %dl, 85(%rcx)
+ movb 86(%rax), %dl
+ movb %dl, 86(%rcx)
+ movb 87(%rax), %dl
+ movb %dl, 87(%rcx)
+ movb 88(%rax), %dl
+ movb %dl, 88(%rcx)
+ movb 89(%rax), %dl
+ movb %dl, 89(%rcx)
+ movb 90(%rax), %dl
+ movb %dl, 90(%rcx)
+ movb 91(%rax), %dl
+ movb %dl, 91(%rcx)
+ movb 92(%rax), %dl
+ movb %dl, 92(%rcx)
+ movb 93(%rax), %dl
+ movb %dl, 93(%rcx)
+ movb 94(%rax), %dl
+ movb %dl, 94(%rcx)
+ movb 95(%rax), %dl
+ movb %dl, 95(%rcx)
+ movb 96(%rax), %dl
+ movb %dl, 96(%rcx)
+ movb 97(%rax), %dl
+ movb %dl, 97(%rcx)
+ movb 98(%rax), %dl
+ movb %dl, 98(%rcx)
+ movb 99(%rax), %dl
+ movb %dl, 99(%rcx)
+ movb 100(%rax), %dl
+ movb %dl, 100(%rcx)
+ movb 101(%rax), %dl
+ movb %dl, 101(%rcx)
+ movb 102(%rax), %dl
+ movb %dl, 102(%rcx)
+ movb 103(%rax), %dl
+ movb %dl, 103(%rcx)
+ movb 104(%rax), %dl
+ movb %dl, 104(%rcx)
+ movb 105(%rax), %dl
+ movb %dl, 105(%rcx)
+ movb 106(%rax), %dl
+ movb %dl, 106(%rcx)
+ movb 107(%rax), %dl
+ movb %dl, 107(%rcx)
+ movb 108(%rax), %dl
+ movb %dl, 108(%rcx)
+ movb 109(%rax), %dl
+ movb %dl, 109(%rcx)
+ movb 110(%rax), %dl
+ movb %dl, 110(%rcx)
+ movb 111(%rax), %dl
+ movb %dl, 111(%rcx)
+ movb 112(%rax), %dl
+ movb %dl, 112(%rcx)
+ movb 113(%rax), %dl
+ movb %dl, 113(%rcx)
+ movb 114(%rax), %dl
+ movb %dl, 114(%rcx)
+ movb 115(%rax), %dl
+ movb %dl, 115(%rcx)
+ movb 116(%rax), %dl
+ movb %dl, 116(%rcx)
+ movb 117(%rax), %dl
+ movb %dl, 117(%rcx)
+ movb 118(%rax), %dl
+ movb %dl, 118(%rcx)
+ movb 119(%rax), %dl
+ movb %dl, 119(%rcx)
+ movb 120(%rax), %dl
+ movb %dl, 120(%rcx)
+ movb 121(%rax), %dl
+ movb %dl, 121(%rcx)
+ movb 122(%rax), %dl
+ movb %dl, 122(%rcx)
+ movb 123(%rax), %dl
+ movb %dl, 123(%rcx)
+ movb 124(%rax), %dl
+ movb %dl, 124(%rcx)
+ movb 125(%rax), %dl
+ movb %dl, 125(%rcx)
+ movb 126(%rax), %dl
+ movb %dl, 126(%rcx)
+ movb 127(%rax), %al
+ movb %al, 127(%rcx)
+ ret
+L_keccakf1600_ref1$1:
+ leaq glob_data + 0(%rip), %rcx
+ movq %rcx, 8(%rsp)
+ leaq 32(%rsp), %rcx
+ movq $0, %r10
+ jmp L_keccakf1600_ref1$2
+L_keccakf1600_ref1$3:
+ movq %r10, 16(%rsp)
+ movq 8(%rsp), %rdx
+ movq (%rdx,%r10,8), %rdx
+ movq %rdx, 24(%rsp)
+ movq (%rax), %r9
+ movq 8(%rax), %r8
+ movq 16(%rax), %r11
+ movq 24(%rax), %rbx
+ movq 32(%rax), %rbp
+ xorq 40(%rax), %r9
+ xorq 48(%rax), %r8
+ xorq 56(%rax), %r11
+ xorq 64(%rax), %rbx
+ xorq 72(%rax), %rbp
+ xorq 80(%rax), %r9
+ xorq 88(%rax), %r8
+ xorq 96(%rax), %r11
+ xorq 104(%rax), %rbx
+ xorq 112(%rax), %rbp
+ xorq 120(%rax), %r9
+ xorq 128(%rax), %r8
+ xorq 136(%rax), %r11
+ xorq 144(%rax), %rbx
+ xorq 152(%rax), %rbp
+ xorq 160(%rax), %r9
+ xorq 168(%rax), %r8
+ xorq 176(%rax), %r11
+ xorq 184(%rax), %rbx
+ xorq 192(%rax), %rbp
+ movq %r8, %rdx
+ rolq $1, %rdx
+ xorq %rbp, %rdx
+ movq %r11, %rsi
+ rolq $1, %rsi
+ xorq %r9, %rsi
+ movq %rbx, %rdi
+ rolq $1, %rdi
+ xorq %r8, %rdi
+ movq %rbp, %r8
+ rolq $1, %r8
+ xorq %r11, %r8
+ rolq $1, %r9
+ xorq %rbx, %r9
+ movq (%rax), %r11
+ xorq %rdx, %r11
+ movq 48(%rax), %rbx
+ xorq %rsi, %rbx
+ rolq $44, %rbx
+ movq 96(%rax), %rbp
+ xorq %rdi, %rbp
+ rolq $43, %rbp
+ movq 144(%rax), %r12
+ xorq %r8, %r12
+ rolq $21, %r12
+ movq 192(%rax), %r13
+ xorq %r9, %r13
+ rolq $14, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ xorq 24(%rsp), %r14
+ movq %r14, (%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 8(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 16(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 24(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 32(%rcx)
+ movq 24(%rax), %r11
+ xorq %r8, %r11
+ rolq $28, %r11
+ movq 72(%rax), %rbx
+ xorq %r9, %rbx
+ rolq $20, %rbx
+ movq 80(%rax), %rbp
+ xorq %rdx, %rbp
+ rolq $3, %rbp
+ movq 128(%rax), %r12
+ xorq %rsi, %r12
+ rolq $45, %r12
+ movq 176(%rax), %r13
+ xorq %rdi, %r13
+ rolq $61, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ movq %r14, 40(%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 48(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 56(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 64(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 72(%rcx)
+ movq 8(%rax), %r11
+ xorq %rsi, %r11
+ rolq $1, %r11
+ movq 56(%rax), %rbx
+ xorq %rdi, %rbx
+ rolq $6, %rbx
+ movq 104(%rax), %rbp
+ xorq %r8, %rbp
+ rolq $25, %rbp
+ movq 152(%rax), %r12
+ xorq %r9, %r12
+ rolq $8, %r12
+ movq 160(%rax), %r13
+ xorq %rdx, %r13
+ rolq $18, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ movq %r14, 80(%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 88(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 96(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 104(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 112(%rcx)
+ movq 32(%rax), %r11
+ xorq %r9, %r11
+ rolq $27, %r11
+ movq 40(%rax), %rbx
+ xorq %rdx, %rbx
+ rolq $36, %rbx
+ movq 88(%rax), %rbp
+ xorq %rsi, %rbp
+ rolq $10, %rbp
+ movq 136(%rax), %r12
+ xorq %rdi, %r12
+ rolq $15, %r12
+ movq 184(%rax), %r13
+ xorq %r8, %r13
+ rolq $56, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ movq %r14, 120(%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 128(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 136(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 144(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 152(%rcx)
+ movq 16(%rax), %r11
+ xorq %rdi, %r11
+ rolq $62, %r11
+ movq 64(%rax), %rdi
+ xorq %r8, %rdi
+ rolq $55, %rdi
+ movq 112(%rax), %r8
+ xorq %r9, %r8
+ rolq $39, %r8
+ movq 120(%rax), %r9
+ xorq %rdx, %r9
+ rolq $41, %r9
+ movq 168(%rax), %rdx
+ xorq %rsi, %rdx
+ rolq $2, %rdx
+ movq %rdi, %rsi
+ notq %rsi
+ andq %r8, %rsi
+ xorq %r11, %rsi
+ movq %rsi, 160(%rcx)
+ movq %r8, %rsi
+ notq %rsi
+ andq %r9, %rsi
+ xorq %rdi, %rsi
+ movq %rsi, 168(%rcx)
+ movq %r9, %rsi
+ notq %rsi
+ andq %rdx, %rsi
+ xorq %r8, %rsi
+ movq %rsi, 176(%rcx)
+ movq %rdx, %rsi
+ notq %rsi
+ andq %r11, %rsi
+ xorq %r9, %rsi
+ movq %rsi, 184(%rcx)
+ notq %r11
+ andq %rdi, %r11
+ xorq %rdx, %r11
+ movq %r11, 192(%rcx)
+ movq 8(%rsp), %rdx
+ movq 8(%rdx,%r10,8), %rdx
+ movq %rdx, 24(%rsp)
+ movq (%rcx), %r9
+ movq 8(%rcx), %r8
+ movq 16(%rcx), %r10
+ movq 24(%rcx), %r11
+ movq 32(%rcx), %rbx
+ xorq 40(%rcx), %r9
+ xorq 48(%rcx), %r8
+ xorq 56(%rcx), %r10
+ xorq 64(%rcx), %r11
+ xorq 72(%rcx), %rbx
+ xorq 80(%rcx), %r9
+ xorq 88(%rcx), %r8
+ xorq 96(%rcx), %r10
+ xorq 104(%rcx), %r11
+ xorq 112(%rcx), %rbx
+ xorq 120(%rcx), %r9
+ xorq 128(%rcx), %r8
+ xorq 136(%rcx), %r10
+ xorq 144(%rcx), %r11
+ xorq 152(%rcx), %rbx
+ xorq 160(%rcx), %r9
+ xorq 168(%rcx), %r8
+ xorq 176(%rcx), %r10
+ xorq 184(%rcx), %r11
+ xorq 192(%rcx), %rbx
+ movq %r8, %rdx
+ rolq $1, %rdx
+ xorq %rbx, %rdx
+ movq %r10, %rsi
+ rolq $1, %rsi
+ xorq %r9, %rsi
+ movq %r11, %rdi
+ rolq $1, %rdi
+ xorq %r8, %rdi
+ movq %rbx, %r8
+ rolq $1, %r8
+ xorq %r10, %r8
+ rolq $1, %r9
+ xorq %r11, %r9
+ movq (%rcx), %r10
+ xorq %rdx, %r10
+ movq 48(%rcx), %r11
+ xorq %rsi, %r11
+ rolq $44, %r11
+ movq 96(%rcx), %r12
+ xorq %rdi, %r12
+ rolq $43, %r12
+ movq 144(%rcx), %rbx
+ xorq %r8, %rbx
+ rolq $21, %rbx
+ movq 192(%rcx), %rbp
+ xorq %r9, %rbp
+ rolq $14, %rbp
+ movq %r11, %r13
+ notq %r13
+ andq %r12, %r13
+ xorq %r10, %r13
+ xorq 24(%rsp), %r13
+ movq %r13, (%rax)
+ movq %r12, %r13
+ notq %r13
+ andq %rbx, %r13
+ xorq %r11, %r13
+ movq %r13, 8(%rax)
+ movq %rbx, %r13
+ notq %r13
+ andq %rbp, %r13
+ xorq %r12, %r13
+ movq %r13, 16(%rax)
+ movq %rbp, %r12
+ notq %r12
+ andq %r10, %r12
+ xorq %rbx, %r12
+ movq %r12, 24(%rax)
+ notq %r10
+ andq %r11, %r10
+ xorq %rbp, %r10
+ movq %r10, 32(%rax)
+ movq 24(%rcx), %r10
+ xorq %r8, %r10
+ rolq $28, %r10
+ movq 72(%rcx), %r11
+ xorq %r9, %r11
+ rolq $20, %r11
+ movq 80(%rcx), %r12
+ xorq %rdx, %r12
+ rolq $3, %r12
+ movq 128(%rcx), %rbx
+ xorq %rsi, %rbx
+ rolq $45, %rbx
+ movq 176(%rcx), %rbp
+ xorq %rdi, %rbp
+ rolq $61, %rbp
+ movq %r11, %r13
+ notq %r13
+ andq %r12, %r13
+ xorq %r10, %r13
+ movq %r13, 40(%rax)
+ movq %r12, %r13
+ notq %r13
+ andq %rbx, %r13
+ xorq %r11, %r13
+ movq %r13, 48(%rax)
+ movq %rbx, %r13
+ notq %r13
+ andq %rbp, %r13
+ xorq %r12, %r13
+ movq %r13, 56(%rax)
+ movq %rbp, %r12
+ notq %r12
+ andq %r10, %r12
+ xorq %rbx, %r12
+ movq %r12, 64(%rax)
+ notq %r10
+ andq %r11, %r10
+ xorq %rbp, %r10
+ movq %r10, 72(%rax)
+ movq 8(%rcx), %r10
+ xorq %rsi, %r10
+ rolq $1, %r10
+ movq 56(%rcx), %r11
+ xorq %rdi, %r11
+ rolq $6, %r11
+ movq 104(%rcx), %r12
+ xorq %r8, %r12
+ rolq $25, %r12
+ movq 152(%rcx), %rbx
+ xorq %r9, %rbx
+ rolq $8, %rbx
+ movq 160(%rcx), %rbp
+ xorq %rdx, %rbp
+ rolq $18, %rbp
+ movq %r11, %r13
+ notq %r13
+ andq %r12, %r13
+ xorq %r10, %r13
+ movq %r13, 80(%rax)
+ movq %r12, %r13
+ notq %r13
+ andq %rbx, %r13
+ xorq %r11, %r13
+ movq %r13, 88(%rax)
+ movq %rbx, %r13
+ notq %r13
+ andq %rbp, %r13
+ xorq %r12, %r13
+ movq %r13, 96(%rax)
+ movq %rbp, %r12
+ notq %r12
+ andq %r10, %r12
+ xorq %rbx, %r12
+ movq %r12, 104(%rax)
+ notq %r10
+ andq %r11, %r10
+ xorq %rbp, %r10
+ movq %r10, 112(%rax)
+ movq 32(%rcx), %r10
+ xorq %r9, %r10
+ rolq $27, %r10
+ movq 40(%rcx), %r11
+ xorq %rdx, %r11
+ rolq $36, %r11
+ movq 88(%rcx), %r12
+ xorq %rsi, %r12
+ rolq $10, %r12
+ movq 136(%rcx), %rbx
+ xorq %rdi, %rbx
+ rolq $15, %rbx
+ movq 184(%rcx), %rbp
+ xorq %r8, %rbp
+ rolq $56, %rbp
+ movq %r11, %r13
+ notq %r13
+ andq %r12, %r13
+ xorq %r10, %r13
+ movq %r13, 120(%rax)
+ movq %r12, %r13
+ notq %r13
+ andq %rbx, %r13
+ xorq %r11, %r13
+ movq %r13, 128(%rax)
+ movq %rbx, %r13
+ notq %r13
+ andq %rbp, %r13
+ xorq %r12, %r13
+ movq %r13, 136(%rax)
+ movq %rbp, %r12
+ notq %r12
+ andq %r10, %r12
+ xorq %rbx, %r12
+ movq %r12, 144(%rax)
+ notq %r10
+ andq %r11, %r10
+ xorq %rbp, %r10
+ movq %r10, 152(%rax)
+ movq 16(%rcx), %r10
+ xorq %rdi, %r10
+ rolq $62, %r10
+ movq 64(%rcx), %rdi
+ xorq %r8, %rdi
+ rolq $55, %rdi
+ movq 112(%rcx), %r8
+ xorq %r9, %r8
+ rolq $39, %r8
+ movq 120(%rcx), %r9
+ xorq %rdx, %r9
+ rolq $41, %r9
+ movq 168(%rcx), %rdx
+ xorq %rsi, %rdx
+ rolq $2, %rdx
+ movq %rdi, %rsi
+ notq %rsi
+ andq %r8, %rsi
+ xorq %r10, %rsi
+ movq %rsi, 160(%rax)
+ movq %r8, %rsi
+ notq %rsi
+ andq %r9, %rsi
+ xorq %rdi, %rsi
+ movq %rsi, 168(%rax)
+ movq %r9, %rsi
+ notq %rsi
+ andq %rdx, %rsi
+ xorq %r8, %rsi
+ movq %rsi, 176(%rax)
+ movq %rdx, %rsi
+ notq %rsi
+ andq %r10, %rsi
+ xorq %r9, %rsi
+ movq %rsi, 184(%rax)
+ notq %r10
+ andq %rdi, %r10
+ xorq %rdx, %r10
+ movq %r10, 192(%rax)
+ movq 16(%rsp), %r10
+ addq $2, %r10
+L_keccakf1600_ref1$2:
+ cmpq $23, %r10
+ jb L_keccakf1600_ref1$3
+ ret
+ .data
+ .p2align 5
+_glob_data:
+glob_data:
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -91
+ .byte 6
+ .byte 15
+ .byte 7
+ .byte -76
+ .byte 5
+ .byte 67
+ .byte 9
+ .byte 34
+ .byte 9
+ .byte 29
+ .byte 9
+ .byte 52
+ .byte 1
+ .byte 108
+ .byte 0
+ .byte 35
+ .byte 11
+ .byte 102
+ .byte 3
+ .byte 86
+ .byte 3
+ .byte -26
+ .byte 5
+ .byte -25
+ .byte 9
+ .byte -2
+ .byte 4
+ .byte -6
+ .byte 5
+ .byte -95
+ .byte 4
+ .byte 123
+ .byte 6
+ .byte -93
+ .byte 4
+ .byte 37
+ .byte 12
+ .byte 106
+ .byte 3
+ .byte 55
+ .byte 5
+ .byte 63
+ .byte 8
+ .byte -120
+ .byte 0
+ .byte -65
+ .byte 4
+ .byte -127
+ .byte 11
+ .byte -71
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte -41
+ .byte 7
+ .byte -97
+ .byte 10
+ .byte -90
+ .byte 10
+ .byte -72
+ .byte 8
+ .byte -48
+ .byte 9
+ .byte 75
+ .byte 0
+ .byte -100
+ .byte 0
+ .byte -72
+ .byte 11
+ .byte 95
+ .byte 11
+ .byte -92
+ .byte 11
+ .byte 104
+ .byte 3
+ .byte 125
+ .byte 10
+ .byte 54
+ .byte 6
+ .byte -94
+ .byte 8
+ .byte 90
+ .byte 2
+ .byte 54
+ .byte 7
+ .byte 9
+ .byte 3
+ .byte -109
+ .byte 0
+ .byte 122
+ .byte 8
+ .byte -9
+ .byte 9
+ .byte -10
+ .byte 0
+ .byte -116
+ .byte 6
+ .byte -37
+ .byte 6
+ .byte -52
+ .byte 1
+ .byte 35
+ .byte 1
+ .byte -21
+ .byte 0
+ .byte 80
+ .byte 12
+ .byte -74
+ .byte 10
+ .byte 91
+ .byte 11
+ .byte -104
+ .byte 12
+ .byte -13
+ .byte 6
+ .byte -102
+ .byte 9
+ .byte -29
+ .byte 4
+ .byte -74
+ .byte 9
+ .byte -42
+ .byte 10
+ .byte 83
+ .byte 11
+ .byte 79
+ .byte 4
+ .byte -5
+ .byte 4
+ .byte 92
+ .byte 10
+ .byte 41
+ .byte 4
+ .byte 65
+ .byte 11
+ .byte -43
+ .byte 2
+ .byte -28
+ .byte 5
+ .byte 64
+ .byte 9
+ .byte -114
+ .byte 1
+ .byte -73
+ .byte 3
+ .byte -9
+ .byte 0
+ .byte -115
+ .byte 5
+ .byte -106
+ .byte 12
+ .byte -61
+ .byte 9
+ .byte 15
+ .byte 1
+ .byte 90
+ .byte 0
+ .byte 85
+ .byte 3
+ .byte 68
+ .byte 7
+ .byte -125
+ .byte 12
+ .byte -118
+ .byte 4
+ .byte 82
+ .byte 6
+ .byte -102
+ .byte 2
+ .byte 64
+ .byte 1
+ .byte 8
+ .byte 0
+ .byte -3
+ .byte 10
+ .byte 8
+ .byte 6
+ .byte 26
+ .byte 1
+ .byte 46
+ .byte 7
+ .byte 13
+ .byte 5
+ .byte 10
+ .byte 9
+ .byte 40
+ .byte 2
+ .byte 117
+ .byte 10
+ .byte 58
+ .byte 8
+ .byte 35
+ .byte 6
+ .byte -51
+ .byte 0
+ .byte 102
+ .byte 11
+ .byte 6
+ .byte 6
+ .byte -95
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 8
+ .byte 9
+ .byte -87
+ .byte 2
+ .byte -126
+ .byte 0
+ .byte 66
+ .byte 6
+ .byte 79
+ .byte 7
+ .byte 61
+ .byte 3
+ .byte -126
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte 45
+ .byte 5
+ .byte -60
+ .byte 10
+ .byte 69
+ .byte 7
+ .byte -62
+ .byte 5
+ .byte -78
+ .byte 4
+ .byte 63
+ .byte 9
+ .byte 75
+ .byte 12
+ .byte -40
+ .byte 6
+ .byte -109
+ .byte 10
+ .byte -85
+ .byte 0
+ .byte 55
+ .byte 12
+ .byte -30
+ .byte 11
+ .byte 115
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte -19
+ .byte 5
+ .byte 103
+ .byte 1
+ .byte -10
+ .byte 2
+ .byte -95
+ .byte 5
+ .byte -19
+ .byte 8
+ .byte 11
+ .byte 10
+ .byte -102
+ .byte 11
+ .byte 20
+ .byte 7
+ .byte -43
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte 31
+ .byte 1
+ .byte -54
+ .byte 0
+ .byte 86
+ .byte 12
+ .byte 110
+ .byte 2
+ .byte 41
+ .byte 6
+ .byte -74
+ .byte 0
+ .byte -62
+ .byte 3
+ .byte 79
+ .byte 8
+ .byte 63
+ .byte 7
+ .byte -68
+ .byte 5
+ .byte 61
+ .byte 2
+ .byte -44
+ .byte 7
+ .byte 8
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte -60
+ .byte 9
+ .byte -78
+ .byte 5
+ .byte -65
+ .byte 6
+ .byte 127
+ .byte 12
+ .byte 88
+ .byte 10
+ .byte -7
+ .byte 3
+ .byte -36
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte -5
+ .byte 6
+ .byte -101
+ .byte 1
+ .byte 52
+ .byte 12
+ .byte -34
+ .byte 6
+ .byte -57
+ .byte 4
+ .byte -116
+ .byte 2
+ .byte -39
+ .byte 10
+ .byte -9
+ .byte 3
+ .byte -12
+ .byte 7
+ .byte -45
+ .byte 5
+ .byte -25
+ .byte 11
+ .byte -7
+ .byte 6
+ .byte 4
+ .byte 2
+ .byte -7
+ .byte 12
+ .byte -63
+ .byte 11
+ .byte 103
+ .byte 10
+ .byte -81
+ .byte 6
+ .byte 119
+ .byte 8
+ .byte 126
+ .byte 0
+ .byte -67
+ .byte 5
+ .byte -84
+ .byte 9
+ .byte -89
+ .byte 12
+ .byte -14
+ .byte 11
+ .byte 62
+ .byte 3
+ .byte 107
+ .byte 0
+ .byte 116
+ .byte 7
+ .byte 10
+ .byte 12
+ .byte 74
+ .byte 9
+ .byte 115
+ .byte 11
+ .byte -63
+ .byte 3
+ .byte 29
+ .byte 7
+ .byte 44
+ .byte 10
+ .byte -64
+ .byte 1
+ .byte -40
+ .byte 8
+ .byte -91
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -78
+ .byte 8
+ .byte -82
+ .byte 1
+ .byte 43
+ .byte 2
+ .byte 75
+ .byte 3
+ .byte 30
+ .byte 8
+ .byte 103
+ .byte 3
+ .byte 14
+ .byte 6
+ .byte 105
+ .byte 0
+ .byte -90
+ .byte 1
+ .byte 75
+ .byte 2
+ .byte -79
+ .byte 0
+ .byte 22
+ .byte 12
+ .byte -34
+ .byte 11
+ .byte 53
+ .byte 11
+ .byte 38
+ .byte 6
+ .byte 117
+ .byte 6
+ .byte 11
+ .byte 12
+ .byte 10
+ .byte 3
+ .byte -121
+ .byte 4
+ .byte 110
+ .byte 12
+ .byte -8
+ .byte 9
+ .byte -53
+ .byte 5
+ .byte -89
+ .byte 10
+ .byte 95
+ .byte 4
+ .byte -53
+ .byte 6
+ .byte -124
+ .byte 2
+ .byte -103
+ .byte 9
+ .byte 93
+ .byte 1
+ .byte -94
+ .byte 1
+ .byte 73
+ .byte 1
+ .byte 101
+ .byte 12
+ .byte -74
+ .byte 12
+ .byte 49
+ .byte 3
+ .byte 73
+ .byte 4
+ .byte 91
+ .byte 2
+ .byte 98
+ .byte 2
+ .byte 42
+ .byte 5
+ .byte -4
+ .byte 7
+ .byte 72
+ .byte 7
+ .byte -128
+ .byte 1
+ .byte 66
+ .byte 8
+ .byte 121
+ .byte 12
+ .byte -62
+ .byte 4
+ .byte -54
+ .byte 7
+ .byte -105
+ .byte 9
+ .byte -36
+ .byte 0
+ .byte 94
+ .byte 8
+ .byte -122
+ .byte 6
+ .byte 96
+ .byte 8
+ .byte 7
+ .byte 7
+ .byte 3
+ .byte 8
+ .byte 26
+ .byte 3
+ .byte 27
+ .byte 7
+ .byte -85
+ .byte 9
+ .byte -101
+ .byte 9
+ .byte -34
+ .byte 1
+ .byte -107
+ .byte 12
+ .byte -51
+ .byte 11
+ .byte -28
+ .byte 3
+ .byte -33
+ .byte 3
+ .byte -66
+ .byte 3
+ .byte 77
+ .byte 7
+ .byte -14
+ .byte 5
+ .byte 92
+ .byte 6
diff --git a/src/kem/kyber/libjade_kyber768_avx2/api.c b/src/kem/kyber/libjade_kyber768_avx2/api.c
new file mode 100644
index 000000000..d5046c43a
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber768_avx2/api.c
@@ -0,0 +1,19 @@
+#include
+#include "api.h"
+
+int libjade_kyber768_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) {
+ uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES];
+ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2);
+ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2);
+ return jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins);
+}
+
+int libjade_kyber768_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+ uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES];
+ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES);
+ return jade_kem_kyber_kyber768_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
+}
+
+int libjade_kyber768_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+ return jade_kem_kyber_kyber768_amd64_avx2_dec(shared_secret, ciphertext, secret_key);
+}
diff --git a/src/kem/kyber/libjade_kyber768_avx2/api.h b/src/kem/kyber/libjade_kyber768_avx2/api.h
new file mode 100644
index 000000000..ac365776f
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber768_avx2/api.h
@@ -0,0 +1,45 @@
+#ifndef JADE_KEM_kyber_kyber768_amd64_avx2_API_H
+#define JADE_KEM_kyber_kyber768_amd64_avx2_API_H
+
+#include
+
+#define JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES 64
+#define JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES 32
+
+int jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(
+ uint8_t *public_key,
+ uint8_t *secret_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber768_avx2_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+);
+
+int jade_kem_kyber_kyber768_amd64_avx2_enc_derand(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber768_avx2_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+);
+
+int jade_kem_kyber_kyber768_amd64_avx2_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+int libjade_kyber768_avx2_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+#endif
diff --git a/src/kem/kyber/libjade_kyber768_avx2/kem.S b/src/kem/kyber/libjade_kyber768_avx2/kem.S
new file mode 100644
index 000000000..29d39b042
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber768_avx2/kem.S
@@ -0,0 +1,26125 @@
+ .att_syntax
+ .text
+ .p2align 5
+ .globl _jade_kem_kyber_kyber768_amd64_avx2_dec
+ .globl jade_kem_kyber_kyber768_amd64_avx2_dec
+ .globl _jade_kem_kyber_kyber768_amd64_avx2_enc
+ .globl jade_kem_kyber_kyber768_amd64_avx2_enc
+ .globl _jade_kem_kyber_kyber768_amd64_avx2_enc_derand
+ .globl jade_kem_kyber_kyber768_amd64_avx2_enc_derand
+ .globl _jade_kem_kyber_kyber768_amd64_avx2_keypair
+ .globl jade_kem_kyber_kyber768_amd64_avx2_keypair
+ .globl _jade_kem_kyber_kyber768_amd64_avx2_keypair_derand
+ .globl jade_kem_kyber_kyber768_amd64_avx2_keypair_derand
+_jade_kem_kyber_kyber768_amd64_avx2_dec:
+jade_kem_kyber_kyber768_amd64_avx2_dec:
+ movq %rsp, %rax
+ leaq -17192(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 17184(%rsp)
+ movq %r12, 17160(%rsp)
+ movq %rbp, 17168(%rsp)
+ movq %rbx, 17176(%rsp)
+ movq %rdi, 17120(%rsp)
+ movq %rsi, 17128(%rsp)
+ leaq 32(%rsp), %rax
+ vpbroadcastd glob_data + 6404(%rip), %ymm0
+ vmovdqu glob_data + 64(%rip), %ymm1
+ vpbroadcastq glob_data + 6192(%rip), %ymm2
+ vpbroadcastd glob_data + 6400(%rip), %ymm3
+ vmovdqu (%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6368(%rsp)
+ vmovdqu 20(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6400(%rsp)
+ vmovdqu 40(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6432(%rsp)
+ vmovdqu 60(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6464(%rsp)
+ vmovdqu 80(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6496(%rsp)
+ vmovdqu 100(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6528(%rsp)
+ vmovdqu 120(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6560(%rsp)
+ vmovdqu 140(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6592(%rsp)
+ vmovdqu 160(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6624(%rsp)
+ vmovdqu 180(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6656(%rsp)
+ vmovdqu 200(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6688(%rsp)
+ vmovdqu 220(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6720(%rsp)
+ vmovdqu 240(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6752(%rsp)
+ vmovdqu 260(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6784(%rsp)
+ vmovdqu 280(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6816(%rsp)
+ vmovdqu 300(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6848(%rsp)
+ vmovdqu 320(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6880(%rsp)
+ vmovdqu 340(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6912(%rsp)
+ vmovdqu 360(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6944(%rsp)
+ vmovdqu 380(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 6976(%rsp)
+ vmovdqu 400(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7008(%rsp)
+ vmovdqu 420(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7040(%rsp)
+ vmovdqu 440(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7072(%rsp)
+ vmovdqu 460(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7104(%rsp)
+ vmovdqu 480(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7136(%rsp)
+ vmovdqu 500(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7168(%rsp)
+ vmovdqu 520(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7200(%rsp)
+ vmovdqu 540(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7232(%rsp)
+ vmovdqu 560(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7264(%rsp)
+ vmovdqu 580(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7296(%rsp)
+ vmovdqu 600(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7328(%rsp)
+ vmovdqu 620(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7360(%rsp)
+ vmovdqu 640(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7392(%rsp)
+ vmovdqu 660(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7424(%rsp)
+ vmovdqu 680(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7456(%rsp)
+ vmovdqu 700(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7488(%rsp)
+ vmovdqu 720(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7520(%rsp)
+ vmovdqu 740(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7552(%rsp)
+ vmovdqu 760(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7584(%rsp)
+ vmovdqu 780(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7616(%rsp)
+ vmovdqu 800(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7648(%rsp)
+ vmovdqu 820(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7680(%rsp)
+ vmovdqu 840(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7712(%rsp)
+ vmovdqu 860(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7744(%rsp)
+ vmovdqu 880(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7776(%rsp)
+ vmovdqu 900(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7808(%rsp)
+ vmovdqu 920(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpsllvd %ymm2, %ymm4, %ymm4
+ vpsrlw $1, %ymm4, %ymm4
+ vpand %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 7840(%rsp)
+ vmovdqu 940(%rsi), %ymm4
+ vpermq $-108, %ymm4, %ymm4
+ vpshufb %ymm1, %ymm4, %ymm1
+ vpsllvd %ymm2, %ymm1, %ymm1
+ vpsrlw $1, %ymm1, %ymm1
+ vpand %ymm3, %ymm1, %ymm1
+ vpmulhrsw %ymm0, %ymm1, %ymm0
+ vmovdqu %ymm0, 7872(%rsp)
+ addq $960, %rsi
+ leaq 2432(%rsp), %rcx
+ leaq -24(%rsp), %rsp
+ call L_poly_decompress$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$145:
+ leaq 24(%rsp), %rsp
+ movq %rdx, %rsi
+ leaq 7904(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$144:
+ addq $384, %rsi
+ leaq 8416(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$143:
+ addq $384, %rsi
+ leaq 8928(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$142:
+ leaq 6368(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$141:
+ leaq 6880(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$140:
+ leaq 7392(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$139:
+ leaq 2944(%rsp), %rcx
+ leaq 7904(%rsp), %rsi
+ leaq 6368(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$138:
+ leaq 3456(%rsp), %rcx
+ leaq 8416(%rsp), %rsi
+ leaq 6880(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$137:
+ leaq 2944(%rsp), %rcx
+ leaq 3456(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$136:
+ leaq 3456(%rsp), %rcx
+ leaq 8928(%rsp), %rsi
+ leaq 7392(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$135:
+ leaq 2944(%rsp), %rcx
+ leaq 3456(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$134:
+ leaq 2944(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$133:
+ leaq 3456(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ leaq 2944(%rsp), %rdi
+ call L_poly_sub$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$132:
+ leaq 3456(%rsp), %rcx
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rcx)
+ vmovdqu 32(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rcx)
+ vmovdqu 64(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rcx)
+ vmovdqu 96(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rcx)
+ vmovdqu 128(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rcx)
+ vmovdqu 160(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rcx)
+ vmovdqu 192(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rcx)
+ vmovdqu 224(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rcx)
+ vmovdqu 256(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rcx)
+ vmovdqu 288(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rcx)
+ vmovdqu 320(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rcx)
+ vmovdqu 352(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rcx)
+ vmovdqu 384(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rcx)
+ vmovdqu 416(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rcx)
+ vmovdqu 448(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rcx)
+ vmovdqu 480(%rcx), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ leaq 3456(%rsp), %rcx
+ call L_poly_tomsg_1$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$131:
+ leaq 32(%rdx), %rax
+ addq $2304, %rax
+ movq (%rax), %rcx
+ movq %rcx, 64(%rsp)
+ movq 8(%rax), %rcx
+ movq %rcx, 72(%rsp)
+ movq 16(%rax), %rcx
+ movq %rcx, 80(%rsp)
+ movq 24(%rax), %rax
+ movq %rax, 88(%rsp)
+ movq %rdx, 17136(%rsp)
+ leaq 96(%rsp), %rax
+ leaq 32(%rsp), %rcx
+ leaq -248(%rsp), %rsp
+ call L_sha3_512_64$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$130:
+ leaq 248(%rsp), %rsp
+ movq 17136(%rsp), %rax
+ addq $1152, %rax
+ leaq 5280(%rsp), %rcx
+ leaq 32(%rsp), %rdi
+ leaq 128(%rsp), %rdx
+ movq %rcx, 17144(%rsp)
+ movq %rax, %rsi
+ leaq 6368(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$129:
+ addq $384, %rsi
+ leaq 6880(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$128:
+ addq $384, %rsi
+ leaq 7392(%rsp), %r8
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$127:
+ movq $0, %rcx
+ addq $1152, %rax
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$125
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$126:
+ movq (%rax), %rsi
+ movq %rsi, (%rsp,%rcx,8)
+ addq $8, %rax
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$125:
+ cmpq $4, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_avx2_dec$126
+ leaq 3456(%rsp), %rax
+ call L_poly_frommsg_1$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$124:
+ movq %rdx, 17152(%rsp)
+ vmovdqu (%rsp), %ymm0
+ vmovdqu %ymm0, 384(%rsp)
+ vmovdqu %ymm0, 896(%rsp)
+ vmovdqu %ymm0, 1408(%rsp)
+ vmovdqu %ymm0, 1920(%rsp)
+ vmovdqu %ymm0, (%rsp)
+ movb $0, 416(%rsp)
+ movb $0, 417(%rsp)
+ movb $0, 928(%rsp)
+ movb $1, 929(%rsp)
+ movb $0, 1440(%rsp)
+ movb $2, 1441(%rsp)
+ movb $1, 1952(%rsp)
+ movb $0, 1953(%rsp)
+ leaq 4480(%rsp), %rax
+ leaq 384(%rsp), %rcx
+ leaq 896(%rsp), %rdx
+ leaq 1408(%rsp), %rsi
+ leaq 1920(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$123:
+ leaq 4480(%rsp), %rax
+ leaq 384(%rsp), %rdi
+ leaq 896(%rsp), %r8
+ leaq 1408(%rsp), %r9
+ leaq 1920(%rsp), %r10
+ movq %rdi, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$122:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rdi), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$121:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rdi), %rdi
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$120:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rdi)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rdi)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rdi)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rdi)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rdi)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rdi)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rdi)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rdi)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rdi)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rdi)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rdi)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rdi)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rdi)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rdi)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rdi)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rdi)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rdi)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rdi)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rdi)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rdi)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rdi)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 12512(%rsp), %r11
+ leaq 384(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$119:
+ movq %r12, %rdi
+ leaq 13024(%rsp), %r11
+ leaq 896(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$118:
+ movq %r12, %r9
+ leaq 13536(%rsp), %r11
+ leaq 1408(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$117:
+ movq %r12, %r8
+ leaq 14048(%rsp), %r11
+ leaq 1920(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$116:
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r9
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$93
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$94:
+ leaq 4480(%rsp), %rax
+ leaq 384(%rsp), %r10
+ leaq 896(%rsp), %r11
+ leaq 1408(%rsp), %rbx
+ leaq 1920(%rsp), %rbp
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$115:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r10)
+ vmovhpd %xmm1, (%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbx)
+ vmovhpd %xmm0, (%rbp)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r10)
+ vmovhpd %xmm1, 8(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbx)
+ vmovhpd %xmm0, 8(%rbp)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r10)
+ vmovhpd %xmm1, 16(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbx)
+ vmovhpd %xmm0, 16(%rbp)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r10)
+ vmovhpd %xmm1, 24(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbx)
+ vmovhpd %xmm0, 24(%rbp)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r10)
+ vmovhpd %xmm1, 32(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbx)
+ vmovhpd %xmm0, 32(%rbp)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r10)
+ vmovhpd %xmm1, 40(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbx)
+ vmovhpd %xmm0, 40(%rbp)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r10)
+ vmovhpd %xmm1, 48(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbx)
+ vmovhpd %xmm0, 48(%rbp)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r10)
+ vmovhpd %xmm1, 56(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbx)
+ vmovhpd %xmm0, 56(%rbp)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r10)
+ vmovhpd %xmm1, 64(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbx)
+ vmovhpd %xmm0, 64(%rbp)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r10)
+ vmovhpd %xmm1, 72(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbx)
+ vmovhpd %xmm0, 72(%rbp)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r10)
+ vmovhpd %xmm1, 80(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbx)
+ vmovhpd %xmm0, 80(%rbp)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r10)
+ vmovhpd %xmm1, 88(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbx)
+ vmovhpd %xmm0, 88(%rbp)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r10)
+ vmovhpd %xmm1, 96(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbx)
+ vmovhpd %xmm0, 96(%rbp)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r10)
+ vmovhpd %xmm1, 104(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbx)
+ vmovhpd %xmm0, 104(%rbp)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r10)
+ vmovhpd %xmm1, 112(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbx)
+ vmovhpd %xmm0, 112(%rbp)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r10)
+ vmovhpd %xmm1, 120(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbx)
+ vmovhpd %xmm0, 120(%rbp)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r10)
+ vmovhpd %xmm1, 128(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbx)
+ vmovhpd %xmm0, 128(%rbp)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r10)
+ vmovhpd %xmm1, 136(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbx)
+ vmovhpd %xmm0, 136(%rbp)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r10)
+ vmovhpd %xmm1, 144(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbx)
+ vmovhpd %xmm0, 144(%rbp)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r10)
+ vmovhpd %xmm1, 152(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbx)
+ vmovhpd %xmm0, 152(%rbp)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r10)
+ vmovhpd %xmm1, 160(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbx)
+ vmovhpd %xmm0, 160(%rbp)
+ leaq 12512(%rsp), %rax
+ leaq 384(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$110
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$111:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$114
+ movw %si, (%rax,%rdi,2)
+ incq %rdi
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$114:
+ cmpq $256, %rdi
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$112
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$112
+ movw %r11w, (%rax,%rdi,2)
+ incq %rdi
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$113:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$112:
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$110:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$111
+ leaq 13024(%rsp), %rax
+ leaq 896(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$105
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$106:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$109
+ movw %si, (%rax,%r9,2)
+ incq %r9
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$109:
+ cmpq $256, %r9
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$107
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$107
+ movw %r11w, (%rax,%r9,2)
+ incq %r9
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$108:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$107:
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$105:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$106
+ leaq 13536(%rsp), %rax
+ leaq 1408(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$100
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$101:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$104
+ movw %si, (%rax,%r8,2)
+ incq %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$104:
+ cmpq $256, %r8
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$102
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$102
+ movw %r11w, (%rax,%r8,2)
+ incq %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$103:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$102:
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$100:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$101
+ leaq 14048(%rsp), %rax
+ leaq 1920(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$95
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$96:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$99
+ movw %si, (%rax,%r12,2)
+ incq %r12
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$99:
+ cmpq $256, %r12
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$97
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$97
+ movw %r11w, (%rax,%r12,2)
+ incq %r12
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$98:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$97:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$95:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$96
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r9
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$93:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$94
+ vmovdqu (%rsp), %ymm0
+ vmovdqu %ymm0, 384(%rsp)
+ vmovdqu %ymm0, 896(%rsp)
+ vmovdqu %ymm0, 1408(%rsp)
+ vmovdqu %ymm0, 1920(%rsp)
+ vmovdqu %ymm0, (%rsp)
+ movb $1, 416(%rsp)
+ movb $1, 417(%rsp)
+ movb $1, 928(%rsp)
+ movb $2, 929(%rsp)
+ movb $2, 1440(%rsp)
+ movb $0, 1441(%rsp)
+ movb $2, 1952(%rsp)
+ movb $1, 1953(%rsp)
+ leaq 4480(%rsp), %rax
+ leaq 384(%rsp), %rcx
+ leaq 896(%rsp), %rdx
+ leaq 1408(%rsp), %rsi
+ leaq 1920(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$92:
+ leaq 4480(%rsp), %rax
+ leaq 384(%rsp), %rdi
+ leaq 896(%rsp), %r8
+ leaq 1408(%rsp), %r9
+ leaq 1920(%rsp), %r10
+ movq %rdi, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$91:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rdi), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$90:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rdi), %rdi
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$89:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rdi)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rdi)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rdi)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rdi)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rdi)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rdi)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rdi)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rdi)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rdi)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rdi)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rdi)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rdi)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rdi)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rdi)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rdi)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rdi)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rdi)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rdi)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rdi)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rdi)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rdi)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 14560(%rsp), %r11
+ leaq 384(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$88:
+ movq %r12, %rdi
+ leaq 15072(%rsp), %r11
+ leaq 896(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$87:
+ movq %r12, %r8
+ leaq 15584(%rsp), %r11
+ leaq 1408(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$86:
+ movq %r12, %r9
+ leaq 16096(%rsp), %r11
+ leaq 1920(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$85:
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r8
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r9
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$62
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$63:
+ leaq 4480(%rsp), %rax
+ leaq 384(%rsp), %r10
+ leaq 896(%rsp), %r11
+ leaq 1408(%rsp), %rbx
+ leaq 1920(%rsp), %rbp
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$84:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r10)
+ vmovhpd %xmm1, (%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbx)
+ vmovhpd %xmm0, (%rbp)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r10)
+ vmovhpd %xmm1, 8(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbx)
+ vmovhpd %xmm0, 8(%rbp)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r10)
+ vmovhpd %xmm1, 16(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbx)
+ vmovhpd %xmm0, 16(%rbp)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r10)
+ vmovhpd %xmm1, 24(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbx)
+ vmovhpd %xmm0, 24(%rbp)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r10)
+ vmovhpd %xmm1, 32(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbx)
+ vmovhpd %xmm0, 32(%rbp)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r10)
+ vmovhpd %xmm1, 40(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbx)
+ vmovhpd %xmm0, 40(%rbp)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r10)
+ vmovhpd %xmm1, 48(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbx)
+ vmovhpd %xmm0, 48(%rbp)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r10)
+ vmovhpd %xmm1, 56(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbx)
+ vmovhpd %xmm0, 56(%rbp)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r10)
+ vmovhpd %xmm1, 64(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbx)
+ vmovhpd %xmm0, 64(%rbp)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r10)
+ vmovhpd %xmm1, 72(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbx)
+ vmovhpd %xmm0, 72(%rbp)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r10)
+ vmovhpd %xmm1, 80(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbx)
+ vmovhpd %xmm0, 80(%rbp)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r10)
+ vmovhpd %xmm1, 88(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbx)
+ vmovhpd %xmm0, 88(%rbp)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r10)
+ vmovhpd %xmm1, 96(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbx)
+ vmovhpd %xmm0, 96(%rbp)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r10)
+ vmovhpd %xmm1, 104(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbx)
+ vmovhpd %xmm0, 104(%rbp)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r10)
+ vmovhpd %xmm1, 112(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbx)
+ vmovhpd %xmm0, 112(%rbp)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r10)
+ vmovhpd %xmm1, 120(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbx)
+ vmovhpd %xmm0, 120(%rbp)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r10)
+ vmovhpd %xmm1, 128(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbx)
+ vmovhpd %xmm0, 128(%rbp)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r10)
+ vmovhpd %xmm1, 136(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbx)
+ vmovhpd %xmm0, 136(%rbp)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r10)
+ vmovhpd %xmm1, 144(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbx)
+ vmovhpd %xmm0, 144(%rbp)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r10)
+ vmovhpd %xmm1, 152(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbx)
+ vmovhpd %xmm0, 152(%rbp)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r10)
+ vmovhpd %xmm1, 160(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbx)
+ vmovhpd %xmm0, 160(%rbp)
+ leaq 14560(%rsp), %rax
+ leaq 384(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$79
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$80:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$83
+ movw %si, (%rax,%rdi,2)
+ incq %rdi
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$83:
+ cmpq $256, %rdi
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$81
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$81
+ movw %r11w, (%rax,%rdi,2)
+ incq %rdi
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$82:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$81:
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$79:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$80
+ leaq 15072(%rsp), %rax
+ leaq 896(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$74
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$75:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$78
+ movw %si, (%rax,%r8,2)
+ incq %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$78:
+ cmpq $256, %r8
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$76
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$76
+ movw %r11w, (%rax,%r8,2)
+ incq %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$77:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$76:
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$74:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$75
+ leaq 15584(%rsp), %rax
+ leaq 1408(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$69
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$70:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$73
+ movw %si, (%rax,%r9,2)
+ incq %r9
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$73:
+ cmpq $256, %r9
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$71
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$71
+ movw %r11w, (%rax,%r9,2)
+ incq %r9
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$72:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$71:
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$69:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$70
+ leaq 16096(%rsp), %rax
+ leaq 1920(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$64
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$65:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$68
+ movw %si, (%rax,%r12,2)
+ incq %r12
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$68:
+ cmpq $256, %r12
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$66
+ cmpw $3329, %r11w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$66
+ movw %r11w, (%rax,%r12,2)
+ incq %r12
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$67:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$66:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$64:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$65
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r8
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r9
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$62:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$63
+ vmovdqu (%rsp), %ymm0
+ vmovdqu %ymm0, 384(%rsp)
+ movb $2, 416(%rsp)
+ movb $2, 417(%rsp)
+ leaq 384(%rsp), %rax
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm0, 256(%rsp)
+ vmovdqu %ymm0, 288(%rsp)
+ vmovdqu %ymm0, 320(%rsp)
+ vmovdqu %ymm0, 352(%rsp)
+ vpbroadcastq (%rax), %ymm5
+ movq 8(%rax), %rcx
+ movq glob_data + 6208(%rip), %rdx
+ movq %rcx, 160(%rsp,%rdx,8)
+ movq 16(%rax), %rcx
+ movq glob_data + 6216(%rip), %rdx
+ movq %rcx, 160(%rsp,%rdx,8)
+ movq 24(%rax), %rcx
+ movq glob_data + 6224(%rip), %rdx
+ movq %rcx, 160(%rsp,%rdx,8)
+ movb 32(%rax), %cl
+ movq glob_data + 6232(%rip), %rdx
+ shlq $3, %rdx
+ movb %cl, 160(%rsp,%rdx)
+ movb 33(%rax), %al
+ incq %rdx
+ movb %al, 160(%rsp,%rdx)
+ incq %rdx
+ movb $31, 160(%rsp,%rdx)
+ movq glob_data + 6360(%rip), %rax
+ shlq $3, %rax
+ movq $167, %rcx
+ andq $7, %rcx
+ addq %rcx, %rax
+ movb $-128, 160(%rsp,%rax)
+ vmovdqu 192(%rsp), %ymm0
+ vmovdqu 224(%rsp), %ymm1
+ vmovdqu 256(%rsp), %ymm2
+ vmovdqu 288(%rsp), %ymm6
+ vmovdqu 320(%rsp), %ymm3
+ vmovdqu 352(%rsp), %ymm4
+ leaq 384(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$61:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$61
+ vmovdqu %ymm5, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm1, 224(%rsp)
+ vmovdqu %ymm2, 256(%rsp)
+ vmovdqu %ymm6, 288(%rsp)
+ vmovdqu %ymm3, 320(%rsp)
+ vmovdqu %ymm4, 352(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 552(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$60:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$60
+ vmovdqu %ymm5, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm1, 224(%rsp)
+ vmovdqu %ymm2, 256(%rsp)
+ vmovdqu %ymm6, 288(%rsp)
+ vmovdqu %ymm3, 320(%rsp)
+ vmovdqu %ymm4, 352(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 720(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$59:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$59
+ vmovdqu %ymm5, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm1, 224(%rsp)
+ vmovdqu %ymm2, 256(%rsp)
+ vmovdqu %ymm6, 288(%rsp)
+ vmovdqu %ymm3, 320(%rsp)
+ vmovdqu %ymm4, 352(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ vmovdqu %ymm5, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm1, 224(%rsp)
+ vmovdqu %ymm2, 256(%rsp)
+ vmovdqu %ymm6, 288(%rsp)
+ vmovdqu %ymm3, 320(%rsp)
+ vmovdqu %ymm4, 352(%rsp)
+ leaq 16608(%rsp), %r11
+ leaq 384(%rsp), %rbx
+ call L_rej_uniform_avx$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$58:
+ cmpq $255, %r12
+ setbe %al
+ vmovdqu 160(%rsp), %ymm6
+ vmovdqu 192(%rsp), %ymm0
+ vmovdqu 224(%rsp), %ymm1
+ vmovdqu 256(%rsp), %ymm2
+ vmovdqu 288(%rsp), %ymm3
+ vmovdqu 320(%rsp), %ymm4
+ vmovdqu 352(%rsp), %ymm5
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$50
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$51:
+ leaq 384(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$57:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$57
+ vmovdqu %ymm6, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm1, 224(%rsp)
+ vmovdqu %ymm2, 256(%rsp)
+ vmovdqu %ymm3, 288(%rsp)
+ vmovdqu %ymm4, 320(%rsp)
+ vmovdqu %ymm5, 352(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 160(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 16608(%rsp), %rax
+ leaq 384(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %dil
+ testb %dil, %sil
+ jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$52
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$53:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$56
+ movw %si, (%rax,%r12,2)
+ incq %r12
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$56:
+ cmpq $256, %r12
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$54
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$54
+ movw %r8w, (%rax,%r12,2)
+ incq %r12
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$55:
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$54:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %dil
+ testb %dil, %sil
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$52:
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$53
+ cmpq $255, %r12
+ setbe %al
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$50:
+ cmpb $0, %al
+ jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$51
+ leaq 12512(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$49:
+ leaq 13024(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$48:
+ leaq 13536(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$47:
+ leaq 14048(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$46:
+ leaq 14560(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$45:
+ leaq 15072(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$44:
+ leaq 15584(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$43:
+ leaq 16096(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$42:
+ leaq 16608(%rsp), %rax
+ call L_nttunpack$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$41:
+ movq 17152(%rsp), %r10
+ movb $0, %cl
+ leaq 9440(%rsp), %rax
+ leaq 9952(%rsp), %rdi
+ leaq 10464(%rsp), %r8
+ leaq 7904(%rsp), %r9
+ leaq -1496(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$40:
+ leaq 1496(%rsp), %rsp
+ movb $4, %cl
+ leaq 8416(%rsp), %rax
+ leaq 8928(%rsp), %rdi
+ leaq 2944(%rsp), %r8
+ leaq 10976(%rsp), %r9
+ leaq -1496(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$39:
+ leaq 1496(%rsp), %rsp
+ leaq 9440(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$38:
+ leaq 9952(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$37:
+ leaq 10464(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$36:
+ leaq 10976(%rsp), %rcx
+ leaq 12512(%rsp), %rsi
+ leaq 9440(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$35:
+ leaq 2432(%rsp), %rcx
+ leaq 13024(%rsp), %rsi
+ leaq 9952(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$34:
+ leaq 10976(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$33:
+ leaq 2432(%rsp), %rcx
+ leaq 13536(%rsp), %rsi
+ leaq 10464(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$32:
+ leaq 10976(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$31:
+ leaq 11488(%rsp), %rcx
+ leaq 14048(%rsp), %rsi
+ leaq 9440(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$30:
+ leaq 2432(%rsp), %rcx
+ leaq 14560(%rsp), %rsi
+ leaq 9952(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$29:
+ leaq 11488(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$28:
+ leaq 2432(%rsp), %rcx
+ leaq 15072(%rsp), %rsi
+ leaq 10464(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$27:
+ leaq 11488(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$26:
+ leaq 12000(%rsp), %rcx
+ leaq 15584(%rsp), %rsi
+ leaq 9440(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$25:
+ leaq 2432(%rsp), %rcx
+ leaq 16096(%rsp), %rsi
+ leaq 9952(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$24:
+ leaq 12000(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$23:
+ leaq 2432(%rsp), %rcx
+ leaq 16608(%rsp), %rsi
+ leaq 10464(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$22:
+ leaq 12000(%rsp), %rcx
+ leaq 2432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$21:
+ leaq 2432(%rsp), %rcx
+ leaq 6368(%rsp), %rsi
+ leaq 9440(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$20:
+ leaq 3968(%rsp), %rcx
+ leaq 6880(%rsp), %rsi
+ leaq 9952(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$19:
+ leaq 2432(%rsp), %rcx
+ leaq 3968(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$18:
+ leaq 3968(%rsp), %rcx
+ leaq 7392(%rsp), %rsi
+ leaq 10464(%rsp), %rdi
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$17:
+ leaq 2432(%rsp), %rcx
+ leaq 3968(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$16:
+ leaq 10976(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$15:
+ leaq 11488(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$14:
+ leaq 12000(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$13:
+ leaq 2432(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$12:
+ leaq 10976(%rsp), %rcx
+ leaq 7904(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$11:
+ leaq 11488(%rsp), %rcx
+ leaq 8416(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$10:
+ leaq 12000(%rsp), %rcx
+ leaq 8928(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$9:
+ leaq 2432(%rsp), %rcx
+ leaq 2944(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$8:
+ leaq 2432(%rsp), %rcx
+ leaq 3456(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$7:
+ leaq 10976(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 11488(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 12000(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 2432(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ movq 17144(%rsp), %rax
+ movq %rax, %rdx
+ leaq 10976(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$6:
+ leaq 11488(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$5:
+ leaq 12000(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$4:
+ leaq glob_data + 384(%rip), %rcx
+ vmovdqu (%rcx), %ymm0
+ vpsllw $3, %ymm0, %ymm1
+ vpbroadcastw glob_data + 6422(%rip), %ymm2
+ vpbroadcastw glob_data + 6420(%rip), %ymm3
+ vpbroadcastw glob_data + 6418(%rip), %ymm4
+ vpbroadcastq glob_data + 6184(%rip), %ymm5
+ vpbroadcastq glob_data + 6176(%rip), %ymm6
+ vmovdqu glob_data + 32(%rip), %ymm7
+ vmovdqu 10976(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, (%rdx)
+ vpextrd $0, %xmm8, 16(%rdx)
+ vmovdqu 11008(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 20(%rdx)
+ vpextrd $0, %xmm8, 36(%rdx)
+ vmovdqu 11040(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 40(%rdx)
+ vpextrd $0, %xmm8, 56(%rdx)
+ vmovdqu 11072(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 60(%rdx)
+ vpextrd $0, %xmm8, 76(%rdx)
+ vmovdqu 11104(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 80(%rdx)
+ vpextrd $0, %xmm8, 96(%rdx)
+ vmovdqu 11136(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 100(%rdx)
+ vpextrd $0, %xmm8, 116(%rdx)
+ vmovdqu 11168(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 120(%rdx)
+ vpextrd $0, %xmm8, 136(%rdx)
+ vmovdqu 11200(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 140(%rdx)
+ vpextrd $0, %xmm8, 156(%rdx)
+ vmovdqu 11232(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 160(%rdx)
+ vpextrd $0, %xmm8, 176(%rdx)
+ vmovdqu 11264(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 180(%rdx)
+ vpextrd $0, %xmm8, 196(%rdx)
+ vmovdqu 11296(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 200(%rdx)
+ vpextrd $0, %xmm8, 216(%rdx)
+ vmovdqu 11328(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 220(%rdx)
+ vpextrd $0, %xmm8, 236(%rdx)
+ vmovdqu 11360(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 240(%rdx)
+ vpextrd $0, %xmm8, 256(%rdx)
+ vmovdqu 11392(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 260(%rdx)
+ vpextrd $0, %xmm8, 276(%rdx)
+ vmovdqu 11424(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 280(%rdx)
+ vpextrd $0, %xmm8, 296(%rdx)
+ vmovdqu 11456(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 300(%rdx)
+ vpextrd $0, %xmm8, 316(%rdx)
+ vmovdqu 11488(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 320(%rdx)
+ vpextrd $0, %xmm8, 336(%rdx)
+ vmovdqu 11520(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 340(%rdx)
+ vpextrd $0, %xmm8, 356(%rdx)
+ vmovdqu 11552(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 360(%rdx)
+ vpextrd $0, %xmm8, 376(%rdx)
+ vmovdqu 11584(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 380(%rdx)
+ vpextrd $0, %xmm8, 396(%rdx)
+ vmovdqu 11616(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 400(%rdx)
+ vpextrd $0, %xmm8, 416(%rdx)
+ vmovdqu 11648(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 420(%rdx)
+ vpextrd $0, %xmm8, 436(%rdx)
+ vmovdqu 11680(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 440(%rdx)
+ vpextrd $0, %xmm8, 456(%rdx)
+ vmovdqu 11712(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 460(%rdx)
+ vpextrd $0, %xmm8, 476(%rdx)
+ vmovdqu 11744(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 480(%rdx)
+ vpextrd $0, %xmm8, 496(%rdx)
+ vmovdqu 11776(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 500(%rdx)
+ vpextrd $0, %xmm8, 516(%rdx)
+ vmovdqu 11808(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 520(%rdx)
+ vpextrd $0, %xmm8, 536(%rdx)
+ vmovdqu 11840(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 540(%rdx)
+ vpextrd $0, %xmm8, 556(%rdx)
+ vmovdqu 11872(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 560(%rdx)
+ vpextrd $0, %xmm8, 576(%rdx)
+ vmovdqu 11904(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 580(%rdx)
+ vpextrd $0, %xmm8, 596(%rdx)
+ vmovdqu 11936(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 600(%rdx)
+ vpextrd $0, %xmm8, 616(%rdx)
+ vmovdqu 11968(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 620(%rdx)
+ vpextrd $0, %xmm8, 636(%rdx)
+ vmovdqu 12000(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 640(%rdx)
+ vpextrd $0, %xmm8, 656(%rdx)
+ vmovdqu 12032(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 660(%rdx)
+ vpextrd $0, %xmm8, 676(%rdx)
+ vmovdqu 12064(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 680(%rdx)
+ vpextrd $0, %xmm8, 696(%rdx)
+ vmovdqu 12096(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 700(%rdx)
+ vpextrd $0, %xmm8, 716(%rdx)
+ vmovdqu 12128(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 720(%rdx)
+ vpextrd $0, %xmm8, 736(%rdx)
+ vmovdqu 12160(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 740(%rdx)
+ vpextrd $0, %xmm8, 756(%rdx)
+ vmovdqu 12192(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 760(%rdx)
+ vpextrd $0, %xmm8, 776(%rdx)
+ vmovdqu 12224(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 780(%rdx)
+ vpextrd $0, %xmm8, 796(%rdx)
+ vmovdqu 12256(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 800(%rdx)
+ vpextrd $0, %xmm8, 816(%rdx)
+ vmovdqu 12288(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 820(%rdx)
+ vpextrd $0, %xmm8, 836(%rdx)
+ vmovdqu 12320(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 840(%rdx)
+ vpextrd $0, %xmm8, 856(%rdx)
+ vmovdqu 12352(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 860(%rdx)
+ vpextrd $0, %xmm8, 876(%rdx)
+ vmovdqu 12384(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 880(%rdx)
+ vpextrd $0, %xmm8, 896(%rdx)
+ vmovdqu 12416(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 900(%rdx)
+ vpextrd $0, %xmm8, 916(%rdx)
+ vmovdqu 12448(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 920(%rdx)
+ vpextrd $0, %xmm8, 936(%rdx)
+ vmovdqu 12480(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm1
+ vpaddw %ymm2, %ymm8, %ymm2
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpsubw %ymm2, %ymm1, %ymm2
+ vpandn %ymm2, %ymm1, %ymm1
+ vpsrlw $15, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vpmulhrsw %ymm3, %ymm0, %ymm0
+ vpand %ymm4, %ymm0, %ymm0
+ vpmaddwd %ymm5, %ymm0, %ymm0
+ vpsllvd %ymm6, %ymm0, %ymm0
+ vpsrlq $12, %ymm0, %ymm0
+ vpshufb %ymm7, %ymm0, %ymm0
+ vmovdqu %xmm0, %xmm1
+ vextracti128 $1, %ymm0, %xmm0
+ vpblendw $-32, %xmm0, %xmm1, %xmm1
+ vmovdqu %xmm1, 940(%rdx)
+ vpextrd $0, %xmm0, 956(%rdx)
+ leaq 960(%rax), %rax
+ leaq 2432(%rsp), %rcx
+ call L_poly_compress_1$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$3:
+ movq 17128(%rsp), %r8
+ leaq 5280(%rsp), %rax
+ movq $0, %rcx
+ movq $1, %rdx
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu (%rax), %ymm1
+ vmovdqu (%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 32(%rax), %ymm1
+ vmovdqu 32(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 64(%rax), %ymm1
+ vmovdqu 64(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 96(%rax), %ymm1
+ vmovdqu 96(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 128(%rax), %ymm1
+ vmovdqu 128(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 160(%rax), %ymm1
+ vmovdqu 160(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 192(%rax), %ymm1
+ vmovdqu 192(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 224(%rax), %ymm1
+ vmovdqu 224(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 256(%rax), %ymm1
+ vmovdqu 256(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 288(%rax), %ymm1
+ vmovdqu 288(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 320(%rax), %ymm1
+ vmovdqu 320(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 352(%rax), %ymm1
+ vmovdqu 352(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 384(%rax), %ymm1
+ vmovdqu 384(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 416(%rax), %ymm1
+ vmovdqu 416(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 448(%rax), %ymm1
+ vmovdqu 448(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 480(%rax), %ymm1
+ vmovdqu 480(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 512(%rax), %ymm1
+ vmovdqu 512(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 544(%rax), %ymm1
+ vmovdqu 544(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 576(%rax), %ymm1
+ vmovdqu 576(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 608(%rax), %ymm1
+ vmovdqu 608(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 640(%rax), %ymm1
+ vmovdqu 640(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 672(%rax), %ymm1
+ vmovdqu 672(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 704(%rax), %ymm1
+ vmovdqu 704(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 736(%rax), %ymm1
+ vmovdqu 736(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 768(%rax), %ymm1
+ vmovdqu 768(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 800(%rax), %ymm1
+ vmovdqu 800(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 832(%rax), %ymm1
+ vmovdqu 832(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 864(%rax), %ymm1
+ vmovdqu 864(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 896(%rax), %ymm1
+ vmovdqu 896(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 928(%rax), %ymm1
+ vmovdqu 928(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 960(%rax), %ymm1
+ vmovdqu 960(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 992(%rax), %ymm1
+ vmovdqu 992(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 1024(%rax), %ymm1
+ vmovdqu 1024(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vmovdqu 1056(%rax), %ymm1
+ vmovdqu 1056(%r8), %ymm2
+ vpxor %ymm2, %ymm1, %ymm1
+ vpor %ymm1, %ymm0, %ymm0
+ vptest %ymm0, %ymm0
+ cmovne %rdx, %rcx
+ negq %rcx
+ shrq $63, %rcx
+ movq 17136(%rsp), %rax
+ addq $64, %rax
+ addq $2304, %rax
+ leaq 96(%rsp), %rdx
+ negq %rcx
+ movq %rcx, 17136(%rsp)
+ vpbroadcastq 17136(%rsp), %ymm0
+ vmovdqu (%rdx), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpblendvb %ymm0, %ymm2, %ymm1, %ymm0
+ vmovdqu %ymm0, (%rdx)
+ movq $1088, %rdi
+ leaq 128(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$2:
+ leaq 248(%rsp), %rsp
+ movq 17120(%rsp), %rdx
+ movq $32, %rcx
+ leaq 96(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_shake256_64$1
+Ljade_kem_kyber_kyber768_amd64_avx2_dec$1:
+ leaq 248(%rsp), %rsp
+ xorq %rax, %rax
+ movq 17160(%rsp), %r12
+ movq 17168(%rsp), %rbp
+ movq 17176(%rsp), %rbx
+ movq 17184(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_avx2_enc:
+jade_kem_kyber_kyber768_amd64_avx2_enc:
+ movq %rsp, %rax
+ leaq -64(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 56(%rsp)
+ movq %r12, 32(%rsp)
+ movq %rbp, 40(%rsp)
+ movq %rbx, 48(%rsp)
+ movq %rdi, %rbx
+ movq %rsi, %rbp
+ movq %rdx, %r12
+ movq %rsp, %rdi
+ movq $32, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rcx
+ leaq -16088(%rsp), %rsp
+ call L__crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_avx2_enc$1:
+ leaq 16088(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r12
+ movq 40(%rsp), %rbp
+ movq 48(%rsp), %rbx
+ movq 56(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_avx2_enc_derand:
+jade_kem_kyber_kyber768_amd64_avx2_enc_derand:
+ movq %rsp, %rax
+ leaq -64(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 56(%rsp)
+ movq %r12, 32(%rsp)
+ movq %rbp, 40(%rsp)
+ movq %rbx, 48(%rsp)
+ movq %rdi, %rbx
+ movq %rsi, %rbp
+ movq %rdx, %r12
+ movq %rsp, %rax
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ movq %rsp, %rcx
+ leaq -16088(%rsp), %rsp
+ call L__crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_avx2_enc_derand$1:
+ leaq 16088(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r12
+ movq 40(%rsp), %rbp
+ movq 48(%rsp), %rbx
+ movq 56(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_avx2_keypair:
+jade_kem_kyber_kyber768_amd64_avx2_keypair:
+ movq %rsp, %rax
+ leaq -96(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 88(%rsp)
+ movq %r12, 64(%rsp)
+ movq %rbp, 72(%rsp)
+ movq %rbx, 80(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rdi
+ movq $64, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rax
+ leaq -13048(%rsp), %rsp
+ call L__crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_avx2_keypair$1:
+ leaq 13048(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r12
+ movq 72(%rsp), %rbp
+ movq 80(%rsp), %rbx
+ movq 88(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_avx2_keypair_derand:
+jade_kem_kyber_kyber768_amd64_avx2_keypair_derand:
+ movq %rsp, %rax
+ leaq -96(%rsp), %rsp
+ andq $-32, %rsp
+ movq %rax, 88(%rsp)
+ movq %r12, 64(%rsp)
+ movq %rbp, 72(%rsp)
+ movq %rbx, 80(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rax
+ movb (%rdx), %cl
+ movb %cl, (%rax)
+ movb 1(%rdx), %cl
+ movb %cl, 1(%rax)
+ movb 2(%rdx), %cl
+ movb %cl, 2(%rax)
+ movb 3(%rdx), %cl
+ movb %cl, 3(%rax)
+ movb 4(%rdx), %cl
+ movb %cl, 4(%rax)
+ movb 5(%rdx), %cl
+ movb %cl, 5(%rax)
+ movb 6(%rdx), %cl
+ movb %cl, 6(%rax)
+ movb 7(%rdx), %cl
+ movb %cl, 7(%rax)
+ movb 8(%rdx), %cl
+ movb %cl, 8(%rax)
+ movb 9(%rdx), %cl
+ movb %cl, 9(%rax)
+ movb 10(%rdx), %cl
+ movb %cl, 10(%rax)
+ movb 11(%rdx), %cl
+ movb %cl, 11(%rax)
+ movb 12(%rdx), %cl
+ movb %cl, 12(%rax)
+ movb 13(%rdx), %cl
+ movb %cl, 13(%rax)
+ movb 14(%rdx), %cl
+ movb %cl, 14(%rax)
+ movb 15(%rdx), %cl
+ movb %cl, 15(%rax)
+ movb 16(%rdx), %cl
+ movb %cl, 16(%rax)
+ movb 17(%rdx), %cl
+ movb %cl, 17(%rax)
+ movb 18(%rdx), %cl
+ movb %cl, 18(%rax)
+ movb 19(%rdx), %cl
+ movb %cl, 19(%rax)
+ movb 20(%rdx), %cl
+ movb %cl, 20(%rax)
+ movb 21(%rdx), %cl
+ movb %cl, 21(%rax)
+ movb 22(%rdx), %cl
+ movb %cl, 22(%rax)
+ movb 23(%rdx), %cl
+ movb %cl, 23(%rax)
+ movb 24(%rdx), %cl
+ movb %cl, 24(%rax)
+ movb 25(%rdx), %cl
+ movb %cl, 25(%rax)
+ movb 26(%rdx), %cl
+ movb %cl, 26(%rax)
+ movb 27(%rdx), %cl
+ movb %cl, 27(%rax)
+ movb 28(%rdx), %cl
+ movb %cl, 28(%rax)
+ movb 29(%rdx), %cl
+ movb %cl, 29(%rax)
+ movb 30(%rdx), %cl
+ movb %cl, 30(%rax)
+ movb 31(%rdx), %cl
+ movb %cl, 31(%rax)
+ movb 32(%rdx), %cl
+ movb %cl, 32(%rax)
+ movb 33(%rdx), %cl
+ movb %cl, 33(%rax)
+ movb 34(%rdx), %cl
+ movb %cl, 34(%rax)
+ movb 35(%rdx), %cl
+ movb %cl, 35(%rax)
+ movb 36(%rdx), %cl
+ movb %cl, 36(%rax)
+ movb 37(%rdx), %cl
+ movb %cl, 37(%rax)
+ movb 38(%rdx), %cl
+ movb %cl, 38(%rax)
+ movb 39(%rdx), %cl
+ movb %cl, 39(%rax)
+ movb 40(%rdx), %cl
+ movb %cl, 40(%rax)
+ movb 41(%rdx), %cl
+ movb %cl, 41(%rax)
+ movb 42(%rdx), %cl
+ movb %cl, 42(%rax)
+ movb 43(%rdx), %cl
+ movb %cl, 43(%rax)
+ movb 44(%rdx), %cl
+ movb %cl, 44(%rax)
+ movb 45(%rdx), %cl
+ movb %cl, 45(%rax)
+ movb 46(%rdx), %cl
+ movb %cl, 46(%rax)
+ movb 47(%rdx), %cl
+ movb %cl, 47(%rax)
+ movb 48(%rdx), %cl
+ movb %cl, 48(%rax)
+ movb 49(%rdx), %cl
+ movb %cl, 49(%rax)
+ movb 50(%rdx), %cl
+ movb %cl, 50(%rax)
+ movb 51(%rdx), %cl
+ movb %cl, 51(%rax)
+ movb 52(%rdx), %cl
+ movb %cl, 52(%rax)
+ movb 53(%rdx), %cl
+ movb %cl, 53(%rax)
+ movb 54(%rdx), %cl
+ movb %cl, 54(%rax)
+ movb 55(%rdx), %cl
+ movb %cl, 55(%rax)
+ movb 56(%rdx), %cl
+ movb %cl, 56(%rax)
+ movb 57(%rdx), %cl
+ movb %cl, 57(%rax)
+ movb 58(%rdx), %cl
+ movb %cl, 58(%rax)
+ movb 59(%rdx), %cl
+ movb %cl, 59(%rax)
+ movb 60(%rdx), %cl
+ movb %cl, 60(%rax)
+ movb 61(%rdx), %cl
+ movb %cl, 61(%rax)
+ movb 62(%rdx), %cl
+ movb %cl, 62(%rax)
+ movb 63(%rdx), %cl
+ movb %cl, 63(%rax)
+ movq %rsp, %rax
+ leaq -13048(%rsp), %rsp
+ call L__crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_avx2_keypair_derand$1:
+ leaq 13048(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r12
+ movq 72(%rsp), %rbp
+ movq 80(%rsp), %rbx
+ movq 88(%rsp), %rsp
+ ret
+L__crypto_kem_enc_derand_jazz$1:
+ movq %r12, 16064(%rsp)
+ movq %rbx, 16072(%rsp)
+ movq %rbp, 16080(%rsp)
+ leaq 64(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256_32$1
+L__crypto_kem_enc_derand_jazz$133:
+ leaq 248(%rsp), %rsp
+ movq 16064(%rsp), %r8
+ movq $1184, %rdi
+ leaq 96(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_enc_derand_jazz$132:
+ leaq 248(%rsp), %rsp
+ leaq 128(%rsp), %rax
+ leaq 64(%rsp), %rcx
+ leaq -248(%rsp), %rsp
+ call L_sha3_512_64$1
+L__crypto_kem_enc_derand_jazz$131:
+ leaq 248(%rsp), %rsp
+ movq 16064(%rsp), %rax
+ leaq 64(%rsp), %rdi
+ leaq 160(%rsp), %rcx
+ movq %rax, %rsi
+ leaq 5312(%rsp), %r8
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$130:
+ addq $384, %rsi
+ leaq 5824(%rsp), %r8
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$129:
+ addq $384, %rsi
+ leaq 6336(%rsp), %r8
+ call L_poly_frombytes$1
+L__crypto_kem_enc_derand_jazz$128:
+ movq $0, %rdx
+ addq $1152, %rax
+ jmp L__crypto_kem_enc_derand_jazz$126
+L__crypto_kem_enc_derand_jazz$127:
+ movq (%rax), %rsi
+ movq %rsi, 32(%rsp,%rdx,8)
+ addq $8, %rax
+ incq %rdx
+L__crypto_kem_enc_derand_jazz$126:
+ cmpq $4, %rdx
+ jb L__crypto_kem_enc_derand_jazz$127
+ leaq 2464(%rsp), %rax
+ call L_poly_frommsg_1$1
+L__crypto_kem_enc_derand_jazz$125:
+ movq %rcx, 16064(%rsp)
+ vmovdqu 32(%rsp), %ymm0
+ vmovdqu %ymm0, 416(%rsp)
+ vmovdqu %ymm0, 928(%rsp)
+ vmovdqu %ymm0, 1440(%rsp)
+ vmovdqu %ymm0, 1952(%rsp)
+ vmovdqu %ymm0, 32(%rsp)
+ movb $0, 448(%rsp)
+ movb $0, 449(%rsp)
+ movb $0, 960(%rsp)
+ movb $1, 961(%rsp)
+ movb $0, 1472(%rsp)
+ movb $2, 1473(%rsp)
+ movb $1, 1984(%rsp)
+ movb $0, 1985(%rsp)
+ leaq 4512(%rsp), %rax
+ leaq 416(%rsp), %rcx
+ leaq 928(%rsp), %rdx
+ leaq 1440(%rsp), %rsi
+ leaq 1952(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+L__crypto_kem_enc_derand_jazz$124:
+ leaq 4512(%rsp), %rax
+ leaq 416(%rsp), %rdi
+ leaq 928(%rsp), %r8
+ leaq 1440(%rsp), %r9
+ leaq 1952(%rsp), %r10
+ movq %rdi, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$123:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rdi), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$122:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rdi), %rdi
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$121:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rdi)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rdi)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rdi)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rdi)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rdi)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rdi)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rdi)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rdi)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rdi)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rdi)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rdi)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rdi)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rdi)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rdi)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rdi)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rdi)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rdi)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rdi)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rdi)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rdi)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rdi)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 11456(%rsp), %r11
+ leaq 416(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$120:
+ movq %r12, %r9
+ leaq 11968(%rsp), %r11
+ leaq 928(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$119:
+ movq %r12, %rdi
+ leaq 12480(%rsp), %r11
+ leaq 1440(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$118:
+ movq %r12, %r8
+ leaq 12992(%rsp), %r11
+ leaq 1952(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$117:
+ cmpq $255, %r9
+ setbe %al
+ cmpq $255, %rdi
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+ jmp L__crypto_kem_enc_derand_jazz$94
+L__crypto_kem_enc_derand_jazz$95:
+ leaq 4512(%rsp), %rax
+ leaq 416(%rsp), %r10
+ leaq 928(%rsp), %r11
+ leaq 1440(%rsp), %rbx
+ leaq 1952(%rsp), %rbp
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$116:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r10)
+ vmovhpd %xmm1, (%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbx)
+ vmovhpd %xmm0, (%rbp)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r10)
+ vmovhpd %xmm1, 8(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbx)
+ vmovhpd %xmm0, 8(%rbp)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r10)
+ vmovhpd %xmm1, 16(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbx)
+ vmovhpd %xmm0, 16(%rbp)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r10)
+ vmovhpd %xmm1, 24(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbx)
+ vmovhpd %xmm0, 24(%rbp)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r10)
+ vmovhpd %xmm1, 32(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbx)
+ vmovhpd %xmm0, 32(%rbp)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r10)
+ vmovhpd %xmm1, 40(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbx)
+ vmovhpd %xmm0, 40(%rbp)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r10)
+ vmovhpd %xmm1, 48(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbx)
+ vmovhpd %xmm0, 48(%rbp)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r10)
+ vmovhpd %xmm1, 56(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbx)
+ vmovhpd %xmm0, 56(%rbp)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r10)
+ vmovhpd %xmm1, 64(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbx)
+ vmovhpd %xmm0, 64(%rbp)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r10)
+ vmovhpd %xmm1, 72(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbx)
+ vmovhpd %xmm0, 72(%rbp)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r10)
+ vmovhpd %xmm1, 80(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbx)
+ vmovhpd %xmm0, 80(%rbp)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r10)
+ vmovhpd %xmm1, 88(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbx)
+ vmovhpd %xmm0, 88(%rbp)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r10)
+ vmovhpd %xmm1, 96(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbx)
+ vmovhpd %xmm0, 96(%rbp)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r10)
+ vmovhpd %xmm1, 104(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbx)
+ vmovhpd %xmm0, 104(%rbp)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r10)
+ vmovhpd %xmm1, 112(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbx)
+ vmovhpd %xmm0, 112(%rbp)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r10)
+ vmovhpd %xmm1, 120(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbx)
+ vmovhpd %xmm0, 120(%rbp)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r10)
+ vmovhpd %xmm1, 128(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbx)
+ vmovhpd %xmm0, 128(%rbp)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r10)
+ vmovhpd %xmm1, 136(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbx)
+ vmovhpd %xmm0, 136(%rbp)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r10)
+ vmovhpd %xmm1, 144(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbx)
+ vmovhpd %xmm0, 144(%rbp)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r10)
+ vmovhpd %xmm1, 152(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbx)
+ vmovhpd %xmm0, 152(%rbp)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r10)
+ vmovhpd %xmm1, 160(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbx)
+ vmovhpd %xmm0, 160(%rbp)
+ leaq 11456(%rsp), %rax
+ leaq 416(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$111
+L__crypto_kem_enc_derand_jazz$112:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$115
+ movw %si, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_enc_derand_jazz$115:
+ cmpq $256, %r9
+ jnb L__crypto_kem_enc_derand_jazz$113
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$113
+ movw %r11w, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_enc_derand_jazz$114:
+L__crypto_kem_enc_derand_jazz$113:
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$111:
+ jne L__crypto_kem_enc_derand_jazz$112
+ leaq 11968(%rsp), %rax
+ leaq 928(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$106
+L__crypto_kem_enc_derand_jazz$107:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$110
+ movw %si, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_enc_derand_jazz$110:
+ cmpq $256, %rdi
+ jnb L__crypto_kem_enc_derand_jazz$108
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$108
+ movw %r11w, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_enc_derand_jazz$109:
+L__crypto_kem_enc_derand_jazz$108:
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$106:
+ jne L__crypto_kem_enc_derand_jazz$107
+ leaq 12480(%rsp), %rax
+ leaq 1440(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$101
+L__crypto_kem_enc_derand_jazz$102:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$105
+ movw %si, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_enc_derand_jazz$105:
+ cmpq $256, %r8
+ jnb L__crypto_kem_enc_derand_jazz$103
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$103
+ movw %r11w, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_enc_derand_jazz$104:
+L__crypto_kem_enc_derand_jazz$103:
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$101:
+ jne L__crypto_kem_enc_derand_jazz$102
+ leaq 12992(%rsp), %rax
+ leaq 1952(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$96
+L__crypto_kem_enc_derand_jazz$97:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$100
+ movw %si, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_enc_derand_jazz$100:
+ cmpq $256, %r12
+ jnb L__crypto_kem_enc_derand_jazz$98
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$98
+ movw %r11w, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_enc_derand_jazz$99:
+L__crypto_kem_enc_derand_jazz$98:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$96:
+ jne L__crypto_kem_enc_derand_jazz$97
+ cmpq $255, %r9
+ setbe %al
+ cmpq $255, %rdi
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+L__crypto_kem_enc_derand_jazz$94:
+ jne L__crypto_kem_enc_derand_jazz$95
+ vmovdqu 32(%rsp), %ymm0
+ vmovdqu %ymm0, 416(%rsp)
+ vmovdqu %ymm0, 928(%rsp)
+ vmovdqu %ymm0, 1440(%rsp)
+ vmovdqu %ymm0, 1952(%rsp)
+ vmovdqu %ymm0, 32(%rsp)
+ movb $1, 448(%rsp)
+ movb $1, 449(%rsp)
+ movb $1, 960(%rsp)
+ movb $2, 961(%rsp)
+ movb $2, 1472(%rsp)
+ movb $0, 1473(%rsp)
+ movb $2, 1984(%rsp)
+ movb $1, 1985(%rsp)
+ leaq 4512(%rsp), %rax
+ leaq 416(%rsp), %rcx
+ leaq 928(%rsp), %rdx
+ leaq 1440(%rsp), %rsi
+ leaq 1952(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+L__crypto_kem_enc_derand_jazz$93:
+ leaq 4512(%rsp), %rax
+ leaq 416(%rsp), %rdi
+ leaq 928(%rsp), %r8
+ leaq 1440(%rsp), %r9
+ leaq 1952(%rsp), %r10
+ movq %rdi, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$92:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rdi), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$91:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rdi), %rdi
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$90:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rdi)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rdi)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rdi)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rdi)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rdi)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rdi)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rdi)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rdi)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rdi)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rdi)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rdi)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rdi)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rdi)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rdi)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rdi)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rdi)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rdi)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rdi)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rdi)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rdi)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rdi)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 13504(%rsp), %r11
+ leaq 416(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$89:
+ movq %r12, %rdi
+ leaq 14016(%rsp), %r11
+ leaq 928(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$88:
+ movq %r12, %r8
+ leaq 14528(%rsp), %r11
+ leaq 1440(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$87:
+ movq %r12, %r9
+ leaq 15040(%rsp), %r11
+ leaq 1952(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$86:
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r8
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r9
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+ jmp L__crypto_kem_enc_derand_jazz$63
+L__crypto_kem_enc_derand_jazz$64:
+ leaq 4512(%rsp), %rax
+ leaq 416(%rsp), %r10
+ leaq 928(%rsp), %r11
+ leaq 1440(%rsp), %rbx
+ leaq 1952(%rsp), %rbp
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_enc_derand_jazz$85:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r10)
+ vmovhpd %xmm1, (%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbx)
+ vmovhpd %xmm0, (%rbp)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r10)
+ vmovhpd %xmm1, 8(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbx)
+ vmovhpd %xmm0, 8(%rbp)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r10)
+ vmovhpd %xmm1, 16(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbx)
+ vmovhpd %xmm0, 16(%rbp)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r10)
+ vmovhpd %xmm1, 24(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbx)
+ vmovhpd %xmm0, 24(%rbp)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r10)
+ vmovhpd %xmm1, 32(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbx)
+ vmovhpd %xmm0, 32(%rbp)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r10)
+ vmovhpd %xmm1, 40(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbx)
+ vmovhpd %xmm0, 40(%rbp)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r10)
+ vmovhpd %xmm1, 48(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbx)
+ vmovhpd %xmm0, 48(%rbp)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r10)
+ vmovhpd %xmm1, 56(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbx)
+ vmovhpd %xmm0, 56(%rbp)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r10)
+ vmovhpd %xmm1, 64(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbx)
+ vmovhpd %xmm0, 64(%rbp)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r10)
+ vmovhpd %xmm1, 72(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbx)
+ vmovhpd %xmm0, 72(%rbp)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r10)
+ vmovhpd %xmm1, 80(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbx)
+ vmovhpd %xmm0, 80(%rbp)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r10)
+ vmovhpd %xmm1, 88(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbx)
+ vmovhpd %xmm0, 88(%rbp)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r10)
+ vmovhpd %xmm1, 96(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbx)
+ vmovhpd %xmm0, 96(%rbp)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r10)
+ vmovhpd %xmm1, 104(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbx)
+ vmovhpd %xmm0, 104(%rbp)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r10)
+ vmovhpd %xmm1, 112(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbx)
+ vmovhpd %xmm0, 112(%rbp)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r10)
+ vmovhpd %xmm1, 120(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbx)
+ vmovhpd %xmm0, 120(%rbp)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r10)
+ vmovhpd %xmm1, 128(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbx)
+ vmovhpd %xmm0, 128(%rbp)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r10)
+ vmovhpd %xmm1, 136(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbx)
+ vmovhpd %xmm0, 136(%rbp)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r10)
+ vmovhpd %xmm1, 144(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbx)
+ vmovhpd %xmm0, 144(%rbp)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r10)
+ vmovhpd %xmm1, 152(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbx)
+ vmovhpd %xmm0, 152(%rbp)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r10)
+ vmovhpd %xmm1, 160(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbx)
+ vmovhpd %xmm0, 160(%rbp)
+ leaq 13504(%rsp), %rax
+ leaq 416(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$80
+L__crypto_kem_enc_derand_jazz$81:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$84
+ movw %si, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_enc_derand_jazz$84:
+ cmpq $256, %rdi
+ jnb L__crypto_kem_enc_derand_jazz$82
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$82
+ movw %r11w, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_enc_derand_jazz$83:
+L__crypto_kem_enc_derand_jazz$82:
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$80:
+ jne L__crypto_kem_enc_derand_jazz$81
+ leaq 14016(%rsp), %rax
+ leaq 928(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$75
+L__crypto_kem_enc_derand_jazz$76:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$79
+ movw %si, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_enc_derand_jazz$79:
+ cmpq $256, %r8
+ jnb L__crypto_kem_enc_derand_jazz$77
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$77
+ movw %r11w, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_enc_derand_jazz$78:
+L__crypto_kem_enc_derand_jazz$77:
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$75:
+ jne L__crypto_kem_enc_derand_jazz$76
+ leaq 14528(%rsp), %rax
+ leaq 1440(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$70
+L__crypto_kem_enc_derand_jazz$71:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$74
+ movw %si, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_enc_derand_jazz$74:
+ cmpq $256, %r9
+ jnb L__crypto_kem_enc_derand_jazz$72
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$72
+ movw %r11w, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_enc_derand_jazz$73:
+L__crypto_kem_enc_derand_jazz$72:
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$70:
+ jne L__crypto_kem_enc_derand_jazz$71
+ leaq 15040(%rsp), %rax
+ leaq 1952(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_enc_derand_jazz$65
+L__crypto_kem_enc_derand_jazz$66:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$69
+ movw %si, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_enc_derand_jazz$69:
+ cmpq $256, %r12
+ jnb L__crypto_kem_enc_derand_jazz$67
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_enc_derand_jazz$67
+ movw %r11w, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_enc_derand_jazz$68:
+L__crypto_kem_enc_derand_jazz$67:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_enc_derand_jazz$65:
+ jne L__crypto_kem_enc_derand_jazz$66
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r8
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r9
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+L__crypto_kem_enc_derand_jazz$63:
+ jne L__crypto_kem_enc_derand_jazz$64
+ vmovdqu 32(%rsp), %ymm0
+ vmovdqu %ymm0, 416(%rsp)
+ movb $2, 448(%rsp)
+ movb $2, 449(%rsp)
+ leaq 416(%rsp), %rax
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm0, 256(%rsp)
+ vmovdqu %ymm0, 288(%rsp)
+ vmovdqu %ymm0, 320(%rsp)
+ vmovdqu %ymm0, 352(%rsp)
+ vmovdqu %ymm0, 384(%rsp)
+ vpbroadcastq (%rax), %ymm5
+ movq 8(%rax), %rcx
+ movq glob_data + 6208(%rip), %rdx
+ movq %rcx, 192(%rsp,%rdx,8)
+ movq 16(%rax), %rcx
+ movq glob_data + 6216(%rip), %rdx
+ movq %rcx, 192(%rsp,%rdx,8)
+ movq 24(%rax), %rcx
+ movq glob_data + 6224(%rip), %rdx
+ movq %rcx, 192(%rsp,%rdx,8)
+ movb 32(%rax), %cl
+ movq glob_data + 6232(%rip), %rdx
+ shlq $3, %rdx
+ movb %cl, 192(%rsp,%rdx)
+ movb 33(%rax), %al
+ incq %rdx
+ movb %al, 192(%rsp,%rdx)
+ incq %rdx
+ movb $31, 192(%rsp,%rdx)
+ movq glob_data + 6360(%rip), %rax
+ shlq $3, %rax
+ movq $167, %rcx
+ andq $7, %rcx
+ addq %rcx, %rax
+ movb $-128, 192(%rsp,%rax)
+ vmovdqu 224(%rsp), %ymm0
+ vmovdqu 256(%rsp), %ymm1
+ vmovdqu 288(%rsp), %ymm2
+ vmovdqu 320(%rsp), %ymm6
+ vmovdqu 352(%rsp), %ymm3
+ vmovdqu 384(%rsp), %ymm4
+ leaq 416(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_enc_derand_jazz$62:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_enc_derand_jazz$62
+ vmovdqu %ymm5, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm1, 256(%rsp)
+ vmovdqu %ymm2, 288(%rsp)
+ vmovdqu %ymm6, 320(%rsp)
+ vmovdqu %ymm3, 352(%rsp)
+ vmovdqu %ymm4, 384(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 584(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_enc_derand_jazz$61:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_enc_derand_jazz$61
+ vmovdqu %ymm5, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm1, 256(%rsp)
+ vmovdqu %ymm2, 288(%rsp)
+ vmovdqu %ymm6, 320(%rsp)
+ vmovdqu %ymm3, 352(%rsp)
+ vmovdqu %ymm4, 384(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 752(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_enc_derand_jazz$60:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_enc_derand_jazz$60
+ vmovdqu %ymm5, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm1, 256(%rsp)
+ vmovdqu %ymm2, 288(%rsp)
+ vmovdqu %ymm6, 320(%rsp)
+ vmovdqu %ymm3, 352(%rsp)
+ vmovdqu %ymm4, 384(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ vmovdqu %ymm5, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm1, 256(%rsp)
+ vmovdqu %ymm2, 288(%rsp)
+ vmovdqu %ymm6, 320(%rsp)
+ vmovdqu %ymm3, 352(%rsp)
+ vmovdqu %ymm4, 384(%rsp)
+ leaq 15552(%rsp), %r11
+ leaq 416(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_enc_derand_jazz$59:
+ cmpq $255, %r12
+ setbe %al
+ vmovdqu 192(%rsp), %ymm6
+ vmovdqu 224(%rsp), %ymm0
+ vmovdqu 256(%rsp), %ymm1
+ vmovdqu 288(%rsp), %ymm2
+ vmovdqu 320(%rsp), %ymm3
+ vmovdqu 352(%rsp), %ymm4
+ vmovdqu 384(%rsp), %ymm5
+ jmp L__crypto_kem_enc_derand_jazz$51
+L__crypto_kem_enc_derand_jazz$52:
+ leaq 416(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_enc_derand_jazz$58:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_enc_derand_jazz$58
+ vmovdqu %ymm6, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm1, 256(%rsp)
+ vmovdqu %ymm2, 288(%rsp)
+ vmovdqu %ymm3, 320(%rsp)
+ vmovdqu %ymm4, 352(%rsp)
+ vmovdqu %ymm5, 384(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 192(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 15552(%rsp), %rax
+ leaq 416(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %dil
+ testb %dil, %sil
+ jmp L__crypto_kem_enc_derand_jazz$53
+L__crypto_kem_enc_derand_jazz$54:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_enc_derand_jazz$57
+ movw %si, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_enc_derand_jazz$57:
+ cmpq $256, %r12
+ jnb L__crypto_kem_enc_derand_jazz$55
+ cmpw $3329, %r8w
+ jnb L__crypto_kem_enc_derand_jazz$55
+ movw %r8w, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_enc_derand_jazz$56:
+L__crypto_kem_enc_derand_jazz$55:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %dil
+ testb %dil, %sil
+L__crypto_kem_enc_derand_jazz$53:
+ jne L__crypto_kem_enc_derand_jazz$54
+ cmpq $255, %r12
+ setbe %al
+L__crypto_kem_enc_derand_jazz$51:
+ cmpb $0, %al
+ jne L__crypto_kem_enc_derand_jazz$52
+ leaq 11456(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$50:
+ leaq 11968(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$49:
+ leaq 12480(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$48:
+ leaq 12992(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$47:
+ leaq 13504(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$46:
+ leaq 14016(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$45:
+ leaq 14528(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$44:
+ leaq 15040(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$43:
+ leaq 15552(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_enc_derand_jazz$42:
+ movq 16064(%rsp), %r10
+ movb $0, %cl
+ leaq 8384(%rsp), %rax
+ leaq 8896(%rsp), %rdi
+ leaq 9408(%rsp), %r8
+ leaq 6848(%rsp), %r9
+ leaq -1496(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+L__crypto_kem_enc_derand_jazz$41:
+ leaq 1496(%rsp), %rsp
+ movb $4, %cl
+ leaq 7360(%rsp), %rax
+ leaq 7872(%rsp), %rdi
+ leaq 2976(%rsp), %r8
+ leaq 9920(%rsp), %r9
+ leaq -1496(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+L__crypto_kem_enc_derand_jazz$40:
+ leaq 1496(%rsp), %rsp
+ leaq 8384(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$39:
+ leaq 8896(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$38:
+ leaq 9408(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_enc_derand_jazz$37:
+ leaq 9920(%rsp), %rcx
+ leaq 11456(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$36:
+ leaq 3488(%rsp), %rcx
+ leaq 11968(%rsp), %rsi
+ leaq 8896(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$35:
+ leaq 9920(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$34:
+ leaq 3488(%rsp), %rcx
+ leaq 12480(%rsp), %rsi
+ leaq 9408(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$33:
+ leaq 9920(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$32:
+ leaq 10432(%rsp), %rcx
+ leaq 12992(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$31:
+ leaq 3488(%rsp), %rcx
+ leaq 13504(%rsp), %rsi
+ leaq 8896(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$30:
+ leaq 10432(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$29:
+ leaq 3488(%rsp), %rcx
+ leaq 14016(%rsp), %rsi
+ leaq 9408(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$28:
+ leaq 10432(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$27:
+ leaq 10944(%rsp), %rcx
+ leaq 14528(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$26:
+ leaq 3488(%rsp), %rcx
+ leaq 15040(%rsp), %rsi
+ leaq 8896(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$25:
+ leaq 10944(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$24:
+ leaq 3488(%rsp), %rcx
+ leaq 15552(%rsp), %rsi
+ leaq 9408(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$23:
+ leaq 10944(%rsp), %rcx
+ leaq 3488(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$22:
+ leaq 3488(%rsp), %rcx
+ leaq 5312(%rsp), %rsi
+ leaq 8384(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$21:
+ leaq 4000(%rsp), %rcx
+ leaq 5824(%rsp), %rsi
+ leaq 8896(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$20:
+ leaq 3488(%rsp), %rcx
+ leaq 4000(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$19:
+ leaq 4000(%rsp), %rcx
+ leaq 6336(%rsp), %rsi
+ leaq 9408(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_enc_derand_jazz$18:
+ leaq 3488(%rsp), %rcx
+ leaq 4000(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$17:
+ leaq 9920(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$16:
+ leaq 10432(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$15:
+ leaq 10944(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$14:
+ leaq 3488(%rsp), %rcx
+ call L_poly_invntt$1
+L__crypto_kem_enc_derand_jazz$13:
+ leaq 9920(%rsp), %rcx
+ leaq 6848(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$12:
+ leaq 10432(%rsp), %rcx
+ leaq 7360(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$11:
+ leaq 10944(%rsp), %rcx
+ leaq 7872(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$10:
+ leaq 3488(%rsp), %rcx
+ leaq 2976(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$9:
+ leaq 3488(%rsp), %rcx
+ leaq 2464(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_enc_derand_jazz$8:
+ leaq 9920(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 10432(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 10944(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 3488(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ movq 16072(%rsp), %rax
+ leaq 9920(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$7:
+ leaq 10432(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$6:
+ leaq 10944(%rsp), %rcx
+ call L_poly_csubq$1
+L__crypto_kem_enc_derand_jazz$5:
+ leaq glob_data + 384(%rip), %rcx
+ vmovdqu (%rcx), %ymm0
+ vpsllw $3, %ymm0, %ymm1
+ vpbroadcastw glob_data + 6422(%rip), %ymm2
+ vpbroadcastw glob_data + 6420(%rip), %ymm3
+ vpbroadcastw glob_data + 6418(%rip), %ymm4
+ vpbroadcastq glob_data + 6184(%rip), %ymm5
+ vpbroadcastq glob_data + 6176(%rip), %ymm6
+ vmovdqu glob_data + 32(%rip), %ymm7
+ vmovdqu 9920(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, (%rax)
+ vpextrd $0, %xmm8, 16(%rax)
+ vmovdqu 9952(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 20(%rax)
+ vpextrd $0, %xmm8, 36(%rax)
+ vmovdqu 9984(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 40(%rax)
+ vpextrd $0, %xmm8, 56(%rax)
+ vmovdqu 10016(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 60(%rax)
+ vpextrd $0, %xmm8, 76(%rax)
+ vmovdqu 10048(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 80(%rax)
+ vpextrd $0, %xmm8, 96(%rax)
+ vmovdqu 10080(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 100(%rax)
+ vpextrd $0, %xmm8, 116(%rax)
+ vmovdqu 10112(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 120(%rax)
+ vpextrd $0, %xmm8, 136(%rax)
+ vmovdqu 10144(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 140(%rax)
+ vpextrd $0, %xmm8, 156(%rax)
+ vmovdqu 10176(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 160(%rax)
+ vpextrd $0, %xmm8, 176(%rax)
+ vmovdqu 10208(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 180(%rax)
+ vpextrd $0, %xmm8, 196(%rax)
+ vmovdqu 10240(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 200(%rax)
+ vpextrd $0, %xmm8, 216(%rax)
+ vmovdqu 10272(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 220(%rax)
+ vpextrd $0, %xmm8, 236(%rax)
+ vmovdqu 10304(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 240(%rax)
+ vpextrd $0, %xmm8, 256(%rax)
+ vmovdqu 10336(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 260(%rax)
+ vpextrd $0, %xmm8, 276(%rax)
+ vmovdqu 10368(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 280(%rax)
+ vpextrd $0, %xmm8, 296(%rax)
+ vmovdqu 10400(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 300(%rax)
+ vpextrd $0, %xmm8, 316(%rax)
+ vmovdqu 10432(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 320(%rax)
+ vpextrd $0, %xmm8, 336(%rax)
+ vmovdqu 10464(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 340(%rax)
+ vpextrd $0, %xmm8, 356(%rax)
+ vmovdqu 10496(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 360(%rax)
+ vpextrd $0, %xmm8, 376(%rax)
+ vmovdqu 10528(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 380(%rax)
+ vpextrd $0, %xmm8, 396(%rax)
+ vmovdqu 10560(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 400(%rax)
+ vpextrd $0, %xmm8, 416(%rax)
+ vmovdqu 10592(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 420(%rax)
+ vpextrd $0, %xmm8, 436(%rax)
+ vmovdqu 10624(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 440(%rax)
+ vpextrd $0, %xmm8, 456(%rax)
+ vmovdqu 10656(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 460(%rax)
+ vpextrd $0, %xmm8, 476(%rax)
+ vmovdqu 10688(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 480(%rax)
+ vpextrd $0, %xmm8, 496(%rax)
+ vmovdqu 10720(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 500(%rax)
+ vpextrd $0, %xmm8, 516(%rax)
+ vmovdqu 10752(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 520(%rax)
+ vpextrd $0, %xmm8, 536(%rax)
+ vmovdqu 10784(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 540(%rax)
+ vpextrd $0, %xmm8, 556(%rax)
+ vmovdqu 10816(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 560(%rax)
+ vpextrd $0, %xmm8, 576(%rax)
+ vmovdqu 10848(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 580(%rax)
+ vpextrd $0, %xmm8, 596(%rax)
+ vmovdqu 10880(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 600(%rax)
+ vpextrd $0, %xmm8, 616(%rax)
+ vmovdqu 10912(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 620(%rax)
+ vpextrd $0, %xmm8, 636(%rax)
+ vmovdqu 10944(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 640(%rax)
+ vpextrd $0, %xmm8, 656(%rax)
+ vmovdqu 10976(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 660(%rax)
+ vpextrd $0, %xmm8, 676(%rax)
+ vmovdqu 11008(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 680(%rax)
+ vpextrd $0, %xmm8, 696(%rax)
+ vmovdqu 11040(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 700(%rax)
+ vpextrd $0, %xmm8, 716(%rax)
+ vmovdqu 11072(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 720(%rax)
+ vpextrd $0, %xmm8, 736(%rax)
+ vmovdqu 11104(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 740(%rax)
+ vpextrd $0, %xmm8, 756(%rax)
+ vmovdqu 11136(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 760(%rax)
+ vpextrd $0, %xmm8, 776(%rax)
+ vmovdqu 11168(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 780(%rax)
+ vpextrd $0, %xmm8, 796(%rax)
+ vmovdqu 11200(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 800(%rax)
+ vpextrd $0, %xmm8, 816(%rax)
+ vmovdqu 11232(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 820(%rax)
+ vpextrd $0, %xmm8, 836(%rax)
+ vmovdqu 11264(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 840(%rax)
+ vpextrd $0, %xmm8, 856(%rax)
+ vmovdqu 11296(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 860(%rax)
+ vpextrd $0, %xmm8, 876(%rax)
+ vmovdqu 11328(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 880(%rax)
+ vpextrd $0, %xmm8, 896(%rax)
+ vmovdqu 11360(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 900(%rax)
+ vpextrd $0, %xmm8, 916(%rax)
+ vmovdqu 11392(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm9
+ vpaddw %ymm2, %ymm8, %ymm10
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm9, %ymm10
+ vpandn %ymm10, %ymm9, %ymm9
+ vpsrlw $15, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm8, %ymm8
+ vpmulhrsw %ymm3, %ymm8, %ymm8
+ vpand %ymm4, %ymm8, %ymm8
+ vpmaddwd %ymm5, %ymm8, %ymm8
+ vpsllvd %ymm6, %ymm8, %ymm8
+ vpsrlq $12, %ymm8, %ymm8
+ vpshufb %ymm7, %ymm8, %ymm8
+ vmovdqu %xmm8, %xmm9
+ vextracti128 $1, %ymm8, %xmm8
+ vpblendw $-32, %xmm8, %xmm9, %xmm9
+ vmovdqu %xmm9, 920(%rax)
+ vpextrd $0, %xmm8, 936(%rax)
+ vmovdqu 11424(%rsp), %ymm8
+ vpmullw %ymm1, %ymm8, %ymm1
+ vpaddw %ymm2, %ymm8, %ymm2
+ vpsllw $3, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpsubw %ymm2, %ymm1, %ymm2
+ vpandn %ymm2, %ymm1, %ymm1
+ vpsrlw $15, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vpmulhrsw %ymm3, %ymm0, %ymm0
+ vpand %ymm4, %ymm0, %ymm0
+ vpmaddwd %ymm5, %ymm0, %ymm0
+ vpsllvd %ymm6, %ymm0, %ymm0
+ vpsrlq $12, %ymm0, %ymm0
+ vpshufb %ymm7, %ymm0, %ymm0
+ vmovdqu %xmm0, %xmm1
+ vextracti128 $1, %ymm0, %xmm0
+ vpblendw $-32, %xmm0, %xmm1, %xmm1
+ vmovdqu %xmm1, 940(%rax)
+ vpextrd $0, %xmm0, 956(%rax)
+ addq $960, %rax
+ leaq 3488(%rsp), %rcx
+ call L_poly_compress$1
+L__crypto_kem_enc_derand_jazz$4:
+ movq 16072(%rsp), %r8
+ movq $1088, %rdi
+ leaq 160(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_enc_derand_jazz$3:
+ leaq 248(%rsp), %rsp
+ movq 16080(%rsp), %rdx
+ movq $32, %rcx
+ leaq 128(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_shake256_64$1
+L__crypto_kem_enc_derand_jazz$2:
+ leaq 248(%rsp), %rsp
+ ret
+L__crypto_kem_keypair_derand_jazz$1:
+ movq %rax, 12928(%rsp)
+ movq %rbp, 12936(%rsp)
+ movq %rbx, 12944(%rsp)
+ movq %rax, %rcx
+ movq %rbp, 12952(%rsp)
+ movq %rbx, 12960(%rsp)
+ leaq 12968(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_512_32$1
+L__crypto_kem_keypair_derand_jazz$121:
+ leaq 248(%rsp), %rsp
+ movq 12968(%rsp), %rax
+ movq %rax, 64(%rsp)
+ movq 13000(%rsp), %rax
+ movq %rax, 32(%rsp)
+ movq 12976(%rsp), %rax
+ movq %rax, 72(%rsp)
+ movq 13008(%rsp), %rax
+ movq %rax, 40(%rsp)
+ movq 12984(%rsp), %rax
+ movq %rax, 80(%rsp)
+ movq 13016(%rsp), %rax
+ movq %rax, 48(%rsp)
+ movq 12992(%rsp), %rax
+ movq %rax, 88(%rsp)
+ movq 13024(%rsp), %rax
+ movq %rax, 56(%rsp)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu %ymm0, 352(%rsp)
+ vmovdqu %ymm0, 864(%rsp)
+ vmovdqu %ymm0, 1376(%rsp)
+ vmovdqu %ymm0, 1888(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ movb $0, 384(%rsp)
+ movb $0, 385(%rsp)
+ movb $1, 896(%rsp)
+ movb $0, 897(%rsp)
+ movb $2, 1408(%rsp)
+ movb $0, 1409(%rsp)
+ movb $0, 1920(%rsp)
+ movb $1, 1921(%rsp)
+ leaq 2912(%rsp), %rax
+ leaq 352(%rsp), %rcx
+ leaq 864(%rsp), %rdx
+ leaq 1376(%rsp), %rsi
+ leaq 1888(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+L__crypto_kem_keypair_derand_jazz$120:
+ leaq 2912(%rsp), %rax
+ leaq 352(%rsp), %rdi
+ leaq 864(%rsp), %r8
+ leaq 1376(%rsp), %r9
+ leaq 1888(%rsp), %r10
+ movq %rdi, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$119:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rdi), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$118:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rdi), %rdi
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$117:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rdi)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rdi)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rdi)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rdi)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rdi)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rdi)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rdi)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rdi)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rdi)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rdi)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rdi)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rdi)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rdi)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rdi)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rdi)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rdi)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rdi)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rdi)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rdi)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rdi)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rdi)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 8320(%rsp), %r11
+ leaq 352(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$116:
+ movq %r12, %r9
+ leaq 8832(%rsp), %r11
+ leaq 864(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$115:
+ movq %r12, %rdi
+ leaq 9344(%rsp), %r11
+ leaq 1376(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$114:
+ movq %r12, %r8
+ leaq 9856(%rsp), %r11
+ leaq 1888(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$113:
+ cmpq $255, %r9
+ setbe %al
+ cmpq $255, %rdi
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+ jmp L__crypto_kem_keypair_derand_jazz$90
+L__crypto_kem_keypair_derand_jazz$91:
+ leaq 2912(%rsp), %rax
+ leaq 352(%rsp), %r10
+ leaq 864(%rsp), %r11
+ leaq 1376(%rsp), %rbx
+ leaq 1888(%rsp), %rbp
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$112:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r10)
+ vmovhpd %xmm1, (%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbx)
+ vmovhpd %xmm0, (%rbp)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r10)
+ vmovhpd %xmm1, 8(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbx)
+ vmovhpd %xmm0, 8(%rbp)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r10)
+ vmovhpd %xmm1, 16(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbx)
+ vmovhpd %xmm0, 16(%rbp)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r10)
+ vmovhpd %xmm1, 24(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbx)
+ vmovhpd %xmm0, 24(%rbp)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r10)
+ vmovhpd %xmm1, 32(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbx)
+ vmovhpd %xmm0, 32(%rbp)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r10)
+ vmovhpd %xmm1, 40(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbx)
+ vmovhpd %xmm0, 40(%rbp)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r10)
+ vmovhpd %xmm1, 48(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbx)
+ vmovhpd %xmm0, 48(%rbp)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r10)
+ vmovhpd %xmm1, 56(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbx)
+ vmovhpd %xmm0, 56(%rbp)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r10)
+ vmovhpd %xmm1, 64(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbx)
+ vmovhpd %xmm0, 64(%rbp)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r10)
+ vmovhpd %xmm1, 72(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbx)
+ vmovhpd %xmm0, 72(%rbp)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r10)
+ vmovhpd %xmm1, 80(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbx)
+ vmovhpd %xmm0, 80(%rbp)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r10)
+ vmovhpd %xmm1, 88(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbx)
+ vmovhpd %xmm0, 88(%rbp)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r10)
+ vmovhpd %xmm1, 96(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbx)
+ vmovhpd %xmm0, 96(%rbp)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r10)
+ vmovhpd %xmm1, 104(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbx)
+ vmovhpd %xmm0, 104(%rbp)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r10)
+ vmovhpd %xmm1, 112(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbx)
+ vmovhpd %xmm0, 112(%rbp)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r10)
+ vmovhpd %xmm1, 120(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbx)
+ vmovhpd %xmm0, 120(%rbp)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r10)
+ vmovhpd %xmm1, 128(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbx)
+ vmovhpd %xmm0, 128(%rbp)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r10)
+ vmovhpd %xmm1, 136(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbx)
+ vmovhpd %xmm0, 136(%rbp)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r10)
+ vmovhpd %xmm1, 144(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbx)
+ vmovhpd %xmm0, 144(%rbp)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r10)
+ vmovhpd %xmm1, 152(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbx)
+ vmovhpd %xmm0, 152(%rbp)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r10)
+ vmovhpd %xmm1, 160(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbx)
+ vmovhpd %xmm0, 160(%rbp)
+ leaq 8320(%rsp), %rax
+ leaq 352(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$107
+L__crypto_kem_keypair_derand_jazz$108:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$111
+ movw %si, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_keypair_derand_jazz$111:
+ cmpq $256, %r9
+ jnb L__crypto_kem_keypair_derand_jazz$109
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$109
+ movw %r11w, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_keypair_derand_jazz$110:
+L__crypto_kem_keypair_derand_jazz$109:
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$107:
+ jne L__crypto_kem_keypair_derand_jazz$108
+ leaq 8832(%rsp), %rax
+ leaq 864(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$102
+L__crypto_kem_keypair_derand_jazz$103:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$106
+ movw %si, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_keypair_derand_jazz$106:
+ cmpq $256, %rdi
+ jnb L__crypto_kem_keypair_derand_jazz$104
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$104
+ movw %r11w, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_keypair_derand_jazz$105:
+L__crypto_kem_keypair_derand_jazz$104:
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$102:
+ jne L__crypto_kem_keypair_derand_jazz$103
+ leaq 9344(%rsp), %rax
+ leaq 1376(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$97
+L__crypto_kem_keypair_derand_jazz$98:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$101
+ movw %si, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_keypair_derand_jazz$101:
+ cmpq $256, %r8
+ jnb L__crypto_kem_keypair_derand_jazz$99
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$99
+ movw %r11w, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_keypair_derand_jazz$100:
+L__crypto_kem_keypair_derand_jazz$99:
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$97:
+ jne L__crypto_kem_keypair_derand_jazz$98
+ leaq 9856(%rsp), %rax
+ leaq 1888(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$92
+L__crypto_kem_keypair_derand_jazz$93:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$96
+ movw %si, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_keypair_derand_jazz$96:
+ cmpq $256, %r12
+ jnb L__crypto_kem_keypair_derand_jazz$94
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$94
+ movw %r11w, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_keypair_derand_jazz$95:
+L__crypto_kem_keypair_derand_jazz$94:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$92:
+ jne L__crypto_kem_keypair_derand_jazz$93
+ cmpq $255, %r9
+ setbe %al
+ cmpq $255, %rdi
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+L__crypto_kem_keypair_derand_jazz$90:
+ jne L__crypto_kem_keypair_derand_jazz$91
+ vmovdqu 96(%rsp), %ymm0
+ vmovdqu %ymm0, 352(%rsp)
+ vmovdqu %ymm0, 864(%rsp)
+ vmovdqu %ymm0, 1376(%rsp)
+ vmovdqu %ymm0, 1888(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ movb $1, 384(%rsp)
+ movb $1, 385(%rsp)
+ movb $2, 896(%rsp)
+ movb $1, 897(%rsp)
+ movb $0, 1408(%rsp)
+ movb $2, 1409(%rsp)
+ movb $1, 1920(%rsp)
+ movb $2, 1921(%rsp)
+ leaq 2912(%rsp), %rax
+ leaq 352(%rsp), %rcx
+ leaq 864(%rsp), %rdx
+ leaq 1376(%rsp), %rsi
+ leaq 1888(%rsp), %rdi
+ call L_shake128_absorb4x_34$1
+L__crypto_kem_keypair_derand_jazz$89:
+ leaq 2912(%rsp), %rax
+ leaq 352(%rsp), %rdi
+ leaq 864(%rsp), %r8
+ leaq 1376(%rsp), %r9
+ leaq 1888(%rsp), %r10
+ movq %rdi, %r11
+ movq %r8, %rbx
+ movq %r9, %rbp
+ movq %r10, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$88:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 168(%rdi), %r11
+ leaq 168(%r8), %rbx
+ leaq 168(%r9), %rbp
+ leaq 168(%r10), %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$87:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r11)
+ vmovhpd %xmm1, (%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbp)
+ vmovhpd %xmm0, (%r12)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r11)
+ vmovhpd %xmm1, 8(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbp)
+ vmovhpd %xmm0, 8(%r12)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r11)
+ vmovhpd %xmm1, 16(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbp)
+ vmovhpd %xmm0, 16(%r12)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r11)
+ vmovhpd %xmm1, 24(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbp)
+ vmovhpd %xmm0, 24(%r12)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r11)
+ vmovhpd %xmm1, 32(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbp)
+ vmovhpd %xmm0, 32(%r12)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r11)
+ vmovhpd %xmm1, 40(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbp)
+ vmovhpd %xmm0, 40(%r12)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r11)
+ vmovhpd %xmm1, 48(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbp)
+ vmovhpd %xmm0, 48(%r12)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r11)
+ vmovhpd %xmm1, 56(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbp)
+ vmovhpd %xmm0, 56(%r12)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r11)
+ vmovhpd %xmm1, 64(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbp)
+ vmovhpd %xmm0, 64(%r12)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r11)
+ vmovhpd %xmm1, 72(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbp)
+ vmovhpd %xmm0, 72(%r12)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r11)
+ vmovhpd %xmm1, 80(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbp)
+ vmovhpd %xmm0, 80(%r12)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r11)
+ vmovhpd %xmm1, 88(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbp)
+ vmovhpd %xmm0, 88(%r12)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r11)
+ vmovhpd %xmm1, 96(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbp)
+ vmovhpd %xmm0, 96(%r12)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r11)
+ vmovhpd %xmm1, 104(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbp)
+ vmovhpd %xmm0, 104(%r12)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r11)
+ vmovhpd %xmm1, 112(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbp)
+ vmovhpd %xmm0, 112(%r12)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r11)
+ vmovhpd %xmm1, 120(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbp)
+ vmovhpd %xmm0, 120(%r12)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r11)
+ vmovhpd %xmm1, 128(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbp)
+ vmovhpd %xmm0, 128(%r12)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r11)
+ vmovhpd %xmm1, 136(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbp)
+ vmovhpd %xmm0, 136(%r12)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r11)
+ vmovhpd %xmm1, 144(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbp)
+ vmovhpd %xmm0, 144(%r12)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r11)
+ vmovhpd %xmm1, 152(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbp)
+ vmovhpd %xmm0, 152(%r12)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r11)
+ vmovhpd %xmm1, 160(%rbx)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbp)
+ vmovhpd %xmm0, 160(%r12)
+ leaq 336(%rdi), %rdi
+ leaq 336(%r8), %r8
+ leaq 336(%r9), %r9
+ leaq 336(%r10), %r10
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$86:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rdi)
+ vmovhpd %xmm1, (%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r9)
+ vmovhpd %xmm0, (%r10)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rdi)
+ vmovhpd %xmm1, 8(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r9)
+ vmovhpd %xmm0, 8(%r10)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rdi)
+ vmovhpd %xmm1, 16(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r9)
+ vmovhpd %xmm0, 16(%r10)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rdi)
+ vmovhpd %xmm1, 24(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r9)
+ vmovhpd %xmm0, 24(%r10)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rdi)
+ vmovhpd %xmm1, 32(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r9)
+ vmovhpd %xmm0, 32(%r10)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rdi)
+ vmovhpd %xmm1, 40(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r9)
+ vmovhpd %xmm0, 40(%r10)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rdi)
+ vmovhpd %xmm1, 48(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r9)
+ vmovhpd %xmm0, 48(%r10)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rdi)
+ vmovhpd %xmm1, 56(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r9)
+ vmovhpd %xmm0, 56(%r10)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rdi)
+ vmovhpd %xmm1, 64(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r9)
+ vmovhpd %xmm0, 64(%r10)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rdi)
+ vmovhpd %xmm1, 72(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r9)
+ vmovhpd %xmm0, 72(%r10)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rdi)
+ vmovhpd %xmm1, 80(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r9)
+ vmovhpd %xmm0, 80(%r10)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rdi)
+ vmovhpd %xmm1, 88(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r9)
+ vmovhpd %xmm0, 88(%r10)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rdi)
+ vmovhpd %xmm1, 96(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r9)
+ vmovhpd %xmm0, 96(%r10)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rdi)
+ vmovhpd %xmm1, 104(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r9)
+ vmovhpd %xmm0, 104(%r10)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rdi)
+ vmovhpd %xmm1, 112(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r9)
+ vmovhpd %xmm0, 112(%r10)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rdi)
+ vmovhpd %xmm1, 120(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r9)
+ vmovhpd %xmm0, 120(%r10)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rdi)
+ vmovhpd %xmm1, 128(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r9)
+ vmovhpd %xmm0, 128(%r10)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%rdi)
+ vmovhpd %xmm1, 136(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%r9)
+ vmovhpd %xmm0, 136(%r10)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%rdi)
+ vmovhpd %xmm1, 144(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%r9)
+ vmovhpd %xmm0, 144(%r10)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%rdi)
+ vmovhpd %xmm1, 152(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%r9)
+ vmovhpd %xmm0, 152(%r10)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%rdi)
+ vmovhpd %xmm1, 160(%r8)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%r9)
+ vmovhpd %xmm0, 160(%r10)
+ leaq 10368(%rsp), %r11
+ leaq 352(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$85:
+ movq %r12, %rdi
+ leaq 10880(%rsp), %r11
+ leaq 864(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$84:
+ movq %r12, %r9
+ leaq 11392(%rsp), %r11
+ leaq 1376(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$83:
+ movq %r12, %r8
+ leaq 11904(%rsp), %r11
+ leaq 1888(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$82:
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r9
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+ jmp L__crypto_kem_keypair_derand_jazz$59
+L__crypto_kem_keypair_derand_jazz$60:
+ leaq 2912(%rsp), %rax
+ leaq 352(%rsp), %r10
+ leaq 864(%rsp), %r11
+ leaq 1376(%rsp), %rbx
+ leaq 1888(%rsp), %rbp
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L__crypto_kem_keypair_derand_jazz$81:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%r10)
+ vmovhpd %xmm1, (%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%rbx)
+ vmovhpd %xmm0, (%rbp)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%r10)
+ vmovhpd %xmm1, 8(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%rbx)
+ vmovhpd %xmm0, 8(%rbp)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%r10)
+ vmovhpd %xmm1, 16(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%rbx)
+ vmovhpd %xmm0, 16(%rbp)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%r10)
+ vmovhpd %xmm1, 24(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%rbx)
+ vmovhpd %xmm0, 24(%rbp)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%r10)
+ vmovhpd %xmm1, 32(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%rbx)
+ vmovhpd %xmm0, 32(%rbp)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%r10)
+ vmovhpd %xmm1, 40(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%rbx)
+ vmovhpd %xmm0, 40(%rbp)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%r10)
+ vmovhpd %xmm1, 48(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%rbx)
+ vmovhpd %xmm0, 48(%rbp)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%r10)
+ vmovhpd %xmm1, 56(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%rbx)
+ vmovhpd %xmm0, 56(%rbp)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%r10)
+ vmovhpd %xmm1, 64(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%rbx)
+ vmovhpd %xmm0, 64(%rbp)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%r10)
+ vmovhpd %xmm1, 72(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%rbx)
+ vmovhpd %xmm0, 72(%rbp)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%r10)
+ vmovhpd %xmm1, 80(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%rbx)
+ vmovhpd %xmm0, 80(%rbp)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%r10)
+ vmovhpd %xmm1, 88(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%rbx)
+ vmovhpd %xmm0, 88(%rbp)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%r10)
+ vmovhpd %xmm1, 96(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%rbx)
+ vmovhpd %xmm0, 96(%rbp)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%r10)
+ vmovhpd %xmm1, 104(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%rbx)
+ vmovhpd %xmm0, 104(%rbp)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%r10)
+ vmovhpd %xmm1, 112(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%rbx)
+ vmovhpd %xmm0, 112(%rbp)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%r10)
+ vmovhpd %xmm1, 120(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%rbx)
+ vmovhpd %xmm0, 120(%rbp)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%r10)
+ vmovhpd %xmm1, 128(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%rbx)
+ vmovhpd %xmm0, 128(%rbp)
+ vmovdqu 544(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 136(%r10)
+ vmovhpd %xmm1, 136(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 136(%rbx)
+ vmovhpd %xmm0, 136(%rbp)
+ vmovdqu 576(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 144(%r10)
+ vmovhpd %xmm1, 144(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 144(%rbx)
+ vmovhpd %xmm0, 144(%rbp)
+ vmovdqu 608(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 152(%r10)
+ vmovhpd %xmm1, 152(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 152(%rbx)
+ vmovhpd %xmm0, 152(%rbp)
+ vmovdqu 640(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 160(%r10)
+ vmovhpd %xmm1, 160(%r11)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 160(%rbx)
+ vmovhpd %xmm0, 160(%rbp)
+ leaq 10368(%rsp), %rax
+ leaq 352(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$76
+L__crypto_kem_keypair_derand_jazz$77:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$80
+ movw %si, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_keypair_derand_jazz$80:
+ cmpq $256, %rdi
+ jnb L__crypto_kem_keypair_derand_jazz$78
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$78
+ movw %r11w, (%rax,%rdi,2)
+ incq %rdi
+L__crypto_kem_keypair_derand_jazz$79:
+L__crypto_kem_keypair_derand_jazz$78:
+ cmpq $255, %rdi
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$76:
+ jne L__crypto_kem_keypair_derand_jazz$77
+ leaq 10880(%rsp), %rax
+ leaq 864(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$71
+L__crypto_kem_keypair_derand_jazz$72:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$75
+ movw %si, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_keypair_derand_jazz$75:
+ cmpq $256, %r9
+ jnb L__crypto_kem_keypair_derand_jazz$73
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$73
+ movw %r11w, (%rax,%r9,2)
+ incq %r9
+L__crypto_kem_keypair_derand_jazz$74:
+L__crypto_kem_keypair_derand_jazz$73:
+ cmpq $255, %r9
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$71:
+ jne L__crypto_kem_keypair_derand_jazz$72
+ leaq 11392(%rsp), %rax
+ leaq 1376(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$66
+L__crypto_kem_keypair_derand_jazz$67:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$70
+ movw %si, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_keypair_derand_jazz$70:
+ cmpq $256, %r8
+ jnb L__crypto_kem_keypair_derand_jazz$68
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$68
+ movw %r11w, (%rax,%r8,2)
+ incq %r8
+L__crypto_kem_keypair_derand_jazz$69:
+L__crypto_kem_keypair_derand_jazz$68:
+ cmpq $255, %r8
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$66:
+ jne L__crypto_kem_keypair_derand_jazz$67
+ leaq 11904(%rsp), %rax
+ leaq 1888(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$61
+L__crypto_kem_keypair_derand_jazz$62:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ movw %r10w, %r11w
+ shrw $4, %r11w
+ andw $15, %r10w
+ shlw $8, %r10w
+ orw %r10w, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %r10w
+ shlw $4, %r10w
+ orw %r10w, %r11w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$65
+ movw %si, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_keypair_derand_jazz$65:
+ cmpq $256, %r12
+ jnb L__crypto_kem_keypair_derand_jazz$63
+ cmpw $3329, %r11w
+ jnb L__crypto_kem_keypair_derand_jazz$63
+ movw %r11w, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_keypair_derand_jazz$64:
+L__crypto_kem_keypair_derand_jazz$63:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %r10b
+ testb %r10b, %sil
+L__crypto_kem_keypair_derand_jazz$61:
+ jne L__crypto_kem_keypair_derand_jazz$62
+ cmpq $255, %rdi
+ setbe %al
+ cmpq $255, %r9
+ setbe %cl
+ orb %cl, %al
+ cmpq $255, %r8
+ setbe %cl
+ cmpq $255, %r12
+ setbe %dl
+ orb %dl, %cl
+ orb %al, %cl
+L__crypto_kem_keypair_derand_jazz$59:
+ jne L__crypto_kem_keypair_derand_jazz$60
+ vmovdqu 96(%rsp), %ymm0
+ vmovdqu %ymm0, 352(%rsp)
+ movb $2, 384(%rsp)
+ movb $2, 385(%rsp)
+ leaq 352(%rsp), %rax
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vmovdqu %ymm0, 256(%rsp)
+ vmovdqu %ymm0, 288(%rsp)
+ vmovdqu %ymm0, 320(%rsp)
+ vpbroadcastq (%rax), %ymm5
+ movq 8(%rax), %rcx
+ movq glob_data + 6208(%rip), %rdx
+ movq %rcx, 128(%rsp,%rdx,8)
+ movq 16(%rax), %rcx
+ movq glob_data + 6216(%rip), %rdx
+ movq %rcx, 128(%rsp,%rdx,8)
+ movq 24(%rax), %rcx
+ movq glob_data + 6224(%rip), %rdx
+ movq %rcx, 128(%rsp,%rdx,8)
+ movb 32(%rax), %cl
+ movq glob_data + 6232(%rip), %rdx
+ shlq $3, %rdx
+ movb %cl, 128(%rsp,%rdx)
+ movb 33(%rax), %al
+ incq %rdx
+ movb %al, 128(%rsp,%rdx)
+ incq %rdx
+ movb $31, 128(%rsp,%rdx)
+ movq glob_data + 6360(%rip), %rax
+ shlq $3, %rax
+ movq $167, %rcx
+ andq $7, %rcx
+ addq %rcx, %rax
+ movb $-128, 128(%rsp,%rax)
+ vmovdqu 160(%rsp), %ymm0
+ vmovdqu 192(%rsp), %ymm1
+ vmovdqu 224(%rsp), %ymm2
+ vmovdqu 256(%rsp), %ymm6
+ vmovdqu 288(%rsp), %ymm3
+ vmovdqu 320(%rsp), %ymm4
+ leaq 352(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_keypair_derand_jazz$58:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_keypair_derand_jazz$58
+ vmovdqu %ymm5, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ vmovdqu %ymm6, 256(%rsp)
+ vmovdqu %ymm3, 288(%rsp)
+ vmovdqu %ymm4, 320(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 520(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_keypair_derand_jazz$57:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_keypair_derand_jazz$57
+ vmovdqu %ymm5, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ vmovdqu %ymm6, 256(%rsp)
+ vmovdqu %ymm3, 288(%rsp)
+ vmovdqu %ymm4, 320(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 688(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_keypair_derand_jazz$56:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm3, %ymm7
+ vpxor %ymm4, %ymm6, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm5, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm5, %ymm5
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%rsi), %ymm6, %ymm7
+ vpsrlvq 96(%rdi), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm6
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm4, %ymm4
+ vpermq $-115, %ymm1, %ymm6
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm4, %ymm1
+ vpsrlvq 160(%rdi), %ymm4, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm3, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm6, %ymm4
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm3, %ymm3
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm3, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm4
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm6, %ymm12
+ vpxor %ymm6, %ymm1, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm5, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm3, %ymm2
+ vpermq $-115, %ymm4, %ymm3
+ vpermq $114, %ymm12, %ymm4
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm0, %ymm6
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rcx,%rdx), %ymm5, %ymm5
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_keypair_derand_jazz$56
+ vmovdqu %ymm5, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ vmovdqu %ymm6, 256(%rsp)
+ vmovdqu %ymm3, 288(%rsp)
+ vmovdqu %ymm4, 320(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ vmovdqu %ymm5, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ vmovdqu %ymm6, 256(%rsp)
+ vmovdqu %ymm3, 288(%rsp)
+ vmovdqu %ymm4, 320(%rsp)
+ leaq 12416(%rsp), %r11
+ leaq 352(%rsp), %rbx
+ call L_rej_uniform_avx$1
+L__crypto_kem_keypair_derand_jazz$55:
+ cmpq $255, %r12
+ setbe %al
+ vmovdqu 128(%rsp), %ymm6
+ vmovdqu 160(%rsp), %ymm0
+ vmovdqu 192(%rsp), %ymm1
+ vmovdqu 224(%rsp), %ymm2
+ vmovdqu 256(%rsp), %ymm3
+ vmovdqu 288(%rsp), %ymm4
+ vmovdqu 320(%rsp), %ymm5
+ jmp L__crypto_kem_keypair_derand_jazz$47
+L__crypto_kem_keypair_derand_jazz$48:
+ leaq 352(%rsp), %rax
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L__crypto_kem_keypair_derand_jazz$54:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L__crypto_kem_keypair_derand_jazz$54
+ vmovdqu %ymm6, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ vmovdqu %ymm3, 256(%rsp)
+ vmovdqu %ymm4, 288(%rsp)
+ vmovdqu %ymm5, 320(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ movq glob_data + 6264(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 64(%rax)
+ movq glob_data + 6272(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 72(%rax)
+ movq glob_data + 6280(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 80(%rax)
+ movq glob_data + 6288(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 88(%rax)
+ movq glob_data + 6296(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 96(%rax)
+ movq glob_data + 6304(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 104(%rax)
+ movq glob_data + 6312(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 112(%rax)
+ movq glob_data + 6320(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 120(%rax)
+ movq glob_data + 6328(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 128(%rax)
+ movq glob_data + 6336(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 136(%rax)
+ movq glob_data + 6344(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 144(%rax)
+ movq glob_data + 6352(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 152(%rax)
+ movq glob_data + 6360(%rip), %rcx
+ movq 128(%rsp,%rcx,8), %rcx
+ movq %rcx, 160(%rax)
+ leaq 12416(%rsp), %rax
+ leaq 352(%rsp), %rcx
+ movq $0, %rdx
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %dil
+ testb %dil, %sil
+ jmp L__crypto_kem_keypair_derand_jazz$49
+L__crypto_kem_keypair_derand_jazz$50:
+ movzbw (%rcx,%rdx), %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw (%rcx,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L__crypto_kem_keypair_derand_jazz$53
+ movw %si, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_keypair_derand_jazz$53:
+ cmpq $256, %r12
+ jnb L__crypto_kem_keypair_derand_jazz$51
+ cmpw $3329, %r8w
+ jnb L__crypto_kem_keypair_derand_jazz$51
+ movw %r8w, (%rax,%r12,2)
+ incq %r12
+L__crypto_kem_keypair_derand_jazz$52:
+L__crypto_kem_keypair_derand_jazz$51:
+ cmpq $255, %r12
+ setbe %sil
+ cmpq $165, %rdx
+ setbe %dil
+ testb %dil, %sil
+L__crypto_kem_keypair_derand_jazz$49:
+ jne L__crypto_kem_keypair_derand_jazz$50
+ cmpq $255, %r12
+ setbe %al
+L__crypto_kem_keypair_derand_jazz$47:
+ cmpb $0, %al
+ jne L__crypto_kem_keypair_derand_jazz$48
+ leaq 8320(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$46:
+ leaq 8832(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$45:
+ leaq 9344(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$44:
+ leaq 9856(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$43:
+ leaq 10368(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$42:
+ leaq 10880(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$41:
+ leaq 11392(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$40:
+ leaq 11904(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$39:
+ leaq 12416(%rsp), %rax
+ call L_nttunpack$1
+L__crypto_kem_keypair_derand_jazz$38:
+ movb $0, %cl
+ leaq 5248(%rsp), %rax
+ leaq 5760(%rsp), %rdi
+ leaq 6272(%rsp), %r8
+ leaq 3712(%rsp), %r9
+ leaq 32(%rsp), %r10
+ leaq -1496(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+L__crypto_kem_keypair_derand_jazz$37:
+ leaq 1496(%rsp), %rsp
+ movb $4, %cl
+ leaq 4224(%rsp), %rax
+ leaq 4736(%rsp), %rdi
+ leaq 6784(%rsp), %r8
+ leaq 7296(%rsp), %r9
+ leaq 32(%rsp), %r10
+ leaq -1496(%rsp), %rsp
+ call L_poly_getnoise_eta1_4x$1
+L__crypto_kem_keypair_derand_jazz$36:
+ leaq 1496(%rsp), %rsp
+ leaq 5248(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$35:
+ leaq 5760(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$34:
+ leaq 6272(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$33:
+ leaq 3712(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$32:
+ leaq 4224(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$31:
+ leaq 4736(%rsp), %rcx
+ call L_poly_ntt$1
+L__crypto_kem_keypair_derand_jazz$30:
+ leaq 6784(%rsp), %rcx
+ leaq 8320(%rsp), %rsi
+ leaq 5248(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$29:
+ leaq 2400(%rsp), %rcx
+ leaq 8832(%rsp), %rsi
+ leaq 5760(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$28:
+ leaq 6784(%rsp), %rcx
+ leaq 2400(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$27:
+ leaq 2400(%rsp), %rcx
+ leaq 9344(%rsp), %rsi
+ leaq 6272(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$26:
+ leaq 6784(%rsp), %rcx
+ leaq 2400(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$25:
+ leaq 6784(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$24:
+ leaq 7296(%rsp), %rcx
+ leaq 9856(%rsp), %rsi
+ leaq 5248(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$23:
+ leaq 2400(%rsp), %rcx
+ leaq 10368(%rsp), %rsi
+ leaq 5760(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$22:
+ leaq 7296(%rsp), %rcx
+ leaq 2400(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$21:
+ leaq 2400(%rsp), %rcx
+ leaq 10880(%rsp), %rsi
+ leaq 6272(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$20:
+ leaq 7296(%rsp), %rcx
+ leaq 2400(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$19:
+ leaq 7296(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$18:
+ leaq 7808(%rsp), %rcx
+ leaq 11392(%rsp), %rsi
+ leaq 5248(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$17:
+ leaq 2400(%rsp), %rcx
+ leaq 11904(%rsp), %rsi
+ leaq 5760(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$16:
+ leaq 7808(%rsp), %rcx
+ leaq 2400(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$15:
+ leaq 2400(%rsp), %rcx
+ leaq 12416(%rsp), %rsi
+ leaq 6272(%rsp), %rdi
+ call L_poly_basemul$1
+L__crypto_kem_keypair_derand_jazz$14:
+ leaq 7808(%rsp), %rcx
+ leaq 2400(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$13:
+ leaq 7808(%rsp), %rax
+ call L_poly_frommont$1
+L__crypto_kem_keypair_derand_jazz$12:
+ leaq 6784(%rsp), %rcx
+ leaq 3712(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$11:
+ leaq 7296(%rsp), %rcx
+ leaq 4224(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$10:
+ leaq 7808(%rsp), %rcx
+ leaq 4736(%rsp), %rsi
+ call L_poly_add2$1
+L__crypto_kem_keypair_derand_jazz$9:
+ leaq 6784(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 7296(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ leaq 7808(%rsp), %rax
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu (%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vmovdqu 32(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vmovdqu 64(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vmovdqu 96(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vmovdqu 128(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 160(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 160(%rax)
+ vmovdqu 192(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 192(%rax)
+ vmovdqu 224(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 256(%rax)
+ vmovdqu 288(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 320(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 320(%rax)
+ vmovdqu 352(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 352(%rax)
+ vmovdqu 384(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 384(%rax)
+ vmovdqu 416(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 416(%rax)
+ vmovdqu 448(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 480(%rax), %ymm2
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ movq 12952(%rsp), %rax
+ movq 12960(%rsp), %rcx
+ leaq 5248(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$8:
+ addq $384, %rcx
+ leaq 5760(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$7:
+ addq $384, %rcx
+ leaq 6272(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$6:
+ movq %rax, %rcx
+ leaq 6784(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$5:
+ addq $384, %rcx
+ leaq 7296(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$4:
+ addq $384, %rcx
+ leaq 7808(%rsp), %rdx
+ call L_poly_tobytes$1
+L__crypto_kem_keypair_derand_jazz$3:
+ addq $1152, %rax
+ movq 64(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 72(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 80(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 88(%rsp), %rcx
+ movq %rcx, (%rax)
+ movq 12944(%rsp), %rax
+ addq $1152, %rax
+ movq 12936(%rsp), %rcx
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 8(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 16(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 24(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 32(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 40(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 48(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 56(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 64(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 72(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 80(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 88(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 96(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 104(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 112(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 120(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 128(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 136(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 144(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 152(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 160(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 168(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 176(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 184(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 192(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 200(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 208(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 216(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 224(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 232(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 240(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 248(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 256(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 264(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 272(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 280(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 288(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 296(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 304(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 312(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 320(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 328(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 336(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 344(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 352(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 360(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 368(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 376(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 384(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 392(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 400(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 408(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 416(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 424(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 432(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 440(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 448(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 456(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 464(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 472(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 480(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 488(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 496(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 504(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 512(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 520(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 528(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 536(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 544(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 552(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 560(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 568(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 576(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 584(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 592(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 600(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 608(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 616(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 624(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 632(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 640(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 648(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 656(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 664(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 672(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 680(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 688(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 696(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 704(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 712(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 720(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 728(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 736(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 744(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 752(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 760(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 768(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 776(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 784(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 792(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 800(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 808(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 816(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 824(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 832(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 840(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 848(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 856(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 864(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 872(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 880(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 888(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 896(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 904(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 912(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 920(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 928(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 936(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 944(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 952(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 960(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 968(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 976(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 984(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 992(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1000(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1008(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1016(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1024(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1032(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1040(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1048(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1056(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1064(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1072(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1080(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1088(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1096(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1104(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1112(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1120(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1128(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1136(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1144(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1152(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1160(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1168(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1176(%rcx), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq %rax, 12944(%rsp)
+ movq 12936(%rsp), %r8
+ movq $1184, %rdi
+ leaq 64(%rsp), %rax
+ leaq -248(%rsp), %rsp
+ call L_sha3_256$1
+L__crypto_kem_keypair_derand_jazz$2:
+ leaq 248(%rsp), %rsp
+ movq 12944(%rsp), %rax
+ movq 12928(%rsp), %rcx
+ leaq 64(%rsp), %rdx
+ movb (%rdx), %sil
+ movb %sil, (%rax)
+ movb 1(%rdx), %sil
+ movb %sil, 1(%rax)
+ movb 2(%rdx), %sil
+ movb %sil, 2(%rax)
+ movb 3(%rdx), %sil
+ movb %sil, 3(%rax)
+ movb 4(%rdx), %sil
+ movb %sil, 4(%rax)
+ movb 5(%rdx), %sil
+ movb %sil, 5(%rax)
+ movb 6(%rdx), %sil
+ movb %sil, 6(%rax)
+ movb 7(%rdx), %sil
+ movb %sil, 7(%rax)
+ movb 8(%rdx), %sil
+ movb %sil, 8(%rax)
+ movb 9(%rdx), %sil
+ movb %sil, 9(%rax)
+ movb 10(%rdx), %sil
+ movb %sil, 10(%rax)
+ movb 11(%rdx), %sil
+ movb %sil, 11(%rax)
+ movb 12(%rdx), %sil
+ movb %sil, 12(%rax)
+ movb 13(%rdx), %sil
+ movb %sil, 13(%rax)
+ movb 14(%rdx), %sil
+ movb %sil, 14(%rax)
+ movb 15(%rdx), %sil
+ movb %sil, 15(%rax)
+ movb 16(%rdx), %sil
+ movb %sil, 16(%rax)
+ movb 17(%rdx), %sil
+ movb %sil, 17(%rax)
+ movb 18(%rdx), %sil
+ movb %sil, 18(%rax)
+ movb 19(%rdx), %sil
+ movb %sil, 19(%rax)
+ movb 20(%rdx), %sil
+ movb %sil, 20(%rax)
+ movb 21(%rdx), %sil
+ movb %sil, 21(%rax)
+ movb 22(%rdx), %sil
+ movb %sil, 22(%rax)
+ movb 23(%rdx), %sil
+ movb %sil, 23(%rax)
+ movb 24(%rdx), %sil
+ movb %sil, 24(%rax)
+ movb 25(%rdx), %sil
+ movb %sil, 25(%rax)
+ movb 26(%rdx), %sil
+ movb %sil, 26(%rax)
+ movb 27(%rdx), %sil
+ movb %sil, 27(%rax)
+ movb 28(%rdx), %sil
+ movb %sil, 28(%rax)
+ movb 29(%rdx), %sil
+ movb %sil, 29(%rax)
+ movb 30(%rdx), %sil
+ movb %sil, 30(%rax)
+ movb 31(%rdx), %dl
+ movb %dl, 31(%rax)
+ addq $32, %rax
+ leaq 32(%rcx), %rcx
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ ret
+L_rej_uniform_avx$1:
+ leaq glob_data + 4128(%rip), %r10
+ vmovdqu glob_data + 448(%rip), %ymm0
+ movq $0, %r12
+ movq $0, %rbp
+ vpbroadcastb glob_data + 6430(%rip), %ymm1
+ vpbroadcastw glob_data + 6416(%rip), %ymm2
+ vmovdqu glob_data + 0(%rip), %ymm3
+ cmpq $224, %r12
+ setbe %al
+ cmpq $448, %rbp
+ setbe %cl
+ testb %cl, %al
+ jmp L_rej_uniform_avx$9
+L_rej_uniform_avx$10:
+ vpermq $-108, (%rbx,%rbp), %ymm4
+ vpermq $-108, 24(%rbx,%rbp), %ymm5
+ vpshufb %ymm3, %ymm4, %ymm4
+ vpshufb %ymm3, %ymm5, %ymm5
+ vpsrlw $4, %ymm4, %ymm6
+ vpsrlw $4, %ymm5, %ymm7
+ vpblendw $-86, %ymm6, %ymm4, %ymm4
+ vpblendw $-86, %ymm7, %ymm5, %ymm5
+ vpand %ymm2, %ymm4, %ymm4
+ vpand %ymm2, %ymm5, %ymm5
+ vpcmpgtw %ymm4, %ymm0, %ymm6
+ vpcmpgtw %ymm5, %ymm0, %ymm7
+ vpacksswb %ymm7, %ymm6, %ymm6
+ vpmovmskb %ymm6, %rax
+ movq %rax, %rcx
+ andq $255, %rcx
+ vmovq (%r10,%rcx,8), %xmm6
+ movq %rax, %rdx
+ shrq $16, %rdx
+ andq $255, %rdx
+ vmovq (%r10,%rdx,8), %xmm7
+ movq %rax, %rsi
+ shrq $8, %rsi
+ andq $255, %rsi
+ vmovq (%r10,%rsi,8), %xmm8
+ shrq $24, %rax
+ andq $255, %rax
+ vmovq (%r10,%rax,8), %xmm9
+ vinserti128 $1, %xmm7, %ymm6, %ymm6
+ popcnt %rcx, %rcx
+ popcnt %rdx, %rdx
+ addq %r12, %rcx
+ vinserti128 $1, %xmm9, %ymm8, %ymm7
+ addq %rcx, %rdx
+ popcnt %rsi, %rsi
+ addq %rdx, %rsi
+ popcnt %rax, %rax
+ addq %rsi, %rax
+ vpaddb %ymm1, %ymm6, %ymm8
+ vpunpcklbw %ymm8, %ymm6, %ymm6
+ vpaddb %ymm1, %ymm7, %ymm8
+ vpunpcklbw %ymm8, %ymm7, %ymm7
+ vpshufb %ymm6, %ymm4, %ymm4
+ vpshufb %ymm7, %ymm5, %ymm5
+ vmovdqu %xmm4, (%r11,%r12,2)
+ vextracti128 $1, %ymm4, (%r11,%rcx,2)
+ vmovdqu %xmm5, (%r11,%rdx,2)
+ vextracti128 $1, %ymm5, (%r11,%rsi,2)
+ movq %rax, %r12
+ cmpq $224, %r12
+ setbe %al
+ addq $48, %rbp
+ cmpq $448, %rbp
+ setbe %cl
+ testb %cl, %al
+L_rej_uniform_avx$9:
+ jne L_rej_uniform_avx$10
+ cmpq $248, %r12
+ setbe %al
+ cmpq $488, %rbp
+ setbe %cl
+ testb %cl, %al
+ movq $21845, %rax
+ jmp L_rej_uniform_avx$7
+L_rej_uniform_avx$8:
+ vmovdqu (%rbx,%rbp), %xmm4
+ vpshufb %xmm3, %xmm4, %xmm4
+ vpsrlw $4, %xmm4, %xmm5
+ vpblendw $-86, %xmm5, %xmm4, %xmm4
+ vpand %xmm2, %xmm4, %xmm4
+ vpcmpgtw %xmm4, %xmm0, %xmm5
+ vpmovmskb %xmm5, %rcx
+ pext %rax, %rcx, %rcx
+ vmovq (%r10,%rcx,8), %xmm5
+ popcnt %rcx, %rcx
+ vpaddb %xmm1, %xmm5, %xmm6
+ vpunpcklbw %xmm6, %xmm5, %xmm5
+ vpshufb %xmm5, %xmm4, %xmm4
+ vmovdqu %xmm4, (%r11,%r12,2)
+ addq %rcx, %r12
+ addq $12, %rbp
+ cmpq $248, %r12
+ setbe %cl
+ cmpq $488, %rbp
+ setbe %dl
+ testb %dl, %cl
+L_rej_uniform_avx$7:
+ jne L_rej_uniform_avx$8
+ cmpq $255, %r12
+ setbe %al
+ cmpq $501, %rbp
+ setbe %cl
+ testb %cl, %al
+ jmp L_rej_uniform_avx$2
+L_rej_uniform_avx$3:
+ movzbw (%rbx,%rbp), %ax
+ incq %rbp
+ movzbw (%rbx,%rbp), %dx
+ incq %rbp
+ movw %dx, %cx
+ shlw $8, %dx
+ orw %dx, %ax
+ andw $4095, %ax
+ shrw $4, %cx
+ movzbw (%rbx,%rbp), %dx
+ incq %rbp
+ shlw $4, %dx
+ orw %dx, %cx
+ cmpw $3329, %ax
+ jnb L_rej_uniform_avx$6
+ movw %ax, (%r11,%r12,2)
+ incq %r12
+L_rej_uniform_avx$6:
+ cmpw $3329, %cx
+ jnb L_rej_uniform_avx$4
+ cmpq $256, %r12
+ jnb L_rej_uniform_avx$4
+ movw %cx, (%r11,%r12,2)
+ incq %r12
+L_rej_uniform_avx$5:
+L_rej_uniform_avx$4:
+ cmpq $255, %r12
+ setbe %al
+ cmpq $501, %rbp
+ setbe %cl
+ testb %cl, %al
+L_rej_uniform_avx$2:
+ jne L_rej_uniform_avx$3
+ ret
+L_poly_tomsg_1$1:
+ call L_poly_csubq$1
+L_poly_tomsg_1$2:
+ leaq glob_data + 224(%rip), %rsi
+ vmovdqu (%rsi), %ymm0
+ leaq glob_data + 192(%rip), %rsi
+ vmovdqu (%rsi), %ymm1
+ vmovdqu (%rcx), %ymm2
+ vmovdqu 32(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, (%rax)
+ vmovdqu 64(%rcx), %ymm2
+ vmovdqu 96(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 4(%rax)
+ vmovdqu 128(%rcx), %ymm2
+ vmovdqu 160(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 8(%rax)
+ vmovdqu 192(%rcx), %ymm2
+ vmovdqu 224(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 12(%rax)
+ vmovdqu 256(%rcx), %ymm2
+ vmovdqu 288(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 16(%rax)
+ vmovdqu 320(%rcx), %ymm2
+ vmovdqu 352(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 20(%rax)
+ vmovdqu 384(%rcx), %ymm2
+ vmovdqu 416(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm3
+ vpsraw $15, %ymm2, %ymm4
+ vpsraw $15, %ymm3, %ymm5
+ vpxor %ymm4, %ymm2, %ymm2
+ vpxor %ymm5, %ymm3, %ymm3
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm3, %ymm3
+ vpacksswb %ymm3, %ymm2, %ymm2
+ vpermq $-40, %ymm2, %ymm2
+ vpmovmskb %ymm2, %esi
+ movl %esi, 24(%rax)
+ vmovdqu 448(%rcx), %ymm2
+ vmovdqu 480(%rcx), %ymm3
+ vpsubw %ymm2, %ymm0, %ymm2
+ vpsubw %ymm3, %ymm0, %ymm0
+ vpsraw $15, %ymm2, %ymm3
+ vpsraw $15, %ymm0, %ymm4
+ vpxor %ymm3, %ymm2, %ymm2
+ vpxor %ymm4, %ymm0, %ymm0
+ vpsubw %ymm1, %ymm2, %ymm2
+ vpsubw %ymm1, %ymm0, %ymm0
+ vpacksswb %ymm0, %ymm2, %ymm0
+ vpermq $-40, %ymm0, %ymm0
+ vpmovmskb %ymm0, %ecx
+ movl %ecx, 28(%rax)
+ ret
+L_poly_tobytes$1:
+ leaq glob_data + 448(%rip), %rsi
+ vmovdqu (%rsi), %ymm0
+ vmovdqu (%rdx), %ymm7
+ vmovdqu 32(%rdx), %ymm8
+ vmovdqu 64(%rdx), %ymm1
+ vmovdqu 96(%rdx), %ymm2
+ vmovdqu 128(%rdx), %ymm3
+ vmovdqu 160(%rdx), %ymm4
+ vmovdqu 192(%rdx), %ymm5
+ vmovdqu 224(%rdx), %ymm6
+ vpsubw %ymm0, %ymm7, %ymm7
+ vpsraw $15, %ymm7, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm0, %ymm8, %ymm8
+ vpsraw $15, %ymm8, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm1, %ymm9, %ymm1
+ vpsubw %ymm0, %ymm2, %ymm2
+ vpsraw $15, %ymm2, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm2, %ymm9, %ymm2
+ vpsubw %ymm0, %ymm3, %ymm3
+ vpsraw $15, %ymm3, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm3, %ymm9, %ymm3
+ vpsubw %ymm0, %ymm4, %ymm4
+ vpsraw $15, %ymm4, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm4, %ymm9, %ymm4
+ vpsubw %ymm0, %ymm5, %ymm5
+ vpsraw $15, %ymm5, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm5, %ymm9, %ymm5
+ vpsubw %ymm0, %ymm6, %ymm6
+ vpsraw $15, %ymm6, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm6, %ymm9, %ymm6
+ vpsllw $12, %ymm8, %ymm9
+ vpor %ymm7, %ymm9, %ymm7
+ vpsrlw $4, %ymm8, %ymm8
+ vpsllw $8, %ymm1, %ymm9
+ vpor %ymm9, %ymm8, %ymm8
+ vpsrlw $8, %ymm1, %ymm1
+ vpsllw $4, %ymm2, %ymm2
+ vpor %ymm2, %ymm1, %ymm1
+ vpsllw $12, %ymm4, %ymm2
+ vpor %ymm3, %ymm2, %ymm2
+ vpsrlw $4, %ymm4, %ymm3
+ vpsllw $8, %ymm5, %ymm4
+ vpor %ymm4, %ymm3, %ymm3
+ vpsrlw $8, %ymm5, %ymm4
+ vpsllw $4, %ymm6, %ymm5
+ vpor %ymm5, %ymm4, %ymm4
+ vpslld $16, %ymm8, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm7, %ymm6
+ vpblendw $-86, %ymm8, %ymm6, %ymm6
+ vpslld $16, %ymm2, %ymm7
+ vpblendw $-86, %ymm7, %ymm1, %ymm7
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm1
+ vpslld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm2, %ymm3, %ymm8
+ vpsrld $16, %ymm3, %ymm2
+ vpblendw $-86, %ymm4, %ymm2, %ymm2
+ vmovsldup %ymm7, %ymm3
+ vpblendd $-86, %ymm3, %ymm5, %ymm3
+ vpsrlq $32, %ymm5, %ymm4
+ vpblendd $-86, %ymm7, %ymm4, %ymm4
+ vmovsldup %ymm6, %ymm5
+ vpblendd $-86, %ymm5, %ymm8, %ymm5
+ vpsrlq $32, %ymm8, %ymm7
+ vpblendd $-86, %ymm6, %ymm7, %ymm6
+ vmovsldup %ymm2, %ymm7
+ vpblendd $-86, %ymm7, %ymm1, %ymm7
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm2, %ymm1, %ymm1
+ vpunpcklqdq %ymm5, %ymm3, %ymm2
+ vpunpckhqdq %ymm5, %ymm3, %ymm3
+ vpunpcklqdq %ymm4, %ymm7, %ymm5
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vpunpcklqdq %ymm1, %ymm6, %ymm7
+ vpunpckhqdq %ymm1, %ymm6, %ymm1
+ vperm2i128 $32, %ymm5, %ymm2, %ymm6
+ vperm2i128 $49, %ymm5, %ymm2, %ymm2
+ vperm2i128 $32, %ymm3, %ymm7, %ymm5
+ vperm2i128 $49, %ymm3, %ymm7, %ymm3
+ vperm2i128 $32, %ymm1, %ymm4, %ymm7
+ vperm2i128 $49, %ymm1, %ymm4, %ymm1
+ vmovdqu %ymm6, (%rcx)
+ vmovdqu %ymm5, 32(%rcx)
+ vmovdqu %ymm7, 64(%rcx)
+ vmovdqu %ymm2, 96(%rcx)
+ vmovdqu %ymm3, 128(%rcx)
+ vmovdqu %ymm1, 160(%rcx)
+ vmovdqu 256(%rdx), %ymm7
+ vmovdqu 288(%rdx), %ymm8
+ vmovdqu 320(%rdx), %ymm1
+ vmovdqu 352(%rdx), %ymm2
+ vmovdqu 384(%rdx), %ymm3
+ vmovdqu 416(%rdx), %ymm4
+ vmovdqu 448(%rdx), %ymm5
+ vmovdqu 480(%rdx), %ymm6
+ vpsubw %ymm0, %ymm7, %ymm7
+ vpsraw $15, %ymm7, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm0, %ymm8, %ymm8
+ vpsraw $15, %ymm8, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm1, %ymm9, %ymm1
+ vpsubw %ymm0, %ymm2, %ymm2
+ vpsraw $15, %ymm2, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm2, %ymm9, %ymm2
+ vpsubw %ymm0, %ymm3, %ymm3
+ vpsraw $15, %ymm3, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm3, %ymm9, %ymm3
+ vpsubw %ymm0, %ymm4, %ymm4
+ vpsraw $15, %ymm4, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm4, %ymm9, %ymm4
+ vpsubw %ymm0, %ymm5, %ymm5
+ vpsraw $15, %ymm5, %ymm9
+ vpand %ymm0, %ymm9, %ymm9
+ vpaddw %ymm5, %ymm9, %ymm5
+ vpsubw %ymm0, %ymm6, %ymm6
+ vpsraw $15, %ymm6, %ymm9
+ vpand %ymm0, %ymm9, %ymm0
+ vpaddw %ymm6, %ymm0, %ymm0
+ vpsllw $12, %ymm8, %ymm6
+ vpor %ymm7, %ymm6, %ymm6
+ vpsrlw $4, %ymm8, %ymm7
+ vpsllw $8, %ymm1, %ymm8
+ vpor %ymm8, %ymm7, %ymm7
+ vpsrlw $8, %ymm1, %ymm1
+ vpsllw $4, %ymm2, %ymm2
+ vpor %ymm2, %ymm1, %ymm1
+ vpsllw $12, %ymm4, %ymm2
+ vpor %ymm3, %ymm2, %ymm2
+ vpsrlw $4, %ymm4, %ymm3
+ vpsllw $8, %ymm5, %ymm4
+ vpor %ymm4, %ymm3, %ymm3
+ vpsrlw $8, %ymm5, %ymm4
+ vpsllw $4, %ymm0, %ymm0
+ vpor %ymm0, %ymm4, %ymm0
+ vpslld $16, %ymm7, %ymm4
+ vpblendw $-86, %ymm4, %ymm6, %ymm4
+ vpsrld $16, %ymm6, %ymm5
+ vpblendw $-86, %ymm7, %ymm5, %ymm5
+ vpslld $16, %ymm2, %ymm6
+ vpblendw $-86, %ymm6, %ymm1, %ymm6
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm1
+ vpslld $16, %ymm0, %ymm2
+ vpblendw $-86, %ymm2, %ymm3, %ymm7
+ vpsrld $16, %ymm3, %ymm2
+ vpblendw $-86, %ymm0, %ymm2, %ymm0
+ vmovsldup %ymm6, %ymm2
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vpsrlq $32, %ymm4, %ymm3
+ vpblendd $-86, %ymm6, %ymm3, %ymm3
+ vmovsldup %ymm5, %ymm4
+ vpblendd $-86, %ymm4, %ymm7, %ymm4
+ vpsrlq $32, %ymm7, %ymm6
+ vpblendd $-86, %ymm5, %ymm6, %ymm5
+ vmovsldup %ymm0, %ymm6
+ vpblendd $-86, %ymm6, %ymm1, %ymm6
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm0, %ymm1, %ymm0
+ vpunpcklqdq %ymm4, %ymm2, %ymm1
+ vpunpckhqdq %ymm4, %ymm2, %ymm2
+ vpunpcklqdq %ymm3, %ymm6, %ymm4
+ vpunpckhqdq %ymm3, %ymm6, %ymm3
+ vpunpcklqdq %ymm0, %ymm5, %ymm6
+ vpunpckhqdq %ymm0, %ymm5, %ymm0
+ vperm2i128 $32, %ymm4, %ymm1, %ymm5
+ vperm2i128 $49, %ymm4, %ymm1, %ymm1
+ vperm2i128 $32, %ymm2, %ymm6, %ymm4
+ vperm2i128 $49, %ymm2, %ymm6, %ymm2
+ vperm2i128 $32, %ymm0, %ymm3, %ymm6
+ vperm2i128 $49, %ymm0, %ymm3, %ymm0
+ vmovdqu %ymm5, 192(%rcx)
+ vmovdqu %ymm4, 224(%rcx)
+ vmovdqu %ymm6, 256(%rcx)
+ vmovdqu %ymm1, 288(%rcx)
+ vmovdqu %ymm2, 320(%rcx)
+ vmovdqu %ymm0, 352(%rcx)
+ ret
+L_poly_sub$1:
+ vmovdqu (%rsi), %ymm0
+ vmovdqu (%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rcx)
+ vmovdqu 32(%rsi), %ymm0
+ vmovdqu 32(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rcx)
+ vmovdqu 64(%rsi), %ymm0
+ vmovdqu 64(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rcx)
+ vmovdqu 96(%rsi), %ymm0
+ vmovdqu 96(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rcx)
+ vmovdqu 128(%rsi), %ymm0
+ vmovdqu 128(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rcx)
+ vmovdqu 160(%rsi), %ymm0
+ vmovdqu 160(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rcx)
+ vmovdqu 192(%rsi), %ymm0
+ vmovdqu 192(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rcx)
+ vmovdqu 224(%rsi), %ymm0
+ vmovdqu 224(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rcx)
+ vmovdqu 256(%rsi), %ymm0
+ vmovdqu 256(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rcx)
+ vmovdqu 288(%rsi), %ymm0
+ vmovdqu 288(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rcx)
+ vmovdqu 320(%rsi), %ymm0
+ vmovdqu 320(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rcx)
+ vmovdqu 352(%rsi), %ymm0
+ vmovdqu 352(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rcx)
+ vmovdqu 384(%rsi), %ymm0
+ vmovdqu 384(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rcx)
+ vmovdqu 416(%rsi), %ymm0
+ vmovdqu 416(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rcx)
+ vmovdqu 448(%rsi), %ymm0
+ vmovdqu 448(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rcx)
+ vmovdqu 480(%rsi), %ymm0
+ vmovdqu 480(%rdi), %ymm1
+ vpsubw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_ntt$1:
+ leaq glob_data + 1280(%rip), %rsi
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vpbroadcastd (%rsi), %ymm1
+ vpbroadcastd 4(%rsi), %ymm2
+ vmovdqu (%rcx), %ymm3
+ vmovdqu 32(%rcx), %ymm14
+ vmovdqu 64(%rcx), %ymm4
+ vmovdqu 96(%rcx), %ymm5
+ vmovdqu 256(%rcx), %ymm6
+ vmovdqu 288(%rcx), %ymm7
+ vmovdqu 320(%rcx), %ymm12
+ vmovdqu 352(%rcx), %ymm8
+ vpmullw %ymm6, %ymm1, %ymm9
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmullw %ymm7, %ymm1, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm15
+ vpmullw %ymm12, %ymm1, %ymm11
+ vpmulhw %ymm12, %ymm2, %ymm7
+ vpmullw %ymm8, %ymm1, %ymm12
+ vpmulhw %ymm8, %ymm2, %ymm8
+ vpmulhw %ymm0, %ymm9, %ymm9
+ vpmulhw %ymm0, %ymm10, %ymm10
+ vpmulhw %ymm0, %ymm11, %ymm11
+ vpmulhw %ymm0, %ymm12, %ymm12
+ vpsubw %ymm15, %ymm14, %ymm13
+ vpaddw %ymm14, %ymm15, %ymm14
+ vpsubw %ymm6, %ymm3, %ymm15
+ vpaddw %ymm3, %ymm6, %ymm3
+ vpsubw %ymm8, %ymm5, %ymm6
+ vpaddw %ymm5, %ymm8, %ymm5
+ vpsubw %ymm7, %ymm4, %ymm8
+ vpaddw %ymm4, %ymm7, %ymm4
+ vpaddw %ymm15, %ymm9, %ymm7
+ vpsubw %ymm9, %ymm3, %ymm3
+ vpaddw %ymm13, %ymm10, %ymm9
+ vpsubw %ymm10, %ymm14, %ymm10
+ vpaddw %ymm8, %ymm11, %ymm8
+ vpsubw %ymm11, %ymm4, %ymm4
+ vpaddw %ymm6, %ymm12, %ymm6
+ vpsubw %ymm12, %ymm5, %ymm5
+ vmovdqu %ymm3, (%rcx)
+ vmovdqu %ymm10, 32(%rcx)
+ vmovdqu %ymm4, 64(%rcx)
+ vmovdqu %ymm5, 96(%rcx)
+ vmovdqu %ymm7, 256(%rcx)
+ vmovdqu %ymm9, 288(%rcx)
+ vmovdqu %ymm8, 320(%rcx)
+ vmovdqu %ymm6, 352(%rcx)
+ vmovdqu 128(%rcx), %ymm3
+ vmovdqu 160(%rcx), %ymm12
+ vmovdqu 192(%rcx), %ymm4
+ vmovdqu 224(%rcx), %ymm5
+ vmovdqu 384(%rcx), %ymm6
+ vmovdqu 416(%rcx), %ymm7
+ vmovdqu 448(%rcx), %ymm10
+ vmovdqu 480(%rcx), %ymm11
+ vpmullw %ymm6, %ymm1, %ymm14
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmullw %ymm7, %ymm1, %ymm8
+ vpmulhw %ymm7, %ymm2, %ymm13
+ vpmullw %ymm10, %ymm1, %ymm9
+ vpmulhw %ymm10, %ymm2, %ymm7
+ vpmullw %ymm11, %ymm1, %ymm10
+ vpmulhw %ymm11, %ymm2, %ymm1
+ vpmulhw %ymm0, %ymm14, %ymm2
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhw %ymm0, %ymm9, %ymm9
+ vpmulhw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm6, %ymm3, %ymm13
+ vpaddw %ymm3, %ymm6, %ymm3
+ vpsubw %ymm1, %ymm5, %ymm6
+ vpaddw %ymm5, %ymm1, %ymm1
+ vpsubw %ymm7, %ymm4, %ymm5
+ vpaddw %ymm4, %ymm7, %ymm4
+ vpaddw %ymm13, %ymm2, %ymm7
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpaddw %ymm11, %ymm8, %ymm3
+ vpsubw %ymm8, %ymm12, %ymm8
+ vpaddw %ymm5, %ymm9, %ymm5
+ vpsubw %ymm9, %ymm4, %ymm9
+ vpaddw %ymm6, %ymm10, %ymm4
+ vpsubw %ymm10, %ymm1, %ymm14
+ vmovdqu %ymm7, 384(%rcx)
+ vmovdqu %ymm3, 416(%rcx)
+ vmovdqu %ymm5, 448(%rcx)
+ vmovdqu %ymm4, 480(%rcx)
+ vpbroadcastd 8(%rsi), %ymm1
+ vpbroadcastd 12(%rsi), %ymm4
+ vmovdqu %ymm8, %ymm10
+ vmovdqu %ymm9, %ymm3
+ vmovdqu (%rcx), %ymm6
+ vmovdqu 32(%rcx), %ymm5
+ vmovdqu 64(%rcx), %ymm9
+ vmovdqu 96(%rcx), %ymm7
+ vpmullw %ymm2, %ymm1, %ymm11
+ vpmulhw %ymm2, %ymm4, %ymm8
+ vpmullw %ymm10, %ymm1, %ymm13
+ vpmulhw %ymm10, %ymm4, %ymm12
+ vpmullw %ymm3, %ymm1, %ymm2
+ vpmulhw %ymm3, %ymm4, %ymm10
+ vpmullw %ymm14, %ymm1, %ymm3
+ vpmulhw %ymm14, %ymm4, %ymm14
+ vpmulhw %ymm0, %ymm11, %ymm11
+ vpmulhw %ymm0, %ymm13, %ymm1
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm12, %ymm5, %ymm4
+ vpaddw %ymm5, %ymm12, %ymm5
+ vpsubw %ymm8, %ymm6, %ymm12
+ vpaddw %ymm6, %ymm8, %ymm13
+ vpsubw %ymm14, %ymm7, %ymm6
+ vpaddw %ymm7, %ymm14, %ymm7
+ vpsubw %ymm10, %ymm9, %ymm8
+ vpaddw %ymm9, %ymm10, %ymm9
+ vpaddw %ymm12, %ymm11, %ymm10
+ vpsubw %ymm11, %ymm13, %ymm12
+ vpaddw %ymm4, %ymm1, %ymm4
+ vpsubw %ymm1, %ymm5, %ymm5
+ vpaddw %ymm8, %ymm2, %ymm8
+ vpsubw %ymm2, %ymm9, %ymm2
+ vpaddw %ymm6, %ymm3, %ymm13
+ vpsubw %ymm3, %ymm7, %ymm7
+ vmovdqu 16(%rsi), %ymm3
+ vmovdqu 48(%rsi), %ymm6
+ vperm2i128 $32, %ymm10, %ymm12, %ymm11
+ vperm2i128 $49, %ymm10, %ymm12, %ymm9
+ vperm2i128 $32, %ymm4, %ymm5, %ymm1
+ vperm2i128 $49, %ymm4, %ymm5, %ymm12
+ vperm2i128 $32, %ymm8, %ymm2, %ymm5
+ vperm2i128 $49, %ymm8, %ymm2, %ymm8
+ vperm2i128 $32, %ymm13, %ymm7, %ymm2
+ vperm2i128 $49, %ymm13, %ymm7, %ymm13
+ vpmullw %ymm5, %ymm3, %ymm4
+ vpmulhw %ymm5, %ymm6, %ymm10
+ vpmullw %ymm8, %ymm3, %ymm14
+ vpmulhw %ymm8, %ymm6, %ymm8
+ vpmullw %ymm2, %ymm3, %ymm5
+ vpmulhw %ymm2, %ymm6, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm7
+ vpmulhw %ymm13, %ymm6, %ymm13
+ vpmulhw %ymm0, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm14, %ymm4
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm7, %ymm6
+ vpsubw %ymm8, %ymm9, %ymm7
+ vpaddw %ymm9, %ymm8, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 80(%rsi), %ymm1
+ vmovdqu 112(%rsi), %ymm10
+ vpunpcklqdq %ymm2, %ymm9, %ymm5
+ vpunpckhqdq %ymm2, %ymm9, %ymm12
+ vpunpcklqdq %ymm3, %ymm4, %ymm8
+ vpunpckhqdq %ymm3, %ymm4, %ymm6
+ vpunpcklqdq %ymm7, %ymm13, %ymm2
+ vpunpckhqdq %ymm7, %ymm13, %ymm4
+ vpunpcklqdq %ymm11, %ymm14, %ymm3
+ vpunpckhqdq %ymm11, %ymm14, %ymm7
+ vpmullw %ymm2, %ymm1, %ymm11
+ vpmulhw %ymm2, %ymm10, %ymm13
+ vpmullw %ymm4, %ymm1, %ymm14
+ vpmulhw %ymm4, %ymm10, %ymm4
+ vpmullw %ymm3, %ymm1, %ymm2
+ vpmulhw %ymm3, %ymm10, %ymm9
+ vpmullw %ymm7, %ymm1, %ymm3
+ vpmulhw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpmulhw %ymm0, %ymm14, %ymm1
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm4, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm4, %ymm4
+ vpsubw %ymm13, %ymm5, %ymm12
+ vpaddw %ymm5, %ymm13, %ymm13
+ vpsubw %ymm7, %ymm6, %ymm5
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm9
+ vpsubw %ymm10, %ymm13, %ymm12
+ vpaddw %ymm11, %ymm1, %ymm10
+ vpsubw %ymm1, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm2, %ymm7
+ vpsubw %ymm2, %ymm8, %ymm2
+ vpaddw %ymm5, %ymm3, %ymm13
+ vpsubw %ymm3, %ymm6, %ymm6
+ vmovdqu 144(%rsi), %ymm3
+ vmovdqu 176(%rsi), %ymm5
+ vmovsldup %ymm9, %ymm1
+ vpblendd $-86, %ymm1, %ymm12, %ymm11
+ vpsrlq $32, %ymm12, %ymm1
+ vpblendd $-86, %ymm9, %ymm1, %ymm8
+ vmovsldup %ymm10, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm1
+ vpsrlq $32, %ymm4, %ymm4
+ vpblendd $-86, %ymm10, %ymm4, %ymm12
+ vmovsldup %ymm7, %ymm4
+ vpblendd $-86, %ymm4, %ymm2, %ymm9
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm7, %ymm2, %ymm7
+ vmovsldup %ymm13, %ymm2
+ vpblendd $-86, %ymm2, %ymm6, %ymm2
+ vpsrlq $32, %ymm6, %ymm4
+ vpblendd $-86, %ymm13, %ymm4, %ymm13
+ vpmullw %ymm9, %ymm3, %ymm4
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpmullw %ymm7, %ymm3, %ymm14
+ vpmulhw %ymm7, %ymm5, %ymm9
+ vpmullw %ymm2, %ymm3, %ymm6
+ vpmulhw %ymm2, %ymm5, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm7
+ vpmulhw %ymm13, %ymm5, %ymm13
+ vpmulhw %ymm0, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm14, %ymm4
+ vpmulhw %ymm0, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 208(%rsi), %ymm5
+ vmovdqu 240(%rsi), %ymm6
+ vpslld $16, %ymm2, %ymm1
+ vpblendw $-86, %ymm1, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm8
+ vpslld $16, %ymm3, %ymm1
+ vpblendw $-86, %ymm1, %ymm4, %ymm1
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm12
+ vpslld $16, %ymm7, %ymm2
+ vpblendw $-86, %ymm2, %ymm13, %ymm4
+ vpsrld $16, %ymm13, %ymm2
+ vpblendw $-86, %ymm7, %ymm2, %ymm7
+ vpslld $16, %ymm11, %ymm2
+ vpblendw $-86, %ymm2, %ymm14, %ymm2
+ vpsrld $16, %ymm14, %ymm3
+ vpblendw $-86, %ymm11, %ymm3, %ymm13
+ vpmullw %ymm4, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm6, %ymm11
+ vpmullw %ymm7, %ymm5, %ymm4
+ vpmulhw %ymm7, %ymm6, %ymm9
+ vpmullw %ymm2, %ymm5, %ymm7
+ vpmulhw %ymm2, %ymm6, %ymm2
+ vpmullw %ymm13, %ymm5, %ymm14
+ vpmulhw %ymm13, %ymm6, %ymm13
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpmulhw %ymm0, %ymm7, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm11, %ymm10, %ymm9
+ vpaddw %ymm10, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm3
+ vpaddw %ymm7, %ymm4, %ymm7
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm8
+ vpsubw %ymm5, %ymm1, %ymm1
+ vpaddw %ymm11, %ymm6, %ymm5
+ vpsubw %ymm6, %ymm12, %ymm10
+ vmovdqu 272(%rsi), %ymm9
+ vmovdqu 304(%rsi), %ymm13
+ vmovdqu 336(%rsi), %ymm11
+ vmovdqu 368(%rsi), %ymm6
+ vpmullw %ymm1, %ymm9, %ymm14
+ vpmulhw %ymm1, %ymm13, %ymm12
+ vpmullw %ymm10, %ymm9, %ymm9
+ vpmulhw %ymm10, %ymm13, %ymm13
+ vpmullw %ymm8, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm6, %ymm1
+ vpmullw %ymm5, %ymm11, %ymm11
+ vpmulhw %ymm5, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpmulhw %ymm0, %ymm9, %ymm8
+ vpmulhw %ymm0, %ymm10, %ymm9
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm4, %ymm11
+ vpaddw %ymm4, %ymm13, %ymm4
+ vpsubw %ymm12, %ymm3, %ymm13
+ vpaddw %ymm3, %ymm12, %ymm3
+ vpsubw %ymm5, %ymm7, %ymm12
+ vpaddw %ymm7, %ymm5, %ymm5
+ vpsubw %ymm1, %ymm2, %ymm7
+ vpaddw %ymm2, %ymm1, %ymm1
+ vpaddw %ymm13, %ymm6, %ymm2
+ vpsubw %ymm6, %ymm3, %ymm3
+ vpaddw %ymm11, %ymm8, %ymm6
+ vpsubw %ymm8, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm9, %ymm1, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm1
+ vpsubw %ymm10, %ymm5, %ymm5
+ vmovdqu glob_data + 384(%rip), %ymm9
+ vpmulhw %ymm9, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm3
+ vpmulhw %ymm9, %ymm4, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm9, %ymm8, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm8, %ymm8
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm5
+ vpmulhw %ymm9, %ymm2, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpmulhw %ymm9, %ymm6, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpmulhw %ymm9, %ymm7, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm9, %ymm1, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm1, %ymm1
+ vmovdqu %ymm3, (%rcx)
+ vmovdqu %ymm4, 32(%rcx)
+ vmovdqu %ymm2, 64(%rcx)
+ vmovdqu %ymm6, 96(%rcx)
+ vmovdqu %ymm8, 128(%rcx)
+ vmovdqu %ymm5, 160(%rcx)
+ vmovdqu %ymm7, 192(%rcx)
+ vmovdqu %ymm1, 224(%rcx)
+ vpbroadcastd 400(%rsi), %ymm5
+ vpbroadcastd 404(%rsi), %ymm8
+ vmovdqu 384(%rcx), %ymm1
+ vmovdqu 416(%rcx), %ymm2
+ vmovdqu 448(%rcx), %ymm10
+ vmovdqu 480(%rcx), %ymm9
+ vmovdqu 256(%rcx), %ymm3
+ vmovdqu 288(%rcx), %ymm7
+ vmovdqu 320(%rcx), %ymm6
+ vmovdqu 352(%rcx), %ymm4
+ vpmullw %ymm1, %ymm5, %ymm14
+ vpmulhw %ymm1, %ymm8, %ymm12
+ vpmullw %ymm2, %ymm5, %ymm1
+ vpmulhw %ymm2, %ymm8, %ymm11
+ vpmullw %ymm10, %ymm5, %ymm2
+ vpmulhw %ymm10, %ymm8, %ymm13
+ vpmullw %ymm9, %ymm5, %ymm10
+ vpmulhw %ymm9, %ymm8, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm8
+ vpmulhw %ymm0, %ymm1, %ymm9
+ vpmulhw %ymm0, %ymm2, %ymm1
+ vpmulhw %ymm0, %ymm10, %ymm2
+ vpsubw %ymm11, %ymm7, %ymm10
+ vpaddw %ymm7, %ymm11, %ymm11
+ vpsubw %ymm12, %ymm3, %ymm7
+ vpaddw %ymm3, %ymm12, %ymm12
+ vpsubw %ymm5, %ymm4, %ymm3
+ vpaddw %ymm4, %ymm5, %ymm4
+ vpsubw %ymm13, %ymm6, %ymm5
+ vpaddw %ymm6, %ymm13, %ymm6
+ vpaddw %ymm7, %ymm8, %ymm7
+ vpsubw %ymm8, %ymm12, %ymm12
+ vpaddw %ymm10, %ymm9, %ymm8
+ vpsubw %ymm9, %ymm11, %ymm9
+ vpaddw %ymm5, %ymm1, %ymm5
+ vpsubw %ymm1, %ymm6, %ymm6
+ vpaddw %ymm3, %ymm2, %ymm13
+ vpsubw %ymm2, %ymm4, %ymm2
+ vmovdqu 408(%rsi), %ymm3
+ vmovdqu 440(%rsi), %ymm4
+ vperm2i128 $32, %ymm7, %ymm12, %ymm10
+ vperm2i128 $49, %ymm7, %ymm12, %ymm11
+ vperm2i128 $32, %ymm8, %ymm9, %ymm1
+ vperm2i128 $49, %ymm8, %ymm9, %ymm12
+ vperm2i128 $32, %ymm5, %ymm6, %ymm8
+ vperm2i128 $49, %ymm5, %ymm6, %ymm5
+ vperm2i128 $32, %ymm13, %ymm2, %ymm6
+ vperm2i128 $49, %ymm13, %ymm2, %ymm13
+ vpmullw %ymm8, %ymm3, %ymm7
+ vpmulhw %ymm8, %ymm4, %ymm14
+ vpmullw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm5, %ymm4, %ymm8
+ vpmullw %ymm6, %ymm3, %ymm5
+ vpmulhw %ymm6, %ymm4, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm6
+ vpmulhw %ymm13, %ymm4, %ymm13
+ vpmulhw %ymm0, %ymm7, %ymm3
+ vpmulhw %ymm0, %ymm9, %ymm4
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm8, %ymm11, %ymm7
+ vpaddw %ymm11, %ymm8, %ymm8
+ vpsubw %ymm14, %ymm10, %ymm9
+ vpaddw %ymm10, %ymm14, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 472(%rsi), %ymm1
+ vmovdqu 504(%rsi), %ymm10
+ vpunpcklqdq %ymm2, %ymm9, %ymm5
+ vpunpckhqdq %ymm2, %ymm9, %ymm12
+ vpunpcklqdq %ymm3, %ymm4, %ymm8
+ vpunpckhqdq %ymm3, %ymm4, %ymm6
+ vpunpcklqdq %ymm7, %ymm13, %ymm2
+ vpunpckhqdq %ymm7, %ymm13, %ymm4
+ vpunpcklqdq %ymm11, %ymm14, %ymm3
+ vpunpckhqdq %ymm11, %ymm14, %ymm7
+ vpmullw %ymm2, %ymm1, %ymm11
+ vpmulhw %ymm2, %ymm10, %ymm13
+ vpmullw %ymm4, %ymm1, %ymm14
+ vpmulhw %ymm4, %ymm10, %ymm4
+ vpmullw %ymm3, %ymm1, %ymm2
+ vpmulhw %ymm3, %ymm10, %ymm9
+ vpmullw %ymm7, %ymm1, %ymm3
+ vpmulhw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpmulhw %ymm0, %ymm14, %ymm1
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm4, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm4, %ymm4
+ vpsubw %ymm13, %ymm5, %ymm12
+ vpaddw %ymm5, %ymm13, %ymm13
+ vpsubw %ymm7, %ymm6, %ymm5
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm9
+ vpsubw %ymm10, %ymm13, %ymm12
+ vpaddw %ymm11, %ymm1, %ymm10
+ vpsubw %ymm1, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm2, %ymm7
+ vpsubw %ymm2, %ymm8, %ymm2
+ vpaddw %ymm5, %ymm3, %ymm13
+ vpsubw %ymm3, %ymm6, %ymm6
+ vmovdqu 536(%rsi), %ymm3
+ vmovdqu 568(%rsi), %ymm5
+ vmovsldup %ymm9, %ymm1
+ vpblendd $-86, %ymm1, %ymm12, %ymm11
+ vpsrlq $32, %ymm12, %ymm1
+ vpblendd $-86, %ymm9, %ymm1, %ymm8
+ vmovsldup %ymm10, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm1
+ vpsrlq $32, %ymm4, %ymm4
+ vpblendd $-86, %ymm10, %ymm4, %ymm12
+ vmovsldup %ymm7, %ymm4
+ vpblendd $-86, %ymm4, %ymm2, %ymm9
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm7, %ymm2, %ymm7
+ vmovsldup %ymm13, %ymm2
+ vpblendd $-86, %ymm2, %ymm6, %ymm2
+ vpsrlq $32, %ymm6, %ymm4
+ vpblendd $-86, %ymm13, %ymm4, %ymm13
+ vpmullw %ymm9, %ymm3, %ymm4
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpmullw %ymm7, %ymm3, %ymm14
+ vpmulhw %ymm7, %ymm5, %ymm9
+ vpmullw %ymm2, %ymm3, %ymm6
+ vpmulhw %ymm2, %ymm5, %ymm2
+ vpmullw %ymm13, %ymm3, %ymm7
+ vpmulhw %ymm13, %ymm5, %ymm13
+ vpmulhw %ymm0, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm14, %ymm4
+ vpmulhw %ymm0, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm7, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm9
+ vpaddw %ymm7, %ymm4, %ymm3
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm7
+ vpsubw %ymm5, %ymm1, %ymm13
+ vpaddw %ymm11, %ymm6, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm14
+ vmovdqu 600(%rsi), %ymm5
+ vmovdqu 632(%rsi), %ymm6
+ vpslld $16, %ymm2, %ymm1
+ vpblendw $-86, %ymm1, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm1
+ vpblendw $-86, %ymm2, %ymm1, %ymm8
+ vpslld $16, %ymm3, %ymm1
+ vpblendw $-86, %ymm1, %ymm4, %ymm1
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm12
+ vpslld $16, %ymm7, %ymm2
+ vpblendw $-86, %ymm2, %ymm13, %ymm4
+ vpsrld $16, %ymm13, %ymm2
+ vpblendw $-86, %ymm7, %ymm2, %ymm7
+ vpslld $16, %ymm11, %ymm2
+ vpblendw $-86, %ymm2, %ymm14, %ymm2
+ vpsrld $16, %ymm14, %ymm3
+ vpblendw $-86, %ymm11, %ymm3, %ymm13
+ vpmullw %ymm4, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm6, %ymm11
+ vpmullw %ymm7, %ymm5, %ymm4
+ vpmulhw %ymm7, %ymm6, %ymm9
+ vpmullw %ymm2, %ymm5, %ymm7
+ vpmulhw %ymm2, %ymm6, %ymm2
+ vpmullw %ymm13, %ymm5, %ymm14
+ vpmulhw %ymm13, %ymm6, %ymm13
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpmulhw %ymm0, %ymm7, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpsubw %ymm9, %ymm8, %ymm7
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpsubw %ymm11, %ymm10, %ymm9
+ vpaddw %ymm10, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpsubw %ymm2, %ymm1, %ymm13
+ vpaddw %ymm1, %ymm2, %ymm1
+ vpaddw %ymm9, %ymm3, %ymm2
+ vpsubw %ymm3, %ymm10, %ymm3
+ vpaddw %ymm7, %ymm4, %ymm7
+ vpsubw %ymm4, %ymm8, %ymm4
+ vpaddw %ymm13, %ymm5, %ymm8
+ vpsubw %ymm5, %ymm1, %ymm1
+ vpaddw %ymm11, %ymm6, %ymm5
+ vpsubw %ymm6, %ymm12, %ymm10
+ vmovdqu 664(%rsi), %ymm9
+ vmovdqu 696(%rsi), %ymm13
+ vmovdqu 728(%rsi), %ymm11
+ vmovdqu 760(%rsi), %ymm6
+ vpmullw %ymm1, %ymm9, %ymm14
+ vpmulhw %ymm1, %ymm13, %ymm12
+ vpmullw %ymm10, %ymm9, %ymm9
+ vpmulhw %ymm10, %ymm13, %ymm13
+ vpmullw %ymm8, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm6, %ymm1
+ vpmullw %ymm5, %ymm11, %ymm11
+ vpmulhw %ymm5, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm14, %ymm6
+ vpmulhw %ymm0, %ymm9, %ymm8
+ vpmulhw %ymm0, %ymm10, %ymm9
+ vpmulhw %ymm0, %ymm11, %ymm10
+ vpsubw %ymm13, %ymm4, %ymm11
+ vpaddw %ymm4, %ymm13, %ymm4
+ vpsubw %ymm12, %ymm3, %ymm13
+ vpaddw %ymm3, %ymm12, %ymm3
+ vpsubw %ymm5, %ymm7, %ymm12
+ vpaddw %ymm7, %ymm5, %ymm5
+ vpsubw %ymm1, %ymm2, %ymm7
+ vpaddw %ymm2, %ymm1, %ymm1
+ vpaddw %ymm13, %ymm6, %ymm2
+ vpsubw %ymm6, %ymm3, %ymm3
+ vpaddw %ymm11, %ymm8, %ymm6
+ vpsubw %ymm8, %ymm4, %ymm4
+ vpaddw %ymm7, %ymm9, %ymm7
+ vpsubw %ymm9, %ymm1, %ymm8
+ vpaddw %ymm12, %ymm10, %ymm1
+ vpsubw %ymm10, %ymm5, %ymm5
+ vmovdqu glob_data + 384(%rip), %ymm9
+ vpmulhw %ymm9, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm3
+ vpmulhw %ymm9, %ymm4, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm9, %ymm8, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm8, %ymm8
+ vpmulhw %ymm9, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm5
+ vpmulhw %ymm9, %ymm2, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpmulhw %ymm9, %ymm6, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpmulhw %ymm9, %ymm7, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm9, %ymm1, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm0
+ vpsubw %ymm0, %ymm1, %ymm0
+ vmovdqu %ymm3, 256(%rcx)
+ vmovdqu %ymm4, 288(%rcx)
+ vmovdqu %ymm2, 320(%rcx)
+ vmovdqu %ymm6, 352(%rcx)
+ vmovdqu %ymm8, 384(%rcx)
+ vmovdqu %ymm5, 416(%rcx)
+ vmovdqu %ymm7, 448(%rcx)
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_invntt$1:
+ leaq glob_data + 480(%rip), %rsi
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu (%rsi), %ymm12
+ vmovdqu 64(%rsi), %ymm1
+ vmovdqu 32(%rsi), %ymm2
+ vmovdqu 96(%rsi), %ymm5
+ vmovdqu (%rcx), %ymm3
+ vmovdqu 32(%rcx), %ymm4
+ vmovdqu 64(%rcx), %ymm15
+ vmovdqu 96(%rcx), %ymm11
+ vmovdqu 128(%rcx), %ymm7
+ vmovdqu 160(%rcx), %ymm8
+ vmovdqu 192(%rcx), %ymm13
+ vmovdqu 224(%rcx), %ymm14
+ vpsubw %ymm15, %ymm3, %ymm6
+ vpsubw %ymm11, %ymm4, %ymm9
+ vpsubw %ymm13, %ymm7, %ymm10
+ vpaddw %ymm3, %ymm15, %ymm3
+ vpaddw %ymm4, %ymm11, %ymm4
+ vpmullw %ymm6, %ymm12, %ymm11
+ vpaddw %ymm7, %ymm13, %ymm7
+ vpmullw %ymm9, %ymm12, %ymm12
+ vpsubw %ymm14, %ymm8, %ymm13
+ vpaddw %ymm8, %ymm14, %ymm8
+ vpmullw %ymm10, %ymm1, %ymm14
+ vpmullw %ymm13, %ymm1, %ymm1
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmulhw %ymm9, %ymm2, %ymm2
+ vpmulhw %ymm10, %ymm5, %ymm9
+ vpmulhw %ymm13, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm10
+ vpmulhw %ymm12, %ymm0, %ymm11
+ vpmulhw %ymm14, %ymm0, %ymm12
+ vpmulhw %ymm1, %ymm0, %ymm1
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpsubw %ymm11, %ymm2, %ymm11
+ vpsubw %ymm12, %ymm9, %ymm9
+ vpsubw %ymm1, %ymm5, %ymm13
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu 128(%rsi), %ymm2
+ vmovdqu 160(%rsi), %ymm5
+ vpmulhw %ymm1, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm10
+ vpmulhw %ymm1, %ymm4, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm12
+ vpmulhw %ymm1, %ymm7, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm7, %ymm7
+ vpmulhw %ymm1, %ymm8, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm8, %ymm8
+ vpsubw %ymm7, %ymm10, %ymm15
+ vpsubw %ymm8, %ymm12, %ymm3
+ vpsubw %ymm9, %ymm6, %ymm4
+ vpaddw %ymm10, %ymm7, %ymm7
+ vpaddw %ymm12, %ymm8, %ymm8
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm6, %ymm9, %ymm9
+ vpmullw %ymm3, %ymm2, %ymm6
+ vpsubw %ymm13, %ymm11, %ymm12
+ vpaddw %ymm11, %ymm13, %ymm11
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm12, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm12, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm6, %ymm0, %ymm12
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm6
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm12, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm6, %ymm5, %ymm5
+ vpslld $16, %ymm8, %ymm6
+ vpblendw $-86, %ymm6, %ymm7, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpblendw $-86, %ymm8, %ymm7, %ymm7
+ vpslld $16, %ymm11, %ymm8
+ vpblendw $-86, %ymm8, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm11, %ymm8, %ymm11
+ vpslld $16, %ymm3, %ymm8
+ vpblendw $-86, %ymm8, %ymm2, %ymm8
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm9
+ vpslld $16, %ymm5, %ymm2
+ vpblendw $-86, %ymm2, %ymm4, %ymm12
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm5, %ymm2, %ymm13
+ vmovdqu 192(%rsi), %ymm2
+ vmovdqu 224(%rsi), %ymm5
+ vpsubw %ymm7, %ymm6, %ymm15
+ vpsubw %ymm11, %ymm10, %ymm3
+ vpsubw %ymm9, %ymm8, %ymm4
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpaddw %ymm10, %ymm11, %ymm7
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm3, %ymm2, %ymm9
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm11, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm11, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm9, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm9
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm11, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm9, %ymm5, %ymm5
+ vpmulhw %ymm1, %ymm6, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm6, %ymm6
+ vmovsldup %ymm7, %ymm9
+ vpblendd $-86, %ymm9, %ymm6, %ymm9
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm7, %ymm6, %ymm10
+ vmovsldup %ymm12, %ymm6
+ vpblendd $-86, %ymm6, %ymm8, %ymm11
+ vpsrlq $32, %ymm8, %ymm6
+ vpblendd $-86, %ymm12, %ymm6, %ymm14
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm2, %ymm12
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm13
+ vmovsldup %ymm5, %ymm2
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vpsrlq $32, %ymm4, %ymm3
+ vpblendd $-86, %ymm5, %ymm3, %ymm3
+ vmovdqu 256(%rsi), %ymm4
+ vmovdqu 288(%rsi), %ymm5
+ vpsubw %ymm10, %ymm9, %ymm6
+ vpsubw %ymm14, %ymm11, %ymm7
+ vpsubw %ymm13, %ymm12, %ymm8
+ vpaddw %ymm9, %ymm10, %ymm9
+ vpaddw %ymm11, %ymm14, %ymm10
+ vpmullw %ymm6, %ymm4, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm7, %ymm4, %ymm13
+ vpsubw %ymm3, %ymm2, %ymm14
+ vpaddw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm8, %ymm4, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm4
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpmulhw %ymm7, %ymm5, %ymm7
+ vpmulhw %ymm8, %ymm5, %ymm8
+ vpmulhw %ymm14, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm3, %ymm0, %ymm3
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm11, %ymm6, %ymm6
+ vpsubw %ymm13, %ymm7, %ymm7
+ vpsubw %ymm3, %ymm8, %ymm3
+ vpsubw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm1, %ymm9, %ymm5
+ vpsraw $10, %ymm5, %ymm5
+ vpmullw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm9, %ymm8
+ vpunpcklqdq %ymm10, %ymm8, %ymm5
+ vpunpckhqdq %ymm10, %ymm8, %ymm8
+ vpunpcklqdq %ymm2, %ymm12, %ymm9
+ vpunpckhqdq %ymm2, %ymm12, %ymm2
+ vpunpcklqdq %ymm7, %ymm6, %ymm10
+ vpunpckhqdq %ymm7, %ymm6, %ymm6
+ vpunpcklqdq %ymm4, %ymm3, %ymm7
+ vpunpckhqdq %ymm4, %ymm3, %ymm3
+ vmovdqu 320(%rsi), %ymm4
+ vmovdqu 352(%rsi), %ymm11
+ vpsubw %ymm8, %ymm5, %ymm12
+ vpsubw %ymm2, %ymm9, %ymm13
+ vpsubw %ymm6, %ymm10, %ymm14
+ vpaddw %ymm5, %ymm8, %ymm5
+ vpaddw %ymm9, %ymm2, %ymm2
+ vpmullw %ymm12, %ymm4, %ymm8
+ vpaddw %ymm10, %ymm6, %ymm6
+ vpmullw %ymm13, %ymm4, %ymm9
+ vpsubw %ymm3, %ymm7, %ymm10
+ vpaddw %ymm7, %ymm3, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm7
+ vpmullw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm8, %ymm12, %ymm8
+ vpsubw %ymm9, %ymm13, %ymm9
+ vpsubw %ymm7, %ymm14, %ymm7
+ vpsubw %ymm4, %ymm10, %ymm4
+ vpmulhw %ymm1, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm10
+ vperm2i128 $32, %ymm2, %ymm10, %ymm5
+ vperm2i128 $49, %ymm2, %ymm10, %ymm2
+ vperm2i128 $32, %ymm3, %ymm6, %ymm10
+ vperm2i128 $49, %ymm3, %ymm6, %ymm3
+ vperm2i128 $32, %ymm9, %ymm8, %ymm6
+ vperm2i128 $49, %ymm9, %ymm8, %ymm8
+ vperm2i128 $32, %ymm4, %ymm7, %ymm9
+ vperm2i128 $49, %ymm4, %ymm7, %ymm4
+ vpbroadcastd 384(%rsi), %ymm7
+ vpbroadcastd 388(%rsi), %ymm11
+ vpsubw %ymm2, %ymm5, %ymm12
+ vpsubw %ymm3, %ymm10, %ymm13
+ vpsubw %ymm8, %ymm6, %ymm14
+ vpaddw %ymm5, %ymm2, %ymm2
+ vpaddw %ymm10, %ymm3, %ymm3
+ vpmullw %ymm12, %ymm7, %ymm5
+ vpaddw %ymm6, %ymm8, %ymm6
+ vpmullw %ymm13, %ymm7, %ymm8
+ vpsubw %ymm4, %ymm9, %ymm10
+ vpaddw %ymm9, %ymm4, %ymm4
+ vpmullw %ymm14, %ymm7, %ymm9
+ vpmullw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm5, %ymm0, %ymm5
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpsubw %ymm5, %ymm12, %ymm5
+ vpsubw %ymm8, %ymm13, %ymm8
+ vpsubw %ymm9, %ymm14, %ymm9
+ vpsubw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, (%rcx)
+ vmovdqu %ymm3, 32(%rcx)
+ vmovdqu %ymm6, 64(%rcx)
+ vmovdqu %ymm4, 96(%rcx)
+ vmovdqu %ymm5, 128(%rcx)
+ vmovdqu %ymm8, 160(%rcx)
+ vmovdqu %ymm9, 192(%rcx)
+ vmovdqu %ymm7, 224(%rcx)
+ vmovdqu 392(%rsi), %ymm12
+ vmovdqu 456(%rsi), %ymm1
+ vmovdqu 424(%rsi), %ymm2
+ vmovdqu 488(%rsi), %ymm5
+ vmovdqu 256(%rcx), %ymm3
+ vmovdqu 288(%rcx), %ymm4
+ vmovdqu 320(%rcx), %ymm15
+ vmovdqu 352(%rcx), %ymm11
+ vmovdqu 384(%rcx), %ymm7
+ vmovdqu 416(%rcx), %ymm8
+ vmovdqu 448(%rcx), %ymm13
+ vmovdqu 480(%rcx), %ymm14
+ vpsubw %ymm15, %ymm3, %ymm6
+ vpsubw %ymm11, %ymm4, %ymm9
+ vpsubw %ymm13, %ymm7, %ymm10
+ vpaddw %ymm3, %ymm15, %ymm3
+ vpaddw %ymm4, %ymm11, %ymm4
+ vpmullw %ymm6, %ymm12, %ymm11
+ vpaddw %ymm7, %ymm13, %ymm7
+ vpmullw %ymm9, %ymm12, %ymm12
+ vpsubw %ymm14, %ymm8, %ymm13
+ vpaddw %ymm8, %ymm14, %ymm8
+ vpmullw %ymm10, %ymm1, %ymm14
+ vpmullw %ymm13, %ymm1, %ymm1
+ vpmulhw %ymm6, %ymm2, %ymm6
+ vpmulhw %ymm9, %ymm2, %ymm2
+ vpmulhw %ymm10, %ymm5, %ymm9
+ vpmulhw %ymm13, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm10
+ vpmulhw %ymm12, %ymm0, %ymm11
+ vpmulhw %ymm14, %ymm0, %ymm12
+ vpmulhw %ymm1, %ymm0, %ymm1
+ vpsubw %ymm10, %ymm6, %ymm6
+ vpsubw %ymm11, %ymm2, %ymm11
+ vpsubw %ymm12, %ymm9, %ymm9
+ vpsubw %ymm1, %ymm5, %ymm13
+ vmovdqu glob_data + 384(%rip), %ymm1
+ vmovdqu 520(%rsi), %ymm2
+ vmovdqu 552(%rsi), %ymm5
+ vpmulhw %ymm1, %ymm3, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm3, %ymm10
+ vpmulhw %ymm1, %ymm4, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm12
+ vpmulhw %ymm1, %ymm7, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm7, %ymm7
+ vpmulhw %ymm1, %ymm8, %ymm3
+ vpsraw $10, %ymm3, %ymm3
+ vpmullw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm8, %ymm8
+ vpsubw %ymm7, %ymm10, %ymm15
+ vpsubw %ymm8, %ymm12, %ymm3
+ vpsubw %ymm9, %ymm6, %ymm4
+ vpaddw %ymm10, %ymm7, %ymm7
+ vpaddw %ymm12, %ymm8, %ymm8
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm6, %ymm9, %ymm9
+ vpmullw %ymm3, %ymm2, %ymm6
+ vpsubw %ymm13, %ymm11, %ymm12
+ vpaddw %ymm11, %ymm13, %ymm11
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm12, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm12, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm6, %ymm0, %ymm12
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm6
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm12, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm6, %ymm5, %ymm5
+ vpslld $16, %ymm8, %ymm6
+ vpblendw $-86, %ymm6, %ymm7, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpblendw $-86, %ymm8, %ymm7, %ymm7
+ vpslld $16, %ymm11, %ymm8
+ vpblendw $-86, %ymm8, %ymm9, %ymm10
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm11, %ymm8, %ymm11
+ vpslld $16, %ymm3, %ymm8
+ vpblendw $-86, %ymm8, %ymm2, %ymm8
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm9
+ vpslld $16, %ymm5, %ymm2
+ vpblendw $-86, %ymm2, %ymm4, %ymm12
+ vpsrld $16, %ymm4, %ymm2
+ vpblendw $-86, %ymm5, %ymm2, %ymm13
+ vmovdqu 584(%rsi), %ymm2
+ vmovdqu 616(%rsi), %ymm5
+ vpsubw %ymm7, %ymm6, %ymm15
+ vpsubw %ymm11, %ymm10, %ymm3
+ vpsubw %ymm9, %ymm8, %ymm4
+ vpaddw %ymm6, %ymm7, %ymm6
+ vpaddw %ymm10, %ymm11, %ymm7
+ vpmullw %ymm15, %ymm2, %ymm10
+ vpaddw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm3, %ymm2, %ymm9
+ vpsubw %ymm13, %ymm12, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm4, %ymm2, %ymm13
+ vpmullw %ymm11, %ymm2, %ymm14
+ vpmulhw %ymm15, %ymm5, %ymm2
+ vpmulhw %ymm3, %ymm5, %ymm3
+ vpmulhw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm11, %ymm5, %ymm5
+ vpmulhw %ymm10, %ymm0, %ymm10
+ vpmulhw %ymm9, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm14, %ymm0, %ymm9
+ vpsubw %ymm10, %ymm2, %ymm2
+ vpsubw %ymm11, %ymm3, %ymm3
+ vpsubw %ymm13, %ymm4, %ymm4
+ vpsubw %ymm9, %ymm5, %ymm5
+ vpmulhw %ymm1, %ymm6, %ymm9
+ vpsraw $10, %ymm9, %ymm9
+ vpmullw %ymm0, %ymm9, %ymm9
+ vpsubw %ymm9, %ymm6, %ymm6
+ vmovsldup %ymm7, %ymm9
+ vpblendd $-86, %ymm9, %ymm6, %ymm9
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm7, %ymm6, %ymm10
+ vmovsldup %ymm12, %ymm6
+ vpblendd $-86, %ymm6, %ymm8, %ymm11
+ vpsrlq $32, %ymm8, %ymm6
+ vpblendd $-86, %ymm12, %ymm6, %ymm14
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm2, %ymm12
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm13
+ vmovsldup %ymm5, %ymm2
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vpsrlq $32, %ymm4, %ymm3
+ vpblendd $-86, %ymm5, %ymm3, %ymm3
+ vmovdqu 648(%rsi), %ymm4
+ vmovdqu 680(%rsi), %ymm5
+ vpsubw %ymm10, %ymm9, %ymm6
+ vpsubw %ymm14, %ymm11, %ymm7
+ vpsubw %ymm13, %ymm12, %ymm8
+ vpaddw %ymm9, %ymm10, %ymm9
+ vpaddw %ymm11, %ymm14, %ymm10
+ vpmullw %ymm6, %ymm4, %ymm11
+ vpaddw %ymm12, %ymm13, %ymm12
+ vpmullw %ymm7, %ymm4, %ymm13
+ vpsubw %ymm3, %ymm2, %ymm14
+ vpaddw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm8, %ymm4, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm4
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpmulhw %ymm7, %ymm5, %ymm7
+ vpmulhw %ymm8, %ymm5, %ymm8
+ vpmulhw %ymm14, %ymm5, %ymm5
+ vpmulhw %ymm11, %ymm0, %ymm11
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm3, %ymm0, %ymm3
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm11, %ymm6, %ymm6
+ vpsubw %ymm13, %ymm7, %ymm7
+ vpsubw %ymm3, %ymm8, %ymm3
+ vpsubw %ymm4, %ymm5, %ymm4
+ vpmulhw %ymm1, %ymm9, %ymm5
+ vpsraw $10, %ymm5, %ymm5
+ vpmullw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm9, %ymm8
+ vpunpcklqdq %ymm10, %ymm8, %ymm5
+ vpunpckhqdq %ymm10, %ymm8, %ymm8
+ vpunpcklqdq %ymm2, %ymm12, %ymm9
+ vpunpckhqdq %ymm2, %ymm12, %ymm2
+ vpunpcklqdq %ymm7, %ymm6, %ymm10
+ vpunpckhqdq %ymm7, %ymm6, %ymm6
+ vpunpcklqdq %ymm4, %ymm3, %ymm7
+ vpunpckhqdq %ymm4, %ymm3, %ymm3
+ vmovdqu 712(%rsi), %ymm4
+ vmovdqu 744(%rsi), %ymm11
+ vpsubw %ymm8, %ymm5, %ymm12
+ vpsubw %ymm2, %ymm9, %ymm13
+ vpsubw %ymm6, %ymm10, %ymm14
+ vpaddw %ymm5, %ymm8, %ymm5
+ vpaddw %ymm9, %ymm2, %ymm2
+ vpmullw %ymm12, %ymm4, %ymm8
+ vpaddw %ymm10, %ymm6, %ymm6
+ vpmullw %ymm13, %ymm4, %ymm9
+ vpsubw %ymm3, %ymm7, %ymm10
+ vpaddw %ymm7, %ymm3, %ymm3
+ vpmullw %ymm14, %ymm4, %ymm7
+ vpmullw %ymm10, %ymm4, %ymm4
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpmulhw %ymm4, %ymm0, %ymm4
+ vpsubw %ymm8, %ymm12, %ymm8
+ vpsubw %ymm9, %ymm13, %ymm9
+ vpsubw %ymm7, %ymm14, %ymm7
+ vpsubw %ymm4, %ymm10, %ymm4
+ vpmulhw %ymm1, %ymm5, %ymm10
+ vpsraw $10, %ymm10, %ymm10
+ vpmullw %ymm0, %ymm10, %ymm10
+ vpsubw %ymm10, %ymm5, %ymm10
+ vperm2i128 $32, %ymm2, %ymm10, %ymm5
+ vperm2i128 $49, %ymm2, %ymm10, %ymm2
+ vperm2i128 $32, %ymm3, %ymm6, %ymm10
+ vperm2i128 $49, %ymm3, %ymm6, %ymm3
+ vperm2i128 $32, %ymm9, %ymm8, %ymm6
+ vperm2i128 $49, %ymm9, %ymm8, %ymm8
+ vperm2i128 $32, %ymm4, %ymm7, %ymm9
+ vperm2i128 $49, %ymm4, %ymm7, %ymm4
+ vpbroadcastd 776(%rsi), %ymm7
+ vpbroadcastd 780(%rsi), %ymm11
+ vpsubw %ymm2, %ymm5, %ymm12
+ vpsubw %ymm3, %ymm10, %ymm13
+ vpsubw %ymm8, %ymm6, %ymm14
+ vpaddw %ymm5, %ymm2, %ymm2
+ vpaddw %ymm10, %ymm3, %ymm3
+ vpmullw %ymm12, %ymm7, %ymm5
+ vpaddw %ymm6, %ymm8, %ymm6
+ vpmullw %ymm13, %ymm7, %ymm8
+ vpsubw %ymm4, %ymm9, %ymm10
+ vpaddw %ymm9, %ymm4, %ymm4
+ vpmullw %ymm14, %ymm7, %ymm9
+ vpmullw %ymm10, %ymm7, %ymm7
+ vpmulhw %ymm12, %ymm11, %ymm12
+ vpmulhw %ymm13, %ymm11, %ymm13
+ vpmulhw %ymm14, %ymm11, %ymm14
+ vpmulhw %ymm10, %ymm11, %ymm10
+ vpmulhw %ymm5, %ymm0, %ymm5
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpmulhw %ymm7, %ymm0, %ymm7
+ vpsubw %ymm5, %ymm12, %ymm5
+ vpsubw %ymm8, %ymm13, %ymm8
+ vpsubw %ymm9, %ymm14, %ymm9
+ vpsubw %ymm7, %ymm10, %ymm7
+ vpmulhw %ymm1, %ymm2, %ymm1
+ vpsraw $10, %ymm1, %ymm1
+ vpmullw %ymm0, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm2, %ymm10
+ vmovdqu %ymm5, 384(%rcx)
+ vmovdqu %ymm8, 416(%rcx)
+ vmovdqu %ymm9, 448(%rcx)
+ vmovdqu %ymm7, 480(%rcx)
+ vpbroadcastd 784(%rsi), %ymm1
+ vpbroadcastd 788(%rsi), %ymm2
+ vmovdqu %ymm4, %ymm7
+ vmovdqu %ymm3, %ymm4
+ vmovdqu %ymm10, %ymm3
+ vmovdqu (%rcx), %ymm9
+ vmovdqu 32(%rcx), %ymm13
+ vmovdqu 64(%rcx), %ymm5
+ vmovdqu 96(%rcx), %ymm8
+ vpsubw %ymm3, %ymm9, %ymm10
+ vpsubw %ymm4, %ymm13, %ymm11
+ vpsubw %ymm6, %ymm5, %ymm12
+ vpaddw %ymm9, %ymm3, %ymm3
+ vpaddw %ymm13, %ymm4, %ymm4
+ vpmullw %ymm10, %ymm1, %ymm13
+ vpaddw %ymm5, %ymm6, %ymm5
+ vpmullw %ymm11, %ymm1, %ymm6
+ vpsubw %ymm7, %ymm8, %ymm14
+ vpaddw %ymm8, %ymm7, %ymm7
+ vpmullw %ymm12, %ymm1, %ymm8
+ vpmullw %ymm14, %ymm1, %ymm9
+ vpmulhw %ymm10, %ymm2, %ymm10
+ vpmulhw %ymm11, %ymm2, %ymm11
+ vpmulhw %ymm12, %ymm2, %ymm12
+ vpmulhw %ymm14, %ymm2, %ymm14
+ vpmulhw %ymm13, %ymm0, %ymm13
+ vpmulhw %ymm6, %ymm0, %ymm6
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm9, %ymm0, %ymm9
+ vpsubw %ymm13, %ymm10, %ymm10
+ vpsubw %ymm6, %ymm11, %ymm6
+ vpsubw %ymm8, %ymm12, %ymm11
+ vpsubw %ymm9, %ymm14, %ymm12
+ vmovdqu glob_data + 320(%rip), %ymm8
+ vmovdqu glob_data + 352(%rip), %ymm9
+ vmovdqu %ymm10, 256(%rcx)
+ vmovdqu %ymm6, 288(%rcx)
+ vmovdqu %ymm11, 320(%rcx)
+ vmovdqu %ymm12, 352(%rcx)
+ vpmullw %ymm3, %ymm8, %ymm6
+ vpmulhw %ymm3, %ymm9, %ymm3
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm3, %ymm3
+ vpmullw %ymm4, %ymm8, %ymm6
+ vpmulhw %ymm4, %ymm9, %ymm4
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vpmullw %ymm5, %ymm8, %ymm6
+ vpmulhw %ymm5, %ymm9, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm5, %ymm5
+ vpmullw %ymm7, %ymm8, %ymm6
+ vpmulhw %ymm7, %ymm9, %ymm7
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm7, %ymm6
+ vmovdqu %ymm3, (%rcx)
+ vmovdqu %ymm4, 32(%rcx)
+ vmovdqu %ymm5, 64(%rcx)
+ vmovdqu %ymm6, 96(%rcx)
+ vmovdqu 384(%rcx), %ymm4
+ vmovdqu 416(%rcx), %ymm5
+ vmovdqu 448(%rcx), %ymm7
+ vmovdqu 480(%rcx), %ymm10
+ vmovdqu 128(%rcx), %ymm6
+ vmovdqu 160(%rcx), %ymm9
+ vmovdqu 192(%rcx), %ymm8
+ vmovdqu 224(%rcx), %ymm11
+ vpsubw %ymm4, %ymm6, %ymm12
+ vpsubw %ymm5, %ymm9, %ymm13
+ vpsubw %ymm7, %ymm8, %ymm3
+ vpaddw %ymm6, %ymm4, %ymm4
+ vpaddw %ymm9, %ymm5, %ymm5
+ vpmullw %ymm12, %ymm1, %ymm6
+ vpaddw %ymm8, %ymm7, %ymm7
+ vpmullw %ymm13, %ymm1, %ymm8
+ vpsubw %ymm10, %ymm11, %ymm9
+ vpaddw %ymm11, %ymm10, %ymm10
+ vpmullw %ymm3, %ymm1, %ymm11
+ vpmullw %ymm9, %ymm1, %ymm1
+ vpmulhw %ymm12, %ymm2, %ymm12
+ vpmulhw %ymm13, %ymm2, %ymm13
+ vpmulhw %ymm3, %ymm2, %ymm3
+ vpmulhw %ymm9, %ymm2, %ymm2
+ vpmulhw %ymm6, %ymm0, %ymm6
+ vpmulhw %ymm8, %ymm0, %ymm8
+ vpmulhw %ymm11, %ymm0, %ymm9
+ vpmulhw %ymm1, %ymm0, %ymm11
+ vpsubw %ymm6, %ymm12, %ymm1
+ vpsubw %ymm8, %ymm13, %ymm6
+ vpsubw %ymm9, %ymm3, %ymm8
+ vpsubw %ymm11, %ymm2, %ymm9
+ vmovdqu glob_data + 320(%rip), %ymm2
+ vmovdqu glob_data + 352(%rip), %ymm3
+ vmovdqu %ymm1, 384(%rcx)
+ vmovdqu %ymm6, 416(%rcx)
+ vmovdqu %ymm8, 448(%rcx)
+ vmovdqu %ymm9, 480(%rcx)
+ vpmullw %ymm4, %ymm2, %ymm1
+ vpmulhw %ymm4, %ymm3, %ymm4
+ vpmulhw %ymm0, %ymm1, %ymm1
+ vpsubw %ymm1, %ymm4, %ymm1
+ vpmullw %ymm5, %ymm2, %ymm4
+ vpmulhw %ymm5, %ymm3, %ymm5
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm7, %ymm2, %ymm5
+ vpmulhw %ymm7, %ymm3, %ymm6
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm6, %ymm5
+ vpmullw %ymm10, %ymm2, %ymm2
+ vpmulhw %ymm10, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm0
+ vpsubw %ymm0, %ymm3, %ymm0
+ vmovdqu %ymm1, 128(%rcx)
+ vmovdqu %ymm4, 160(%rcx)
+ vmovdqu %ymm5, 192(%rcx)
+ vmovdqu %ymm0, 224(%rcx)
+ ret
+L_poly_getnoise_eta1_4x$1:
+ movq %rax, 1472(%rsp)
+ vmovdqu (%r10), %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 352(%rsp)
+ vmovdqu %ymm0, 512(%rsp)
+ movb %cl, 64(%rsp)
+ incb %cl
+ movb %cl, 224(%rsp)
+ incb %cl
+ movb %cl, 384(%rsp)
+ incb %cl
+ movb %cl, 544(%rsp)
+ leaq 672(%rsp), %rax
+ leaq 32(%rsp), %rcx
+ leaq 192(%rsp), %rdx
+ leaq 352(%rsp), %rsi
+ leaq 512(%rsp), %r11
+ call L_shake256_absorb4x_33$1
+L_poly_getnoise_eta1_4x$3:
+ leaq 672(%rsp), %rax
+ leaq 32(%rsp), %rcx
+ leaq 192(%rsp), %rdx
+ leaq 352(%rsp), %rsi
+ leaq 512(%rsp), %r11
+ movq %rcx, %rbx
+ movq %rdx, %rbp
+ movq %rsi, %r12
+ leaq -824(%rsp), %rsp
+ call L_keccakf1600_4x_avx2$1
+L_poly_getnoise_eta1_4x$2:
+ leaq 824(%rsp), %rsp
+ vmovdqu (%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, (%rbx)
+ vmovhpd %xmm1, (%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, (%r12)
+ vmovhpd %xmm0, (%r11)
+ vmovdqu 32(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 8(%rbx)
+ vmovhpd %xmm1, 8(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 8(%r12)
+ vmovhpd %xmm0, 8(%r11)
+ vmovdqu 64(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 16(%rbx)
+ vmovhpd %xmm1, 16(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 16(%r12)
+ vmovhpd %xmm0, 16(%r11)
+ vmovdqu 96(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 24(%rbx)
+ vmovhpd %xmm1, 24(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 24(%r12)
+ vmovhpd %xmm0, 24(%r11)
+ vmovdqu 128(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 32(%rbx)
+ vmovhpd %xmm1, 32(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 32(%r12)
+ vmovhpd %xmm0, 32(%r11)
+ vmovdqu 160(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 40(%rbx)
+ vmovhpd %xmm1, 40(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 40(%r12)
+ vmovhpd %xmm0, 40(%r11)
+ vmovdqu 192(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 48(%rbx)
+ vmovhpd %xmm1, 48(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 48(%r12)
+ vmovhpd %xmm0, 48(%r11)
+ vmovdqu 224(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 56(%rbx)
+ vmovhpd %xmm1, 56(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 56(%r12)
+ vmovhpd %xmm0, 56(%r11)
+ vmovdqu 256(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 64(%rbx)
+ vmovhpd %xmm1, 64(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 64(%r12)
+ vmovhpd %xmm0, 64(%r11)
+ vmovdqu 288(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 72(%rbx)
+ vmovhpd %xmm1, 72(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 72(%r12)
+ vmovhpd %xmm0, 72(%r11)
+ vmovdqu 320(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 80(%rbx)
+ vmovhpd %xmm1, 80(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 80(%r12)
+ vmovhpd %xmm0, 80(%r11)
+ vmovdqu 352(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 88(%rbx)
+ vmovhpd %xmm1, 88(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 88(%r12)
+ vmovhpd %xmm0, 88(%r11)
+ vmovdqu 384(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 96(%rbx)
+ vmovhpd %xmm1, 96(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 96(%r12)
+ vmovhpd %xmm0, 96(%r11)
+ vmovdqu 416(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 104(%rbx)
+ vmovhpd %xmm1, 104(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 104(%r12)
+ vmovhpd %xmm0, 104(%r11)
+ vmovdqu 448(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 112(%rbx)
+ vmovhpd %xmm1, 112(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 112(%r12)
+ vmovhpd %xmm0, 112(%r11)
+ vmovdqu 480(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 120(%rbx)
+ vmovhpd %xmm1, 120(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 120(%r12)
+ vmovhpd %xmm0, 120(%r11)
+ vmovdqu 512(%rax), %ymm0
+ vmovdqu %xmm0, %xmm1
+ vmovlpd %xmm1, 128(%rbx)
+ vmovhpd %xmm1, 128(%rbp)
+ vextracti128 $1, %ymm0, %xmm0
+ vmovlpd %xmm0, 128(%r12)
+ vmovhpd %xmm0, 128(%r11)
+ movq 1472(%rsp), %rax
+ leaq 32(%rsp), %rcx
+ movl $1431655765, 1480(%rsp)
+ movl $858993459, 1484(%rsp)
+ movl $50529027, 1488(%rsp)
+ movl $252645135, 1492(%rsp)
+ vpbroadcastd 1480(%rsp), %ymm0
+ vpbroadcastd 1484(%rsp), %ymm1
+ vpbroadcastd 1488(%rsp), %ymm2
+ vpbroadcastd 1492(%rsp), %ymm3
+ vmovdqu (%rcx), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%rax)
+ vmovdqu %ymm7, 32(%rax)
+ vmovdqu %ymm6, 64(%rax)
+ vmovdqu %ymm4, 96(%rax)
+ vmovdqu 32(%rcx), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%rax)
+ vmovdqu %ymm7, 160(%rax)
+ vmovdqu %ymm6, 192(%rax)
+ vmovdqu %ymm4, 224(%rax)
+ vmovdqu 64(%rcx), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%rax)
+ vmovdqu %ymm7, 288(%rax)
+ vmovdqu %ymm6, 320(%rax)
+ vmovdqu %ymm4, 352(%rax)
+ vmovdqu 96(%rcx), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%rax)
+ vmovdqu %ymm3, 416(%rax)
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu %ymm0, 480(%rax)
+ leaq 192(%rsp), %rax
+ movl $1431655765, 1492(%rsp)
+ movl $858993459, 1488(%rsp)
+ movl $50529027, 1484(%rsp)
+ movl $252645135, 1480(%rsp)
+ vpbroadcastd 1492(%rsp), %ymm0
+ vpbroadcastd 1488(%rsp), %ymm1
+ vpbroadcastd 1484(%rsp), %ymm2
+ vpbroadcastd 1480(%rsp), %ymm3
+ vmovdqu (%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%rdi)
+ vmovdqu %ymm7, 32(%rdi)
+ vmovdqu %ymm6, 64(%rdi)
+ vmovdqu %ymm4, 96(%rdi)
+ vmovdqu 32(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%rdi)
+ vmovdqu %ymm7, 160(%rdi)
+ vmovdqu %ymm6, 192(%rdi)
+ vmovdqu %ymm4, 224(%rdi)
+ vmovdqu 64(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%rdi)
+ vmovdqu %ymm7, 288(%rdi)
+ vmovdqu %ymm6, 320(%rdi)
+ vmovdqu %ymm4, 352(%rdi)
+ vmovdqu 96(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%rdi)
+ vmovdqu %ymm3, 416(%rdi)
+ vmovdqu %ymm2, 448(%rdi)
+ vmovdqu %ymm0, 480(%rdi)
+ leaq 352(%rsp), %rax
+ movl $1431655765, 1480(%rsp)
+ movl $858993459, 1484(%rsp)
+ movl $50529027, 1488(%rsp)
+ movl $252645135, 1492(%rsp)
+ vpbroadcastd 1480(%rsp), %ymm0
+ vpbroadcastd 1484(%rsp), %ymm1
+ vpbroadcastd 1488(%rsp), %ymm2
+ vpbroadcastd 1492(%rsp), %ymm3
+ vmovdqu (%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%r8)
+ vmovdqu %ymm7, 32(%r8)
+ vmovdqu %ymm6, 64(%r8)
+ vmovdqu %ymm4, 96(%r8)
+ vmovdqu 32(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%r8)
+ vmovdqu %ymm7, 160(%r8)
+ vmovdqu %ymm6, 192(%r8)
+ vmovdqu %ymm4, 224(%r8)
+ vmovdqu 64(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%r8)
+ vmovdqu %ymm7, 288(%r8)
+ vmovdqu %ymm6, 320(%r8)
+ vmovdqu %ymm4, 352(%r8)
+ vmovdqu 96(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%r8)
+ vmovdqu %ymm3, 416(%r8)
+ vmovdqu %ymm2, 448(%r8)
+ vmovdqu %ymm0, 480(%r8)
+ leaq 512(%rsp), %rax
+ movl $1431655765, 1492(%rsp)
+ movl $858993459, 1488(%rsp)
+ movl $50529027, 1484(%rsp)
+ movl $252645135, 1480(%rsp)
+ vpbroadcastd 1492(%rsp), %ymm0
+ vpbroadcastd 1488(%rsp), %ymm1
+ vpbroadcastd 1484(%rsp), %ymm2
+ vpbroadcastd 1480(%rsp), %ymm3
+ vmovdqu (%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, (%r9)
+ vmovdqu %ymm7, 32(%r9)
+ vmovdqu %ymm6, 64(%r9)
+ vmovdqu %ymm4, 96(%r9)
+ vmovdqu 32(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 128(%r9)
+ vmovdqu %ymm7, 160(%r9)
+ vmovdqu %ymm6, 192(%r9)
+ vmovdqu %ymm4, 224(%r9)
+ vmovdqu 64(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm5
+ vpaddb %ymm5, %ymm4, %ymm4
+ vpsrlw $2, %ymm4, %ymm5
+ vpand %ymm4, %ymm1, %ymm4
+ vpand %ymm5, %ymm1, %ymm5
+ vpaddb %ymm1, %ymm4, %ymm4
+ vpsubb %ymm5, %ymm4, %ymm4
+ vpsrlw $4, %ymm4, %ymm5
+ vpand %ymm4, %ymm3, %ymm4
+ vpand %ymm5, %ymm3, %ymm5
+ vpsubb %ymm2, %ymm4, %ymm4
+ vpsubb %ymm2, %ymm5, %ymm5
+ vpunpcklbw %ymm5, %ymm4, %ymm6
+ vpunpckhbw %ymm5, %ymm4, %ymm4
+ vmovdqu %xmm6, %xmm5
+ vpmovsxbw %xmm5, %ymm5
+ vextracti128 $1, %ymm6, %xmm6
+ vpmovsxbw %xmm6, %ymm6
+ vmovdqu %xmm4, %xmm7
+ vpmovsxbw %xmm7, %ymm7
+ vextracti128 $1, %ymm4, %xmm4
+ vpmovsxbw %xmm4, %ymm4
+ vmovdqu %ymm5, 256(%r9)
+ vmovdqu %ymm7, 288(%r9)
+ vmovdqu %ymm6, 320(%r9)
+ vmovdqu %ymm4, 352(%r9)
+ vmovdqu 96(%rax), %ymm4
+ vpsrlw $1, %ymm4, %ymm5
+ vpand %ymm4, %ymm0, %ymm4
+ vpand %ymm5, %ymm0, %ymm0
+ vpaddb %ymm0, %ymm4, %ymm0
+ vpsrlw $2, %ymm0, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpand %ymm4, %ymm1, %ymm4
+ vpaddb %ymm1, %ymm0, %ymm0
+ vpsubb %ymm4, %ymm0, %ymm0
+ vpsrlw $4, %ymm0, %ymm1
+ vpand %ymm0, %ymm3, %ymm0
+ vpand %ymm1, %ymm3, %ymm1
+ vpsubb %ymm2, %ymm0, %ymm0
+ vpsubb %ymm2, %ymm1, %ymm1
+ vpunpcklbw %ymm1, %ymm0, %ymm2
+ vpunpckhbw %ymm1, %ymm0, %ymm0
+ vmovdqu %xmm2, %xmm1
+ vpmovsxbw %xmm1, %ymm1
+ vextracti128 $1, %ymm2, %xmm2
+ vpmovsxbw %xmm2, %ymm2
+ vmovdqu %xmm0, %xmm3
+ vpmovsxbw %xmm3, %ymm3
+ vextracti128 $1, %ymm0, %xmm0
+ vpmovsxbw %xmm0, %ymm0
+ vmovdqu %ymm1, 384(%r9)
+ vmovdqu %ymm3, 416(%r9)
+ vmovdqu %ymm2, 448(%r9)
+ vmovdqu %ymm0, 480(%r9)
+ ret
+L_poly_frommsg_1$1:
+ leaq glob_data + 256(%rip), %rsi
+ vmovdqu (%rsi), %ymm0
+ vbroadcasti128 glob_data + 4112(%rip), %ymm1
+ vbroadcasti128 glob_data + 4096(%rip), %ymm2
+ vmovdqu (%rdi), %ymm3
+ vpshufd $0, %ymm3, %ymm4
+ vpsllvd %ymm1, %ymm4, %ymm4
+ vpshufb %ymm2, %ymm4, %ymm4
+ vpsllw $12, %ymm4, %ymm5
+ vpsllw $8, %ymm4, %ymm6
+ vpsllw $4, %ymm4, %ymm7
+ vpsraw $15, %ymm5, %ymm5
+ vpsraw $15, %ymm6, %ymm6
+ vpsraw $15, %ymm7, %ymm7
+ vpsraw $15, %ymm4, %ymm4
+ vpand %ymm0, %ymm5, %ymm5
+ vpand %ymm0, %ymm6, %ymm6
+ vpand %ymm0, %ymm7, %ymm7
+ vpand %ymm0, %ymm4, %ymm4
+ vpunpcklqdq %ymm6, %ymm5, %ymm8
+ vpunpckhqdq %ymm6, %ymm5, %ymm5
+ vpunpcklqdq %ymm4, %ymm7, %ymm6
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vperm2i128 $32, %ymm4, %ymm5, %ymm8
+ vperm2i128 $49, %ymm4, %ymm5, %ymm4
+ vmovdqu %ymm7, (%rax)
+ vmovdqu %ymm8, 32(%rax)
+ vmovdqu %ymm6, 256(%rax)
+ vmovdqu %ymm4, 288(%rax)
+ vpshufd $85, %ymm3, %ymm4
+ vpsllvd %ymm1, %ymm4, %ymm4
+ vpshufb %ymm2, %ymm4, %ymm4
+ vpsllw $12, %ymm4, %ymm5
+ vpsllw $8, %ymm4, %ymm6
+ vpsllw $4, %ymm4, %ymm7
+ vpsraw $15, %ymm5, %ymm5
+ vpsraw $15, %ymm6, %ymm6
+ vpsraw $15, %ymm7, %ymm7
+ vpsraw $15, %ymm4, %ymm4
+ vpand %ymm0, %ymm5, %ymm5
+ vpand %ymm0, %ymm6, %ymm6
+ vpand %ymm0, %ymm7, %ymm7
+ vpand %ymm0, %ymm4, %ymm4
+ vpunpcklqdq %ymm6, %ymm5, %ymm8
+ vpunpckhqdq %ymm6, %ymm5, %ymm5
+ vpunpcklqdq %ymm4, %ymm7, %ymm6
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vperm2i128 $32, %ymm4, %ymm5, %ymm8
+ vperm2i128 $49, %ymm4, %ymm5, %ymm4
+ vmovdqu %ymm7, 64(%rax)
+ vmovdqu %ymm8, 96(%rax)
+ vmovdqu %ymm6, 320(%rax)
+ vmovdqu %ymm4, 352(%rax)
+ vpshufd $-86, %ymm3, %ymm4
+ vpsllvd %ymm1, %ymm4, %ymm4
+ vpshufb %ymm2, %ymm4, %ymm4
+ vpsllw $12, %ymm4, %ymm5
+ vpsllw $8, %ymm4, %ymm6
+ vpsllw $4, %ymm4, %ymm7
+ vpsraw $15, %ymm5, %ymm5
+ vpsraw $15, %ymm6, %ymm6
+ vpsraw $15, %ymm7, %ymm7
+ vpsraw $15, %ymm4, %ymm4
+ vpand %ymm0, %ymm5, %ymm5
+ vpand %ymm0, %ymm6, %ymm6
+ vpand %ymm0, %ymm7, %ymm7
+ vpand %ymm0, %ymm4, %ymm4
+ vpunpcklqdq %ymm6, %ymm5, %ymm8
+ vpunpckhqdq %ymm6, %ymm5, %ymm5
+ vpunpcklqdq %ymm4, %ymm7, %ymm6
+ vpunpckhqdq %ymm4, %ymm7, %ymm4
+ vperm2i128 $32, %ymm6, %ymm8, %ymm7
+ vperm2i128 $49, %ymm6, %ymm8, %ymm6
+ vperm2i128 $32, %ymm4, %ymm5, %ymm8
+ vperm2i128 $49, %ymm4, %ymm5, %ymm4
+ vmovdqu %ymm7, 128(%rax)
+ vmovdqu %ymm8, 160(%rax)
+ vmovdqu %ymm6, 384(%rax)
+ vmovdqu %ymm4, 416(%rax)
+ vpshufd $-1, %ymm3, %ymm3
+ vpsllvd %ymm1, %ymm3, %ymm1
+ vpshufb %ymm2, %ymm1, %ymm1
+ vpsllw $12, %ymm1, %ymm2
+ vpsllw $8, %ymm1, %ymm3
+ vpsllw $4, %ymm1, %ymm4
+ vpsraw $15, %ymm2, %ymm2
+ vpsraw $15, %ymm3, %ymm3
+ vpsraw $15, %ymm4, %ymm4
+ vpsraw $15, %ymm1, %ymm1
+ vpand %ymm0, %ymm2, %ymm2
+ vpand %ymm0, %ymm3, %ymm3
+ vpand %ymm0, %ymm4, %ymm4
+ vpand %ymm0, %ymm1, %ymm0
+ vpunpcklqdq %ymm3, %ymm2, %ymm1
+ vpunpckhqdq %ymm3, %ymm2, %ymm2
+ vpunpcklqdq %ymm0, %ymm4, %ymm3
+ vpunpckhqdq %ymm0, %ymm4, %ymm0
+ vperm2i128 $32, %ymm3, %ymm1, %ymm4
+ vperm2i128 $49, %ymm3, %ymm1, %ymm1
+ vperm2i128 $32, %ymm0, %ymm2, %ymm3
+ vperm2i128 $49, %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm4, 192(%rax)
+ vmovdqu %ymm3, 224(%rax)
+ vmovdqu %ymm1, 448(%rax)
+ vmovdqu %ymm0, 480(%rax)
+ ret
+L_poly_frommont$1:
+ leaq glob_data + 448(%rip), %rcx
+ vmovdqu (%rcx), %ymm0
+ leaq glob_data + 416(%rip), %rcx
+ vmovdqu (%rcx), %ymm1
+ leaq glob_data + 160(%rip), %rcx
+ vmovdqu (%rcx), %ymm2
+ vmovdqu (%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, (%rax)
+ vmovdqu 32(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 32(%rax)
+ vmovdqu 64(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 64(%rax)
+ vmovdqu 96(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 96(%rax)
+ vmovdqu 128(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 128(%rax)
+ vmovdqu 160(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 160(%rax)
+ vmovdqu 192(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 192(%rax)
+ vmovdqu 224(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 224(%rax)
+ vmovdqu 256(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 256(%rax)
+ vmovdqu 288(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 288(%rax)
+ vmovdqu 320(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 320(%rax)
+ vmovdqu 352(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 352(%rax)
+ vmovdqu 384(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 384(%rax)
+ vmovdqu 416(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 416(%rax)
+ vmovdqu 448(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm3
+ vpmullw %ymm1, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm4, %ymm3
+ vmovdqu %ymm3, 448(%rax)
+ vmovdqu 480(%rax), %ymm3
+ vpmulhw %ymm2, %ymm3, %ymm4
+ vpmullw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm1, %ymm2, %ymm1
+ vpmulhw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm4, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ ret
+L_poly_frombytes$1:
+ leaq glob_data + 288(%rip), %r9
+ vmovdqu (%r9), %ymm0
+ vmovdqu (%rsi), %ymm1
+ vmovdqu 32(%rsi), %ymm2
+ vmovdqu 64(%rsi), %ymm3
+ vmovdqu 96(%rsi), %ymm4
+ vmovdqu 128(%rsi), %ymm5
+ vmovdqu 160(%rsi), %ymm6
+ vperm2i128 $32, %ymm4, %ymm1, %ymm7
+ vperm2i128 $49, %ymm4, %ymm1, %ymm4
+ vperm2i128 $32, %ymm5, %ymm2, %ymm8
+ vperm2i128 $49, %ymm5, %ymm2, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm5
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vpunpcklqdq %ymm1, %ymm7, %ymm6
+ vpunpckhqdq %ymm1, %ymm7, %ymm1
+ vpunpcklqdq %ymm5, %ymm4, %ymm2
+ vpunpckhqdq %ymm5, %ymm4, %ymm5
+ vpunpcklqdq %ymm3, %ymm8, %ymm7
+ vpunpckhqdq %ymm3, %ymm8, %ymm3
+ vmovsldup %ymm5, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm5, %ymm6, %ymm5
+ vmovsldup %ymm7, %ymm6
+ vpblendd $-86, %ymm6, %ymm1, %ymm6
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm7, %ymm1, %ymm7
+ vmovsldup %ymm3, %ymm1
+ vpblendd $-86, %ymm1, %ymm2, %ymm1
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm2
+ vpslld $16, %ymm7, %ymm3
+ vpblendw $-86, %ymm3, %ymm4, %ymm3
+ vpsrld $16, %ymm4, %ymm4
+ vpblendw $-86, %ymm7, %ymm4, %ymm4
+ vpslld $16, %ymm1, %ymm7
+ vpblendw $-86, %ymm7, %ymm5, %ymm7
+ vpsrld $16, %ymm5, %ymm5
+ vpblendw $-86, %ymm1, %ymm5, %ymm1
+ vpslld $16, %ymm2, %ymm5
+ vpblendw $-86, %ymm5, %ymm6, %ymm5
+ vpsrld $16, %ymm6, %ymm6
+ vpblendw $-86, %ymm2, %ymm6, %ymm2
+ vpsrlw $12, %ymm3, %ymm6
+ vpsllw $4, %ymm4, %ymm8
+ vpor %ymm8, %ymm6, %ymm6
+ vpand %ymm3, %ymm0, %ymm3
+ vpand %ymm6, %ymm0, %ymm6
+ vpsrlw $8, %ymm4, %ymm4
+ vpsllw $8, %ymm7, %ymm8
+ vpor %ymm8, %ymm4, %ymm4
+ vpand %ymm4, %ymm0, %ymm4
+ vpsrlw $4, %ymm7, %ymm7
+ vpand %ymm7, %ymm0, %ymm7
+ vpsrlw $12, %ymm1, %ymm8
+ vpsllw $4, %ymm5, %ymm9
+ vpor %ymm9, %ymm8, %ymm8
+ vpand %ymm1, %ymm0, %ymm1
+ vpand %ymm8, %ymm0, %ymm8
+ vpsrlw $8, %ymm5, %ymm5
+ vpsllw $8, %ymm2, %ymm9
+ vpor %ymm9, %ymm5, %ymm5
+ vpand %ymm5, %ymm0, %ymm5
+ vpsrlw $4, %ymm2, %ymm2
+ vpand %ymm2, %ymm0, %ymm2
+ vmovdqu %ymm3, (%r8)
+ vmovdqu %ymm6, 32(%r8)
+ vmovdqu %ymm4, 64(%r8)
+ vmovdqu %ymm7, 96(%r8)
+ vmovdqu %ymm1, 128(%r8)
+ vmovdqu %ymm8, 160(%r8)
+ vmovdqu %ymm5, 192(%r8)
+ vmovdqu %ymm2, 224(%r8)
+ vmovdqu 192(%rsi), %ymm1
+ vmovdqu 224(%rsi), %ymm2
+ vmovdqu 256(%rsi), %ymm3
+ vmovdqu 288(%rsi), %ymm4
+ vmovdqu 320(%rsi), %ymm5
+ vmovdqu 352(%rsi), %ymm6
+ vperm2i128 $32, %ymm4, %ymm1, %ymm7
+ vperm2i128 $49, %ymm4, %ymm1, %ymm4
+ vperm2i128 $32, %ymm5, %ymm2, %ymm8
+ vperm2i128 $49, %ymm5, %ymm2, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm5
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vpunpcklqdq %ymm1, %ymm7, %ymm6
+ vpunpckhqdq %ymm1, %ymm7, %ymm1
+ vpunpcklqdq %ymm5, %ymm4, %ymm2
+ vpunpckhqdq %ymm5, %ymm4, %ymm5
+ vpunpcklqdq %ymm3, %ymm8, %ymm7
+ vpunpckhqdq %ymm3, %ymm8, %ymm3
+ vmovsldup %ymm5, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm6
+ vpblendd $-86, %ymm5, %ymm6, %ymm5
+ vmovsldup %ymm7, %ymm6
+ vpblendd $-86, %ymm6, %ymm1, %ymm6
+ vpsrlq $32, %ymm1, %ymm1
+ vpblendd $-86, %ymm7, %ymm1, %ymm7
+ vmovsldup %ymm3, %ymm1
+ vpblendd $-86, %ymm1, %ymm2, %ymm1
+ vpsrlq $32, %ymm2, %ymm2
+ vpblendd $-86, %ymm3, %ymm2, %ymm2
+ vpslld $16, %ymm7, %ymm3
+ vpblendw $-86, %ymm3, %ymm4, %ymm3
+ vpsrld $16, %ymm4, %ymm4
+ vpblendw $-86, %ymm7, %ymm4, %ymm4
+ vpslld $16, %ymm1, %ymm7
+ vpblendw $-86, %ymm7, %ymm5, %ymm7
+ vpsrld $16, %ymm5, %ymm5
+ vpblendw $-86, %ymm1, %ymm5, %ymm1
+ vpslld $16, %ymm2, %ymm5
+ vpblendw $-86, %ymm5, %ymm6, %ymm5
+ vpsrld $16, %ymm6, %ymm6
+ vpblendw $-86, %ymm2, %ymm6, %ymm2
+ vpsrlw $12, %ymm3, %ymm6
+ vpsllw $4, %ymm4, %ymm8
+ vpor %ymm8, %ymm6, %ymm6
+ vpand %ymm3, %ymm0, %ymm3
+ vpand %ymm6, %ymm0, %ymm6
+ vpsrlw $8, %ymm4, %ymm4
+ vpsllw $8, %ymm7, %ymm8
+ vpor %ymm8, %ymm4, %ymm4
+ vpand %ymm4, %ymm0, %ymm4
+ vpsrlw $4, %ymm7, %ymm7
+ vpand %ymm7, %ymm0, %ymm7
+ vpsrlw $12, %ymm1, %ymm8
+ vpsllw $4, %ymm5, %ymm9
+ vpor %ymm9, %ymm8, %ymm8
+ vpand %ymm1, %ymm0, %ymm1
+ vpand %ymm8, %ymm0, %ymm8
+ vpsrlw $8, %ymm5, %ymm5
+ vpsllw $8, %ymm2, %ymm9
+ vpor %ymm9, %ymm5, %ymm5
+ vpand %ymm5, %ymm0, %ymm5
+ vpsrlw $4, %ymm2, %ymm2
+ vpand %ymm2, %ymm0, %ymm0
+ vmovdqu %ymm3, 256(%r8)
+ vmovdqu %ymm6, 288(%r8)
+ vmovdqu %ymm4, 320(%r8)
+ vmovdqu %ymm7, 352(%r8)
+ vmovdqu %ymm1, 384(%r8)
+ vmovdqu %ymm8, 416(%r8)
+ vmovdqu %ymm5, 448(%r8)
+ vmovdqu %ymm0, 480(%r8)
+ ret
+L_poly_decompress$1:
+ leaq glob_data + 448(%rip), %rdi
+ vmovdqu (%rdi), %ymm0
+ leaq glob_data + 96(%rip), %rdi
+ vmovdqu (%rdi), %ymm1
+ vpbroadcastd glob_data + 6412(%rip), %ymm2
+ vpbroadcastd glob_data + 6408(%rip), %ymm3
+ vpxor %ymm4, %ymm4, %ymm4
+ movq (%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, (%rcx)
+ movq 8(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 32(%rcx)
+ movq 16(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 64(%rcx)
+ movq 24(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 96(%rcx)
+ movq 32(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 128(%rcx)
+ movq 40(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 160(%rcx)
+ movq 48(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 192(%rcx)
+ movq 56(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 224(%rcx)
+ movq 64(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 256(%rcx)
+ movq 72(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 288(%rcx)
+ movq 80(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 320(%rcx)
+ movq 88(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 352(%rcx)
+ movq 96(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 384(%rcx)
+ movq 104(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 416(%rcx)
+ movq 112(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm4
+ vpand %ymm2, %ymm4, %ymm4
+ vpmullw %ymm3, %ymm4, %ymm4
+ vpmulhrsw %ymm0, %ymm4, %ymm4
+ vmovdqu %ymm4, 448(%rcx)
+ movq 120(%rsi), %xmm4
+ vmovdqu %xmm4, 16(%rsp)
+ vbroadcasti128 16(%rsp), %ymm4
+ vpshufb %ymm1, %ymm4, %ymm1
+ vpand %ymm2, %ymm1, %ymm1
+ vpmullw %ymm3, %ymm1, %ymm1
+ vpmulhrsw %ymm0, %ymm1, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_compress_1$1:
+ call L_poly_csubq$1
+L_poly_compress_1$2:
+ leaq glob_data + 384(%rip), %rdx
+ vmovdqu (%rdx), %ymm0
+ vpbroadcastw glob_data + 6428(%rip), %ymm1
+ vpbroadcastw glob_data + 6426(%rip), %ymm2
+ vpbroadcastw glob_data + 6424(%rip), %ymm3
+ vmovdqu glob_data + 128(%rip), %ymm4
+ vmovdqu (%rcx), %ymm5
+ vmovdqu 32(%rcx), %ymm6
+ vmovdqu 64(%rcx), %ymm7
+ vmovdqu 96(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, (%rax)
+ vmovdqu 128(%rcx), %ymm5
+ vmovdqu 160(%rcx), %ymm6
+ vmovdqu 192(%rcx), %ymm7
+ vmovdqu 224(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 32(%rax)
+ vmovdqu 256(%rcx), %ymm5
+ vmovdqu 288(%rcx), %ymm6
+ vmovdqu 320(%rcx), %ymm7
+ vmovdqu 352(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 64(%rax)
+ vmovdqu 384(%rcx), %ymm5
+ vmovdqu 416(%rcx), %ymm6
+ vmovdqu 448(%rcx), %ymm7
+ vmovdqu 480(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm0, %ymm0
+ vpand %ymm2, %ymm5, %ymm1
+ vpand %ymm2, %ymm6, %ymm5
+ vpand %ymm2, %ymm7, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpackuswb %ymm5, %ymm1, %ymm1
+ vpackuswb %ymm0, %ymm6, %ymm0
+ vpmaddubsw %ymm3, %ymm1, %ymm1
+ vpmaddubsw %ymm3, %ymm0, %ymm0
+ vpackuswb %ymm0, %ymm1, %ymm0
+ vpermd %ymm0, %ymm4, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ ret
+L_poly_compress$1:
+ call L_poly_csubq$1
+L_poly_compress$2:
+ leaq glob_data + 384(%rip), %rdx
+ vmovdqu (%rdx), %ymm0
+ vpbroadcastw glob_data + 6428(%rip), %ymm1
+ vpbroadcastw glob_data + 6426(%rip), %ymm2
+ vpbroadcastw glob_data + 6424(%rip), %ymm3
+ vmovdqu glob_data + 128(%rip), %ymm4
+ vmovdqu (%rcx), %ymm5
+ vmovdqu 32(%rcx), %ymm6
+ vmovdqu 64(%rcx), %ymm7
+ vmovdqu 96(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, (%rax)
+ vmovdqu 128(%rcx), %ymm5
+ vmovdqu 160(%rcx), %ymm6
+ vmovdqu 192(%rcx), %ymm7
+ vmovdqu 224(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 32(%rax)
+ vmovdqu 256(%rcx), %ymm5
+ vmovdqu 288(%rcx), %ymm6
+ vmovdqu 320(%rcx), %ymm7
+ vmovdqu 352(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm8, %ymm8
+ vpand %ymm2, %ymm5, %ymm5
+ vpand %ymm2, %ymm6, %ymm6
+ vpand %ymm2, %ymm7, %ymm7
+ vpand %ymm2, %ymm8, %ymm8
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpackuswb %ymm8, %ymm7, %ymm6
+ vpmaddubsw %ymm3, %ymm5, %ymm5
+ vpmaddubsw %ymm3, %ymm6, %ymm6
+ vpackuswb %ymm6, %ymm5, %ymm5
+ vpermd %ymm5, %ymm4, %ymm5
+ vmovdqu %ymm5, 64(%rax)
+ vmovdqu 384(%rcx), %ymm5
+ vmovdqu 416(%rcx), %ymm6
+ vmovdqu 448(%rcx), %ymm7
+ vmovdqu 480(%rcx), %ymm8
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpmulhw %ymm0, %ymm7, %ymm7
+ vpmulhw %ymm0, %ymm8, %ymm0
+ vpmulhrsw %ymm1, %ymm5, %ymm5
+ vpmulhrsw %ymm1, %ymm6, %ymm6
+ vpmulhrsw %ymm1, %ymm7, %ymm7
+ vpmulhrsw %ymm1, %ymm0, %ymm0
+ vpand %ymm2, %ymm5, %ymm1
+ vpand %ymm2, %ymm6, %ymm5
+ vpand %ymm2, %ymm7, %ymm6
+ vpand %ymm2, %ymm0, %ymm0
+ vpackuswb %ymm5, %ymm1, %ymm1
+ vpackuswb %ymm0, %ymm6, %ymm0
+ vpmaddubsw %ymm3, %ymm1, %ymm1
+ vpmaddubsw %ymm3, %ymm0, %ymm0
+ vpackuswb %ymm0, %ymm1, %ymm0
+ vpermd %ymm0, %ymm4, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ ret
+L_poly_basemul$1:
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu glob_data + 416(%rip), %ymm1
+ vmovdqu glob_data + 1552(%rip), %ymm2
+ vmovdqu glob_data + 1584(%rip), %ymm3
+ vmovdqu (%rsi), %ymm4
+ vmovdqu 32(%rsi), %ymm5
+ vmovdqu (%rdi), %ymm6
+ vmovdqu 32(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, (%rcx)
+ vmovdqu %ymm4, 32(%rcx)
+ vmovdqu 64(%rsi), %ymm4
+ vmovdqu 96(%rsi), %ymm5
+ vmovdqu 64(%rdi), %ymm6
+ vmovdqu 96(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm4
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm3, 64(%rcx)
+ vmovdqu %ymm2, 96(%rcx)
+ vmovdqu glob_data + 1616(%rip), %ymm2
+ vmovdqu glob_data + 1648(%rip), %ymm3
+ vmovdqu 128(%rsi), %ymm4
+ vmovdqu 160(%rsi), %ymm5
+ vmovdqu 128(%rdi), %ymm6
+ vmovdqu 160(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, 128(%rcx)
+ vmovdqu %ymm4, 160(%rcx)
+ vmovdqu 192(%rsi), %ymm4
+ vmovdqu 224(%rsi), %ymm5
+ vmovdqu 192(%rdi), %ymm6
+ vmovdqu 224(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm4
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm3, 192(%rcx)
+ vmovdqu %ymm2, 224(%rcx)
+ vmovdqu glob_data + 1944(%rip), %ymm2
+ vmovdqu glob_data + 1976(%rip), %ymm3
+ vmovdqu 256(%rsi), %ymm4
+ vmovdqu 288(%rsi), %ymm5
+ vmovdqu 256(%rdi), %ymm6
+ vmovdqu 288(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, 256(%rcx)
+ vmovdqu %ymm4, 288(%rcx)
+ vmovdqu 320(%rsi), %ymm4
+ vmovdqu 352(%rsi), %ymm5
+ vmovdqu 320(%rdi), %ymm6
+ vmovdqu 352(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm4
+ vpmulhw %ymm0, %ymm4, %ymm4
+ vpsubw %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm3, 320(%rcx)
+ vmovdqu %ymm2, 352(%rcx)
+ vmovdqu glob_data + 2008(%rip), %ymm2
+ vmovdqu glob_data + 2040(%rip), %ymm3
+ vmovdqu 384(%rsi), %ymm4
+ vmovdqu 416(%rsi), %ymm5
+ vmovdqu 384(%rdi), %ymm6
+ vmovdqu 416(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm8
+ vpmulhw %ymm5, %ymm3, %ymm9
+ vpmulhw %ymm0, %ymm8, %ymm8
+ vpsubw %ymm8, %ymm9, %ymm8
+ vpmullw %ymm6, %ymm4, %ymm10
+ vpmulhw %ymm6, %ymm4, %ymm11
+ vpunpcklwd %ymm11, %ymm10, %ymm9
+ vpunpckhwd %ymm11, %ymm10, %ymm10
+ vpmullw %ymm7, %ymm4, %ymm12
+ vpmulhw %ymm7, %ymm4, %ymm4
+ vpunpcklwd %ymm4, %ymm12, %ymm11
+ vpunpckhwd %ymm4, %ymm12, %ymm4
+ vpmullw %ymm6, %ymm5, %ymm12
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm12, %ymm5
+ vpunpckhwd %ymm6, %ymm12, %ymm6
+ vpmullw %ymm7, %ymm8, %ymm12
+ vpmulhw %ymm7, %ymm8, %ymm7
+ vpunpcklwd %ymm7, %ymm12, %ymm8
+ vpunpckhwd %ymm7, %ymm12, %ymm12
+ vpaddd %ymm8, %ymm9, %ymm7
+ vpaddd %ymm12, %ymm10, %ymm8
+ vpaddd %ymm11, %ymm5, %ymm5
+ vpaddd %ymm4, %ymm6, %ymm4
+ vpxor %ymm9, %ymm9, %ymm9
+ vpblendw $-86, %ymm9, %ymm7, %ymm6
+ vpblendw $-86, %ymm9, %ymm8, %ymm10
+ vpackusdw %ymm10, %ymm6, %ymm6
+ vpsrld $16, %ymm7, %ymm7
+ vpsrld $16, %ymm8, %ymm8
+ vpackusdw %ymm8, %ymm7, %ymm7
+ vpblendw $-86, %ymm9, %ymm5, %ymm8
+ vpblendw $-86, %ymm9, %ymm4, %ymm9
+ vpackusdw %ymm9, %ymm8, %ymm8
+ vpsrld $16, %ymm5, %ymm5
+ vpsrld $16, %ymm4, %ymm4
+ vpackusdw %ymm4, %ymm5, %ymm4
+ vpmullw %ymm1, %ymm6, %ymm5
+ vpmulhw %ymm0, %ymm5, %ymm5
+ vpsubw %ymm5, %ymm7, %ymm5
+ vpmullw %ymm1, %ymm8, %ymm6
+ vpmulhw %ymm0, %ymm6, %ymm6
+ vpsubw %ymm6, %ymm4, %ymm4
+ vmovdqu %ymm5, 384(%rcx)
+ vmovdqu %ymm4, 416(%rcx)
+ vmovdqu 448(%rsi), %ymm4
+ vmovdqu 480(%rsi), %ymm5
+ vmovdqu 448(%rdi), %ymm6
+ vmovdqu 480(%rdi), %ymm7
+ vpmullw %ymm5, %ymm2, %ymm2
+ vpmulhw %ymm5, %ymm3, %ymm3
+ vpmulhw %ymm0, %ymm2, %ymm2
+ vpsubw %ymm2, %ymm3, %ymm2
+ vpmullw %ymm6, %ymm4, %ymm8
+ vpmulhw %ymm6, %ymm4, %ymm9
+ vpunpcklwd %ymm9, %ymm8, %ymm3
+ vpunpckhwd %ymm9, %ymm8, %ymm8
+ vpmullw %ymm7, %ymm4, %ymm9
+ vpmulhw %ymm7, %ymm4, %ymm10
+ vpunpcklwd %ymm10, %ymm9, %ymm4
+ vpunpckhwd %ymm10, %ymm9, %ymm9
+ vpmullw %ymm6, %ymm5, %ymm10
+ vpmulhw %ymm6, %ymm5, %ymm6
+ vpunpcklwd %ymm6, %ymm10, %ymm5
+ vpunpckhwd %ymm6, %ymm10, %ymm6
+ vpmullw %ymm7, %ymm2, %ymm10
+ vpmulhw %ymm7, %ymm2, %ymm2
+ vpunpcklwd %ymm2, %ymm10, %ymm7
+ vpunpckhwd %ymm2, %ymm10, %ymm2
+ vpsubd %ymm7, %ymm3, %ymm7
+ vpsubd %ymm2, %ymm8, %ymm8
+ vpaddd %ymm4, %ymm5, %ymm2
+ vpaddd %ymm9, %ymm6, %ymm3
+ vpxor %ymm5, %ymm5, %ymm5
+ vpblendw $-86, %ymm5, %ymm7, %ymm4
+ vpblendw $-86, %ymm5, %ymm8, %ymm6
+ vpackusdw %ymm6, %ymm4, %ymm4
+ vpsrld $16, %ymm7, %ymm6
+ vpsrld $16, %ymm8, %ymm7
+ vpackusdw %ymm7, %ymm6, %ymm6
+ vpblendw $-86, %ymm5, %ymm2, %ymm7
+ vpblendw $-86, %ymm5, %ymm3, %ymm5
+ vpackusdw %ymm5, %ymm7, %ymm5
+ vpsrld $16, %ymm2, %ymm2
+ vpsrld $16, %ymm3, %ymm3
+ vpackusdw %ymm3, %ymm2, %ymm2
+ vpmullw %ymm1, %ymm4, %ymm3
+ vpmulhw %ymm0, %ymm3, %ymm3
+ vpsubw %ymm3, %ymm6, %ymm3
+ vpmullw %ymm1, %ymm5, %ymm1
+ vpmulhw %ymm0, %ymm1, %ymm0
+ vpsubw %ymm0, %ymm2, %ymm0
+ vmovdqu %ymm3, 448(%rcx)
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_csubq$1:
+ vmovdqu glob_data + 448(%rip), %ymm0
+ vmovdqu (%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, (%rcx)
+ vmovdqu 32(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 32(%rcx)
+ vmovdqu 64(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 64(%rcx)
+ vmovdqu 96(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 96(%rcx)
+ vmovdqu 128(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 128(%rcx)
+ vmovdqu 160(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 160(%rcx)
+ vmovdqu 192(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 192(%rcx)
+ vmovdqu 224(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 224(%rcx)
+ vmovdqu 256(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 256(%rcx)
+ vmovdqu 288(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 288(%rcx)
+ vmovdqu 320(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 320(%rcx)
+ vmovdqu 352(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 352(%rcx)
+ vmovdqu 384(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 384(%rcx)
+ vmovdqu 416(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 416(%rcx)
+ vmovdqu 448(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm2
+ vpaddw %ymm1, %ymm2, %ymm1
+ vmovdqu %ymm1, 448(%rcx)
+ vmovdqu 480(%rcx), %ymm1
+ vpsubw %ymm0, %ymm1, %ymm1
+ vpsraw $15, %ymm1, %ymm2
+ vpand %ymm0, %ymm2, %ymm0
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_poly_add2$1:
+ vmovdqu (%rcx), %ymm0
+ vmovdqu (%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rcx)
+ vmovdqu 32(%rcx), %ymm0
+ vmovdqu 32(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rcx)
+ vmovdqu 64(%rcx), %ymm0
+ vmovdqu 64(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rcx)
+ vmovdqu 96(%rcx), %ymm0
+ vmovdqu 96(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rcx)
+ vmovdqu 128(%rcx), %ymm0
+ vmovdqu 128(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rcx)
+ vmovdqu 160(%rcx), %ymm0
+ vmovdqu 160(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rcx)
+ vmovdqu 192(%rcx), %ymm0
+ vmovdqu 192(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rcx)
+ vmovdqu 224(%rcx), %ymm0
+ vmovdqu 224(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rcx)
+ vmovdqu 256(%rcx), %ymm0
+ vmovdqu 256(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rcx)
+ vmovdqu 288(%rcx), %ymm0
+ vmovdqu 288(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rcx)
+ vmovdqu 320(%rcx), %ymm0
+ vmovdqu 320(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rcx)
+ vmovdqu 352(%rcx), %ymm0
+ vmovdqu 352(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rcx)
+ vmovdqu 384(%rcx), %ymm0
+ vmovdqu 384(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rcx)
+ vmovdqu 416(%rcx), %ymm0
+ vmovdqu 416(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rcx)
+ vmovdqu 448(%rcx), %ymm0
+ vmovdqu 448(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rcx)
+ vmovdqu 480(%rcx), %ymm0
+ vmovdqu 480(%rsi), %ymm1
+ vpaddw %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rcx)
+ ret
+L_nttunpack$1:
+ vmovdqu (%rax), %ymm1
+ vmovdqu 32(%rax), %ymm3
+ vmovdqu 64(%rax), %ymm4
+ vmovdqu 96(%rax), %ymm5
+ vmovdqu 128(%rax), %ymm2
+ vmovdqu 160(%rax), %ymm6
+ vmovdqu 192(%rax), %ymm7
+ vmovdqu 224(%rax), %ymm8
+ vperm2i128 $32, %ymm2, %ymm1, %ymm0
+ vperm2i128 $49, %ymm2, %ymm1, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm2
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vperm2i128 $32, %ymm7, %ymm4, %ymm6
+ vperm2i128 $49, %ymm7, %ymm4, %ymm7
+ vperm2i128 $32, %ymm8, %ymm5, %ymm9
+ vperm2i128 $49, %ymm8, %ymm5, %ymm10
+ vpunpcklqdq %ymm6, %ymm0, %ymm4
+ vpunpckhqdq %ymm6, %ymm0, %ymm5
+ vpunpcklqdq %ymm7, %ymm1, %ymm6
+ vpunpckhqdq %ymm7, %ymm1, %ymm7
+ vpunpcklqdq %ymm9, %ymm2, %ymm0
+ vpunpckhqdq %ymm9, %ymm2, %ymm2
+ vpunpcklqdq %ymm10, %ymm3, %ymm8
+ vpunpckhqdq %ymm10, %ymm3, %ymm3
+ vmovsldup %ymm0, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm9
+ vpsrlq $32, %ymm4, %ymm1
+ vpblendd $-86, %ymm0, %ymm1, %ymm0
+ vmovsldup %ymm2, %ymm1
+ vpblendd $-86, %ymm1, %ymm5, %ymm1
+ vpsrlq $32, %ymm5, %ymm4
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vmovsldup %ymm8, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm5
+ vpblendd $-86, %ymm8, %ymm5, %ymm5
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm7, %ymm6
+ vpsrlq $32, %ymm7, %ymm7
+ vpblendd $-86, %ymm3, %ymm7, %ymm3
+ vpslld $16, %ymm4, %ymm7
+ vpblendw $-86, %ymm7, %ymm9, %ymm7
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm4, %ymm8, %ymm4
+ vpslld $16, %ymm5, %ymm8
+ vpblendw $-86, %ymm8, %ymm0, %ymm8
+ vpsrld $16, %ymm0, %ymm0
+ vpblendw $-86, %ymm5, %ymm0, %ymm0
+ vpslld $16, %ymm6, %ymm5
+ vpblendw $-86, %ymm5, %ymm1, %ymm5
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm6, %ymm1, %ymm1
+ vpslld $16, %ymm3, %ymm6
+ vpblendw $-86, %ymm6, %ymm2, %ymm6
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm7, (%rax)
+ vmovdqu %ymm4, 32(%rax)
+ vmovdqu %ymm8, 64(%rax)
+ vmovdqu %ymm0, 96(%rax)
+ vmovdqu %ymm5, 128(%rax)
+ vmovdqu %ymm1, 160(%rax)
+ vmovdqu %ymm6, 192(%rax)
+ vmovdqu %ymm2, 224(%rax)
+ vmovdqu 256(%rax), %ymm1
+ vmovdqu 288(%rax), %ymm3
+ vmovdqu 320(%rax), %ymm4
+ vmovdqu 352(%rax), %ymm5
+ vmovdqu 384(%rax), %ymm2
+ vmovdqu 416(%rax), %ymm6
+ vmovdqu 448(%rax), %ymm7
+ vmovdqu 480(%rax), %ymm8
+ vperm2i128 $32, %ymm2, %ymm1, %ymm0
+ vperm2i128 $49, %ymm2, %ymm1, %ymm1
+ vperm2i128 $32, %ymm6, %ymm3, %ymm2
+ vperm2i128 $49, %ymm6, %ymm3, %ymm3
+ vperm2i128 $32, %ymm7, %ymm4, %ymm6
+ vperm2i128 $49, %ymm7, %ymm4, %ymm7
+ vperm2i128 $32, %ymm8, %ymm5, %ymm9
+ vperm2i128 $49, %ymm8, %ymm5, %ymm10
+ vpunpcklqdq %ymm6, %ymm0, %ymm4
+ vpunpckhqdq %ymm6, %ymm0, %ymm5
+ vpunpcklqdq %ymm7, %ymm1, %ymm6
+ vpunpckhqdq %ymm7, %ymm1, %ymm7
+ vpunpcklqdq %ymm9, %ymm2, %ymm0
+ vpunpckhqdq %ymm9, %ymm2, %ymm2
+ vpunpcklqdq %ymm10, %ymm3, %ymm8
+ vpunpckhqdq %ymm10, %ymm3, %ymm3
+ vmovsldup %ymm0, %ymm1
+ vpblendd $-86, %ymm1, %ymm4, %ymm9
+ vpsrlq $32, %ymm4, %ymm1
+ vpblendd $-86, %ymm0, %ymm1, %ymm0
+ vmovsldup %ymm2, %ymm1
+ vpblendd $-86, %ymm1, %ymm5, %ymm1
+ vpsrlq $32, %ymm5, %ymm4
+ vpblendd $-86, %ymm2, %ymm4, %ymm2
+ vmovsldup %ymm8, %ymm4
+ vpblendd $-86, %ymm4, %ymm6, %ymm4
+ vpsrlq $32, %ymm6, %ymm5
+ vpblendd $-86, %ymm8, %ymm5, %ymm5
+ vmovsldup %ymm3, %ymm6
+ vpblendd $-86, %ymm6, %ymm7, %ymm6
+ vpsrlq $32, %ymm7, %ymm7
+ vpblendd $-86, %ymm3, %ymm7, %ymm3
+ vpslld $16, %ymm4, %ymm7
+ vpblendw $-86, %ymm7, %ymm9, %ymm7
+ vpsrld $16, %ymm9, %ymm8
+ vpblendw $-86, %ymm4, %ymm8, %ymm4
+ vpslld $16, %ymm5, %ymm8
+ vpblendw $-86, %ymm8, %ymm0, %ymm8
+ vpsrld $16, %ymm0, %ymm0
+ vpblendw $-86, %ymm5, %ymm0, %ymm0
+ vpslld $16, %ymm6, %ymm5
+ vpblendw $-86, %ymm5, %ymm1, %ymm5
+ vpsrld $16, %ymm1, %ymm1
+ vpblendw $-86, %ymm6, %ymm1, %ymm1
+ vpslld $16, %ymm3, %ymm6
+ vpblendw $-86, %ymm6, %ymm2, %ymm6
+ vpsrld $16, %ymm2, %ymm2
+ vpblendw $-86, %ymm3, %ymm2, %ymm2
+ vmovdqu %ymm7, 256(%rax)
+ vmovdqu %ymm4, 288(%rax)
+ vmovdqu %ymm8, 320(%rax)
+ vmovdqu %ymm0, 352(%rax)
+ vmovdqu %ymm5, 384(%rax)
+ vmovdqu %ymm1, 416(%rax)
+ vmovdqu %ymm6, 448(%rax)
+ vmovdqu %ymm2, 480(%rax)
+ ret
+L_shake256_absorb4x_33$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 512(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 544(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 576(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 608(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 640(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 672(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 704(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 736(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 768(%rax)
+ movq (%rcx), %rbx
+ xorq %rbx, (%rax)
+ movq (%rdx), %rbx
+ xorq %rbx, 8(%rax)
+ movq (%rsi), %rbx
+ xorq %rbx, 16(%rax)
+ movq (%r11), %rbx
+ xorq %rbx, 24(%rax)
+ movq 8(%rcx), %rbx
+ xorq %rbx, 32(%rax)
+ movq 8(%rdx), %rbx
+ xorq %rbx, 40(%rax)
+ movq 8(%rsi), %rbx
+ xorq %rbx, 48(%rax)
+ movq 8(%r11), %rbx
+ xorq %rbx, 56(%rax)
+ movq 16(%rcx), %rbx
+ xorq %rbx, 64(%rax)
+ movq 16(%rdx), %rbx
+ xorq %rbx, 72(%rax)
+ movq 16(%rsi), %rbx
+ xorq %rbx, 80(%rax)
+ movq 16(%r11), %rbx
+ xorq %rbx, 88(%rax)
+ movq 24(%rcx), %rbx
+ xorq %rbx, 96(%rax)
+ movq 24(%rdx), %rbx
+ xorq %rbx, 104(%rax)
+ movq 24(%rsi), %rbx
+ xorq %rbx, 112(%rax)
+ movq 24(%r11), %rbx
+ xorq %rbx, 120(%rax)
+ movb 32(%rcx), %cl
+ xorb %cl, 128(%rax)
+ xorb $31, 129(%rax)
+ movb 32(%rdx), %cl
+ xorb %cl, 136(%rax)
+ xorb $31, 137(%rax)
+ movb 32(%rsi), %cl
+ xorb %cl, 144(%rax)
+ xorb $31, 145(%rax)
+ movb 32(%r11), %cl
+ xorb %cl, 152(%rax)
+ xorb $31, 153(%rax)
+ vmovdqu glob_data + 2080(%rip), %ymm0
+ vmovdqu 512(%rax), %ymm1
+ vpxor %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 512(%rax)
+ ret
+L_shake128_absorb4x_34$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, (%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 64(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 96(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 128(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 160(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 192(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 224(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 256(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 288(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 320(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 352(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 384(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 416(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 448(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 480(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 512(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 544(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 576(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 608(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 640(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 672(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 704(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 736(%rax)
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 768(%rax)
+ movq (%rcx), %r8
+ xorq %r8, (%rax)
+ movq (%rdx), %r8
+ xorq %r8, 8(%rax)
+ movq (%rsi), %r8
+ xorq %r8, 16(%rax)
+ movq (%rdi), %r8
+ xorq %r8, 24(%rax)
+ movq 8(%rcx), %r8
+ xorq %r8, 32(%rax)
+ movq 8(%rdx), %r8
+ xorq %r8, 40(%rax)
+ movq 8(%rsi), %r8
+ xorq %r8, 48(%rax)
+ movq 8(%rdi), %r8
+ xorq %r8, 56(%rax)
+ movq 16(%rcx), %r8
+ xorq %r8, 64(%rax)
+ movq 16(%rdx), %r8
+ xorq %r8, 72(%rax)
+ movq 16(%rsi), %r8
+ xorq %r8, 80(%rax)
+ movq 16(%rdi), %r8
+ xorq %r8, 88(%rax)
+ movq 24(%rcx), %r8
+ xorq %r8, 96(%rax)
+ movq 24(%rdx), %r8
+ xorq %r8, 104(%rax)
+ movq 24(%rsi), %r8
+ xorq %r8, 112(%rax)
+ movq 24(%rdi), %r8
+ xorq %r8, 120(%rax)
+ movw 32(%rcx), %cx
+ xorw %cx, 128(%rax)
+ xorb $31, 130(%rax)
+ movw 32(%rdx), %cx
+ xorw %cx, 136(%rax)
+ xorb $31, 138(%rax)
+ movw 32(%rsi), %cx
+ xorw %cx, 144(%rax)
+ xorb $31, 146(%rax)
+ movw 32(%rdi), %cx
+ xorw %cx, 152(%rax)
+ xorb $31, 154(%rax)
+ vmovdqu glob_data + 2080(%rip), %ymm0
+ vmovdqu 640(%rax), %ymm1
+ vpxor %ymm1, %ymm0, %ymm0
+ vmovdqu %ymm0, 640(%rax)
+ ret
+L_keccakf1600_4x_avx2$1:
+ leaq 32(%rsp), %rcx
+ leaq glob_data + 2176(%rip), %rdx
+ vmovdqu glob_data + 2112(%rip), %ymm0
+ vmovdqu glob_data + 2144(%rip), %ymm1
+ movq $0, %rsi
+L_keccakf1600_4x_avx2$2:
+ vmovdqu (%rdx,%rsi), %ymm2
+ vmovdqu (%rax), %ymm3
+ vmovdqu 32(%rax), %ymm4
+ vmovdqu 64(%rax), %ymm5
+ vmovdqu 96(%rax), %ymm6
+ vmovdqu 128(%rax), %ymm7
+ vpxor 160(%rax), %ymm3, %ymm3
+ vpxor 192(%rax), %ymm4, %ymm4
+ vpxor 224(%rax), %ymm5, %ymm5
+ vpxor 256(%rax), %ymm6, %ymm6
+ vpxor 288(%rax), %ymm7, %ymm7
+ vpxor 320(%rax), %ymm3, %ymm3
+ vpxor 352(%rax), %ymm4, %ymm4
+ vpxor 384(%rax), %ymm5, %ymm5
+ vpxor 416(%rax), %ymm6, %ymm6
+ vpxor 448(%rax), %ymm7, %ymm7
+ vpxor 480(%rax), %ymm3, %ymm3
+ vpxor 512(%rax), %ymm4, %ymm4
+ vpxor 544(%rax), %ymm5, %ymm8
+ vpxor 576(%rax), %ymm6, %ymm9
+ vpxor 608(%rax), %ymm7, %ymm10
+ vpxor 640(%rax), %ymm3, %ymm7
+ vpxor 672(%rax), %ymm4, %ymm5
+ vpxor 704(%rax), %ymm8, %ymm6
+ vpxor 736(%rax), %ymm9, %ymm8
+ vpxor 768(%rax), %ymm10, %ymm9
+ vmovdqu %ymm5, %ymm3
+ vpsllq $1, %ymm3, %ymm4
+ vpsrlq $63, %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm3
+ vpxor %ymm9, %ymm3, %ymm3
+ vmovdqu %ymm6, %ymm4
+ vpsllq $1, %ymm4, %ymm10
+ vpsrlq $63, %ymm4, %ymm4
+ vpor %ymm10, %ymm4, %ymm4
+ vpxor %ymm7, %ymm4, %ymm4
+ vmovdqu %ymm8, %ymm10
+ vpsllq $1, %ymm10, %ymm11
+ vpsrlq $63, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vpxor %ymm5, %ymm10, %ymm5
+ vpsllq $1, %ymm9, %ymm10
+ vpsrlq $63, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vpxor %ymm6, %ymm9, %ymm6
+ vpsllq $1, %ymm7, %ymm9
+ vpsrlq $63, %ymm7, %ymm7
+ vpor %ymm9, %ymm7, %ymm7
+ vpxor %ymm8, %ymm7, %ymm7
+ vmovdqu (%rax), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vmovdqu 192(%rax), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $44, %ymm9, %ymm10
+ vpsrlq $20, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 384(%rax), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $43, %ymm10, %ymm11
+ vpsrlq $21, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 576(%rax), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpsllq $21, %ymm11, %ymm12
+ vpsrlq $43, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vmovdqu 768(%rax), %ymm12
+ vpxor %ymm7, %ymm12, %ymm12
+ vpsllq $14, %ymm12, %ymm13
+ vpsrlq $50, %ymm12, %ymm12
+ vpor %ymm13, %ymm12, %ymm12
+ vpandn %ymm10, %ymm9, %ymm13
+ vpxor %ymm8, %ymm13, %ymm13
+ vpxor %ymm2, %ymm13, %ymm2
+ vmovdqu %ymm2, (%rcx)
+ vpandn %ymm11, %ymm10, %ymm2
+ vpxor %ymm9, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rcx)
+ vpandn %ymm12, %ymm11, %ymm2
+ vpxor %ymm10, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rcx)
+ vpandn %ymm8, %ymm12, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rcx)
+ vpandn %ymm9, %ymm8, %ymm2
+ vpxor %ymm12, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rcx)
+ vmovdqu 96(%rax), %ymm2
+ vpxor %ymm6, %ymm2, %ymm2
+ vpsllq $28, %ymm2, %ymm8
+ vpsrlq $36, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 288(%rax), %ymm8
+ vpxor %ymm7, %ymm8, %ymm8
+ vpsllq $20, %ymm8, %ymm9
+ vpsrlq $44, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 320(%rax), %ymm9
+ vpxor %ymm3, %ymm9, %ymm9
+ vpsllq $3, %ymm9, %ymm10
+ vpsrlq $61, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 512(%rax), %ymm10
+ vpxor %ymm4, %ymm10, %ymm10
+ vpsllq $45, %ymm10, %ymm11
+ vpsrlq $19, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 704(%rax), %ymm11
+ vpxor %ymm5, %ymm11, %ymm11
+ vpsllq $61, %ymm11, %ymm12
+ vpsrlq $3, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 160(%rcx)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 192(%rcx)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 224(%rcx)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 256(%rcx)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rcx)
+ vmovdqu 32(%rax), %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vpsllq $1, %ymm2, %ymm8
+ vpsrlq $63, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 224(%rax), %ymm8
+ vpxor %ymm5, %ymm8, %ymm8
+ vpsllq $6, %ymm8, %ymm9
+ vpsrlq $58, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 416(%rax), %ymm9
+ vpxor %ymm6, %ymm9, %ymm9
+ vpsllq $25, %ymm9, %ymm10
+ vpsrlq $39, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 608(%rax), %ymm10
+ vpxor %ymm7, %ymm10, %ymm10
+ vpshufb %ymm0, %ymm10, %ymm10
+ vmovdqu 640(%rax), %ymm11
+ vpxor %ymm3, %ymm11, %ymm11
+ vpsllq $18, %ymm11, %ymm12
+ vpsrlq $46, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 320(%rcx)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 352(%rcx)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 384(%rcx)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 416(%rcx)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rcx)
+ vmovdqu 128(%rax), %ymm2
+ vpxor %ymm7, %ymm2, %ymm2
+ vpsllq $27, %ymm2, %ymm8
+ vpsrlq $37, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 160(%rax), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vpsllq $36, %ymm8, %ymm9
+ vpsrlq $28, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 352(%rax), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $10, %ymm9, %ymm10
+ vpsrlq $54, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 544(%rax), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $15, %ymm10, %ymm11
+ vpsrlq $49, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 736(%rax), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpshufb %ymm1, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 480(%rcx)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 512(%rcx)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 544(%rcx)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 576(%rcx)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 608(%rcx)
+ vmovdqu 64(%rax), %ymm2
+ vpxor %ymm5, %ymm2, %ymm2
+ vpsllq $62, %ymm2, %ymm5
+ vpsrlq $2, %ymm2, %ymm2
+ vpor %ymm5, %ymm2, %ymm2
+ vmovdqu 256(%rax), %ymm5
+ vpxor %ymm6, %ymm5, %ymm5
+ vpsllq $55, %ymm5, %ymm6
+ vpsrlq $9, %ymm5, %ymm5
+ vpor %ymm6, %ymm5, %ymm5
+ vmovdqu 448(%rax), %ymm6
+ vpxor %ymm7, %ymm6, %ymm6
+ vpsllq $39, %ymm6, %ymm7
+ vpsrlq $25, %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm6
+ vmovdqu 480(%rax), %ymm7
+ vpxor %ymm3, %ymm7, %ymm3
+ vpsllq $41, %ymm3, %ymm7
+ vpsrlq $23, %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm3
+ vmovdqu 672(%rax), %ymm7
+ vpxor %ymm4, %ymm7, %ymm4
+ vpsllq $2, %ymm4, %ymm7
+ vpsrlq $62, %ymm4, %ymm4
+ vpor %ymm7, %ymm4, %ymm4
+ vpandn %ymm6, %ymm5, %ymm7
+ vpxor %ymm2, %ymm7, %ymm7
+ vmovdqu %ymm7, 640(%rcx)
+ vpandn %ymm3, %ymm6, %ymm7
+ vpxor %ymm5, %ymm7, %ymm7
+ vmovdqu %ymm7, 672(%rcx)
+ vpandn %ymm4, %ymm3, %ymm7
+ vpxor %ymm6, %ymm7, %ymm6
+ vmovdqu %ymm6, 704(%rcx)
+ vpandn %ymm2, %ymm4, %ymm6
+ vpxor %ymm3, %ymm6, %ymm3
+ vmovdqu %ymm3, 736(%rcx)
+ vpandn %ymm5, %ymm2, %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm2, 768(%rcx)
+ vmovdqu 32(%rdx,%rsi), %ymm2
+ vmovdqu (%rcx), %ymm3
+ vmovdqu 32(%rcx), %ymm4
+ vmovdqu 64(%rcx), %ymm5
+ vmovdqu 96(%rcx), %ymm6
+ vmovdqu 128(%rcx), %ymm7
+ vpxor 160(%rcx), %ymm3, %ymm3
+ vpxor 192(%rcx), %ymm4, %ymm4
+ vpxor 224(%rcx), %ymm5, %ymm5
+ vpxor 256(%rcx), %ymm6, %ymm6
+ vpxor 288(%rcx), %ymm7, %ymm7
+ vpxor 320(%rcx), %ymm3, %ymm3
+ vpxor 352(%rcx), %ymm4, %ymm4
+ vpxor 384(%rcx), %ymm5, %ymm5
+ vpxor 416(%rcx), %ymm6, %ymm6
+ vpxor 448(%rcx), %ymm7, %ymm7
+ vpxor 480(%rcx), %ymm3, %ymm3
+ vpxor 512(%rcx), %ymm4, %ymm4
+ vpxor 544(%rcx), %ymm5, %ymm8
+ vpxor 576(%rcx), %ymm6, %ymm9
+ vpxor 608(%rcx), %ymm7, %ymm10
+ vpxor 640(%rcx), %ymm3, %ymm7
+ vpxor 672(%rcx), %ymm4, %ymm5
+ vpxor 704(%rcx), %ymm8, %ymm6
+ vpxor 736(%rcx), %ymm9, %ymm8
+ vpxor 768(%rcx), %ymm10, %ymm9
+ vmovdqu %ymm5, %ymm3
+ vpsllq $1, %ymm3, %ymm4
+ vpsrlq $63, %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm3
+ vpxor %ymm9, %ymm3, %ymm3
+ vmovdqu %ymm6, %ymm4
+ vpsllq $1, %ymm4, %ymm10
+ vpsrlq $63, %ymm4, %ymm4
+ vpor %ymm10, %ymm4, %ymm4
+ vpxor %ymm7, %ymm4, %ymm4
+ vmovdqu %ymm8, %ymm10
+ vpsllq $1, %ymm10, %ymm11
+ vpsrlq $63, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vpxor %ymm5, %ymm10, %ymm5
+ vpsllq $1, %ymm9, %ymm10
+ vpsrlq $63, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vpxor %ymm6, %ymm9, %ymm6
+ vpsllq $1, %ymm7, %ymm9
+ vpsrlq $63, %ymm7, %ymm7
+ vpor %ymm9, %ymm7, %ymm7
+ vpxor %ymm8, %ymm7, %ymm7
+ vmovdqu (%rcx), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vmovdqu 192(%rcx), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $44, %ymm9, %ymm10
+ vpsrlq $20, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 384(%rcx), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $43, %ymm10, %ymm11
+ vpsrlq $21, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 576(%rcx), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpsllq $21, %ymm11, %ymm12
+ vpsrlq $43, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vmovdqu 768(%rcx), %ymm12
+ vpxor %ymm7, %ymm12, %ymm12
+ vpsllq $14, %ymm12, %ymm13
+ vpsrlq $50, %ymm12, %ymm12
+ vpor %ymm13, %ymm12, %ymm12
+ vpandn %ymm10, %ymm9, %ymm13
+ vpxor %ymm8, %ymm13, %ymm13
+ vpxor %ymm2, %ymm13, %ymm2
+ vmovdqu %ymm2, (%rax)
+ vpandn %ymm11, %ymm10, %ymm2
+ vpxor %ymm9, %ymm2, %ymm2
+ vmovdqu %ymm2, 32(%rax)
+ vpandn %ymm12, %ymm11, %ymm2
+ vpxor %ymm10, %ymm2, %ymm2
+ vmovdqu %ymm2, 64(%rax)
+ vpandn %ymm8, %ymm12, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 96(%rax)
+ vpandn %ymm9, %ymm8, %ymm2
+ vpxor %ymm12, %ymm2, %ymm2
+ vmovdqu %ymm2, 128(%rax)
+ vmovdqu 96(%rcx), %ymm2
+ vpxor %ymm6, %ymm2, %ymm2
+ vpsllq $28, %ymm2, %ymm8
+ vpsrlq $36, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 288(%rcx), %ymm8
+ vpxor %ymm7, %ymm8, %ymm8
+ vpsllq $20, %ymm8, %ymm9
+ vpsrlq $44, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 320(%rcx), %ymm9
+ vpxor %ymm3, %ymm9, %ymm9
+ vpsllq $3, %ymm9, %ymm10
+ vpsrlq $61, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 512(%rcx), %ymm10
+ vpxor %ymm4, %ymm10, %ymm10
+ vpsllq $45, %ymm10, %ymm11
+ vpsrlq $19, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 704(%rcx), %ymm11
+ vpxor %ymm5, %ymm11, %ymm11
+ vpsllq $61, %ymm11, %ymm12
+ vpsrlq $3, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 160(%rax)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 192(%rax)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 224(%rax)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 256(%rax)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 288(%rax)
+ vmovdqu 32(%rcx), %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vpsllq $1, %ymm2, %ymm8
+ vpsrlq $63, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 224(%rcx), %ymm8
+ vpxor %ymm5, %ymm8, %ymm8
+ vpsllq $6, %ymm8, %ymm9
+ vpsrlq $58, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 416(%rcx), %ymm9
+ vpxor %ymm6, %ymm9, %ymm9
+ vpsllq $25, %ymm9, %ymm10
+ vpsrlq $39, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 608(%rcx), %ymm10
+ vpxor %ymm7, %ymm10, %ymm10
+ vpshufb %ymm0, %ymm10, %ymm10
+ vmovdqu 640(%rcx), %ymm11
+ vpxor %ymm3, %ymm11, %ymm11
+ vpsllq $18, %ymm11, %ymm12
+ vpsrlq $46, %ymm11, %ymm11
+ vpor %ymm12, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 320(%rax)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 352(%rax)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 384(%rax)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 416(%rax)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 448(%rax)
+ vmovdqu 128(%rcx), %ymm2
+ vpxor %ymm7, %ymm2, %ymm2
+ vpsllq $27, %ymm2, %ymm8
+ vpsrlq $37, %ymm2, %ymm2
+ vpor %ymm8, %ymm2, %ymm2
+ vmovdqu 160(%rcx), %ymm8
+ vpxor %ymm3, %ymm8, %ymm8
+ vpsllq $36, %ymm8, %ymm9
+ vpsrlq $28, %ymm8, %ymm8
+ vpor %ymm9, %ymm8, %ymm8
+ vmovdqu 352(%rcx), %ymm9
+ vpxor %ymm4, %ymm9, %ymm9
+ vpsllq $10, %ymm9, %ymm10
+ vpsrlq $54, %ymm9, %ymm9
+ vpor %ymm10, %ymm9, %ymm9
+ vmovdqu 544(%rcx), %ymm10
+ vpxor %ymm5, %ymm10, %ymm10
+ vpsllq $15, %ymm10, %ymm11
+ vpsrlq $49, %ymm10, %ymm10
+ vpor %ymm11, %ymm10, %ymm10
+ vmovdqu 736(%rcx), %ymm11
+ vpxor %ymm6, %ymm11, %ymm11
+ vpshufb %ymm1, %ymm11, %ymm11
+ vpandn %ymm9, %ymm8, %ymm12
+ vpxor %ymm2, %ymm12, %ymm12
+ vmovdqu %ymm12, 480(%rax)
+ vpandn %ymm10, %ymm9, %ymm12
+ vpxor %ymm8, %ymm12, %ymm12
+ vmovdqu %ymm12, 512(%rax)
+ vpandn %ymm11, %ymm10, %ymm12
+ vpxor %ymm9, %ymm12, %ymm9
+ vmovdqu %ymm9, 544(%rax)
+ vpandn %ymm2, %ymm11, %ymm9
+ vpxor %ymm10, %ymm9, %ymm9
+ vmovdqu %ymm9, 576(%rax)
+ vpandn %ymm8, %ymm2, %ymm2
+ vpxor %ymm11, %ymm2, %ymm2
+ vmovdqu %ymm2, 608(%rax)
+ vmovdqu 64(%rcx), %ymm2
+ vpxor %ymm5, %ymm2, %ymm2
+ vpsllq $62, %ymm2, %ymm5
+ vpsrlq $2, %ymm2, %ymm2
+ vpor %ymm5, %ymm2, %ymm2
+ vmovdqu 256(%rcx), %ymm5
+ vpxor %ymm6, %ymm5, %ymm5
+ vpsllq $55, %ymm5, %ymm6
+ vpsrlq $9, %ymm5, %ymm5
+ vpor %ymm6, %ymm5, %ymm5
+ vmovdqu 448(%rcx), %ymm6
+ vpxor %ymm7, %ymm6, %ymm6
+ vpsllq $39, %ymm6, %ymm7
+ vpsrlq $25, %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm6
+ vmovdqu 480(%rcx), %ymm7
+ vpxor %ymm3, %ymm7, %ymm3
+ vpsllq $41, %ymm3, %ymm7
+ vpsrlq $23, %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm3
+ vmovdqu 672(%rcx), %ymm7
+ vpxor %ymm4, %ymm7, %ymm4
+ vpsllq $2, %ymm4, %ymm7
+ vpsrlq $62, %ymm4, %ymm4
+ vpor %ymm7, %ymm4, %ymm4
+ vpandn %ymm6, %ymm5, %ymm7
+ vpxor %ymm2, %ymm7, %ymm7
+ vmovdqu %ymm7, 640(%rax)
+ vpandn %ymm3, %ymm6, %ymm7
+ vpxor %ymm5, %ymm7, %ymm7
+ vmovdqu %ymm7, 672(%rax)
+ vpandn %ymm4, %ymm3, %ymm7
+ vpxor %ymm6, %ymm7, %ymm6
+ vmovdqu %ymm6, 704(%rax)
+ vpandn %ymm2, %ymm4, %ymm6
+ vpxor %ymm3, %ymm6, %ymm3
+ vmovdqu %ymm3, 736(%rax)
+ vpandn %ymm5, %ymm2, %ymm2
+ vpxor %ymm4, %ymm2, %ymm2
+ vmovdqu %ymm2, 768(%rax)
+ addq $64, %rsi
+ cmpq $768, %rsi
+ jb L_keccakf1600_4x_avx2$2
+ ret
+L_sha3_512_32$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6208(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6216(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rcx
+ movq glob_data + 6224(%rip), %rdx
+ movq %rcx, 32(%rsp,%rdx,8)
+ movq glob_data + 6232(%rip), %rcx
+ shlq $3, %rcx
+ movb $6, 32(%rsp,%rcx)
+ movq glob_data + 6264(%rip), %rcx
+ shlq $3, %rcx
+ movq $71, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L_sha3_512_32$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_512_32$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ ret
+L_sha3_512_64$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6208(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6216(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rdx
+ movq glob_data + 6224(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 32(%rcx), %rdx
+ movq glob_data + 6232(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 40(%rcx), %rdx
+ movq glob_data + 6240(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 48(%rcx), %rdx
+ movq glob_data + 6248(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 56(%rcx), %rcx
+ movq glob_data + 6256(%rip), %rdx
+ movq %rcx, 32(%rsp,%rdx,8)
+ movq glob_data + 6264(%rip), %rcx
+ shlq $3, %rcx
+ movb $6, 32(%rsp,%rcx)
+ movq glob_data + 6264(%rip), %rcx
+ shlq $3, %rcx
+ movq $71, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L_sha3_512_64$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_512_64$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ movq glob_data + 6232(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 32(%rax)
+ movq glob_data + 6240(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 40(%rax)
+ movq glob_data + 6248(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 48(%rax)
+ movq glob_data + 6256(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 56(%rax)
+ ret
+L_shake256_64$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rax), %ymm4
+ movq glob_data + 6208(%rip), %rsi
+ movq 8(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6216(%rip), %rsi
+ movq 16(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6224(%rip), %rsi
+ movq 24(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6232(%rip), %rsi
+ movq 32(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6240(%rip), %rsi
+ movq 40(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6248(%rip), %rsi
+ movq 48(%rax), %rdi
+ movq %rdi, 32(%rsp,%rsi,8)
+ movq glob_data + 6256(%rip), %rsi
+ movq 56(%rax), %rax
+ movq %rax, 32(%rsp,%rsi,8)
+ movq glob_data + 6264(%rip), %rax
+ shlq $3, %rax
+ movb $31, 32(%rsp,%rax)
+ movq glob_data + 6328(%rip), %rax
+ shlq $3, %rax
+ movq $135, %rsi
+ andq $7, %rsi
+ addq %rsi, %rax
+ xorb $-128, 32(%rsp,%rax)
+ vmovdqu 64(%rsp), %ymm5
+ vmovdqu 96(%rsp), %ymm0
+ vmovdqu 128(%rsp), %ymm1
+ vmovdqu 160(%rsp), %ymm6
+ vmovdqu 192(%rsp), %ymm2
+ vmovdqu 224(%rsp), %ymm3
+ movq $136, %rsi
+ leaq glob_data + 6200(%rip), %rax
+ jmp L_shake256_64$7
+L_shake256_64$8:
+ leaq glob_data + 3328(%rip), %rdi
+ movq $0, %r8
+ leaq glob_data + 3136(%rip), %r9
+ leaq glob_data + 2944(%rip), %r10
+ movq $24, %r11
+L_shake256_64$11:
+ vpshufd $78, %ymm0, %ymm8
+ vpxor %ymm1, %ymm2, %ymm7
+ vpxor %ymm3, %ymm6, %ymm9
+ vpxor %ymm5, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm0, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm4, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm0, %ymm0
+ vpxor %ymm11, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%r9), %ymm0, %ymm7
+ vpsrlvq (%r10), %ymm0, %ymm0
+ vpor %ymm7, %ymm0, %ymm0
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 64(%r9), %ymm1, %ymm7
+ vpsrlvq 64(%r10), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%r9), %ymm6, %ymm7
+ vpsrlvq 96(%r10), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 128(%r9), %ymm2, %ymm6
+ vpsrlvq 128(%r10), %ymm2, %ymm2
+ vpor %ymm6, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpermq $-115, %ymm0, %ymm6
+ vpermq $-115, %ymm1, %ymm7
+ vpsllvq 160(%r9), %ymm3, %ymm0
+ vpsrlvq 160(%r10), %ymm3, %ymm1
+ vpor %ymm0, %ymm1, %ymm8
+ vpxor %ymm9, %ymm5, %ymm0
+ vpermq $27, %ymm10, %ymm5
+ vpermq $114, %ymm2, %ymm9
+ vpsllvq 32(%r9), %ymm0, %ymm1
+ vpsrlvq 32(%r10), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm1
+ vpblendd $12, %ymm9, %ymm10, %ymm0
+ vpblendd $12, %ymm10, %ymm7, %ymm2
+ vpblendd $12, %ymm7, %ymm6, %ymm3
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm0, %ymm0
+ vpblendd $48, %ymm5, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm3, %ymm3
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm5, %ymm0, %ymm0
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm2, %ymm0, %ymm0
+ vpandn %ymm11, %ymm3, %ymm3
+ vpblendd $12, %ymm10, %ymm5, %ymm11
+ vpblendd $12, %ymm5, %ymm6, %ymm12
+ vpxor %ymm6, %ymm0, %ymm2
+ vpblendd $48, %ymm6, %ymm11, %ymm0
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm5, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm0, %ymm0
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm0, %ymm0
+ vpxor %ymm9, %ymm0, %ymm12
+ vpermq $30, %ymm8, %ymm0
+ vpblendd $48, %ymm4, %ymm0, %ymm0
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm4, %ymm11, %ymm11
+ vpandn %ymm0, %ymm11, %ymm11
+ vpblendd $12, %ymm5, %ymm7, %ymm0
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm0, %ymm0
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm0, %ymm0
+ vpblendd $-64, %ymm5, %ymm13, %ymm13
+ vpandn %ymm13, %ymm0, %ymm0
+ vpxor %ymm10, %ymm0, %ymm0
+ vpermq $0, %ymm1, %ymm13
+ vpermq $27, %ymm2, %ymm1
+ vpermq $-115, %ymm3, %ymm2
+ vpermq $114, %ymm12, %ymm3
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm5, %ymm9
+ vpblendd $48, %ymm5, %ymm12, %ymm5
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm5, %ymm5
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm5, %ymm6
+ vpxor %ymm13, %ymm4, %ymm4
+ vpxor %ymm8, %ymm11, %ymm5
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rdi,%r8), %ymm4, %ymm4
+ addq $32, %r8
+ decq %r11
+ jne L_shake256_64$11
+ vmovdqu %ymm4, 32(%rsp)
+ vmovdqu %ymm5, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm1, 128(%rsp)
+ vmovdqu %ymm6, 160(%rsp)
+ vmovdqu %ymm2, 192(%rsp)
+ vmovdqu %ymm3, 224(%rsp)
+ movq %rsi, %rdi
+ shrq $3, %rdi
+ movq $0, %r8
+ jmp L_shake256_64$9
+L_shake256_64$10:
+ movq (%rax,%r8,8), %r9
+ movq 32(%rsp,%r9,8), %r9
+ movq %r9, (%rdx,%r8,8)
+ incq %r8
+L_shake256_64$9:
+ cmpq %rdi, %r8
+ jb L_shake256_64$10
+ addq %rsi, %rdx
+ subq %rsi, %rcx
+L_shake256_64$7:
+ cmpq %rsi, %rcx
+ jnbe L_shake256_64$8
+ leaq glob_data + 3328(%rip), %rsi
+ movq $0, %rdi
+ leaq glob_data + 3136(%rip), %r8
+ leaq glob_data + 2944(%rip), %r9
+ movq $24, %r10
+L_shake256_64$6:
+ vpshufd $78, %ymm0, %ymm8
+ vpxor %ymm1, %ymm2, %ymm7
+ vpxor %ymm3, %ymm6, %ymm9
+ vpxor %ymm5, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm0, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm4, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm0, %ymm0
+ vpxor %ymm11, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%r8), %ymm0, %ymm7
+ vpsrlvq (%r9), %ymm0, %ymm0
+ vpor %ymm7, %ymm0, %ymm0
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 64(%r8), %ymm1, %ymm7
+ vpsrlvq 64(%r9), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm6, %ymm6
+ vpsllvq 96(%r8), %ymm6, %ymm7
+ vpsrlvq 96(%r9), %ymm6, %ymm6
+ vpor %ymm7, %ymm6, %ymm10
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 128(%r8), %ymm2, %ymm6
+ vpsrlvq 128(%r9), %ymm2, %ymm2
+ vpor %ymm6, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpermq $-115, %ymm0, %ymm6
+ vpermq $-115, %ymm1, %ymm7
+ vpsllvq 160(%r8), %ymm3, %ymm0
+ vpsrlvq 160(%r9), %ymm3, %ymm1
+ vpor %ymm0, %ymm1, %ymm8
+ vpxor %ymm9, %ymm5, %ymm0
+ vpermq $27, %ymm10, %ymm5
+ vpermq $114, %ymm2, %ymm9
+ vpsllvq 32(%r8), %ymm0, %ymm1
+ vpsrlvq 32(%r9), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm1
+ vpblendd $12, %ymm9, %ymm10, %ymm0
+ vpblendd $12, %ymm10, %ymm7, %ymm2
+ vpblendd $12, %ymm7, %ymm6, %ymm3
+ vpblendd $12, %ymm6, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm0, %ymm0
+ vpblendd $48, %ymm5, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm3, %ymm3
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm5, %ymm0, %ymm0
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm2, %ymm0, %ymm0
+ vpandn %ymm11, %ymm3, %ymm3
+ vpblendd $12, %ymm10, %ymm5, %ymm11
+ vpblendd $12, %ymm5, %ymm6, %ymm12
+ vpxor %ymm6, %ymm0, %ymm2
+ vpblendd $48, %ymm6, %ymm11, %ymm0
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm5, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm0, %ymm0
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm0, %ymm0
+ vpxor %ymm9, %ymm0, %ymm12
+ vpermq $30, %ymm8, %ymm0
+ vpblendd $48, %ymm4, %ymm0, %ymm0
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm4, %ymm11, %ymm11
+ vpandn %ymm0, %ymm11, %ymm11
+ vpblendd $12, %ymm5, %ymm7, %ymm0
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm0, %ymm0
+ vpblendd $48, %ymm6, %ymm13, %ymm13
+ vpblendd $-64, %ymm6, %ymm0, %ymm0
+ vpblendd $-64, %ymm5, %ymm13, %ymm13
+ vpandn %ymm13, %ymm0, %ymm0
+ vpxor %ymm10, %ymm0, %ymm0
+ vpermq $0, %ymm1, %ymm13
+ vpermq $27, %ymm2, %ymm1
+ vpermq $-115, %ymm3, %ymm2
+ vpermq $114, %ymm12, %ymm3
+ vpblendd $12, %ymm6, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm5, %ymm9
+ vpblendd $48, %ymm5, %ymm12, %ymm5
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm5, %ymm5
+ vpblendd $-64, %ymm6, %ymm9, %ymm6
+ vpandn %ymm6, %ymm5, %ymm6
+ vpxor %ymm13, %ymm4, %ymm4
+ vpxor %ymm8, %ymm11, %ymm5
+ vpxor %ymm7, %ymm6, %ymm6
+ vpxor (%rsi,%rdi), %ymm4, %ymm4
+ addq $32, %rdi
+ decq %r10
+ jne L_shake256_64$6
+ vmovdqu %ymm4, 32(%rsp)
+ vmovdqu %ymm5, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm1, 128(%rsp)
+ vmovdqu %ymm6, 160(%rsp)
+ vmovdqu %ymm2, 192(%rsp)
+ vmovdqu %ymm3, 224(%rsp)
+ movq %rcx, %rsi
+ shrq $3, %rsi
+ movq $0, %rdi
+ jmp L_shake256_64$4
+L_shake256_64$5:
+ movq (%rax,%rdi,8), %r8
+ movq 32(%rsp,%r8,8), %r8
+ movq %r8, (%rdx,%rdi,8)
+ incq %rdi
+L_shake256_64$4:
+ cmpq %rsi, %rdi
+ jb L_shake256_64$5
+ movq (%rax,%rdi,8), %rax
+ shlq $3, %rdi
+ shlq $3, %rax
+ jmp L_shake256_64$2
+L_shake256_64$3:
+ movb 32(%rsp,%rax), %sil
+ movb %sil, (%rdx,%rdi)
+ incq %rdi
+ incq %rax
+L_shake256_64$2:
+ cmpq %rcx, %rdi
+ jb L_shake256_64$3
+ ret
+L_sha3_256_32$1:
+ vpxor %ymm0, %ymm0, %ymm0
+ vmovdqu %ymm0, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm0, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm0, 160(%rsp)
+ vmovdqu %ymm0, 192(%rsp)
+ vmovdqu %ymm0, 224(%rsp)
+ vpbroadcastq (%rcx), %ymm6
+ movq 8(%rcx), %rdx
+ movq glob_data + 6208(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 16(%rcx), %rdx
+ movq glob_data + 6216(%rip), %rsi
+ movq %rdx, 32(%rsp,%rsi,8)
+ movq 24(%rcx), %rcx
+ movq glob_data + 6224(%rip), %rdx
+ movq %rcx, 32(%rsp,%rdx,8)
+ movq glob_data + 6232(%rip), %rcx
+ shlq $3, %rcx
+ movb $6, 32(%rsp,%rcx)
+ movq glob_data + 6328(%rip), %rcx
+ shlq $3, %rcx
+ movq $135, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ vmovdqu 64(%rsp), %ymm0
+ vmovdqu 96(%rsp), %ymm1
+ vmovdqu 128(%rsp), %ymm2
+ vmovdqu 160(%rsp), %ymm3
+ vmovdqu 192(%rsp), %ymm4
+ vmovdqu 224(%rsp), %ymm5
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L_sha3_256_32$2:
+ vpshufd $78, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm7
+ vpxor %ymm5, %ymm3, %ymm9
+ vpxor %ymm0, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm1, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm1, %ymm1
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%rsi), %ymm1, %ymm7
+ vpsrlvq (%rdi), %ymm1, %ymm1
+ vpor %ymm7, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpsllvq 64(%rsi), %ymm2, %ymm7
+ vpsrlvq 64(%rdi), %ymm2, %ymm2
+ vpor %ymm7, %ymm2, %ymm2
+ vpxor %ymm9, %ymm3, %ymm3
+ vpsllvq 96(%rsi), %ymm3, %ymm7
+ vpsrlvq 96(%rdi), %ymm3, %ymm3
+ vpor %ymm7, %ymm3, %ymm10
+ vpxor %ymm9, %ymm4, %ymm3
+ vpsllvq 128(%rsi), %ymm3, %ymm4
+ vpsrlvq 128(%rdi), %ymm3, %ymm3
+ vpor %ymm4, %ymm3, %ymm4
+ vpxor %ymm9, %ymm5, %ymm5
+ vpermq $-115, %ymm1, %ymm3
+ vpermq $-115, %ymm2, %ymm7
+ vpsllvq 160(%rsi), %ymm5, %ymm1
+ vpsrlvq 160(%rdi), %ymm5, %ymm2
+ vpor %ymm1, %ymm2, %ymm8
+ vpxor %ymm9, %ymm0, %ymm1
+ vpermq $27, %ymm10, %ymm0
+ vpermq $114, %ymm4, %ymm9
+ vpsllvq 32(%rsi), %ymm1, %ymm2
+ vpsrlvq 32(%rdi), %ymm1, %ymm1
+ vpor %ymm2, %ymm1, %ymm10
+ vpsrldq $8, %ymm8, %ymm1
+ vpandn %ymm1, %ymm8, %ymm2
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm3, %ymm5
+ vpblendd $12, %ymm3, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm0, %ymm4, %ymm4
+ vpblendd $48, %ymm10, %ymm5, %ymm5
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm0, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm9, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm4, %ymm1, %ymm1
+ vpandn %ymm11, %ymm5, %ymm5
+ vpblendd $12, %ymm10, %ymm0, %ymm11
+ vpblendd $12, %ymm0, %ymm3, %ymm12
+ vpxor %ymm3, %ymm1, %ymm4
+ vpblendd $48, %ymm3, %ymm11, %ymm1
+ vpblendd $48, %ymm7, %ymm12, %ymm11
+ vpxor %ymm0, %ymm5, %ymm5
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm1, %ymm1
+ vpxor %ymm9, %ymm1, %ymm12
+ vpermq $30, %ymm8, %ymm1
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm1, %ymm11, %ymm11
+ vpblendd $12, %ymm0, %ymm7, %ymm1
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm13, %ymm13
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm0, %ymm13, %ymm13
+ vpandn %ymm13, %ymm1, %ymm1
+ vpxor %ymm10, %ymm1, %ymm1
+ vpermq $0, %ymm2, %ymm13
+ vpermq $27, %ymm4, %ymm2
+ vpermq $-115, %ymm5, %ymm4
+ vpermq $114, %ymm12, %ymm5
+ vpblendd $12, %ymm3, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm0, %ymm9
+ vpblendd $48, %ymm0, %ymm12, %ymm0
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm0, %ymm0
+ vpblendd $-64, %ymm3, %ymm9, %ymm3
+ vpandn %ymm3, %ymm0, %ymm3
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm0
+ vpxor %ymm7, %ymm3, %ymm3
+ vpxor (%rcx,%rdx), %ymm6, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_256_32$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm0, 64(%rsp)
+ vmovdqu %ymm1, 96(%rsp)
+ vmovdqu %ymm2, 128(%rsp)
+ vmovdqu %ymm3, 160(%rsp)
+ vmovdqu %ymm4, 192(%rsp)
+ vmovdqu %ymm5, 224(%rsp)
+ movq glob_data + 6200(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, (%rax)
+ movq glob_data + 6208(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 8(%rax)
+ movq glob_data + 6216(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 16(%rax)
+ movq glob_data + 6224(%rip), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ ret
+L_sha3_256$1:
+ vpxor %ymm6, %ymm6, %ymm6
+ vpxor %ymm3, %ymm3, %ymm3
+ vpxor %ymm4, %ymm4, %ymm4
+ vpxor %ymm0, %ymm0, %ymm0
+ vpxor %ymm5, %ymm5, %ymm5
+ vpxor %ymm1, %ymm1, %ymm1
+ vpxor %ymm2, %ymm2, %ymm2
+ movb $6, %cl
+ movq $136, %rdx
+ leaq glob_data + 6200(%rip), %rsi
+ vpxor %ymm7, %ymm7, %ymm7
+ vmovdqu %ymm7, 32(%rsp)
+ vmovdqu %ymm7, 64(%rsp)
+ vmovdqu %ymm7, 96(%rsp)
+ vmovdqu %ymm7, 128(%rsp)
+ vmovdqu %ymm7, 160(%rsp)
+ vmovdqu %ymm7, 192(%rsp)
+ vmovdqu %ymm7, 224(%rsp)
+ jmp L_sha3_256$7
+L_sha3_256$8:
+ movq %rdx, %r9
+ shrq $3, %r9
+ movq $0, %r10
+ jmp L_sha3_256$10
+L_sha3_256$11:
+ movq (%r8,%r10,8), %r11
+ movq (%rsi,%r10,8), %rbx
+ movq %r11, 32(%rsp,%rbx,8)
+ incq %r10
+L_sha3_256$10:
+ cmpq %r9, %r10
+ jb L_sha3_256$11
+ movq 32(%rsp), %r9
+ movq %r9, 40(%rsp)
+ movq %r9, 48(%rsp)
+ movq %r9, 56(%rsp)
+ vpxor 32(%rsp), %ymm6, %ymm6
+ vpxor 64(%rsp), %ymm3, %ymm3
+ vpxor 96(%rsp), %ymm4, %ymm4
+ vpxor 128(%rsp), %ymm0, %ymm0
+ vpxor 160(%rsp), %ymm5, %ymm5
+ vpxor 192(%rsp), %ymm1, %ymm1
+ vpxor 224(%rsp), %ymm2, %ymm2
+ addq %rdx, %r8
+ subq %rdx, %rdi
+ leaq glob_data + 3328(%rip), %r9
+ movq $0, %r10
+ leaq glob_data + 3136(%rip), %r11
+ leaq glob_data + 2944(%rip), %rbx
+ movq $24, %rbp
+L_sha3_256$9:
+ vpshufd $78, %ymm4, %ymm8
+ vpxor %ymm0, %ymm1, %ymm7
+ vpxor %ymm2, %ymm5, %ymm9
+ vpxor %ymm3, %ymm7, %ymm7
+ vpxor %ymm9, %ymm7, %ymm10
+ vpermq $-109, %ymm10, %ymm7
+ vpxor %ymm4, %ymm8, %ymm8
+ vpermq $78, %ymm8, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm7, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm8
+ vpsrlq $63, %ymm8, %ymm9
+ vpaddq %ymm8, %ymm8, %ymm12
+ vpor %ymm9, %ymm12, %ymm9
+ vpxor %ymm11, %ymm4, %ymm4
+ vpxor %ymm11, %ymm6, %ymm6
+ vpblendd $-64, %ymm9, %ymm10, %ymm9
+ vpblendd $3, %ymm8, %ymm7, %ymm7
+ vpxor %ymm7, %ymm9, %ymm9
+ vpsllvq (%r11), %ymm4, %ymm7
+ vpsrlvq (%rbx), %ymm4, %ymm4
+ vpor %ymm7, %ymm4, %ymm4
+ vpxor %ymm9, %ymm0, %ymm0
+ vpsllvq 64(%r11), %ymm0, %ymm7
+ vpsrlvq 64(%rbx), %ymm0, %ymm0
+ vpor %ymm7, %ymm0, %ymm0
+ vpxor %ymm9, %ymm5, %ymm5
+ vpsllvq 96(%r11), %ymm5, %ymm7
+ vpsrlvq 96(%rbx), %ymm5, %ymm5
+ vpor %ymm7, %ymm5, %ymm10
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 128(%r11), %ymm1, %ymm5
+ vpsrlvq 128(%rbx), %ymm1, %ymm1
+ vpor %ymm5, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpermq $-115, %ymm4, %ymm5
+ vpermq $-115, %ymm0, %ymm7
+ vpsllvq 160(%r11), %ymm2, %ymm0
+ vpsrlvq 160(%rbx), %ymm2, %ymm2
+ vpor %ymm0, %ymm2, %ymm8
+ vpxor %ymm9, %ymm3, %ymm0
+ vpermq $27, %ymm10, %ymm3
+ vpermq $114, %ymm1, %ymm9
+ vpsllvq 32(%r11), %ymm0, %ymm1
+ vpsrlvq 32(%rbx), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm0
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm7, %ymm2
+ vpblendd $12, %ymm7, %ymm5, %ymm4
+ vpblendd $12, %ymm5, %ymm10, %ymm11
+ vpblendd $48, %ymm7, %ymm1, %ymm1
+ vpblendd $48, %ymm3, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm4, %ymm4
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm3, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm4, %ymm4
+ vpblendd $-64, %ymm7, %ymm11, %ymm11
+ vpandn %ymm2, %ymm1, %ymm1
+ vpandn %ymm11, %ymm4, %ymm2
+ vpblendd $12, %ymm10, %ymm3, %ymm4
+ vpblendd $12, %ymm3, %ymm5, %ymm11
+ vpxor %ymm5, %ymm1, %ymm1
+ vpblendd $48, %ymm5, %ymm4, %ymm4
+ vpblendd $48, %ymm7, %ymm11, %ymm11
+ vpxor %ymm3, %ymm2, %ymm2
+ vpblendd $-64, %ymm7, %ymm4, %ymm4
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm4, %ymm4
+ vpxor %ymm9, %ymm4, %ymm12
+ vpermq $30, %ymm8, %ymm4
+ vpblendd $48, %ymm6, %ymm4, %ymm4
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm4, %ymm11, %ymm11
+ vpblendd $12, %ymm3, %ymm7, %ymm4
+ vpblendd $12, %ymm7, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm4, %ymm4
+ vpblendd $48, %ymm5, %ymm13, %ymm13
+ vpblendd $-64, %ymm5, %ymm4, %ymm4
+ vpblendd $-64, %ymm3, %ymm13, %ymm13
+ vpandn %ymm13, %ymm4, %ymm4
+ vpxor %ymm10, %ymm4, %ymm4
+ vpermq $0, %ymm0, %ymm13
+ vpermq $27, %ymm1, %ymm0
+ vpermq $-115, %ymm2, %ymm1
+ vpermq $114, %ymm12, %ymm2
+ vpblendd $12, %ymm5, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm3, %ymm9
+ vpblendd $48, %ymm3, %ymm12, %ymm3
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm3, %ymm3
+ vpblendd $-64, %ymm5, %ymm9, %ymm5
+ vpandn %ymm5, %ymm3, %ymm5
+ vpxor %ymm13, %ymm6, %ymm6
+ vpxor %ymm8, %ymm11, %ymm3
+ vpxor %ymm7, %ymm5, %ymm5
+ vpxor (%r9,%r10), %ymm6, %ymm6
+ addq $32, %r10
+ decq %rbp
+ jne L_sha3_256$9
+L_sha3_256$7:
+ cmpq %rdx, %rdi
+ jnb L_sha3_256$8
+ vpxor %ymm7, %ymm7, %ymm7
+ vmovdqu %ymm7, 32(%rsp)
+ vmovdqu %ymm7, 64(%rsp)
+ vmovdqu %ymm7, 96(%rsp)
+ vmovdqu %ymm7, 128(%rsp)
+ vmovdqu %ymm7, 160(%rsp)
+ vmovdqu %ymm7, 192(%rsp)
+ vmovdqu %ymm7, 224(%rsp)
+ movq %rdi, %r9
+ shrq $3, %r9
+ movq $0, %r10
+ jmp L_sha3_256$5
+L_sha3_256$6:
+ movq (%r8,%r10,8), %r11
+ movq (%rsi,%r10,8), %rbx
+ movq %r11, 32(%rsp,%rbx,8)
+ incq %r10
+L_sha3_256$5:
+ cmpq %r9, %r10
+ jb L_sha3_256$6
+ movq (%rsi,%r10,8), %r9
+ shlq $3, %r9
+ shlq $3, %r10
+ jmp L_sha3_256$3
+L_sha3_256$4:
+ movb (%r8,%r10), %r11b
+ movb %r11b, 32(%rsp,%r9)
+ incq %r10
+ incq %r9
+L_sha3_256$3:
+ cmpq %rdi, %r10
+ jb L_sha3_256$4
+ movb %cl, 32(%rsp,%r9)
+ movq %rdx, %rcx
+ addq $-1, %rcx
+ shrq $3, %rcx
+ movq (%rsi,%rcx,8), %rcx
+ shlq $3, %rcx
+ addq $-1, %rdx
+ andq $7, %rdx
+ addq %rdx, %rcx
+ xorb $-128, 32(%rsp,%rcx)
+ movq 32(%rsp), %rcx
+ movq %rcx, 40(%rsp)
+ movq %rcx, 48(%rsp)
+ movq %rcx, 56(%rsp)
+ vpxor 32(%rsp), %ymm6, %ymm6
+ vpxor 64(%rsp), %ymm3, %ymm7
+ vpxor 96(%rsp), %ymm4, %ymm3
+ vpxor 128(%rsp), %ymm0, %ymm0
+ vpxor 160(%rsp), %ymm5, %ymm4
+ vpxor 192(%rsp), %ymm1, %ymm1
+ vpxor 224(%rsp), %ymm2, %ymm2
+ leaq glob_data + 3328(%rip), %rcx
+ movq $0, %rdx
+ leaq glob_data + 3136(%rip), %rsi
+ leaq glob_data + 2944(%rip), %rdi
+ movq $24, %r8
+L_sha3_256$2:
+ vpshufd $78, %ymm3, %ymm5
+ vpxor %ymm0, %ymm1, %ymm8
+ vpxor %ymm2, %ymm4, %ymm9
+ vpxor %ymm7, %ymm8, %ymm8
+ vpxor %ymm9, %ymm8, %ymm10
+ vpermq $-109, %ymm10, %ymm8
+ vpxor %ymm3, %ymm5, %ymm5
+ vpermq $78, %ymm5, %ymm9
+ vpsrlq $63, %ymm10, %ymm11
+ vpaddq %ymm10, %ymm10, %ymm10
+ vpor %ymm10, %ymm11, %ymm11
+ vpermq $57, %ymm11, %ymm10
+ vpxor %ymm8, %ymm11, %ymm11
+ vpermq $0, %ymm11, %ymm11
+ vpxor %ymm6, %ymm5, %ymm5
+ vpxor %ymm9, %ymm5, %ymm9
+ vpsrlq $63, %ymm9, %ymm5
+ vpaddq %ymm9, %ymm9, %ymm12
+ vpor %ymm5, %ymm12, %ymm12
+ vpxor %ymm11, %ymm3, %ymm3
+ vpxor %ymm11, %ymm6, %ymm5
+ vpblendd $-64, %ymm12, %ymm10, %ymm6
+ vpblendd $3, %ymm9, %ymm8, %ymm8
+ vpxor %ymm8, %ymm6, %ymm9
+ vpsllvq (%rsi), %ymm3, %ymm6
+ vpsrlvq (%rdi), %ymm3, %ymm3
+ vpor %ymm6, %ymm3, %ymm3
+ vpxor %ymm9, %ymm0, %ymm0
+ vpsllvq 64(%rsi), %ymm0, %ymm6
+ vpsrlvq 64(%rdi), %ymm0, %ymm0
+ vpor %ymm6, %ymm0, %ymm0
+ vpxor %ymm9, %ymm4, %ymm4
+ vpsllvq 96(%rsi), %ymm4, %ymm6
+ vpsrlvq 96(%rdi), %ymm4, %ymm4
+ vpor %ymm6, %ymm4, %ymm10
+ vpxor %ymm9, %ymm1, %ymm1
+ vpsllvq 128(%rsi), %ymm1, %ymm4
+ vpsrlvq 128(%rdi), %ymm1, %ymm1
+ vpor %ymm4, %ymm1, %ymm1
+ vpxor %ymm9, %ymm2, %ymm2
+ vpermq $-115, %ymm3, %ymm4
+ vpermq $-115, %ymm0, %ymm6
+ vpsllvq 160(%rsi), %ymm2, %ymm0
+ vpsrlvq 160(%rdi), %ymm2, %ymm2
+ vpor %ymm0, %ymm2, %ymm8
+ vpxor %ymm9, %ymm7, %ymm0
+ vpermq $27, %ymm10, %ymm7
+ vpermq $114, %ymm1, %ymm9
+ vpsllvq 32(%rsi), %ymm0, %ymm1
+ vpsrlvq 32(%rdi), %ymm0, %ymm0
+ vpor %ymm1, %ymm0, %ymm10
+ vpsrldq $8, %ymm8, %ymm0
+ vpandn %ymm0, %ymm8, %ymm0
+ vpblendd $12, %ymm9, %ymm10, %ymm1
+ vpblendd $12, %ymm10, %ymm6, %ymm2
+ vpblendd $12, %ymm6, %ymm4, %ymm3
+ vpblendd $12, %ymm4, %ymm10, %ymm11
+ vpblendd $48, %ymm6, %ymm1, %ymm1
+ vpblendd $48, %ymm7, %ymm2, %ymm2
+ vpblendd $48, %ymm10, %ymm3, %ymm3
+ vpblendd $48, %ymm9, %ymm11, %ymm11
+ vpblendd $-64, %ymm7, %ymm1, %ymm1
+ vpblendd $-64, %ymm9, %ymm2, %ymm2
+ vpblendd $-64, %ymm9, %ymm3, %ymm3
+ vpblendd $-64, %ymm6, %ymm11, %ymm11
+ vpandn %ymm2, %ymm1, %ymm1
+ vpandn %ymm11, %ymm3, %ymm2
+ vpblendd $12, %ymm10, %ymm7, %ymm3
+ vpblendd $12, %ymm7, %ymm4, %ymm11
+ vpxor %ymm4, %ymm1, %ymm1
+ vpblendd $48, %ymm4, %ymm3, %ymm3
+ vpblendd $48, %ymm6, %ymm11, %ymm11
+ vpxor %ymm7, %ymm2, %ymm2
+ vpblendd $-64, %ymm6, %ymm3, %ymm3
+ vpblendd $-64, %ymm10, %ymm11, %ymm11
+ vpandn %ymm11, %ymm3, %ymm3
+ vpxor %ymm9, %ymm3, %ymm12
+ vpermq $30, %ymm8, %ymm3
+ vpblendd $48, %ymm5, %ymm3, %ymm3
+ vpermq $57, %ymm8, %ymm11
+ vpblendd $-64, %ymm5, %ymm11, %ymm11
+ vpandn %ymm3, %ymm11, %ymm11
+ vpblendd $12, %ymm7, %ymm6, %ymm3
+ vpblendd $12, %ymm6, %ymm9, %ymm13
+ vpblendd $48, %ymm9, %ymm3, %ymm3
+ vpblendd $48, %ymm4, %ymm13, %ymm13
+ vpblendd $-64, %ymm4, %ymm3, %ymm3
+ vpblendd $-64, %ymm7, %ymm13, %ymm13
+ vpandn %ymm13, %ymm3, %ymm3
+ vpxor %ymm10, %ymm3, %ymm3
+ vpermq $0, %ymm0, %ymm13
+ vpermq $27, %ymm1, %ymm0
+ vpermq $-115, %ymm2, %ymm1
+ vpermq $114, %ymm12, %ymm2
+ vpblendd $12, %ymm4, %ymm9, %ymm12
+ vpblendd $12, %ymm9, %ymm7, %ymm9
+ vpblendd $48, %ymm7, %ymm12, %ymm7
+ vpblendd $48, %ymm10, %ymm9, %ymm9
+ vpblendd $-64, %ymm10, %ymm7, %ymm7
+ vpblendd $-64, %ymm4, %ymm9, %ymm4
+ vpandn %ymm4, %ymm7, %ymm4
+ vpxor %ymm13, %ymm5, %ymm5
+ vpxor %ymm8, %ymm11, %ymm7
+ vpxor %ymm6, %ymm4, %ymm4
+ vpxor (%rcx,%rdx), %ymm5, %ymm6
+ addq $32, %rdx
+ decq %r8
+ jne L_sha3_256$2
+ vmovdqu %ymm6, 32(%rsp)
+ vmovdqu %ymm7, 64(%rsp)
+ vmovdqu %ymm3, 96(%rsp)
+ vmovdqu %ymm0, 128(%rsp)
+ vmovdqu %ymm4, 160(%rsp)
+ vmovdqu %ymm1, 192(%rsp)
+ vmovdqu %ymm2, 224(%rsp)
+ leaq glob_data + 6200(%rip), %rcx
+ movq (%rcx), %rdx
+ movq 32(%rsp,%rdx,8), %rdx
+ movq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ movq 32(%rsp,%rdx,8), %rdx
+ movq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ movq 32(%rsp,%rdx,8), %rdx
+ movq %rdx, 16(%rax)
+ movq 24(%rcx), %rcx
+ movq 32(%rsp,%rcx,8), %rcx
+ movq %rcx, 24(%rax)
+ ret
+ .data
+ .p2align 5
+_glob_data:
+glob_data:
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 10
+ .byte 11
+ .byte 4
+ .byte 5
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 11
+ .byte 12
+ .byte 13
+ .byte 14
+ .byte 14
+ .byte 15
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 8
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 8
+ .byte 8
+ .byte 9
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte 8
+ .byte 9
+ .byte 9
+ .byte 10
+ .byte 10
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 3
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 7
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 73
+ .byte 5
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte 64
+ .byte 3
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -128
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -127
+ .byte 6
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 15
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte -40
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -95
+ .byte 5
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte -65
+ .byte 78
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte -13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte 1
+ .byte 13
+ .byte -91
+ .byte -91
+ .byte -76
+ .byte -31
+ .byte 34
+ .byte 79
+ .byte 52
+ .byte 93
+ .byte 35
+ .byte 68
+ .byte 86
+ .byte -91
+ .byte -25
+ .byte 78
+ .byte -6
+ .byte 83
+ .byte 123
+ .byte -57
+ .byte 37
+ .byte 43
+ .byte 55
+ .byte 58
+ .byte -120
+ .byte 24
+ .byte -127
+ .byte 126
+ .byte 5
+ .byte -60
+ .byte -97
+ .byte -9
+ .byte -72
+ .byte -80
+ .byte -91
+ .byte 6
+ .byte -76
+ .byte 5
+ .byte 34
+ .byte 9
+ .byte 52
+ .byte 1
+ .byte 35
+ .byte 11
+ .byte 86
+ .byte 3
+ .byte -25
+ .byte 9
+ .byte -6
+ .byte 5
+ .byte 123
+ .byte 6
+ .byte 37
+ .byte 12
+ .byte 55
+ .byte 5
+ .byte -120
+ .byte 0
+ .byte -127
+ .byte 11
+ .byte 5
+ .byte 5
+ .byte -97
+ .byte 10
+ .byte -72
+ .byte 8
+ .byte 15
+ .byte 68
+ .byte 67
+ .byte -94
+ .byte 29
+ .byte -112
+ .byte 108
+ .byte -124
+ .byte 102
+ .byte -43
+ .byte -26
+ .byte 87
+ .byte -2
+ .byte 30
+ .byte -95
+ .byte -41
+ .byte -93
+ .byte -67
+ .byte 106
+ .byte -95
+ .byte 63
+ .byte -43
+ .byte -65
+ .byte 81
+ .byte -71
+ .byte -96
+ .byte -41
+ .byte 28
+ .byte -90
+ .byte -100
+ .byte -48
+ .byte 121
+ .byte 15
+ .byte 7
+ .byte 67
+ .byte 9
+ .byte 29
+ .byte 9
+ .byte 108
+ .byte 0
+ .byte 102
+ .byte 3
+ .byte -26
+ .byte 5
+ .byte -2
+ .byte 4
+ .byte -95
+ .byte 4
+ .byte -93
+ .byte 4
+ .byte 106
+ .byte 3
+ .byte 63
+ .byte 8
+ .byte -65
+ .byte 4
+ .byte -71
+ .byte 5
+ .byte -41
+ .byte 7
+ .byte -90
+ .byte 10
+ .byte -48
+ .byte 9
+ .byte -5
+ .byte 69
+ .byte 92
+ .byte 94
+ .byte 41
+ .byte -17
+ .byte 65
+ .byte -66
+ .byte -43
+ .byte 49
+ .byte -28
+ .byte 113
+ .byte 64
+ .byte -55
+ .byte -114
+ .byte -53
+ .byte -73
+ .byte -72
+ .byte -9
+ .byte 117
+ .byte -115
+ .byte -36
+ .byte -106
+ .byte 110
+ .byte -61
+ .byte 34
+ .byte 15
+ .byte 62
+ .byte 90
+ .byte 110
+ .byte 85
+ .byte -78
+ .byte -5
+ .byte 4
+ .byte 92
+ .byte 10
+ .byte 41
+ .byte 4
+ .byte 65
+ .byte 11
+ .byte -43
+ .byte 2
+ .byte -28
+ .byte 5
+ .byte 64
+ .byte 9
+ .byte -114
+ .byte 1
+ .byte -73
+ .byte 3
+ .byte -9
+ .byte 0
+ .byte -115
+ .byte 5
+ .byte -106
+ .byte 12
+ .byte -61
+ .byte 9
+ .byte 15
+ .byte 1
+ .byte 90
+ .byte 0
+ .byte 85
+ .byte 3
+ .byte 35
+ .byte 63
+ .byte 35
+ .byte 63
+ .byte -51
+ .byte -105
+ .byte -51
+ .byte -105
+ .byte 102
+ .byte -35
+ .byte 102
+ .byte -35
+ .byte 6
+ .byte -72
+ .byte 6
+ .byte -72
+ .byte -95
+ .byte -35
+ .byte -95
+ .byte -35
+ .byte 37
+ .byte 41
+ .byte 37
+ .byte 41
+ .byte 8
+ .byte -95
+ .byte 8
+ .byte -95
+ .byte -87
+ .byte 109
+ .byte -87
+ .byte 109
+ .byte 35
+ .byte 6
+ .byte 35
+ .byte 6
+ .byte -51
+ .byte 0
+ .byte -51
+ .byte 0
+ .byte 102
+ .byte 11
+ .byte 102
+ .byte 11
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte 6
+ .byte -95
+ .byte 10
+ .byte -95
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 8
+ .byte 9
+ .byte 8
+ .byte 9
+ .byte -87
+ .byte 2
+ .byte -87
+ .byte 2
+ .byte 69
+ .byte -122
+ .byte 69
+ .byte -122
+ .byte 69
+ .byte -122
+ .byte 69
+ .byte -122
+ .byte -62
+ .byte 43
+ .byte -62
+ .byte 43
+ .byte -62
+ .byte 43
+ .byte -62
+ .byte 43
+ .byte -78
+ .byte -6
+ .byte -78
+ .byte -6
+ .byte -78
+ .byte -6
+ .byte -78
+ .byte -6
+ .byte 63
+ .byte -42
+ .byte 63
+ .byte -42
+ .byte 63
+ .byte -42
+ .byte 63
+ .byte -42
+ .byte 69
+ .byte 7
+ .byte 69
+ .byte 7
+ .byte 69
+ .byte 7
+ .byte 69
+ .byte 7
+ .byte -62
+ .byte 5
+ .byte -62
+ .byte 5
+ .byte -62
+ .byte 5
+ .byte -62
+ .byte 5
+ .byte -78
+ .byte 4
+ .byte -78
+ .byte 4
+ .byte -78
+ .byte 4
+ .byte -78
+ .byte 4
+ .byte 63
+ .byte 9
+ .byte 63
+ .byte 9
+ .byte 63
+ .byte 9
+ .byte 63
+ .byte 9
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte 55
+ .byte 65
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte -30
+ .byte -111
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte 55
+ .byte 12
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -30
+ .byte 11
+ .byte -19
+ .byte -4
+ .byte -19
+ .byte -4
+ .byte -19
+ .byte 5
+ .byte -19
+ .byte 5
+ .byte 75
+ .byte 49
+ .byte -72
+ .byte -77
+ .byte -92
+ .byte -73
+ .byte 125
+ .byte -79
+ .byte -94
+ .byte -50
+ .byte 54
+ .byte 73
+ .byte -109
+ .byte -119
+ .byte -9
+ .byte 126
+ .byte -116
+ .byte -22
+ .byte -52
+ .byte -91
+ .byte -21
+ .byte 17
+ .byte -74
+ .byte -52
+ .byte -104
+ .byte 84
+ .byte -102
+ .byte 55
+ .byte -74
+ .byte -53
+ .byte 83
+ .byte -44
+ .byte 75
+ .byte 0
+ .byte -72
+ .byte 11
+ .byte -92
+ .byte 11
+ .byte 125
+ .byte 10
+ .byte -94
+ .byte 8
+ .byte 54
+ .byte 7
+ .byte -109
+ .byte 0
+ .byte -9
+ .byte 9
+ .byte -116
+ .byte 6
+ .byte -52
+ .byte 1
+ .byte -21
+ .byte 0
+ .byte -74
+ .byte 10
+ .byte -104
+ .byte 12
+ .byte -102
+ .byte 9
+ .byte -74
+ .byte 9
+ .byte 83
+ .byte 11
+ .byte -100
+ .byte 20
+ .byte 95
+ .byte 56
+ .byte 104
+ .byte -69
+ .byte 54
+ .byte 72
+ .byte 90
+ .byte 112
+ .byte 9
+ .byte -114
+ .byte 122
+ .byte -42
+ .byte -10
+ .byte -126
+ .byte -37
+ .byte -25
+ .byte 35
+ .byte 58
+ .byte 80
+ .byte -4
+ .byte 91
+ .byte 108
+ .byte -13
+ .byte -81
+ .byte -29
+ .byte 125
+ .byte -42
+ .byte 44
+ .byte 79
+ .byte 1
+ .byte -100
+ .byte 0
+ .byte 95
+ .byte 11
+ .byte 104
+ .byte 3
+ .byte 54
+ .byte 6
+ .byte 90
+ .byte 2
+ .byte 9
+ .byte 3
+ .byte 122
+ .byte 8
+ .byte -10
+ .byte 0
+ .byte -37
+ .byte 6
+ .byte 35
+ .byte 1
+ .byte 80
+ .byte 12
+ .byte 91
+ .byte 11
+ .byte -13
+ .byte 6
+ .byte -29
+ .byte 4
+ .byte -42
+ .byte 10
+ .byte 79
+ .byte 4
+ .byte 68
+ .byte -109
+ .byte -125
+ .byte 101
+ .byte -118
+ .byte 2
+ .byte 82
+ .byte -36
+ .byte -102
+ .byte 48
+ .byte 64
+ .byte -63
+ .byte 8
+ .byte -104
+ .byte -3
+ .byte 49
+ .byte 8
+ .byte -98
+ .byte 26
+ .byte -81
+ .byte 46
+ .byte -79
+ .byte 13
+ .byte 92
+ .byte 10
+ .byte -121
+ .byte 40
+ .byte -6
+ .byte 117
+ .byte 25
+ .byte 58
+ .byte 22
+ .byte 68
+ .byte 7
+ .byte -125
+ .byte 12
+ .byte -118
+ .byte 4
+ .byte 82
+ .byte 6
+ .byte -102
+ .byte 2
+ .byte 64
+ .byte 1
+ .byte 8
+ .byte 0
+ .byte -3
+ .byte 10
+ .byte 8
+ .byte 6
+ .byte 26
+ .byte 1
+ .byte 46
+ .byte 7
+ .byte 13
+ .byte 5
+ .byte 10
+ .byte 9
+ .byte 40
+ .byte 2
+ .byte 117
+ .byte 10
+ .byte 58
+ .byte 8
+ .byte -126
+ .byte 102
+ .byte -126
+ .byte 102
+ .byte 66
+ .byte -84
+ .byte 66
+ .byte -84
+ .byte 79
+ .byte 4
+ .byte 79
+ .byte 4
+ .byte 61
+ .byte -22
+ .byte 61
+ .byte -22
+ .byte -126
+ .byte 113
+ .byte -126
+ .byte 113
+ .byte -7
+ .byte 102
+ .byte -7
+ .byte 102
+ .byte 45
+ .byte -68
+ .byte 45
+ .byte -68
+ .byte -60
+ .byte 22
+ .byte -60
+ .byte 22
+ .byte -126
+ .byte 0
+ .byte -126
+ .byte 0
+ .byte 66
+ .byte 6
+ .byte 66
+ .byte 6
+ .byte 79
+ .byte 7
+ .byte 79
+ .byte 7
+ .byte 61
+ .byte 3
+ .byte 61
+ .byte 3
+ .byte -126
+ .byte 11
+ .byte -126
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte 45
+ .byte 5
+ .byte 45
+ .byte 5
+ .byte -60
+ .byte 10
+ .byte -60
+ .byte 10
+ .byte 75
+ .byte 61
+ .byte 75
+ .byte 61
+ .byte 75
+ .byte 61
+ .byte 75
+ .byte 61
+ .byte -40
+ .byte 14
+ .byte -40
+ .byte 14
+ .byte -40
+ .byte 14
+ .byte -40
+ .byte 14
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -109
+ .byte -85
+ .byte 81
+ .byte -85
+ .byte 81
+ .byte -85
+ .byte 81
+ .byte -85
+ .byte 81
+ .byte 75
+ .byte 12
+ .byte 75
+ .byte 12
+ .byte 75
+ .byte 12
+ .byte 75
+ .byte 12
+ .byte -40
+ .byte 6
+ .byte -40
+ .byte 6
+ .byte -40
+ .byte 6
+ .byte -40
+ .byte 6
+ .byte -109
+ .byte 10
+ .byte -109
+ .byte 10
+ .byte -109
+ .byte 10
+ .byte -109
+ .byte 10
+ .byte -85
+ .byte 0
+ .byte -85
+ .byte 0
+ .byte -85
+ .byte 0
+ .byte -85
+ .byte 0
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 115
+ .byte 48
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 44
+ .byte -53
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 115
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte 103
+ .byte -58
+ .byte 103
+ .byte -58
+ .byte 103
+ .byte 1
+ .byte 103
+ .byte 1
+ .byte -116
+ .byte -21
+ .byte -116
+ .byte -21
+ .byte -116
+ .byte 7
+ .byte -116
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 11
+ .byte 123
+ .byte 11
+ .byte 123
+ .byte 11
+ .byte 10
+ .byte 11
+ .byte 10
+ .byte -102
+ .byte 57
+ .byte -102
+ .byte 57
+ .byte -102
+ .byte 11
+ .byte -102
+ .byte 11
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -43
+ .byte 52
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -114
+ .byte -49
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -43
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte 86
+ .byte -82
+ .byte 86
+ .byte -82
+ .byte 86
+ .byte -82
+ .byte 86
+ .byte -82
+ .byte 110
+ .byte 108
+ .byte 110
+ .byte 108
+ .byte 110
+ .byte 108
+ .byte 110
+ .byte 108
+ .byte 41
+ .byte -15
+ .byte 41
+ .byte -15
+ .byte 41
+ .byte -15
+ .byte 41
+ .byte -15
+ .byte -74
+ .byte -62
+ .byte -74
+ .byte -62
+ .byte -74
+ .byte -62
+ .byte -74
+ .byte -62
+ .byte 86
+ .byte 12
+ .byte 86
+ .byte 12
+ .byte 86
+ .byte 12
+ .byte 86
+ .byte 12
+ .byte 110
+ .byte 2
+ .byte 110
+ .byte 2
+ .byte 110
+ .byte 2
+ .byte 110
+ .byte 2
+ .byte 41
+ .byte 6
+ .byte 41
+ .byte 6
+ .byte 41
+ .byte 6
+ .byte 41
+ .byte 6
+ .byte -74
+ .byte 0
+ .byte -74
+ .byte 0
+ .byte -74
+ .byte 0
+ .byte -74
+ .byte 0
+ .byte 61
+ .byte -23
+ .byte 61
+ .byte -23
+ .byte -44
+ .byte 67
+ .byte -44
+ .byte 67
+ .byte 8
+ .byte -103
+ .byte 8
+ .byte -103
+ .byte 127
+ .byte -114
+ .byte 127
+ .byte -114
+ .byte -60
+ .byte 21
+ .byte -60
+ .byte 21
+ .byte -78
+ .byte -5
+ .byte -78
+ .byte -5
+ .byte -65
+ .byte 83
+ .byte -65
+ .byte 83
+ .byte 127
+ .byte -103
+ .byte 127
+ .byte -103
+ .byte 61
+ .byte 2
+ .byte 61
+ .byte 2
+ .byte -44
+ .byte 7
+ .byte -44
+ .byte 7
+ .byte 8
+ .byte 1
+ .byte 8
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte -60
+ .byte 9
+ .byte -60
+ .byte 9
+ .byte -78
+ .byte 5
+ .byte -78
+ .byte 5
+ .byte -65
+ .byte 6
+ .byte -65
+ .byte 6
+ .byte 127
+ .byte 12
+ .byte 127
+ .byte 12
+ .byte -57
+ .byte -23
+ .byte -116
+ .byte -26
+ .byte -39
+ .byte 5
+ .byte -9
+ .byte 120
+ .byte -12
+ .byte -93
+ .byte -45
+ .byte 78
+ .byte -25
+ .byte 80
+ .byte -7
+ .byte 97
+ .byte 4
+ .byte -50
+ .byte -7
+ .byte 103
+ .byte -63
+ .byte 62
+ .byte 103
+ .byte -49
+ .byte -81
+ .byte 35
+ .byte 119
+ .byte -3
+ .byte 126
+ .byte -102
+ .byte -67
+ .byte 108
+ .byte -57
+ .byte 4
+ .byte -116
+ .byte 2
+ .byte -39
+ .byte 10
+ .byte -9
+ .byte 3
+ .byte -12
+ .byte 7
+ .byte -45
+ .byte 5
+ .byte -25
+ .byte 11
+ .byte -7
+ .byte 6
+ .byte 4
+ .byte 2
+ .byte -7
+ .byte 12
+ .byte -63
+ .byte 11
+ .byte 103
+ .byte 10
+ .byte -81
+ .byte 6
+ .byte 119
+ .byte 8
+ .byte 126
+ .byte 0
+ .byte -67
+ .byte 5
+ .byte -78
+ .byte -2
+ .byte 43
+ .byte -45
+ .byte 30
+ .byte -126
+ .byte 14
+ .byte 80
+ .byte -90
+ .byte -109
+ .byte -79
+ .byte 3
+ .byte -34
+ .byte -59
+ .byte 38
+ .byte 24
+ .byte 11
+ .byte 125
+ .byte -121
+ .byte 41
+ .byte -8
+ .byte 113
+ .byte -89
+ .byte -113
+ .byte -53
+ .byte -73
+ .byte -103
+ .byte 68
+ .byte -94
+ .byte -57
+ .byte 101
+ .byte -21
+ .byte -78
+ .byte 8
+ .byte 43
+ .byte 2
+ .byte 30
+ .byte 8
+ .byte 14
+ .byte 6
+ .byte -90
+ .byte 1
+ .byte -79
+ .byte 0
+ .byte -34
+ .byte 11
+ .byte 38
+ .byte 6
+ .byte 11
+ .byte 12
+ .byte -121
+ .byte 4
+ .byte -8
+ .byte 9
+ .byte -89
+ .byte 10
+ .byte -53
+ .byte 6
+ .byte -103
+ .byte 9
+ .byte -94
+ .byte 1
+ .byte 101
+ .byte 12
+ .byte -82
+ .byte 43
+ .byte 75
+ .byte 52
+ .byte 103
+ .byte -56
+ .byte 105
+ .byte -85
+ .byte 75
+ .byte 51
+ .byte 22
+ .byte -18
+ .byte 53
+ .byte 90
+ .byte 117
+ .byte 21
+ .byte 10
+ .byte -127
+ .byte 110
+ .byte 118
+ .byte -53
+ .byte -74
+ .byte 95
+ .byte 49
+ .byte -124
+ .byte 78
+ .byte 93
+ .byte 72
+ .byte 73
+ .byte 76
+ .byte -74
+ .byte -50
+ .byte -82
+ .byte 1
+ .byte 75
+ .byte 3
+ .byte 103
+ .byte 3
+ .byte 105
+ .byte 0
+ .byte 75
+ .byte 2
+ .byte 22
+ .byte 12
+ .byte 53
+ .byte 11
+ .byte 117
+ .byte 6
+ .byte 10
+ .byte 3
+ .byte 110
+ .byte 12
+ .byte -53
+ .byte 5
+ .byte 95
+ .byte 4
+ .byte -124
+ .byte 2
+ .byte 93
+ .byte 1
+ .byte 73
+ .byte 1
+ .byte -74
+ .byte 12
+ .byte 20
+ .byte 3
+ .byte 20
+ .byte 3
+ .byte 20
+ .byte 7
+ .byte 20
+ .byte 7
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte 31
+ .byte 110
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte -54
+ .byte -66
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte 31
+ .byte 1
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -54
+ .byte 0
+ .byte -62
+ .byte 41
+ .byte -62
+ .byte 41
+ .byte -62
+ .byte 41
+ .byte -62
+ .byte 41
+ .byte 79
+ .byte 5
+ .byte 79
+ .byte 5
+ .byte 79
+ .byte 5
+ .byte 79
+ .byte 5
+ .byte 63
+ .byte -44
+ .byte 63
+ .byte -44
+ .byte 63
+ .byte -44
+ .byte 63
+ .byte -44
+ .byte -68
+ .byte 121
+ .byte -68
+ .byte 121
+ .byte -68
+ .byte 121
+ .byte -68
+ .byte 121
+ .byte -62
+ .byte 3
+ .byte -62
+ .byte 3
+ .byte -62
+ .byte 3
+ .byte -62
+ .byte 3
+ .byte 79
+ .byte 8
+ .byte 79
+ .byte 8
+ .byte 79
+ .byte 8
+ .byte 79
+ .byte 8
+ .byte 63
+ .byte 7
+ .byte 63
+ .byte 7
+ .byte 63
+ .byte 7
+ .byte 63
+ .byte 7
+ .byte -68
+ .byte 5
+ .byte -68
+ .byte 5
+ .byte -68
+ .byte 5
+ .byte -68
+ .byte 5
+ .byte 88
+ .byte -110
+ .byte 88
+ .byte -110
+ .byte -7
+ .byte 94
+ .byte -7
+ .byte 94
+ .byte -36
+ .byte -42
+ .byte -36
+ .byte -42
+ .byte 96
+ .byte 34
+ .byte 96
+ .byte 34
+ .byte -5
+ .byte 71
+ .byte -5
+ .byte 71
+ .byte -101
+ .byte 34
+ .byte -101
+ .byte 34
+ .byte 52
+ .byte 104
+ .byte 52
+ .byte 104
+ .byte -34
+ .byte -64
+ .byte -34
+ .byte -64
+ .byte 88
+ .byte 10
+ .byte 88
+ .byte 10
+ .byte -7
+ .byte 3
+ .byte -7
+ .byte 3
+ .byte -36
+ .byte 2
+ .byte -36
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte -5
+ .byte 6
+ .byte -5
+ .byte 6
+ .byte -101
+ .byte 1
+ .byte -101
+ .byte 1
+ .byte 52
+ .byte 12
+ .byte 52
+ .byte 12
+ .byte -34
+ .byte 6
+ .byte -34
+ .byte 6
+ .byte -84
+ .byte 77
+ .byte -89
+ .byte -111
+ .byte -14
+ .byte -63
+ .byte 62
+ .byte -35
+ .byte 107
+ .byte -111
+ .byte 116
+ .byte 35
+ .byte 10
+ .byte -118
+ .byte 74
+ .byte 71
+ .byte 115
+ .byte 52
+ .byte -63
+ .byte 54
+ .byte 29
+ .byte -114
+ .byte 44
+ .byte -50
+ .byte -64
+ .byte 65
+ .byte -40
+ .byte 16
+ .byte -91
+ .byte -95
+ .byte 6
+ .byte -70
+ .byte -84
+ .byte 9
+ .byte -89
+ .byte 12
+ .byte -14
+ .byte 11
+ .byte 62
+ .byte 3
+ .byte 107
+ .byte 0
+ .byte 116
+ .byte 7
+ .byte 10
+ .byte 12
+ .byte 74
+ .byte 9
+ .byte 115
+ .byte 11
+ .byte -63
+ .byte 3
+ .byte 29
+ .byte 7
+ .byte 44
+ .byte 10
+ .byte -64
+ .byte 1
+ .byte -40
+ .byte 8
+ .byte -91
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 49
+ .byte -122
+ .byte 91
+ .byte 99
+ .byte 42
+ .byte -29
+ .byte 72
+ .byte 95
+ .byte 66
+ .byte -82
+ .byte -62
+ .byte 42
+ .byte -105
+ .byte 94
+ .byte 94
+ .byte 66
+ .byte 96
+ .byte 40
+ .byte 3
+ .byte -31
+ .byte 27
+ .byte -88
+ .byte -101
+ .byte 42
+ .byte -107
+ .byte 123
+ .byte -28
+ .byte 111
+ .byte -66
+ .byte 93
+ .byte -14
+ .byte -69
+ .byte 49
+ .byte 3
+ .byte 91
+ .byte 2
+ .byte 42
+ .byte 5
+ .byte 72
+ .byte 7
+ .byte 66
+ .byte 8
+ .byte -62
+ .byte 4
+ .byte -105
+ .byte 9
+ .byte 94
+ .byte 8
+ .byte 96
+ .byte 8
+ .byte 3
+ .byte 8
+ .byte 27
+ .byte 7
+ .byte -101
+ .byte 9
+ .byte -107
+ .byte 12
+ .byte -28
+ .byte 3
+ .byte -66
+ .byte 3
+ .byte -14
+ .byte 5
+ .byte 73
+ .byte 79
+ .byte 98
+ .byte 8
+ .byte -4
+ .byte 59
+ .byte -128
+ .byte -127
+ .byte 121
+ .byte -25
+ .byte -54
+ .byte -59
+ .byte -36
+ .byte -44
+ .byte -122
+ .byte 56
+ .byte 7
+ .byte -84
+ .byte 26
+ .byte -79
+ .byte -85
+ .byte 90
+ .byte -34
+ .byte -69
+ .byte -51
+ .byte -94
+ .byte -33
+ .byte -80
+ .byte 77
+ .byte 30
+ .byte 92
+ .byte 90
+ .byte 73
+ .byte 4
+ .byte 98
+ .byte 2
+ .byte -4
+ .byte 7
+ .byte -128
+ .byte 1
+ .byte 121
+ .byte 12
+ .byte -54
+ .byte 7
+ .byte -36
+ .byte 0
+ .byte -122
+ .byte 6
+ .byte 7
+ .byte 7
+ .byte 26
+ .byte 3
+ .byte -85
+ .byte 9
+ .byte -34
+ .byte 1
+ .byte -51
+ .byte 11
+ .byte -33
+ .byte 3
+ .byte 77
+ .byte 7
+ .byte 92
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 7
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 15
+ .byte 8
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte 13
+ .byte 14
+ .byte 23
+ .byte 16
+ .byte 17
+ .byte 18
+ .byte 19
+ .byte 20
+ .byte 21
+ .byte 22
+ .byte 31
+ .byte 24
+ .byte 25
+ .byte 26
+ .byte 27
+ .byte 28
+ .byte 29
+ .byte 30
+ .byte 1
+ .byte 2
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 0
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte 13
+ .byte 14
+ .byte 15
+ .byte 8
+ .byte 17
+ .byte 18
+ .byte 19
+ .byte 20
+ .byte 21
+ .byte 22
+ .byte 23
+ .byte 16
+ .byte 25
+ .byte 26
+ .byte 27
+ .byte 28
+ .byte 29
+ .byte 30
+ .byte 31
+ .byte 24
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 61
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 46
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 28
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 23
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 36
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 37
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 54
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 56
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 62
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 49
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 39
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 44
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 20
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 43
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 50
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 18
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 36
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 41
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 62
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 28
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 27
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 45
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 56
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 39
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 61
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 55
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 20
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 44
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 43
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 1
+ .byte 4
+ .byte 5
+ .byte 8
+ .byte 9
+ .byte 12
+ .byte 13
+ .byte 2
+ .byte 3
+ .byte 6
+ .byte 7
+ .byte 10
+ .byte 11
+ .byte 14
+ .byte 15
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte -1
+ .byte -1
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte -1
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 14
+ .byte -1
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte -1
+ .byte 0
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte -1
+ .byte 0
+ .byte 2
+ .byte 4
+ .byte 6
+ .byte 8
+ .byte 10
+ .byte 12
+ .byte 14
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 24
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 18
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 23
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 16
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 22
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 26
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 20
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 17
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 27
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -8
+ .byte 31
+ .byte -32
+ .byte 127
+ .byte 4
+ .byte 52
+ .byte 1
+ .byte 13
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte 15
+ .byte 0
+ .byte -16
+ .byte 0
+ .byte -1
+ .byte 15
+ .byte -1
+ .byte 3
+ .byte 0
+ .byte 16
+ .byte 15
+ .byte 0
+ .byte 1
+ .byte 16
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 1
+ .byte 0
+ .byte 1
+ .byte 2
+ .byte -1
+ .byte 3
+ .byte 4
+ .byte 5
+ .byte -1
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte -1
+ .byte 9
+ .byte 10
+ .byte 11
+ .byte -1
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte -1
+ .byte 7
+ .byte 8
+ .byte 9
+ .byte -1
+ .byte 10
+ .byte 11
+ .byte 12
+ .byte -1
+ .byte 13
+ .byte 14
+ .byte 15
+ .byte -1
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -5
+ .byte 58
+ .byte -91
+ .byte 6
+ .byte 15
+ .byte 7
+ .byte -76
+ .byte 5
+ .byte 67
+ .byte 9
+ .byte 34
+ .byte 9
+ .byte 29
+ .byte 9
+ .byte 52
+ .byte 1
+ .byte 108
+ .byte 0
+ .byte 35
+ .byte 11
+ .byte 102
+ .byte 3
+ .byte 86
+ .byte 3
+ .byte -26
+ .byte 5
+ .byte -25
+ .byte 9
+ .byte -2
+ .byte 4
+ .byte -6
+ .byte 5
+ .byte -95
+ .byte 4
+ .byte 123
+ .byte 6
+ .byte -93
+ .byte 4
+ .byte 37
+ .byte 12
+ .byte 106
+ .byte 3
+ .byte 55
+ .byte 5
+ .byte 63
+ .byte 8
+ .byte -120
+ .byte 0
+ .byte -65
+ .byte 4
+ .byte -127
+ .byte 11
+ .byte -71
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte -41
+ .byte 7
+ .byte -97
+ .byte 10
+ .byte -90
+ .byte 10
+ .byte -72
+ .byte 8
+ .byte -48
+ .byte 9
+ .byte 75
+ .byte 0
+ .byte -100
+ .byte 0
+ .byte -72
+ .byte 11
+ .byte 95
+ .byte 11
+ .byte -92
+ .byte 11
+ .byte 104
+ .byte 3
+ .byte 125
+ .byte 10
+ .byte 54
+ .byte 6
+ .byte -94
+ .byte 8
+ .byte 90
+ .byte 2
+ .byte 54
+ .byte 7
+ .byte 9
+ .byte 3
+ .byte -109
+ .byte 0
+ .byte 122
+ .byte 8
+ .byte -9
+ .byte 9
+ .byte -10
+ .byte 0
+ .byte -116
+ .byte 6
+ .byte -37
+ .byte 6
+ .byte -52
+ .byte 1
+ .byte 35
+ .byte 1
+ .byte -21
+ .byte 0
+ .byte 80
+ .byte 12
+ .byte -74
+ .byte 10
+ .byte 91
+ .byte 11
+ .byte -104
+ .byte 12
+ .byte -13
+ .byte 6
+ .byte -102
+ .byte 9
+ .byte -29
+ .byte 4
+ .byte -74
+ .byte 9
+ .byte -42
+ .byte 10
+ .byte 83
+ .byte 11
+ .byte 79
+ .byte 4
+ .byte -5
+ .byte 4
+ .byte 92
+ .byte 10
+ .byte 41
+ .byte 4
+ .byte 65
+ .byte 11
+ .byte -43
+ .byte 2
+ .byte -28
+ .byte 5
+ .byte 64
+ .byte 9
+ .byte -114
+ .byte 1
+ .byte -73
+ .byte 3
+ .byte -9
+ .byte 0
+ .byte -115
+ .byte 5
+ .byte -106
+ .byte 12
+ .byte -61
+ .byte 9
+ .byte 15
+ .byte 1
+ .byte 90
+ .byte 0
+ .byte 85
+ .byte 3
+ .byte 68
+ .byte 7
+ .byte -125
+ .byte 12
+ .byte -118
+ .byte 4
+ .byte 82
+ .byte 6
+ .byte -102
+ .byte 2
+ .byte 64
+ .byte 1
+ .byte 8
+ .byte 0
+ .byte -3
+ .byte 10
+ .byte 8
+ .byte 6
+ .byte 26
+ .byte 1
+ .byte 46
+ .byte 7
+ .byte 13
+ .byte 5
+ .byte 10
+ .byte 9
+ .byte 40
+ .byte 2
+ .byte 117
+ .byte 10
+ .byte 58
+ .byte 8
+ .byte 35
+ .byte 6
+ .byte -51
+ .byte 0
+ .byte 102
+ .byte 11
+ .byte 6
+ .byte 6
+ .byte -95
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 8
+ .byte 9
+ .byte -87
+ .byte 2
+ .byte -126
+ .byte 0
+ .byte 66
+ .byte 6
+ .byte 79
+ .byte 7
+ .byte 61
+ .byte 3
+ .byte -126
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte 45
+ .byte 5
+ .byte -60
+ .byte 10
+ .byte 69
+ .byte 7
+ .byte -62
+ .byte 5
+ .byte -78
+ .byte 4
+ .byte 63
+ .byte 9
+ .byte 75
+ .byte 12
+ .byte -40
+ .byte 6
+ .byte -109
+ .byte 10
+ .byte -85
+ .byte 0
+ .byte 55
+ .byte 12
+ .byte -30
+ .byte 11
+ .byte 115
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte -19
+ .byte 5
+ .byte 103
+ .byte 1
+ .byte -10
+ .byte 2
+ .byte -95
+ .byte 5
+ .byte -19
+ .byte 8
+ .byte 11
+ .byte 10
+ .byte -102
+ .byte 11
+ .byte 20
+ .byte 7
+ .byte -43
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte 31
+ .byte 1
+ .byte -54
+ .byte 0
+ .byte 86
+ .byte 12
+ .byte 110
+ .byte 2
+ .byte 41
+ .byte 6
+ .byte -74
+ .byte 0
+ .byte -62
+ .byte 3
+ .byte 79
+ .byte 8
+ .byte 63
+ .byte 7
+ .byte -68
+ .byte 5
+ .byte 61
+ .byte 2
+ .byte -44
+ .byte 7
+ .byte 8
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte -60
+ .byte 9
+ .byte -78
+ .byte 5
+ .byte -65
+ .byte 6
+ .byte 127
+ .byte 12
+ .byte 88
+ .byte 10
+ .byte -7
+ .byte 3
+ .byte -36
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte -5
+ .byte 6
+ .byte -101
+ .byte 1
+ .byte 52
+ .byte 12
+ .byte -34
+ .byte 6
+ .byte -57
+ .byte 4
+ .byte -116
+ .byte 2
+ .byte -39
+ .byte 10
+ .byte -9
+ .byte 3
+ .byte -12
+ .byte 7
+ .byte -45
+ .byte 5
+ .byte -25
+ .byte 11
+ .byte -7
+ .byte 6
+ .byte 4
+ .byte 2
+ .byte -7
+ .byte 12
+ .byte -63
+ .byte 11
+ .byte 103
+ .byte 10
+ .byte -81
+ .byte 6
+ .byte 119
+ .byte 8
+ .byte 126
+ .byte 0
+ .byte -67
+ .byte 5
+ .byte -84
+ .byte 9
+ .byte -89
+ .byte 12
+ .byte -14
+ .byte 11
+ .byte 62
+ .byte 3
+ .byte 107
+ .byte 0
+ .byte 116
+ .byte 7
+ .byte 10
+ .byte 12
+ .byte 74
+ .byte 9
+ .byte 115
+ .byte 11
+ .byte -63
+ .byte 3
+ .byte 29
+ .byte 7
+ .byte 44
+ .byte 10
+ .byte -64
+ .byte 1
+ .byte -40
+ .byte 8
+ .byte -91
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -78
+ .byte 8
+ .byte -82
+ .byte 1
+ .byte 43
+ .byte 2
+ .byte 75
+ .byte 3
+ .byte 30
+ .byte 8
+ .byte 103
+ .byte 3
+ .byte 14
+ .byte 6
+ .byte 105
+ .byte 0
+ .byte -90
+ .byte 1
+ .byte 75
+ .byte 2
+ .byte -79
+ .byte 0
+ .byte 22
+ .byte 12
+ .byte -34
+ .byte 11
+ .byte 53
+ .byte 11
+ .byte 38
+ .byte 6
+ .byte 117
+ .byte 6
+ .byte 11
+ .byte 12
+ .byte 10
+ .byte 3
+ .byte -121
+ .byte 4
+ .byte 110
+ .byte 12
+ .byte -8
+ .byte 9
+ .byte -53
+ .byte 5
+ .byte -89
+ .byte 10
+ .byte 95
+ .byte 4
+ .byte -53
+ .byte 6
+ .byte -124
+ .byte 2
+ .byte -103
+ .byte 9
+ .byte 93
+ .byte 1
+ .byte -94
+ .byte 1
+ .byte 73
+ .byte 1
+ .byte 101
+ .byte 12
+ .byte -74
+ .byte 12
+ .byte 49
+ .byte 3
+ .byte 73
+ .byte 4
+ .byte 91
+ .byte 2
+ .byte 98
+ .byte 2
+ .byte 42
+ .byte 5
+ .byte -4
+ .byte 7
+ .byte 72
+ .byte 7
+ .byte -128
+ .byte 1
+ .byte 66
+ .byte 8
+ .byte 121
+ .byte 12
+ .byte -62
+ .byte 4
+ .byte -54
+ .byte 7
+ .byte -105
+ .byte 9
+ .byte -36
+ .byte 0
+ .byte 94
+ .byte 8
+ .byte -122
+ .byte 6
+ .byte 96
+ .byte 8
+ .byte 7
+ .byte 7
+ .byte 3
+ .byte 8
+ .byte 26
+ .byte 3
+ .byte 27
+ .byte 7
+ .byte -85
+ .byte 9
+ .byte -101
+ .byte 9
+ .byte -34
+ .byte 1
+ .byte -107
+ .byte 12
+ .byte -51
+ .byte 11
+ .byte -28
+ .byte 3
+ .byte -33
+ .byte 3
+ .byte -66
+ .byte 3
+ .byte 77
+ .byte 7
+ .byte -14
+ .byte 5
+ .byte 92
+ .byte 6
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
diff --git a/src/kem/kyber/libjade_kyber768_ref/api.c b/src/kem/kyber/libjade_kyber768_ref/api.c
new file mode 100644
index 000000000..bacb123a5
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber768_ref/api.c
@@ -0,0 +1,19 @@
+#include
+#include "api.h"
+
+int libjade_kyber768_ref_keypair(uint8_t *public_key, uint8_t *secret_key) {
+ uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES];
+ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2);
+ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2);
+ return jade_kem_kyber_kyber768_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins);
+}
+
+int libjade_kyber768_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
+ uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES];
+ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES);
+ return jade_kem_kyber_kyber768_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins);
+}
+
+int libjade_kyber768_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
+ return jade_kem_kyber_kyber768_amd64_ref_dec(shared_secret, ciphertext, secret_key);
+}
diff --git a/src/kem/kyber/libjade_kyber768_ref/api.h b/src/kem/kyber/libjade_kyber768_ref/api.h
new file mode 100644
index 000000000..0c453e07e
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber768_ref/api.h
@@ -0,0 +1,45 @@
+#ifndef JADE_KEM_kyber_kyber768_amd64_ref_API_H
+#define JADE_KEM_kyber_kyber768_amd64_ref_API_H
+
+#include
+
+#define JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES 64
+#define JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES 32
+
+int jade_kem_kyber_kyber768_amd64_ref_keypair_derand(
+ uint8_t *public_key,
+ uint8_t *secret_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber768_ref_keypair(
+ uint8_t *public_key,
+ uint8_t *secret_key
+);
+
+int jade_kem_kyber_kyber768_amd64_ref_enc_derand(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key,
+ const uint8_t *coins
+);
+
+int libjade_kyber768_ref_enc(
+ uint8_t *ciphertext,
+ uint8_t *shared_secret,
+ const uint8_t *public_key
+);
+
+int jade_kem_kyber_kyber768_amd64_ref_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+int libjade_kyber768_ref_dec(
+ uint8_t *shared_secret,
+ const uint8_t *ciphertext,
+ const uint8_t *secret_key
+);
+
+#endif
diff --git a/src/kem/kyber/libjade_kyber768_ref/kem.S b/src/kem/kyber/libjade_kyber768_ref/kem.S
new file mode 100644
index 000000000..e898b68b8
--- /dev/null
+++ b/src/kem/kyber/libjade_kyber768_ref/kem.S
@@ -0,0 +1,18929 @@
+ .att_syntax
+ .text
+ .p2align 5
+ .globl _jade_kem_kyber_kyber768_amd64_ref_dec
+ .globl jade_kem_kyber_kyber768_amd64_ref_dec
+ .globl _jade_kem_kyber_kyber768_amd64_ref_enc
+ .globl jade_kem_kyber_kyber768_amd64_ref_enc
+ .globl _jade_kem_kyber_kyber768_amd64_ref_enc_derand
+ .globl jade_kem_kyber_kyber768_amd64_ref_enc_derand
+ .globl _jade_kem_kyber_kyber768_amd64_ref_keypair
+ .globl jade_kem_kyber_kyber768_amd64_ref_keypair
+ .globl _jade_kem_kyber_kyber768_amd64_ref_keypair_derand
+ .globl jade_kem_kyber_kyber768_amd64_ref_keypair_derand
+_jade_kem_kyber_kyber768_amd64_ref_dec:
+jade_kem_kyber_kyber768_amd64_ref_dec:
+ movq %rsp, %rax
+ leaq -14560(%rsp), %rsp
+ andq $-8, %rsp
+ movq %rax, 14552(%rsp)
+ movq %r15, 14504(%rsp)
+ movq %r14, 14512(%rsp)
+ movq %r13, 14520(%rsp)
+ movq %r12, 14528(%rsp)
+ movq %rbp, 14536(%rsp)
+ movq %rbx, 14544(%rsp)
+ movq %rdi, (%rsp)
+ movq %rsi, 8(%rsp)
+ leaq 80(%rsp), %rax
+ movq $0, %rcx
+ movq $0, %rdi
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$225
+Ljade_kem_kyber_kyber768_amd64_ref_dec$226:
+ movzbl (%rsi,%rdi), %r10d
+ incq %rdi
+ movzbl (%rsi,%rdi), %r11d
+ incq %rdi
+ movzbl (%rsi,%rdi), %r8d
+ incq %rdi
+ movzbl (%rsi,%rdi), %r9d
+ incq %rdi
+ movzbl (%rsi,%rdi), %ebx
+ incq %rdi
+ movl %r11d, %ebp
+ shrl $2, %r11d
+ andl $3, %ebp
+ shll $8, %ebp
+ orl %ebp, %r10d
+ movl %r8d, %ebp
+ shrl $4, %r8d
+ andl $15, %ebp
+ shll $6, %ebp
+ orl %ebp, %r11d
+ movl %r9d, %ebp
+ shrl $6, %r9d
+ andl $63, %ebp
+ shll $4, %ebp
+ orl %ebp, %r8d
+ shll $2, %ebx
+ orl %ebx, %r9d
+ imull $3329, %r10d, %r10d
+ addl $512, %r10d
+ shrl $10, %r10d
+ movw %r10w, 2456(%rsp,%rcx,2)
+ incq %rcx
+ imull $3329, %r11d, %r10d
+ addl $512, %r10d
+ shrl $10, %r10d
+ movw %r10w, 2456(%rsp,%rcx,2)
+ incq %rcx
+ imull $3329, %r8d, %r8d
+ addl $512, %r8d
+ shrl $10, %r8d
+ movw %r8w, 2456(%rsp,%rcx,2)
+ incq %rcx
+ imull $3329, %r9d, %r8d
+ addl $512, %r8d
+ shrl $10, %r8d
+ movw %r8w, 2456(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$225:
+ cmpq $768, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$226
+ addq $960, %rsi
+ leaq 920(%rsp), %rcx
+ call L_poly_decompress$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$224:
+ movq %rdx, %rsi
+ leaq 3992(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$223:
+ addq $384, %rsi
+ leaq 4504(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$222:
+ addq $384, %rsi
+ leaq 5016(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$221:
+ leaq 2456(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$220:
+ leaq 2968(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$219:
+ leaq 3480(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$218:
+ leaq 408(%rsp), %rdi
+ leaq 3992(%rsp), %rcx
+ leaq 2456(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$217:
+ leaq 16(%rsp), %rsp
+ leaq 1432(%rsp), %rdi
+ leaq 4504(%rsp), %rcx
+ leaq 2968(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$216:
+ leaq 16(%rsp), %rsp
+ leaq 408(%rsp), %rcx
+ leaq 1432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$215:
+ leaq 1432(%rsp), %rdi
+ leaq 5016(%rsp), %rcx
+ leaq 3480(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$214:
+ leaq 16(%rsp), %rsp
+ leaq 408(%rsp), %rcx
+ leaq 1432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$213:
+ leaq 408(%rsp), %rcx
+ movq $0, %rsi
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$211
+Ljade_kem_kyber_kyber768_amd64_ref_dec$212:
+ movw (%rcx,%rsi,2), %di
+ movswl %di, %r8d
+ imull $20159, %r8d, %r8d
+ sarl $26, %r8d
+ imull $3329, %r8d, %r8d
+ subw %r8w, %di
+ movw %di, (%rcx,%rsi,2)
+ incq %rsi
+Ljade_kem_kyber_kyber768_amd64_ref_dec$211:
+ cmpq $256, %rsi
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$212
+ leaq 408(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$210:
+ leaq 1432(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ leaq 408(%rsp), %rdi
+ call L_poly_sub$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$209:
+ leaq 1432(%rsp), %rcx
+ movq $0, %rsi
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$207
+Ljade_kem_kyber_kyber768_amd64_ref_dec$208:
+ movw (%rcx,%rsi,2), %di
+ movswl %di, %r8d
+ imull $20159, %r8d, %r8d
+ sarl $26, %r8d
+ imull $3329, %r8d, %r8d
+ subw %r8w, %di
+ movw %di, (%rcx,%rsi,2)
+ incq %rsi
+Ljade_kem_kyber_kyber768_amd64_ref_dec$207:
+ cmpq $256, %rsi
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$208
+ leaq 1432(%rsp), %rcx
+ call L_i_poly_tomsg$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$206:
+ leaq 32(%rdx), %rax
+ addq $2304, %rax
+ movq (%rax), %rcx
+ movq %rcx, 112(%rsp)
+ movq 8(%rax), %rcx
+ movq %rcx, 120(%rsp)
+ movq 16(%rax), %rcx
+ movq %rcx, 128(%rsp)
+ movq 24(%rax), %rax
+ movq %rax, 136(%rsp)
+ movq %rdx, 16(%rsp)
+ leaq 144(%rsp), %rax
+ leaq 80(%rsp), %rdx
+ leaq -208(%rsp), %rsp
+ call L_sha3_512_64$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$205:
+ leaq 208(%rsp), %rsp
+ movq 16(%rsp), %rdx
+ addq $1152, %rdx
+ leaq 13410(%rsp), %rsi
+ leaq 80(%rsp), %rcx
+ leaq 176(%rsp), %rax
+ movq %rsi, 24(%rsp)
+ movq %rdx, %rsi
+ leaq 2456(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$204:
+ addq $384, %rsi
+ leaq 2968(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$203:
+ addq $384, %rsi
+ leaq 3480(%rsp), %rdi
+ call L_poly_frombytes$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$202:
+ movq $0, %rsi
+ addq $1152, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$200
+Ljade_kem_kyber_kyber768_amd64_ref_dec$201:
+ movq (%rdx), %rdi
+ movq %rdi, 48(%rsp,%rsi,8)
+ addq $8, %rdx
+ incq %rsi
+Ljade_kem_kyber_kyber768_amd64_ref_dec$200:
+ cmpq $4, %rsi
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$201
+ leaq 1432(%rsp), %rdx
+ call L_i_poly_frommsg$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$199:
+ movq $1, %rcx
+ movq %rcx, 32(%rsp)
+ movb 48(%rsp), %cl
+ movb %cl, 13208(%rsp)
+ movb 49(%rsp), %cl
+ movb %cl, 13209(%rsp)
+ movb 50(%rsp), %cl
+ movb %cl, 13210(%rsp)
+ movb 51(%rsp), %cl
+ movb %cl, 13211(%rsp)
+ movb 52(%rsp), %cl
+ movb %cl, 13212(%rsp)
+ movb 53(%rsp), %cl
+ movb %cl, 13213(%rsp)
+ movb 54(%rsp), %cl
+ movb %cl, 13214(%rsp)
+ movb 55(%rsp), %cl
+ movb %cl, 13215(%rsp)
+ movb 56(%rsp), %cl
+ movb %cl, 13216(%rsp)
+ movb 57(%rsp), %cl
+ movb %cl, 13217(%rsp)
+ movb 58(%rsp), %cl
+ movb %cl, 13218(%rsp)
+ movb 59(%rsp), %cl
+ movb %cl, 13219(%rsp)
+ movb 60(%rsp), %cl
+ movb %cl, 13220(%rsp)
+ movb 61(%rsp), %cl
+ movb %cl, 13221(%rsp)
+ movb 62(%rsp), %cl
+ movb %cl, 13222(%rsp)
+ movb 63(%rsp), %cl
+ movb %cl, 13223(%rsp)
+ movb 64(%rsp), %cl
+ movb %cl, 13224(%rsp)
+ movb 65(%rsp), %cl
+ movb %cl, 13225(%rsp)
+ movb 66(%rsp), %cl
+ movb %cl, 13226(%rsp)
+ movb 67(%rsp), %cl
+ movb %cl, 13227(%rsp)
+ movb 68(%rsp), %cl
+ movb %cl, 13228(%rsp)
+ movb 69(%rsp), %cl
+ movb %cl, 13229(%rsp)
+ movb 70(%rsp), %cl
+ movb %cl, 13230(%rsp)
+ movb 71(%rsp), %cl
+ movb %cl, 13231(%rsp)
+ movb 72(%rsp), %cl
+ movb %cl, 13232(%rsp)
+ movb 73(%rsp), %cl
+ movb %cl, 13233(%rsp)
+ movb 74(%rsp), %cl
+ movb %cl, 13234(%rsp)
+ movb 75(%rsp), %cl
+ movb %cl, 13235(%rsp)
+ movb 76(%rsp), %cl
+ movb %cl, 13236(%rsp)
+ movb 77(%rsp), %cl
+ movb %cl, 13237(%rsp)
+ movb 78(%rsp), %cl
+ movb %cl, 13238(%rsp)
+ movb 79(%rsp), %cl
+ movb %cl, 13239(%rsp)
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$197
+ movb $0, 13240(%rsp)
+ movb $0, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$198
+Ljade_kem_kyber_kyber768_amd64_ref_dec$197:
+ movb $0, 13240(%rsp)
+ movb $0, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$198:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$196:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$194
+Ljade_kem_kyber_kyber768_amd64_ref_dec$195:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$194:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$195
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$186
+Ljade_kem_kyber_kyber768_amd64_ref_dec$187:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$193:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$188:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$191
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$191
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$192:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$191:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$189
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$189
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$190:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$189:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$188
+Ljade_kem_kyber_kyber768_amd64_ref_dec$186:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$187
+ movq $0, %rcx
+ movq $0, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$184
+Ljade_kem_kyber_kyber768_amd64_ref_dec$185:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$184:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$185
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$182
+ movb $0, 13240(%rsp)
+ movb $1, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$183
+Ljade_kem_kyber_kyber768_amd64_ref_dec$182:
+ movb $1, 13240(%rsp)
+ movb $0, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$183:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$181:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$179
+Ljade_kem_kyber_kyber768_amd64_ref_dec$180:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$179:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$180
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$171
+Ljade_kem_kyber_kyber768_amd64_ref_dec$172:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$178:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$173:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$176
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$176
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$177:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$176:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$174
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$174
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$175:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$174:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$173
+Ljade_kem_kyber_kyber768_amd64_ref_dec$171:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$172
+ movq $0, %rcx
+ movq $256, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$169
+Ljade_kem_kyber_kyber768_amd64_ref_dec$170:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$169:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$170
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$167
+ movb $0, 13240(%rsp)
+ movb $2, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$168
+Ljade_kem_kyber_kyber768_amd64_ref_dec$167:
+ movb $2, 13240(%rsp)
+ movb $0, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$168:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$166:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$164
+Ljade_kem_kyber_kyber768_amd64_ref_dec$165:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$164:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$165
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$156
+Ljade_kem_kyber_kyber768_amd64_ref_dec$157:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$163:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$158:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$161
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$161
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$162:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$161:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$159
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$159
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$160:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$159:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$158
+Ljade_kem_kyber_kyber768_amd64_ref_dec$156:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$157
+ movq $0, %rcx
+ movq $512, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$154
+Ljade_kem_kyber_kyber768_amd64_ref_dec$155:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$154:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$155
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$152
+ movb $1, 13240(%rsp)
+ movb $0, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$153
+Ljade_kem_kyber_kyber768_amd64_ref_dec$152:
+ movb $0, 13240(%rsp)
+ movb $1, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$153:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$151:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$149
+Ljade_kem_kyber_kyber768_amd64_ref_dec$150:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$149:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$150
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$141
+Ljade_kem_kyber_kyber768_amd64_ref_dec$142:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$148:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$143:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$146
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$146
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$147:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$146:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$144
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$144
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$145:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$144:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$143
+Ljade_kem_kyber_kyber768_amd64_ref_dec$141:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$142
+ movq $0, %rcx
+ movq $768, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$139
+Ljade_kem_kyber_kyber768_amd64_ref_dec$140:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$139:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$140
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$137
+ movb $1, 13240(%rsp)
+ movb $1, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$138
+Ljade_kem_kyber_kyber768_amd64_ref_dec$137:
+ movb $1, 13240(%rsp)
+ movb $1, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$138:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$136:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$134
+Ljade_kem_kyber_kyber768_amd64_ref_dec$135:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$134:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$135
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$126
+Ljade_kem_kyber_kyber768_amd64_ref_dec$127:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$133:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$128:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$131
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$131
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$132:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$131:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$129
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$129
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$130:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$129:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$128
+Ljade_kem_kyber_kyber768_amd64_ref_dec$126:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$127
+ movq $0, %rcx
+ movq $1024, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$124
+Ljade_kem_kyber_kyber768_amd64_ref_dec$125:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$124:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$125
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$122
+ movb $1, 13240(%rsp)
+ movb $2, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$123
+Ljade_kem_kyber_kyber768_amd64_ref_dec$122:
+ movb $2, 13240(%rsp)
+ movb $1, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$123:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$121:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$119
+Ljade_kem_kyber_kyber768_amd64_ref_dec$120:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$119:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$120
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$111
+Ljade_kem_kyber_kyber768_amd64_ref_dec$112:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$118:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$113:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$116
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$116
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$117:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$116:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$114
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$114
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$115:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$114:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$113
+Ljade_kem_kyber_kyber768_amd64_ref_dec$111:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$112
+ movq $0, %rcx
+ movq $1280, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$109
+Ljade_kem_kyber_kyber768_amd64_ref_dec$110:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$109:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$110
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$107
+ movb $2, 13240(%rsp)
+ movb $0, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$108
+Ljade_kem_kyber_kyber768_amd64_ref_dec$107:
+ movb $0, 13240(%rsp)
+ movb $2, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$108:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$106:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$104
+Ljade_kem_kyber_kyber768_amd64_ref_dec$105:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$104:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$105
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$96
+Ljade_kem_kyber_kyber768_amd64_ref_dec$97:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$103:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$98:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$101
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$101
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$102:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$101:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$99
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$99
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$100:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$99:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$98
+Ljade_kem_kyber_kyber768_amd64_ref_dec$96:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$97
+ movq $0, %rcx
+ movq $1536, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$94
+Ljade_kem_kyber_kyber768_amd64_ref_dec$95:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$94:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$95
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$92
+ movb $2, 13240(%rsp)
+ movb $1, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$93
+Ljade_kem_kyber_kyber768_amd64_ref_dec$92:
+ movb $1, 13240(%rsp)
+ movb $2, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$93:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$91:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$89
+Ljade_kem_kyber_kyber768_amd64_ref_dec$90:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$89:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$90
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$81
+Ljade_kem_kyber_kyber768_amd64_ref_dec$82:
+ movq %rcx, 40(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$88:
+ leaq 8(%rsp), %rsp
+ movq 40(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$83:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$86
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$86
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$87:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$86:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$84
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$84
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$85:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$84:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$83
+Ljade_kem_kyber_kyber768_amd64_ref_dec$81:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$82
+ movq $0, %rcx
+ movq $1792, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$79
+Ljade_kem_kyber_kyber768_amd64_ref_dec$80:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$79:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$80
+ movq 32(%rsp), %rcx
+ cmpq $0, %rcx
+ je Ljade_kem_kyber_kyber768_amd64_ref_dec$77
+ movb $2, 13240(%rsp)
+ movb $2, 13241(%rsp)
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$78
+Ljade_kem_kyber_kyber768_amd64_ref_dec$77:
+ movb $2, 13240(%rsp)
+ movb $2, 13241(%rsp)
+Ljade_kem_kyber_kyber768_amd64_ref_dec$78:
+ leaq 208(%rsp), %rcx
+ leaq 13208(%rsp), %rdx
+ call L_shake128_absorb34$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$76:
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$74
+Ljade_kem_kyber_kyber768_amd64_ref_dec$75:
+ movq %rcx, 408(%rsp,%rcx,8)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$74:
+ cmpq $64, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$75
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$66
+Ljade_kem_kyber_kyber768_amd64_ref_dec$67:
+ movq %rcx, 32(%rsp)
+ leaq 208(%rsp), %rcx
+ leaq 13242(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$73:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$68:
+ movzbw 13242(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13242(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$71
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$71
+ movw %si, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$72:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$71:
+ cmpw $3329, %r8w
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$69
+ cmpq $256, %rcx
+ jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$69
+ movw %r8w, 408(%rsp,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$70:
+Ljade_kem_kyber_kyber768_amd64_ref_dec$69:
+ cmpq $166, %rdx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$68
+Ljade_kem_kyber_kyber768_amd64_ref_dec$66:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$67
+ movq $0, %rcx
+ movq $2048, %rdx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$64
+Ljade_kem_kyber_kyber768_amd64_ref_dec$65:
+ movw 408(%rsp,%rcx,2), %si
+ movw %si, 8600(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$64:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$65
+ movb $0, %cl
+ leaq 3992(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$63:
+ leaq 176(%rsp), %rsp
+ movb $1, %cl
+ leaq 4504(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$62:
+ leaq 176(%rsp), %rsp
+ movb $2, %cl
+ leaq 5016(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$61:
+ leaq 176(%rsp), %rsp
+ movb $3, %cl
+ leaq 5528(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$60:
+ leaq 176(%rsp), %rsp
+ movb $4, %cl
+ leaq 6040(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$59:
+ leaq 176(%rsp), %rsp
+ movb $5, %cl
+ leaq 6552(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$58:
+ leaq 176(%rsp), %rsp
+ movb $6, %cl
+ leaq 408(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$57:
+ leaq 176(%rsp), %rsp
+ leaq 3992(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$56:
+ leaq 4504(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$55:
+ leaq 5016(%rsp), %rcx
+ call L_poly_ntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$54:
+ leaq 7064(%rsp), %rdi
+ leaq 8600(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$53:
+ leaq 16(%rsp), %rsp
+ leaq 920(%rsp), %rdi
+ leaq 9112(%rsp), %rcx
+ leaq 4504(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$52:
+ leaq 16(%rsp), %rsp
+ leaq 7064(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$51:
+ leaq 920(%rsp), %rdi
+ leaq 9624(%rsp), %rcx
+ leaq 5016(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$50:
+ leaq 16(%rsp), %rsp
+ leaq 7064(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$49:
+ leaq 7064(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$47
+Ljade_kem_kyber_kyber768_amd64_ref_dec$48:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$47:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$48
+ leaq 7576(%rsp), %rdi
+ leaq 10136(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$46:
+ leaq 16(%rsp), %rsp
+ leaq 920(%rsp), %rdi
+ leaq 10648(%rsp), %rcx
+ leaq 4504(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$45:
+ leaq 16(%rsp), %rsp
+ leaq 7576(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$44:
+ leaq 920(%rsp), %rdi
+ leaq 11160(%rsp), %rcx
+ leaq 5016(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$43:
+ leaq 16(%rsp), %rsp
+ leaq 7576(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$42:
+ leaq 7576(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$40
+Ljade_kem_kyber_kyber768_amd64_ref_dec$41:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$40:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$41
+ leaq 8088(%rsp), %rdi
+ leaq 11672(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$39:
+ leaq 16(%rsp), %rsp
+ leaq 920(%rsp), %rdi
+ leaq 12184(%rsp), %rcx
+ leaq 4504(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$38:
+ leaq 16(%rsp), %rsp
+ leaq 8088(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$37:
+ leaq 920(%rsp), %rdi
+ leaq 12696(%rsp), %rcx
+ leaq 5016(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$36:
+ leaq 16(%rsp), %rsp
+ leaq 8088(%rsp), %rcx
+ leaq 920(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$35:
+ leaq 8088(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$33
+Ljade_kem_kyber_kyber768_amd64_ref_dec$34:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$33:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$34
+ leaq 920(%rsp), %rdi
+ leaq 2456(%rsp), %rcx
+ leaq 3992(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$32:
+ leaq 16(%rsp), %rsp
+ leaq 1944(%rsp), %rdi
+ leaq 2968(%rsp), %rcx
+ leaq 4504(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$31:
+ leaq 16(%rsp), %rsp
+ leaq 920(%rsp), %rcx
+ leaq 1944(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$30:
+ leaq 1944(%rsp), %rdi
+ leaq 3480(%rsp), %rcx
+ leaq 5016(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$29:
+ leaq 16(%rsp), %rsp
+ leaq 920(%rsp), %rcx
+ leaq 1944(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$28:
+ leaq 920(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$26
+Ljade_kem_kyber_kyber768_amd64_ref_dec$27:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$26:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$27
+ leaq 7064(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$25:
+ leaq 7576(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$24:
+ leaq 8088(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$23:
+ leaq 920(%rsp), %rcx
+ call L_poly_invntt$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$22:
+ leaq 7064(%rsp), %rcx
+ leaq 5528(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$21:
+ leaq 7576(%rsp), %rcx
+ leaq 6040(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$20:
+ leaq 8088(%rsp), %rcx
+ leaq 6552(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$19:
+ leaq 920(%rsp), %rcx
+ leaq 408(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$18:
+ leaq 920(%rsp), %rcx
+ leaq 1432(%rsp), %rsi
+ call L_poly_add2$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$17:
+ leaq 7064(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$15
+Ljade_kem_kyber_kyber768_amd64_ref_dec$16:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$15:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$16
+ leaq 7576(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$13
+Ljade_kem_kyber_kyber768_amd64_ref_dec$14:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$13:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$14
+ leaq 8088(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$11
+Ljade_kem_kyber_kyber768_amd64_ref_dec$12:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$11:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$12
+ leaq 920(%rsp), %rax
+ movq $0, %rcx
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$9
+Ljade_kem_kyber_kyber768_amd64_ref_dec$10:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+Ljade_kem_kyber_kyber768_amd64_ref_dec$9:
+ cmpq $256, %rcx
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$10
+ movq 24(%rsp), %rax
+ movq %rax, %rdx
+ movq $0, %rsi
+ movq $0, %rdi
+ leaq 7064(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$8:
+ leaq 7576(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$7:
+ leaq 8088(%rsp), %rcx
+ call L_poly_csubq$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$6:
+ jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$4
+Ljade_kem_kyber_kyber768_amd64_ref_dec$5:
+ movzwq 7064(%rsp,%rsi,2), %rcx
+ incq %rsi
+ shlq $10, %rcx
+ addq $1665, %rcx
+ imulq $1290167, %rcx, %rcx
+ shrq $32, %rcx
+ andq $1023, %rcx
+ movzwq 7064(%rsp,%rsi,2), %r8
+ incq %rsi
+ shlq $10, %r8
+ addq $1665, %r8
+ imulq $1290167, %r8, %r8
+ shrq $32, %r8
+ andq $1023, %r8
+ movzwq 7064(%rsp,%rsi,2), %r9
+ incq %rsi
+ shlq $10, %r9
+ addq $1665, %r9
+ imulq $1290167, %r9, %r9
+ shrq $32, %r9
+ andq $1023, %r9
+ movzwq 7064(%rsp,%rsi,2), %r10
+ incq %rsi
+ shlq $10, %r10
+ addq $1665, %r10
+ imulq $1290167, %r10, %r10
+ shrq $32, %r10
+ andq $1023, %r10
+ movw %cx, %r11w
+ andw $255, %r11w
+ movb %r11b, (%rdx,%rdi)
+ incq %rdi
+ shrw $8, %cx
+ movw %r8w, %r11w
+ shlw $2, %r11w
+ orw %cx, %r11w
+ movb %r11b, (%rdx,%rdi)
+ incq %rdi
+ shrw $6, %r8w
+ movw %r9w, %cx
+ shlw $4, %cx
+ orw %r8w, %cx
+ movb %cl, (%rdx,%rdi)
+ incq %rdi
+ shrw $4, %r9w
+ movw %r10w, %cx
+ shlw $6, %cx
+ orw %r9w, %cx
+ movb %cl, (%rdx,%rdi)
+ incq %rdi
+ shrq $2, %r10
+ movb %r10b, (%rdx,%rdi)
+ incq %rdi
+Ljade_kem_kyber_kyber768_amd64_ref_dec$4:
+ cmpq $768, %rsi
+ jb Ljade_kem_kyber_kyber768_amd64_ref_dec$5
+ leaq 960(%rax), %rax
+ leaq 920(%rsp), %rcx
+ call L_i_poly_compress$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$3:
+ movq 8(%rsp), %rsi
+ leaq 13410(%rsp), %rax
+ movq $0, %rcx
+ movb (%rax), %dl
+ movb (%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1(%rax), %dl
+ movb 1(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 2(%rax), %dl
+ movb 2(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 3(%rax), %dl
+ movb 3(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 4(%rax), %dl
+ movb 4(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 5(%rax), %dl
+ movb 5(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 6(%rax), %dl
+ movb 6(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 7(%rax), %dl
+ movb 7(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 8(%rax), %dl
+ movb 8(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 9(%rax), %dl
+ movb 9(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 10(%rax), %dl
+ movb 10(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 11(%rax), %dl
+ movb 11(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 12(%rax), %dl
+ movb 12(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 13(%rax), %dl
+ movb 13(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 14(%rax), %dl
+ movb 14(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 15(%rax), %dl
+ movb 15(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 16(%rax), %dl
+ movb 16(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 17(%rax), %dl
+ movb 17(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 18(%rax), %dl
+ movb 18(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 19(%rax), %dl
+ movb 19(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 20(%rax), %dl
+ movb 20(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 21(%rax), %dl
+ movb 21(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 22(%rax), %dl
+ movb 22(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 23(%rax), %dl
+ movb 23(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 24(%rax), %dl
+ movb 24(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 25(%rax), %dl
+ movb 25(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 26(%rax), %dl
+ movb 26(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 27(%rax), %dl
+ movb 27(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 28(%rax), %dl
+ movb 28(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 29(%rax), %dl
+ movb 29(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 30(%rax), %dl
+ movb 30(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 31(%rax), %dl
+ movb 31(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 32(%rax), %dl
+ movb 32(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 33(%rax), %dl
+ movb 33(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 34(%rax), %dl
+ movb 34(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 35(%rax), %dl
+ movb 35(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 36(%rax), %dl
+ movb 36(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 37(%rax), %dl
+ movb 37(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 38(%rax), %dl
+ movb 38(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 39(%rax), %dl
+ movb 39(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 40(%rax), %dl
+ movb 40(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 41(%rax), %dl
+ movb 41(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 42(%rax), %dl
+ movb 42(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 43(%rax), %dl
+ movb 43(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 44(%rax), %dl
+ movb 44(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 45(%rax), %dl
+ movb 45(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 46(%rax), %dl
+ movb 46(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 47(%rax), %dl
+ movb 47(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 48(%rax), %dl
+ movb 48(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 49(%rax), %dl
+ movb 49(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 50(%rax), %dl
+ movb 50(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 51(%rax), %dl
+ movb 51(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 52(%rax), %dl
+ movb 52(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 53(%rax), %dl
+ movb 53(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 54(%rax), %dl
+ movb 54(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 55(%rax), %dl
+ movb 55(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 56(%rax), %dl
+ movb 56(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 57(%rax), %dl
+ movb 57(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 58(%rax), %dl
+ movb 58(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 59(%rax), %dl
+ movb 59(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 60(%rax), %dl
+ movb 60(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 61(%rax), %dl
+ movb 61(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 62(%rax), %dl
+ movb 62(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 63(%rax), %dl
+ movb 63(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 64(%rax), %dl
+ movb 64(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 65(%rax), %dl
+ movb 65(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 66(%rax), %dl
+ movb 66(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 67(%rax), %dl
+ movb 67(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 68(%rax), %dl
+ movb 68(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 69(%rax), %dl
+ movb 69(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 70(%rax), %dl
+ movb 70(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 71(%rax), %dl
+ movb 71(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 72(%rax), %dl
+ movb 72(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 73(%rax), %dl
+ movb 73(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 74(%rax), %dl
+ movb 74(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 75(%rax), %dl
+ movb 75(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 76(%rax), %dl
+ movb 76(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 77(%rax), %dl
+ movb 77(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 78(%rax), %dl
+ movb 78(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 79(%rax), %dl
+ movb 79(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 80(%rax), %dl
+ movb 80(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 81(%rax), %dl
+ movb 81(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 82(%rax), %dl
+ movb 82(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 83(%rax), %dl
+ movb 83(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 84(%rax), %dl
+ movb 84(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 85(%rax), %dl
+ movb 85(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 86(%rax), %dl
+ movb 86(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 87(%rax), %dl
+ movb 87(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 88(%rax), %dl
+ movb 88(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 89(%rax), %dl
+ movb 89(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 90(%rax), %dl
+ movb 90(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 91(%rax), %dl
+ movb 91(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 92(%rax), %dl
+ movb 92(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 93(%rax), %dl
+ movb 93(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 94(%rax), %dl
+ movb 94(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 95(%rax), %dl
+ movb 95(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 96(%rax), %dl
+ movb 96(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 97(%rax), %dl
+ movb 97(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 98(%rax), %dl
+ movb 98(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 99(%rax), %dl
+ movb 99(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 100(%rax), %dl
+ movb 100(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 101(%rax), %dl
+ movb 101(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 102(%rax), %dl
+ movb 102(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 103(%rax), %dl
+ movb 103(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 104(%rax), %dl
+ movb 104(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 105(%rax), %dl
+ movb 105(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 106(%rax), %dl
+ movb 106(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 107(%rax), %dl
+ movb 107(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 108(%rax), %dl
+ movb 108(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 109(%rax), %dl
+ movb 109(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 110(%rax), %dl
+ movb 110(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 111(%rax), %dl
+ movb 111(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 112(%rax), %dl
+ movb 112(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 113(%rax), %dl
+ movb 113(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 114(%rax), %dl
+ movb 114(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 115(%rax), %dl
+ movb 115(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 116(%rax), %dl
+ movb 116(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 117(%rax), %dl
+ movb 117(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 118(%rax), %dl
+ movb 118(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 119(%rax), %dl
+ movb 119(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 120(%rax), %dl
+ movb 120(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 121(%rax), %dl
+ movb 121(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 122(%rax), %dl
+ movb 122(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 123(%rax), %dl
+ movb 123(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 124(%rax), %dl
+ movb 124(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 125(%rax), %dl
+ movb 125(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 126(%rax), %dl
+ movb 126(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 127(%rax), %dl
+ movb 127(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 128(%rax), %dl
+ movb 128(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 129(%rax), %dl
+ movb 129(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 130(%rax), %dl
+ movb 130(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 131(%rax), %dl
+ movb 131(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 132(%rax), %dl
+ movb 132(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 133(%rax), %dl
+ movb 133(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 134(%rax), %dl
+ movb 134(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 135(%rax), %dl
+ movb 135(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 136(%rax), %dl
+ movb 136(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 137(%rax), %dl
+ movb 137(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 138(%rax), %dl
+ movb 138(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 139(%rax), %dl
+ movb 139(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 140(%rax), %dl
+ movb 140(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 141(%rax), %dl
+ movb 141(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 142(%rax), %dl
+ movb 142(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 143(%rax), %dl
+ movb 143(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 144(%rax), %dl
+ movb 144(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 145(%rax), %dl
+ movb 145(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 146(%rax), %dl
+ movb 146(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 147(%rax), %dl
+ movb 147(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 148(%rax), %dl
+ movb 148(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 149(%rax), %dl
+ movb 149(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 150(%rax), %dl
+ movb 150(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 151(%rax), %dl
+ movb 151(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 152(%rax), %dl
+ movb 152(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 153(%rax), %dl
+ movb 153(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 154(%rax), %dl
+ movb 154(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 155(%rax), %dl
+ movb 155(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 156(%rax), %dl
+ movb 156(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 157(%rax), %dl
+ movb 157(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 158(%rax), %dl
+ movb 158(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 159(%rax), %dl
+ movb 159(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 160(%rax), %dl
+ movb 160(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 161(%rax), %dl
+ movb 161(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 162(%rax), %dl
+ movb 162(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 163(%rax), %dl
+ movb 163(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 164(%rax), %dl
+ movb 164(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 165(%rax), %dl
+ movb 165(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 166(%rax), %dl
+ movb 166(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 167(%rax), %dl
+ movb 167(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 168(%rax), %dl
+ movb 168(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 169(%rax), %dl
+ movb 169(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 170(%rax), %dl
+ movb 170(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 171(%rax), %dl
+ movb 171(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 172(%rax), %dl
+ movb 172(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 173(%rax), %dl
+ movb 173(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 174(%rax), %dl
+ movb 174(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 175(%rax), %dl
+ movb 175(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 176(%rax), %dl
+ movb 176(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 177(%rax), %dl
+ movb 177(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 178(%rax), %dl
+ movb 178(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 179(%rax), %dl
+ movb 179(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 180(%rax), %dl
+ movb 180(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 181(%rax), %dl
+ movb 181(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 182(%rax), %dl
+ movb 182(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 183(%rax), %dl
+ movb 183(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 184(%rax), %dl
+ movb 184(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 185(%rax), %dl
+ movb 185(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 186(%rax), %dl
+ movb 186(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 187(%rax), %dl
+ movb 187(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 188(%rax), %dl
+ movb 188(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 189(%rax), %dl
+ movb 189(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 190(%rax), %dl
+ movb 190(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 191(%rax), %dl
+ movb 191(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 192(%rax), %dl
+ movb 192(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 193(%rax), %dl
+ movb 193(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 194(%rax), %dl
+ movb 194(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 195(%rax), %dl
+ movb 195(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 196(%rax), %dl
+ movb 196(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 197(%rax), %dl
+ movb 197(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 198(%rax), %dl
+ movb 198(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 199(%rax), %dl
+ movb 199(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 200(%rax), %dl
+ movb 200(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 201(%rax), %dl
+ movb 201(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 202(%rax), %dl
+ movb 202(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 203(%rax), %dl
+ movb 203(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 204(%rax), %dl
+ movb 204(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 205(%rax), %dl
+ movb 205(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 206(%rax), %dl
+ movb 206(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 207(%rax), %dl
+ movb 207(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 208(%rax), %dl
+ movb 208(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 209(%rax), %dl
+ movb 209(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 210(%rax), %dl
+ movb 210(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 211(%rax), %dl
+ movb 211(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 212(%rax), %dl
+ movb 212(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 213(%rax), %dl
+ movb 213(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 214(%rax), %dl
+ movb 214(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 215(%rax), %dl
+ movb 215(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 216(%rax), %dl
+ movb 216(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 217(%rax), %dl
+ movb 217(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 218(%rax), %dl
+ movb 218(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 219(%rax), %dl
+ movb 219(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 220(%rax), %dl
+ movb 220(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 221(%rax), %dl
+ movb 221(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 222(%rax), %dl
+ movb 222(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 223(%rax), %dl
+ movb 223(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 224(%rax), %dl
+ movb 224(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 225(%rax), %dl
+ movb 225(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 226(%rax), %dl
+ movb 226(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 227(%rax), %dl
+ movb 227(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 228(%rax), %dl
+ movb 228(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 229(%rax), %dl
+ movb 229(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 230(%rax), %dl
+ movb 230(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 231(%rax), %dl
+ movb 231(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 232(%rax), %dl
+ movb 232(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 233(%rax), %dl
+ movb 233(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 234(%rax), %dl
+ movb 234(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 235(%rax), %dl
+ movb 235(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 236(%rax), %dl
+ movb 236(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 237(%rax), %dl
+ movb 237(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 238(%rax), %dl
+ movb 238(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 239(%rax), %dl
+ movb 239(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 240(%rax), %dl
+ movb 240(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 241(%rax), %dl
+ movb 241(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 242(%rax), %dl
+ movb 242(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 243(%rax), %dl
+ movb 243(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 244(%rax), %dl
+ movb 244(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 245(%rax), %dl
+ movb 245(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 246(%rax), %dl
+ movb 246(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 247(%rax), %dl
+ movb 247(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 248(%rax), %dl
+ movb 248(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 249(%rax), %dl
+ movb 249(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 250(%rax), %dl
+ movb 250(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 251(%rax), %dl
+ movb 251(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 252(%rax), %dl
+ movb 252(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 253(%rax), %dl
+ movb 253(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 254(%rax), %dl
+ movb 254(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 255(%rax), %dl
+ movb 255(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 256(%rax), %dl
+ movb 256(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 257(%rax), %dl
+ movb 257(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 258(%rax), %dl
+ movb 258(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 259(%rax), %dl
+ movb 259(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 260(%rax), %dl
+ movb 260(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 261(%rax), %dl
+ movb 261(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 262(%rax), %dl
+ movb 262(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 263(%rax), %dl
+ movb 263(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 264(%rax), %dl
+ movb 264(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 265(%rax), %dl
+ movb 265(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 266(%rax), %dl
+ movb 266(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 267(%rax), %dl
+ movb 267(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 268(%rax), %dl
+ movb 268(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 269(%rax), %dl
+ movb 269(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 270(%rax), %dl
+ movb 270(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 271(%rax), %dl
+ movb 271(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 272(%rax), %dl
+ movb 272(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 273(%rax), %dl
+ movb 273(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 274(%rax), %dl
+ movb 274(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 275(%rax), %dl
+ movb 275(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 276(%rax), %dl
+ movb 276(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 277(%rax), %dl
+ movb 277(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 278(%rax), %dl
+ movb 278(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 279(%rax), %dl
+ movb 279(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 280(%rax), %dl
+ movb 280(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 281(%rax), %dl
+ movb 281(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 282(%rax), %dl
+ movb 282(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 283(%rax), %dl
+ movb 283(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 284(%rax), %dl
+ movb 284(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 285(%rax), %dl
+ movb 285(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 286(%rax), %dl
+ movb 286(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 287(%rax), %dl
+ movb 287(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 288(%rax), %dl
+ movb 288(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 289(%rax), %dl
+ movb 289(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 290(%rax), %dl
+ movb 290(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 291(%rax), %dl
+ movb 291(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 292(%rax), %dl
+ movb 292(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 293(%rax), %dl
+ movb 293(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 294(%rax), %dl
+ movb 294(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 295(%rax), %dl
+ movb 295(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 296(%rax), %dl
+ movb 296(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 297(%rax), %dl
+ movb 297(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 298(%rax), %dl
+ movb 298(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 299(%rax), %dl
+ movb 299(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 300(%rax), %dl
+ movb 300(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 301(%rax), %dl
+ movb 301(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 302(%rax), %dl
+ movb 302(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 303(%rax), %dl
+ movb 303(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 304(%rax), %dl
+ movb 304(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 305(%rax), %dl
+ movb 305(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 306(%rax), %dl
+ movb 306(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 307(%rax), %dl
+ movb 307(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 308(%rax), %dl
+ movb 308(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 309(%rax), %dl
+ movb 309(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 310(%rax), %dl
+ movb 310(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 311(%rax), %dl
+ movb 311(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 312(%rax), %dl
+ movb 312(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 313(%rax), %dl
+ movb 313(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 314(%rax), %dl
+ movb 314(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 315(%rax), %dl
+ movb 315(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 316(%rax), %dl
+ movb 316(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 317(%rax), %dl
+ movb 317(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 318(%rax), %dl
+ movb 318(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 319(%rax), %dl
+ movb 319(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 320(%rax), %dl
+ movb 320(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 321(%rax), %dl
+ movb 321(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 322(%rax), %dl
+ movb 322(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 323(%rax), %dl
+ movb 323(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 324(%rax), %dl
+ movb 324(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 325(%rax), %dl
+ movb 325(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 326(%rax), %dl
+ movb 326(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 327(%rax), %dl
+ movb 327(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 328(%rax), %dl
+ movb 328(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 329(%rax), %dl
+ movb 329(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 330(%rax), %dl
+ movb 330(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 331(%rax), %dl
+ movb 331(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 332(%rax), %dl
+ movb 332(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 333(%rax), %dl
+ movb 333(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 334(%rax), %dl
+ movb 334(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 335(%rax), %dl
+ movb 335(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 336(%rax), %dl
+ movb 336(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 337(%rax), %dl
+ movb 337(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 338(%rax), %dl
+ movb 338(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 339(%rax), %dl
+ movb 339(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 340(%rax), %dl
+ movb 340(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 341(%rax), %dl
+ movb 341(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 342(%rax), %dl
+ movb 342(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 343(%rax), %dl
+ movb 343(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 344(%rax), %dl
+ movb 344(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 345(%rax), %dl
+ movb 345(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 346(%rax), %dl
+ movb 346(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 347(%rax), %dl
+ movb 347(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 348(%rax), %dl
+ movb 348(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 349(%rax), %dl
+ movb 349(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 350(%rax), %dl
+ movb 350(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 351(%rax), %dl
+ movb 351(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 352(%rax), %dl
+ movb 352(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 353(%rax), %dl
+ movb 353(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 354(%rax), %dl
+ movb 354(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 355(%rax), %dl
+ movb 355(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 356(%rax), %dl
+ movb 356(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 357(%rax), %dl
+ movb 357(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 358(%rax), %dl
+ movb 358(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 359(%rax), %dl
+ movb 359(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 360(%rax), %dl
+ movb 360(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 361(%rax), %dl
+ movb 361(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 362(%rax), %dl
+ movb 362(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 363(%rax), %dl
+ movb 363(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 364(%rax), %dl
+ movb 364(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 365(%rax), %dl
+ movb 365(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 366(%rax), %dl
+ movb 366(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 367(%rax), %dl
+ movb 367(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 368(%rax), %dl
+ movb 368(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 369(%rax), %dl
+ movb 369(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 370(%rax), %dl
+ movb 370(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 371(%rax), %dl
+ movb 371(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 372(%rax), %dl
+ movb 372(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 373(%rax), %dl
+ movb 373(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 374(%rax), %dl
+ movb 374(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 375(%rax), %dl
+ movb 375(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 376(%rax), %dl
+ movb 376(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 377(%rax), %dl
+ movb 377(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 378(%rax), %dl
+ movb 378(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 379(%rax), %dl
+ movb 379(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 380(%rax), %dl
+ movb 380(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 381(%rax), %dl
+ movb 381(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 382(%rax), %dl
+ movb 382(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 383(%rax), %dl
+ movb 383(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 384(%rax), %dl
+ movb 384(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 385(%rax), %dl
+ movb 385(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 386(%rax), %dl
+ movb 386(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 387(%rax), %dl
+ movb 387(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 388(%rax), %dl
+ movb 388(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 389(%rax), %dl
+ movb 389(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 390(%rax), %dl
+ movb 390(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 391(%rax), %dl
+ movb 391(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 392(%rax), %dl
+ movb 392(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 393(%rax), %dl
+ movb 393(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 394(%rax), %dl
+ movb 394(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 395(%rax), %dl
+ movb 395(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 396(%rax), %dl
+ movb 396(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 397(%rax), %dl
+ movb 397(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 398(%rax), %dl
+ movb 398(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 399(%rax), %dl
+ movb 399(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 400(%rax), %dl
+ movb 400(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 401(%rax), %dl
+ movb 401(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 402(%rax), %dl
+ movb 402(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 403(%rax), %dl
+ movb 403(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 404(%rax), %dl
+ movb 404(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 405(%rax), %dl
+ movb 405(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 406(%rax), %dl
+ movb 406(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 407(%rax), %dl
+ movb 407(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 408(%rax), %dl
+ movb 408(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 409(%rax), %dl
+ movb 409(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 410(%rax), %dl
+ movb 410(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 411(%rax), %dl
+ movb 411(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 412(%rax), %dl
+ movb 412(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 413(%rax), %dl
+ movb 413(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 414(%rax), %dl
+ movb 414(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 415(%rax), %dl
+ movb 415(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 416(%rax), %dl
+ movb 416(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 417(%rax), %dl
+ movb 417(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 418(%rax), %dl
+ movb 418(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 419(%rax), %dl
+ movb 419(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 420(%rax), %dl
+ movb 420(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 421(%rax), %dl
+ movb 421(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 422(%rax), %dl
+ movb 422(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 423(%rax), %dl
+ movb 423(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 424(%rax), %dl
+ movb 424(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 425(%rax), %dl
+ movb 425(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 426(%rax), %dl
+ movb 426(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 427(%rax), %dl
+ movb 427(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 428(%rax), %dl
+ movb 428(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 429(%rax), %dl
+ movb 429(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 430(%rax), %dl
+ movb 430(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 431(%rax), %dl
+ movb 431(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 432(%rax), %dl
+ movb 432(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 433(%rax), %dl
+ movb 433(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 434(%rax), %dl
+ movb 434(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 435(%rax), %dl
+ movb 435(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 436(%rax), %dl
+ movb 436(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 437(%rax), %dl
+ movb 437(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 438(%rax), %dl
+ movb 438(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 439(%rax), %dl
+ movb 439(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 440(%rax), %dl
+ movb 440(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 441(%rax), %dl
+ movb 441(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 442(%rax), %dl
+ movb 442(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 443(%rax), %dl
+ movb 443(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 444(%rax), %dl
+ movb 444(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 445(%rax), %dl
+ movb 445(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 446(%rax), %dl
+ movb 446(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 447(%rax), %dl
+ movb 447(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 448(%rax), %dl
+ movb 448(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 449(%rax), %dl
+ movb 449(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 450(%rax), %dl
+ movb 450(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 451(%rax), %dl
+ movb 451(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 452(%rax), %dl
+ movb 452(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 453(%rax), %dl
+ movb 453(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 454(%rax), %dl
+ movb 454(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 455(%rax), %dl
+ movb 455(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 456(%rax), %dl
+ movb 456(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 457(%rax), %dl
+ movb 457(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 458(%rax), %dl
+ movb 458(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 459(%rax), %dl
+ movb 459(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 460(%rax), %dl
+ movb 460(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 461(%rax), %dl
+ movb 461(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 462(%rax), %dl
+ movb 462(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 463(%rax), %dl
+ movb 463(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 464(%rax), %dl
+ movb 464(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 465(%rax), %dl
+ movb 465(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 466(%rax), %dl
+ movb 466(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 467(%rax), %dl
+ movb 467(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 468(%rax), %dl
+ movb 468(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 469(%rax), %dl
+ movb 469(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 470(%rax), %dl
+ movb 470(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 471(%rax), %dl
+ movb 471(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 472(%rax), %dl
+ movb 472(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 473(%rax), %dl
+ movb 473(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 474(%rax), %dl
+ movb 474(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 475(%rax), %dl
+ movb 475(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 476(%rax), %dl
+ movb 476(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 477(%rax), %dl
+ movb 477(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 478(%rax), %dl
+ movb 478(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 479(%rax), %dl
+ movb 479(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 480(%rax), %dl
+ movb 480(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 481(%rax), %dl
+ movb 481(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 482(%rax), %dl
+ movb 482(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 483(%rax), %dl
+ movb 483(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 484(%rax), %dl
+ movb 484(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 485(%rax), %dl
+ movb 485(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 486(%rax), %dl
+ movb 486(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 487(%rax), %dl
+ movb 487(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 488(%rax), %dl
+ movb 488(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 489(%rax), %dl
+ movb 489(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 490(%rax), %dl
+ movb 490(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 491(%rax), %dl
+ movb 491(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 492(%rax), %dl
+ movb 492(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 493(%rax), %dl
+ movb 493(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 494(%rax), %dl
+ movb 494(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 495(%rax), %dl
+ movb 495(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 496(%rax), %dl
+ movb 496(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 497(%rax), %dl
+ movb 497(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 498(%rax), %dl
+ movb 498(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 499(%rax), %dl
+ movb 499(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 500(%rax), %dl
+ movb 500(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 501(%rax), %dl
+ movb 501(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 502(%rax), %dl
+ movb 502(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 503(%rax), %dl
+ movb 503(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 504(%rax), %dl
+ movb 504(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 505(%rax), %dl
+ movb 505(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 506(%rax), %dl
+ movb 506(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 507(%rax), %dl
+ movb 507(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 508(%rax), %dl
+ movb 508(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 509(%rax), %dl
+ movb 509(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 510(%rax), %dl
+ movb 510(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 511(%rax), %dl
+ movb 511(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 512(%rax), %dl
+ movb 512(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 513(%rax), %dl
+ movb 513(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 514(%rax), %dl
+ movb 514(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 515(%rax), %dl
+ movb 515(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 516(%rax), %dl
+ movb 516(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 517(%rax), %dl
+ movb 517(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 518(%rax), %dl
+ movb 518(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 519(%rax), %dl
+ movb 519(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 520(%rax), %dl
+ movb 520(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 521(%rax), %dl
+ movb 521(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 522(%rax), %dl
+ movb 522(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 523(%rax), %dl
+ movb 523(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 524(%rax), %dl
+ movb 524(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 525(%rax), %dl
+ movb 525(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 526(%rax), %dl
+ movb 526(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 527(%rax), %dl
+ movb 527(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 528(%rax), %dl
+ movb 528(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 529(%rax), %dl
+ movb 529(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 530(%rax), %dl
+ movb 530(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 531(%rax), %dl
+ movb 531(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 532(%rax), %dl
+ movb 532(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 533(%rax), %dl
+ movb 533(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 534(%rax), %dl
+ movb 534(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 535(%rax), %dl
+ movb 535(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 536(%rax), %dl
+ movb 536(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 537(%rax), %dl
+ movb 537(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 538(%rax), %dl
+ movb 538(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 539(%rax), %dl
+ movb 539(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 540(%rax), %dl
+ movb 540(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 541(%rax), %dl
+ movb 541(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 542(%rax), %dl
+ movb 542(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 543(%rax), %dl
+ movb 543(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 544(%rax), %dl
+ movb 544(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 545(%rax), %dl
+ movb 545(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 546(%rax), %dl
+ movb 546(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 547(%rax), %dl
+ movb 547(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 548(%rax), %dl
+ movb 548(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 549(%rax), %dl
+ movb 549(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 550(%rax), %dl
+ movb 550(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 551(%rax), %dl
+ movb 551(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 552(%rax), %dl
+ movb 552(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 553(%rax), %dl
+ movb 553(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 554(%rax), %dl
+ movb 554(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 555(%rax), %dl
+ movb 555(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 556(%rax), %dl
+ movb 556(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 557(%rax), %dl
+ movb 557(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 558(%rax), %dl
+ movb 558(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 559(%rax), %dl
+ movb 559(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 560(%rax), %dl
+ movb 560(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 561(%rax), %dl
+ movb 561(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 562(%rax), %dl
+ movb 562(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 563(%rax), %dl
+ movb 563(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 564(%rax), %dl
+ movb 564(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 565(%rax), %dl
+ movb 565(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 566(%rax), %dl
+ movb 566(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 567(%rax), %dl
+ movb 567(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 568(%rax), %dl
+ movb 568(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 569(%rax), %dl
+ movb 569(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 570(%rax), %dl
+ movb 570(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 571(%rax), %dl
+ movb 571(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 572(%rax), %dl
+ movb 572(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 573(%rax), %dl
+ movb 573(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 574(%rax), %dl
+ movb 574(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 575(%rax), %dl
+ movb 575(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 576(%rax), %dl
+ movb 576(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 577(%rax), %dl
+ movb 577(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 578(%rax), %dl
+ movb 578(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 579(%rax), %dl
+ movb 579(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 580(%rax), %dl
+ movb 580(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 581(%rax), %dl
+ movb 581(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 582(%rax), %dl
+ movb 582(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 583(%rax), %dl
+ movb 583(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 584(%rax), %dl
+ movb 584(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 585(%rax), %dl
+ movb 585(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 586(%rax), %dl
+ movb 586(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 587(%rax), %dl
+ movb 587(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 588(%rax), %dl
+ movb 588(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 589(%rax), %dl
+ movb 589(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 590(%rax), %dl
+ movb 590(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 591(%rax), %dl
+ movb 591(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 592(%rax), %dl
+ movb 592(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 593(%rax), %dl
+ movb 593(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 594(%rax), %dl
+ movb 594(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 595(%rax), %dl
+ movb 595(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 596(%rax), %dl
+ movb 596(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 597(%rax), %dl
+ movb 597(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 598(%rax), %dl
+ movb 598(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 599(%rax), %dl
+ movb 599(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 600(%rax), %dl
+ movb 600(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 601(%rax), %dl
+ movb 601(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 602(%rax), %dl
+ movb 602(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 603(%rax), %dl
+ movb 603(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 604(%rax), %dl
+ movb 604(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 605(%rax), %dl
+ movb 605(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 606(%rax), %dl
+ movb 606(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 607(%rax), %dl
+ movb 607(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 608(%rax), %dl
+ movb 608(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 609(%rax), %dl
+ movb 609(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 610(%rax), %dl
+ movb 610(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 611(%rax), %dl
+ movb 611(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 612(%rax), %dl
+ movb 612(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 613(%rax), %dl
+ movb 613(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 614(%rax), %dl
+ movb 614(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 615(%rax), %dl
+ movb 615(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 616(%rax), %dl
+ movb 616(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 617(%rax), %dl
+ movb 617(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 618(%rax), %dl
+ movb 618(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 619(%rax), %dl
+ movb 619(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 620(%rax), %dl
+ movb 620(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 621(%rax), %dl
+ movb 621(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 622(%rax), %dl
+ movb 622(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 623(%rax), %dl
+ movb 623(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 624(%rax), %dl
+ movb 624(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 625(%rax), %dl
+ movb 625(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 626(%rax), %dl
+ movb 626(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 627(%rax), %dl
+ movb 627(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 628(%rax), %dl
+ movb 628(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 629(%rax), %dl
+ movb 629(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 630(%rax), %dl
+ movb 630(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 631(%rax), %dl
+ movb 631(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 632(%rax), %dl
+ movb 632(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 633(%rax), %dl
+ movb 633(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 634(%rax), %dl
+ movb 634(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 635(%rax), %dl
+ movb 635(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 636(%rax), %dl
+ movb 636(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 637(%rax), %dl
+ movb 637(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 638(%rax), %dl
+ movb 638(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 639(%rax), %dl
+ movb 639(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 640(%rax), %dl
+ movb 640(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 641(%rax), %dl
+ movb 641(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 642(%rax), %dl
+ movb 642(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 643(%rax), %dl
+ movb 643(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 644(%rax), %dl
+ movb 644(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 645(%rax), %dl
+ movb 645(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 646(%rax), %dl
+ movb 646(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 647(%rax), %dl
+ movb 647(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 648(%rax), %dl
+ movb 648(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 649(%rax), %dl
+ movb 649(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 650(%rax), %dl
+ movb 650(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 651(%rax), %dl
+ movb 651(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 652(%rax), %dl
+ movb 652(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 653(%rax), %dl
+ movb 653(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 654(%rax), %dl
+ movb 654(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 655(%rax), %dl
+ movb 655(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 656(%rax), %dl
+ movb 656(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 657(%rax), %dl
+ movb 657(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 658(%rax), %dl
+ movb 658(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 659(%rax), %dl
+ movb 659(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 660(%rax), %dl
+ movb 660(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 661(%rax), %dl
+ movb 661(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 662(%rax), %dl
+ movb 662(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 663(%rax), %dl
+ movb 663(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 664(%rax), %dl
+ movb 664(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 665(%rax), %dl
+ movb 665(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 666(%rax), %dl
+ movb 666(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 667(%rax), %dl
+ movb 667(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 668(%rax), %dl
+ movb 668(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 669(%rax), %dl
+ movb 669(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 670(%rax), %dl
+ movb 670(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 671(%rax), %dl
+ movb 671(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 672(%rax), %dl
+ movb 672(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 673(%rax), %dl
+ movb 673(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 674(%rax), %dl
+ movb 674(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 675(%rax), %dl
+ movb 675(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 676(%rax), %dl
+ movb 676(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 677(%rax), %dl
+ movb 677(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 678(%rax), %dl
+ movb 678(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 679(%rax), %dl
+ movb 679(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 680(%rax), %dl
+ movb 680(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 681(%rax), %dl
+ movb 681(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 682(%rax), %dl
+ movb 682(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 683(%rax), %dl
+ movb 683(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 684(%rax), %dl
+ movb 684(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 685(%rax), %dl
+ movb 685(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 686(%rax), %dl
+ movb 686(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 687(%rax), %dl
+ movb 687(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 688(%rax), %dl
+ movb 688(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 689(%rax), %dl
+ movb 689(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 690(%rax), %dl
+ movb 690(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 691(%rax), %dl
+ movb 691(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 692(%rax), %dl
+ movb 692(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 693(%rax), %dl
+ movb 693(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 694(%rax), %dl
+ movb 694(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 695(%rax), %dl
+ movb 695(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 696(%rax), %dl
+ movb 696(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 697(%rax), %dl
+ movb 697(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 698(%rax), %dl
+ movb 698(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 699(%rax), %dl
+ movb 699(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 700(%rax), %dl
+ movb 700(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 701(%rax), %dl
+ movb 701(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 702(%rax), %dl
+ movb 702(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 703(%rax), %dl
+ movb 703(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 704(%rax), %dl
+ movb 704(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 705(%rax), %dl
+ movb 705(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 706(%rax), %dl
+ movb 706(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 707(%rax), %dl
+ movb 707(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 708(%rax), %dl
+ movb 708(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 709(%rax), %dl
+ movb 709(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 710(%rax), %dl
+ movb 710(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 711(%rax), %dl
+ movb 711(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 712(%rax), %dl
+ movb 712(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 713(%rax), %dl
+ movb 713(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 714(%rax), %dl
+ movb 714(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 715(%rax), %dl
+ movb 715(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 716(%rax), %dl
+ movb 716(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 717(%rax), %dl
+ movb 717(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 718(%rax), %dl
+ movb 718(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 719(%rax), %dl
+ movb 719(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 720(%rax), %dl
+ movb 720(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 721(%rax), %dl
+ movb 721(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 722(%rax), %dl
+ movb 722(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 723(%rax), %dl
+ movb 723(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 724(%rax), %dl
+ movb 724(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 725(%rax), %dl
+ movb 725(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 726(%rax), %dl
+ movb 726(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 727(%rax), %dl
+ movb 727(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 728(%rax), %dl
+ movb 728(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 729(%rax), %dl
+ movb 729(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 730(%rax), %dl
+ movb 730(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 731(%rax), %dl
+ movb 731(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 732(%rax), %dl
+ movb 732(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 733(%rax), %dl
+ movb 733(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 734(%rax), %dl
+ movb 734(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 735(%rax), %dl
+ movb 735(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 736(%rax), %dl
+ movb 736(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 737(%rax), %dl
+ movb 737(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 738(%rax), %dl
+ movb 738(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 739(%rax), %dl
+ movb 739(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 740(%rax), %dl
+ movb 740(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 741(%rax), %dl
+ movb 741(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 742(%rax), %dl
+ movb 742(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 743(%rax), %dl
+ movb 743(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 744(%rax), %dl
+ movb 744(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 745(%rax), %dl
+ movb 745(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 746(%rax), %dl
+ movb 746(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 747(%rax), %dl
+ movb 747(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 748(%rax), %dl
+ movb 748(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 749(%rax), %dl
+ movb 749(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 750(%rax), %dl
+ movb 750(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 751(%rax), %dl
+ movb 751(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 752(%rax), %dl
+ movb 752(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 753(%rax), %dl
+ movb 753(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 754(%rax), %dl
+ movb 754(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 755(%rax), %dl
+ movb 755(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 756(%rax), %dl
+ movb 756(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 757(%rax), %dl
+ movb 757(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 758(%rax), %dl
+ movb 758(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 759(%rax), %dl
+ movb 759(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 760(%rax), %dl
+ movb 760(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 761(%rax), %dl
+ movb 761(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 762(%rax), %dl
+ movb 762(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 763(%rax), %dl
+ movb 763(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 764(%rax), %dl
+ movb 764(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 765(%rax), %dl
+ movb 765(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 766(%rax), %dl
+ movb 766(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 767(%rax), %dl
+ movb 767(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 768(%rax), %dl
+ movb 768(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 769(%rax), %dl
+ movb 769(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 770(%rax), %dl
+ movb 770(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 771(%rax), %dl
+ movb 771(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 772(%rax), %dl
+ movb 772(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 773(%rax), %dl
+ movb 773(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 774(%rax), %dl
+ movb 774(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 775(%rax), %dl
+ movb 775(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 776(%rax), %dl
+ movb 776(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 777(%rax), %dl
+ movb 777(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 778(%rax), %dl
+ movb 778(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 779(%rax), %dl
+ movb 779(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 780(%rax), %dl
+ movb 780(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 781(%rax), %dl
+ movb 781(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 782(%rax), %dl
+ movb 782(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 783(%rax), %dl
+ movb 783(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 784(%rax), %dl
+ movb 784(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 785(%rax), %dl
+ movb 785(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 786(%rax), %dl
+ movb 786(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 787(%rax), %dl
+ movb 787(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 788(%rax), %dl
+ movb 788(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 789(%rax), %dl
+ movb 789(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 790(%rax), %dl
+ movb 790(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 791(%rax), %dl
+ movb 791(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 792(%rax), %dl
+ movb 792(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 793(%rax), %dl
+ movb 793(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 794(%rax), %dl
+ movb 794(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 795(%rax), %dl
+ movb 795(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 796(%rax), %dl
+ movb 796(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 797(%rax), %dl
+ movb 797(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 798(%rax), %dl
+ movb 798(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 799(%rax), %dl
+ movb 799(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 800(%rax), %dl
+ movb 800(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 801(%rax), %dl
+ movb 801(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 802(%rax), %dl
+ movb 802(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 803(%rax), %dl
+ movb 803(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 804(%rax), %dl
+ movb 804(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 805(%rax), %dl
+ movb 805(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 806(%rax), %dl
+ movb 806(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 807(%rax), %dl
+ movb 807(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 808(%rax), %dl
+ movb 808(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 809(%rax), %dl
+ movb 809(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 810(%rax), %dl
+ movb 810(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 811(%rax), %dl
+ movb 811(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 812(%rax), %dl
+ movb 812(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 813(%rax), %dl
+ movb 813(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 814(%rax), %dl
+ movb 814(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 815(%rax), %dl
+ movb 815(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 816(%rax), %dl
+ movb 816(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 817(%rax), %dl
+ movb 817(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 818(%rax), %dl
+ movb 818(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 819(%rax), %dl
+ movb 819(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 820(%rax), %dl
+ movb 820(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 821(%rax), %dl
+ movb 821(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 822(%rax), %dl
+ movb 822(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 823(%rax), %dl
+ movb 823(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 824(%rax), %dl
+ movb 824(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 825(%rax), %dl
+ movb 825(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 826(%rax), %dl
+ movb 826(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 827(%rax), %dl
+ movb 827(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 828(%rax), %dl
+ movb 828(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 829(%rax), %dl
+ movb 829(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 830(%rax), %dl
+ movb 830(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 831(%rax), %dl
+ movb 831(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 832(%rax), %dl
+ movb 832(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 833(%rax), %dl
+ movb 833(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 834(%rax), %dl
+ movb 834(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 835(%rax), %dl
+ movb 835(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 836(%rax), %dl
+ movb 836(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 837(%rax), %dl
+ movb 837(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 838(%rax), %dl
+ movb 838(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 839(%rax), %dl
+ movb 839(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 840(%rax), %dl
+ movb 840(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 841(%rax), %dl
+ movb 841(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 842(%rax), %dl
+ movb 842(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 843(%rax), %dl
+ movb 843(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 844(%rax), %dl
+ movb 844(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 845(%rax), %dl
+ movb 845(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 846(%rax), %dl
+ movb 846(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 847(%rax), %dl
+ movb 847(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 848(%rax), %dl
+ movb 848(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 849(%rax), %dl
+ movb 849(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 850(%rax), %dl
+ movb 850(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 851(%rax), %dl
+ movb 851(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 852(%rax), %dl
+ movb 852(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 853(%rax), %dl
+ movb 853(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 854(%rax), %dl
+ movb 854(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 855(%rax), %dl
+ movb 855(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 856(%rax), %dl
+ movb 856(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 857(%rax), %dl
+ movb 857(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 858(%rax), %dl
+ movb 858(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 859(%rax), %dl
+ movb 859(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 860(%rax), %dl
+ movb 860(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 861(%rax), %dl
+ movb 861(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 862(%rax), %dl
+ movb 862(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 863(%rax), %dl
+ movb 863(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 864(%rax), %dl
+ movb 864(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 865(%rax), %dl
+ movb 865(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 866(%rax), %dl
+ movb 866(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 867(%rax), %dl
+ movb 867(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 868(%rax), %dl
+ movb 868(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 869(%rax), %dl
+ movb 869(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 870(%rax), %dl
+ movb 870(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 871(%rax), %dl
+ movb 871(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 872(%rax), %dl
+ movb 872(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 873(%rax), %dl
+ movb 873(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 874(%rax), %dl
+ movb 874(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 875(%rax), %dl
+ movb 875(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 876(%rax), %dl
+ movb 876(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 877(%rax), %dl
+ movb 877(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 878(%rax), %dl
+ movb 878(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 879(%rax), %dl
+ movb 879(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 880(%rax), %dl
+ movb 880(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 881(%rax), %dl
+ movb 881(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 882(%rax), %dl
+ movb 882(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 883(%rax), %dl
+ movb 883(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 884(%rax), %dl
+ movb 884(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 885(%rax), %dl
+ movb 885(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 886(%rax), %dl
+ movb 886(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 887(%rax), %dl
+ movb 887(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 888(%rax), %dl
+ movb 888(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 889(%rax), %dl
+ movb 889(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 890(%rax), %dl
+ movb 890(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 891(%rax), %dl
+ movb 891(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 892(%rax), %dl
+ movb 892(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 893(%rax), %dl
+ movb 893(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 894(%rax), %dl
+ movb 894(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 895(%rax), %dl
+ movb 895(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 896(%rax), %dl
+ movb 896(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 897(%rax), %dl
+ movb 897(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 898(%rax), %dl
+ movb 898(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 899(%rax), %dl
+ movb 899(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 900(%rax), %dl
+ movb 900(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 901(%rax), %dl
+ movb 901(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 902(%rax), %dl
+ movb 902(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 903(%rax), %dl
+ movb 903(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 904(%rax), %dl
+ movb 904(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 905(%rax), %dl
+ movb 905(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 906(%rax), %dl
+ movb 906(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 907(%rax), %dl
+ movb 907(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 908(%rax), %dl
+ movb 908(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 909(%rax), %dl
+ movb 909(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 910(%rax), %dl
+ movb 910(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 911(%rax), %dl
+ movb 911(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 912(%rax), %dl
+ movb 912(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 913(%rax), %dl
+ movb 913(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 914(%rax), %dl
+ movb 914(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 915(%rax), %dl
+ movb 915(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 916(%rax), %dl
+ movb 916(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 917(%rax), %dl
+ movb 917(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 918(%rax), %dl
+ movb 918(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 919(%rax), %dl
+ movb 919(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 920(%rax), %dl
+ movb 920(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 921(%rax), %dl
+ movb 921(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 922(%rax), %dl
+ movb 922(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 923(%rax), %dl
+ movb 923(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 924(%rax), %dl
+ movb 924(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 925(%rax), %dl
+ movb 925(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 926(%rax), %dl
+ movb 926(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 927(%rax), %dl
+ movb 927(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 928(%rax), %dl
+ movb 928(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 929(%rax), %dl
+ movb 929(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 930(%rax), %dl
+ movb 930(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 931(%rax), %dl
+ movb 931(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 932(%rax), %dl
+ movb 932(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 933(%rax), %dl
+ movb 933(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 934(%rax), %dl
+ movb 934(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 935(%rax), %dl
+ movb 935(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 936(%rax), %dl
+ movb 936(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 937(%rax), %dl
+ movb 937(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 938(%rax), %dl
+ movb 938(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 939(%rax), %dl
+ movb 939(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 940(%rax), %dl
+ movb 940(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 941(%rax), %dl
+ movb 941(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 942(%rax), %dl
+ movb 942(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 943(%rax), %dl
+ movb 943(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 944(%rax), %dl
+ movb 944(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 945(%rax), %dl
+ movb 945(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 946(%rax), %dl
+ movb 946(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 947(%rax), %dl
+ movb 947(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 948(%rax), %dl
+ movb 948(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 949(%rax), %dl
+ movb 949(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 950(%rax), %dl
+ movb 950(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 951(%rax), %dl
+ movb 951(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 952(%rax), %dl
+ movb 952(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 953(%rax), %dl
+ movb 953(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 954(%rax), %dl
+ movb 954(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 955(%rax), %dl
+ movb 955(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 956(%rax), %dl
+ movb 956(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 957(%rax), %dl
+ movb 957(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 958(%rax), %dl
+ movb 958(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 959(%rax), %dl
+ movb 959(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 960(%rax), %dl
+ movb 960(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 961(%rax), %dl
+ movb 961(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 962(%rax), %dl
+ movb 962(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 963(%rax), %dl
+ movb 963(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 964(%rax), %dl
+ movb 964(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 965(%rax), %dl
+ movb 965(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 966(%rax), %dl
+ movb 966(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 967(%rax), %dl
+ movb 967(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 968(%rax), %dl
+ movb 968(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 969(%rax), %dl
+ movb 969(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 970(%rax), %dl
+ movb 970(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 971(%rax), %dl
+ movb 971(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 972(%rax), %dl
+ movb 972(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 973(%rax), %dl
+ movb 973(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 974(%rax), %dl
+ movb 974(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 975(%rax), %dl
+ movb 975(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 976(%rax), %dl
+ movb 976(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 977(%rax), %dl
+ movb 977(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 978(%rax), %dl
+ movb 978(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 979(%rax), %dl
+ movb 979(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 980(%rax), %dl
+ movb 980(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 981(%rax), %dl
+ movb 981(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 982(%rax), %dl
+ movb 982(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 983(%rax), %dl
+ movb 983(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 984(%rax), %dl
+ movb 984(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 985(%rax), %dl
+ movb 985(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 986(%rax), %dl
+ movb 986(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 987(%rax), %dl
+ movb 987(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 988(%rax), %dl
+ movb 988(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 989(%rax), %dl
+ movb 989(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 990(%rax), %dl
+ movb 990(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 991(%rax), %dl
+ movb 991(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 992(%rax), %dl
+ movb 992(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 993(%rax), %dl
+ movb 993(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 994(%rax), %dl
+ movb 994(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 995(%rax), %dl
+ movb 995(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 996(%rax), %dl
+ movb 996(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 997(%rax), %dl
+ movb 997(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 998(%rax), %dl
+ movb 998(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 999(%rax), %dl
+ movb 999(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1000(%rax), %dl
+ movb 1000(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1001(%rax), %dl
+ movb 1001(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1002(%rax), %dl
+ movb 1002(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1003(%rax), %dl
+ movb 1003(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1004(%rax), %dl
+ movb 1004(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1005(%rax), %dl
+ movb 1005(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1006(%rax), %dl
+ movb 1006(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1007(%rax), %dl
+ movb 1007(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1008(%rax), %dl
+ movb 1008(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1009(%rax), %dl
+ movb 1009(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1010(%rax), %dl
+ movb 1010(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1011(%rax), %dl
+ movb 1011(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1012(%rax), %dl
+ movb 1012(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1013(%rax), %dl
+ movb 1013(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1014(%rax), %dl
+ movb 1014(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1015(%rax), %dl
+ movb 1015(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1016(%rax), %dl
+ movb 1016(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1017(%rax), %dl
+ movb 1017(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1018(%rax), %dl
+ movb 1018(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1019(%rax), %dl
+ movb 1019(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1020(%rax), %dl
+ movb 1020(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1021(%rax), %dl
+ movb 1021(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1022(%rax), %dl
+ movb 1022(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1023(%rax), %dl
+ movb 1023(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1024(%rax), %dl
+ movb 1024(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1025(%rax), %dl
+ movb 1025(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1026(%rax), %dl
+ movb 1026(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1027(%rax), %dl
+ movb 1027(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1028(%rax), %dl
+ movb 1028(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1029(%rax), %dl
+ movb 1029(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1030(%rax), %dl
+ movb 1030(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1031(%rax), %dl
+ movb 1031(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1032(%rax), %dl
+ movb 1032(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1033(%rax), %dl
+ movb 1033(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1034(%rax), %dl
+ movb 1034(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1035(%rax), %dl
+ movb 1035(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1036(%rax), %dl
+ movb 1036(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1037(%rax), %dl
+ movb 1037(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1038(%rax), %dl
+ movb 1038(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1039(%rax), %dl
+ movb 1039(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1040(%rax), %dl
+ movb 1040(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1041(%rax), %dl
+ movb 1041(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1042(%rax), %dl
+ movb 1042(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1043(%rax), %dl
+ movb 1043(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1044(%rax), %dl
+ movb 1044(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1045(%rax), %dl
+ movb 1045(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1046(%rax), %dl
+ movb 1046(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1047(%rax), %dl
+ movb 1047(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1048(%rax), %dl
+ movb 1048(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1049(%rax), %dl
+ movb 1049(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1050(%rax), %dl
+ movb 1050(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1051(%rax), %dl
+ movb 1051(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1052(%rax), %dl
+ movb 1052(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1053(%rax), %dl
+ movb 1053(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1054(%rax), %dl
+ movb 1054(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1055(%rax), %dl
+ movb 1055(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1056(%rax), %dl
+ movb 1056(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1057(%rax), %dl
+ movb 1057(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1058(%rax), %dl
+ movb 1058(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1059(%rax), %dl
+ movb 1059(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1060(%rax), %dl
+ movb 1060(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1061(%rax), %dl
+ movb 1061(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1062(%rax), %dl
+ movb 1062(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1063(%rax), %dl
+ movb 1063(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1064(%rax), %dl
+ movb 1064(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1065(%rax), %dl
+ movb 1065(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1066(%rax), %dl
+ movb 1066(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1067(%rax), %dl
+ movb 1067(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1068(%rax), %dl
+ movb 1068(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1069(%rax), %dl
+ movb 1069(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1070(%rax), %dl
+ movb 1070(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1071(%rax), %dl
+ movb 1071(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1072(%rax), %dl
+ movb 1072(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1073(%rax), %dl
+ movb 1073(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1074(%rax), %dl
+ movb 1074(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1075(%rax), %dl
+ movb 1075(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1076(%rax), %dl
+ movb 1076(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1077(%rax), %dl
+ movb 1077(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1078(%rax), %dl
+ movb 1078(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1079(%rax), %dl
+ movb 1079(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1080(%rax), %dl
+ movb 1080(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1081(%rax), %dl
+ movb 1081(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1082(%rax), %dl
+ movb 1082(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1083(%rax), %dl
+ movb 1083(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1084(%rax), %dl
+ movb 1084(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1085(%rax), %dl
+ movb 1085(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1086(%rax), %dl
+ movb 1086(%rsi), %dil
+ xorb %dil, %dl
+ movzbq %dl, %rdx
+ orq %rdx, %rcx
+ movb 1087(%rax), %al
+ movb 1087(%rsi), %dl
+ xorb %dl, %al
+ movzbq %al, %rax
+ orq %rax, %rcx
+ negq %rcx
+ shrq $63, %rcx
+ movq 16(%rsp), %rax
+ addq $64, %rax
+ addq $2304, %rax
+ leaq 144(%rsp), %rdx
+ negq %rcx
+ movb (%rdx), %dil
+ movb (%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, (%rdx)
+ movb 1(%rdx), %dil
+ movb 1(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 1(%rdx)
+ movb 2(%rdx), %dil
+ movb 2(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 2(%rdx)
+ movb 3(%rdx), %dil
+ movb 3(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 3(%rdx)
+ movb 4(%rdx), %dil
+ movb 4(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 4(%rdx)
+ movb 5(%rdx), %dil
+ movb 5(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 5(%rdx)
+ movb 6(%rdx), %dil
+ movb 6(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 6(%rdx)
+ movb 7(%rdx), %dil
+ movb 7(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 7(%rdx)
+ movb 8(%rdx), %dil
+ movb 8(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 8(%rdx)
+ movb 9(%rdx), %dil
+ movb 9(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 9(%rdx)
+ movb 10(%rdx), %dil
+ movb 10(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 10(%rdx)
+ movb 11(%rdx), %dil
+ movb 11(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 11(%rdx)
+ movb 12(%rdx), %dil
+ movb 12(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 12(%rdx)
+ movb 13(%rdx), %dil
+ movb 13(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 13(%rdx)
+ movb 14(%rdx), %dil
+ movb 14(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 14(%rdx)
+ movb 15(%rdx), %dil
+ movb 15(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 15(%rdx)
+ movb 16(%rdx), %dil
+ movb 16(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 16(%rdx)
+ movb 17(%rdx), %dil
+ movb 17(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 17(%rdx)
+ movb 18(%rdx), %dil
+ movb 18(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 18(%rdx)
+ movb 19(%rdx), %dil
+ movb 19(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 19(%rdx)
+ movb 20(%rdx), %dil
+ movb 20(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 20(%rdx)
+ movb 21(%rdx), %dil
+ movb 21(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 21(%rdx)
+ movb 22(%rdx), %dil
+ movb 22(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 22(%rdx)
+ movb 23(%rdx), %dil
+ movb 23(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 23(%rdx)
+ movb 24(%rdx), %dil
+ movb 24(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 24(%rdx)
+ movb 25(%rdx), %dil
+ movb 25(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 25(%rdx)
+ movb 26(%rdx), %dil
+ movb 26(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 26(%rdx)
+ movb 27(%rdx), %dil
+ movb 27(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 27(%rdx)
+ movb 28(%rdx), %dil
+ movb 28(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 28(%rdx)
+ movb 29(%rdx), %dil
+ movb 29(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 29(%rdx)
+ movb 30(%rdx), %dil
+ movb 30(%rax), %r8b
+ xorb %dil, %r8b
+ andb %cl, %r8b
+ xorb %r8b, %dil
+ movb %dil, 30(%rdx)
+ movb 31(%rdx), %dil
+ movb 31(%rax), %al
+ xorb %dil, %al
+ andb %cl, %al
+ xorb %al, %dil
+ movb %dil, 31(%rdx)
+ movq $1088, %rax
+ leaq 176(%rsp), %rcx
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$2:
+ leaq 232(%rsp), %rsp
+ movq (%rsp), %rax
+ movq $32, %rcx
+ leaq 144(%rsp), %rdx
+ leaq -216(%rsp), %rsp
+ call L_shake256_64$1
+Ljade_kem_kyber_kyber768_amd64_ref_dec$1:
+ leaq 216(%rsp), %rsp
+ xorq %rax, %rax
+ movq 14504(%rsp), %r15
+ movq 14512(%rsp), %r14
+ movq 14520(%rsp), %r13
+ movq 14528(%rsp), %r12
+ movq 14536(%rsp), %rbp
+ movq 14544(%rsp), %rbx
+ movq 14552(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_ref_enc:
+jade_kem_kyber_kyber768_amd64_ref_enc:
+ movq %rsp, %rax
+ leaq -88(%rsp), %rsp
+ andq $-16, %rsp
+ movq %rax, 80(%rsp)
+ movq %r15, 32(%rsp)
+ movq %r14, 40(%rsp)
+ movq %r13, 48(%rsp)
+ movq %r12, 56(%rsp)
+ movq %rbp, 64(%rsp)
+ movq %rbx, 72(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rdx, %r12
+ movq %rsp, %rdi
+ movq $32, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rax
+ leaq -13400(%rsp), %rsp
+ call L_crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_ref_enc$1:
+ leaq 13400(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r15
+ movq 40(%rsp), %r14
+ movq 48(%rsp), %r13
+ movq 56(%rsp), %r12
+ movq 64(%rsp), %rbp
+ movq 72(%rsp), %rbx
+ movq 80(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_ref_enc_derand:
+jade_kem_kyber_kyber768_amd64_ref_enc_derand:
+ movq %rsp, %rax
+ leaq -88(%rsp), %rsp
+ andq $-8, %rsp
+ movq %rax, 80(%rsp)
+ movq %r15, 32(%rsp)
+ movq %r14, 40(%rsp)
+ movq %r13, 48(%rsp)
+ movq %r12, 56(%rsp)
+ movq %rbp, 64(%rsp)
+ movq %rbx, 72(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rdx, %r12
+ movq %rsp, %rax
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %cl
+ movb %cl, 31(%rax)
+ movq %rsp, %rax
+ leaq -13400(%rsp), %rsp
+ call L_crypto_kem_enc_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_ref_enc_derand$1:
+ leaq 13400(%rsp), %rsp
+ xorq %rax, %rax
+ movq 32(%rsp), %r15
+ movq 40(%rsp), %r14
+ movq 48(%rsp), %r13
+ movq 56(%rsp), %r12
+ movq 64(%rsp), %rbp
+ movq 72(%rsp), %rbx
+ movq 80(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_ref_keypair:
+jade_kem_kyber_kyber768_amd64_ref_keypair:
+ movq %rsp, %rax
+ leaq -120(%rsp), %rsp
+ andq $-16, %rsp
+ movq %rax, 112(%rsp)
+ movq %r15, 64(%rsp)
+ movq %r14, 72(%rsp)
+ movq %r13, 80(%rsp)
+ movq %r12, 88(%rsp)
+ movq %rbp, 96(%rsp)
+ movq %rbx, 104(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rdi
+ movq $64, %rsi
+ call __jasmin_syscall_randombytes__
+ movq %rsp, %rax
+ leaq -10320(%rsp), %rsp
+ call L_crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_ref_keypair$1:
+ leaq 10320(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r15
+ movq 72(%rsp), %r14
+ movq 80(%rsp), %r13
+ movq 88(%rsp), %r12
+ movq 96(%rsp), %rbp
+ movq 104(%rsp), %rbx
+ movq 112(%rsp), %rsp
+ ret
+_jade_kem_kyber_kyber768_amd64_ref_keypair_derand:
+jade_kem_kyber_kyber768_amd64_ref_keypair_derand:
+ movq %rsp, %rax
+ leaq -120(%rsp), %rsp
+ andq $-8, %rsp
+ movq %rax, 112(%rsp)
+ movq %r15, 64(%rsp)
+ movq %r14, 72(%rsp)
+ movq %r13, 80(%rsp)
+ movq %r12, 88(%rsp)
+ movq %rbp, 96(%rsp)
+ movq %rbx, 104(%rsp)
+ movq %rdi, %rbp
+ movq %rsi, %rbx
+ movq %rsp, %rax
+ movb (%rdx), %cl
+ movb %cl, (%rax)
+ movb 1(%rdx), %cl
+ movb %cl, 1(%rax)
+ movb 2(%rdx), %cl
+ movb %cl, 2(%rax)
+ movb 3(%rdx), %cl
+ movb %cl, 3(%rax)
+ movb 4(%rdx), %cl
+ movb %cl, 4(%rax)
+ movb 5(%rdx), %cl
+ movb %cl, 5(%rax)
+ movb 6(%rdx), %cl
+ movb %cl, 6(%rax)
+ movb 7(%rdx), %cl
+ movb %cl, 7(%rax)
+ movb 8(%rdx), %cl
+ movb %cl, 8(%rax)
+ movb 9(%rdx), %cl
+ movb %cl, 9(%rax)
+ movb 10(%rdx), %cl
+ movb %cl, 10(%rax)
+ movb 11(%rdx), %cl
+ movb %cl, 11(%rax)
+ movb 12(%rdx), %cl
+ movb %cl, 12(%rax)
+ movb 13(%rdx), %cl
+ movb %cl, 13(%rax)
+ movb 14(%rdx), %cl
+ movb %cl, 14(%rax)
+ movb 15(%rdx), %cl
+ movb %cl, 15(%rax)
+ movb 16(%rdx), %cl
+ movb %cl, 16(%rax)
+ movb 17(%rdx), %cl
+ movb %cl, 17(%rax)
+ movb 18(%rdx), %cl
+ movb %cl, 18(%rax)
+ movb 19(%rdx), %cl
+ movb %cl, 19(%rax)
+ movb 20(%rdx), %cl
+ movb %cl, 20(%rax)
+ movb 21(%rdx), %cl
+ movb %cl, 21(%rax)
+ movb 22(%rdx), %cl
+ movb %cl, 22(%rax)
+ movb 23(%rdx), %cl
+ movb %cl, 23(%rax)
+ movb 24(%rdx), %cl
+ movb %cl, 24(%rax)
+ movb 25(%rdx), %cl
+ movb %cl, 25(%rax)
+ movb 26(%rdx), %cl
+ movb %cl, 26(%rax)
+ movb 27(%rdx), %cl
+ movb %cl, 27(%rax)
+ movb 28(%rdx), %cl
+ movb %cl, 28(%rax)
+ movb 29(%rdx), %cl
+ movb %cl, 29(%rax)
+ movb 30(%rdx), %cl
+ movb %cl, 30(%rax)
+ movb 31(%rdx), %cl
+ movb %cl, 31(%rax)
+ movb 32(%rdx), %cl
+ movb %cl, 32(%rax)
+ movb 33(%rdx), %cl
+ movb %cl, 33(%rax)
+ movb 34(%rdx), %cl
+ movb %cl, 34(%rax)
+ movb 35(%rdx), %cl
+ movb %cl, 35(%rax)
+ movb 36(%rdx), %cl
+ movb %cl, 36(%rax)
+ movb 37(%rdx), %cl
+ movb %cl, 37(%rax)
+ movb 38(%rdx), %cl
+ movb %cl, 38(%rax)
+ movb 39(%rdx), %cl
+ movb %cl, 39(%rax)
+ movb 40(%rdx), %cl
+ movb %cl, 40(%rax)
+ movb 41(%rdx), %cl
+ movb %cl, 41(%rax)
+ movb 42(%rdx), %cl
+ movb %cl, 42(%rax)
+ movb 43(%rdx), %cl
+ movb %cl, 43(%rax)
+ movb 44(%rdx), %cl
+ movb %cl, 44(%rax)
+ movb 45(%rdx), %cl
+ movb %cl, 45(%rax)
+ movb 46(%rdx), %cl
+ movb %cl, 46(%rax)
+ movb 47(%rdx), %cl
+ movb %cl, 47(%rax)
+ movb 48(%rdx), %cl
+ movb %cl, 48(%rax)
+ movb 49(%rdx), %cl
+ movb %cl, 49(%rax)
+ movb 50(%rdx), %cl
+ movb %cl, 50(%rax)
+ movb 51(%rdx), %cl
+ movb %cl, 51(%rax)
+ movb 52(%rdx), %cl
+ movb %cl, 52(%rax)
+ movb 53(%rdx), %cl
+ movb %cl, 53(%rax)
+ movb 54(%rdx), %cl
+ movb %cl, 54(%rax)
+ movb 55(%rdx), %cl
+ movb %cl, 55(%rax)
+ movb 56(%rdx), %cl
+ movb %cl, 56(%rax)
+ movb 57(%rdx), %cl
+ movb %cl, 57(%rax)
+ movb 58(%rdx), %cl
+ movb %cl, 58(%rax)
+ movb 59(%rdx), %cl
+ movb %cl, 59(%rax)
+ movb 60(%rdx), %cl
+ movb %cl, 60(%rax)
+ movb 61(%rdx), %cl
+ movb %cl, 61(%rax)
+ movb 62(%rdx), %cl
+ movb %cl, 62(%rax)
+ movb 63(%rdx), %cl
+ movb %cl, 63(%rax)
+ movq %rsp, %rax
+ leaq -10320(%rsp), %rsp
+ call L_crypto_kem_keypair_derand_jazz$1
+Ljade_kem_kyber_kyber768_amd64_ref_keypair_derand$1:
+ leaq 10320(%rsp), %rsp
+ xorq %rax, %rax
+ movq 64(%rsp), %r15
+ movq 72(%rsp), %r14
+ movq 80(%rsp), %r13
+ movq 88(%rsp), %r12
+ movq 96(%rsp), %rbp
+ movq 104(%rsp), %rbx
+ movq 112(%rsp), %rsp
+ ret
+L_crypto_kem_enc_derand_jazz$1:
+ movq %r12, 8(%rsp)
+ movq %rbp, 16(%rsp)
+ movq %rbx, 24(%rsp)
+ movq (%rax), %rcx
+ movq %rcx, 72(%rsp)
+ movq 8(%rax), %rcx
+ movq %rcx, 80(%rsp)
+ movq 16(%rax), %rcx
+ movq %rcx, 88(%rsp)
+ movq 24(%rax), %rax
+ movq %rax, 96(%rsp)
+ leaq 136(%rsp), %rax
+ leaq 72(%rsp), %rdx
+ leaq -208(%rsp), %rsp
+ call L_sha3_256_32$1
+L_crypto_kem_enc_derand_jazz$208:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rsi
+ movq $1184, %rax
+ leaq 168(%rsp), %rcx
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+L_crypto_kem_enc_derand_jazz$207:
+ leaq 232(%rsp), %rsp
+ leaq 72(%rsp), %rax
+ leaq 136(%rsp), %rdx
+ leaq -208(%rsp), %rsp
+ call L_sha3_512_64$1
+L_crypto_kem_enc_derand_jazz$206:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rdx
+ leaq 136(%rsp), %rcx
+ leaq 104(%rsp), %rax
+ movq %rdx, %rsi
+ leaq 2448(%rsp), %rdi
+ call L_poly_frombytes$1
+L_crypto_kem_enc_derand_jazz$205:
+ addq $384, %rsi
+ leaq 2960(%rsp), %rdi
+ call L_poly_frombytes$1
+L_crypto_kem_enc_derand_jazz$204:
+ addq $384, %rsi
+ leaq 3472(%rsp), %rdi
+ call L_poly_frombytes$1
+L_crypto_kem_enc_derand_jazz$203:
+ movq $0, %rsi
+ addq $1152, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$201
+L_crypto_kem_enc_derand_jazz$202:
+ movq (%rdx), %rdi
+ movq %rdi, 40(%rsp,%rsi,8)
+ addq $8, %rdx
+ incq %rsi
+L_crypto_kem_enc_derand_jazz$201:
+ cmpq $4, %rsi
+ jb L_crypto_kem_enc_derand_jazz$202
+ leaq 912(%rsp), %rdx
+ call L_i_poly_frommsg$1
+L_crypto_kem_enc_derand_jazz$200:
+ movq $1, %rcx
+ movq %rcx, 8(%rsp)
+ movb 40(%rsp), %cl
+ movb %cl, 13200(%rsp)
+ movb 41(%rsp), %cl
+ movb %cl, 13201(%rsp)
+ movb 42(%rsp), %cl
+ movb %cl, 13202(%rsp)
+ movb 43(%rsp), %cl
+ movb %cl, 13203(%rsp)
+ movb 44(%rsp), %cl
+ movb %cl, 13204(%rsp)
+ movb 45(%rsp), %cl
+ movb %cl, 13205(%rsp)
+ movb 46(%rsp), %cl
+ movb %cl, 13206(%rsp)
+ movb 47(%rsp), %cl
+ movb %cl, 13207(%rsp)
+ movb 48(%rsp), %cl
+ movb %cl, 13208(%rsp)
+ movb 49(%rsp), %cl
+ movb %cl, 13209(%rsp)
+ movb 50(%rsp), %cl
+ movb %cl, 13210(%rsp)
+ movb 51(%rsp), %cl
+ movb %cl, 13211(%rsp)
+ movb 52(%rsp), %cl
+ movb %cl, 13212(%rsp)
+ movb 53(%rsp), %cl
+ movb %cl, 13213(%rsp)
+ movb 54(%rsp), %cl
+ movb %cl, 13214(%rsp)
+ movb 55(%rsp), %cl
+ movb %cl, 13215(%rsp)
+ movb 56(%rsp), %cl
+ movb %cl, 13216(%rsp)
+ movb 57(%rsp), %cl
+ movb %cl, 13217(%rsp)
+ movb 58(%rsp), %cl
+ movb %cl, 13218(%rsp)
+ movb 59(%rsp), %cl
+ movb %cl, 13219(%rsp)
+ movb 60(%rsp), %cl
+ movb %cl, 13220(%rsp)
+ movb 61(%rsp), %cl
+ movb %cl, 13221(%rsp)
+ movb 62(%rsp), %cl
+ movb %cl, 13222(%rsp)
+ movb 63(%rsp), %cl
+ movb %cl, 13223(%rsp)
+ movb 64(%rsp), %cl
+ movb %cl, 13224(%rsp)
+ movb 65(%rsp), %cl
+ movb %cl, 13225(%rsp)
+ movb 66(%rsp), %cl
+ movb %cl, 13226(%rsp)
+ movb 67(%rsp), %cl
+ movb %cl, 13227(%rsp)
+ movb 68(%rsp), %cl
+ movb %cl, 13228(%rsp)
+ movb 69(%rsp), %cl
+ movb %cl, 13229(%rsp)
+ movb 70(%rsp), %cl
+ movb %cl, 13230(%rsp)
+ movb 71(%rsp), %cl
+ movb %cl, 13231(%rsp)
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$198
+ movb $0, 13232(%rsp)
+ movb $0, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$199
+L_crypto_kem_enc_derand_jazz$198:
+ movb $0, 13232(%rsp)
+ movb $0, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$199:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$197:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$195
+L_crypto_kem_enc_derand_jazz$196:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$195:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$196
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$187
+L_crypto_kem_enc_derand_jazz$188:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$194:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$189:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$192
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$192
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$193:
+L_crypto_kem_enc_derand_jazz$192:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$190
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$190
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$191:
+L_crypto_kem_enc_derand_jazz$190:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$189
+L_crypto_kem_enc_derand_jazz$187:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$188
+ movq $0, %rcx
+ movq $0, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$185
+L_crypto_kem_enc_derand_jazz$186:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$185:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$186
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$183
+ movb $0, 13232(%rsp)
+ movb $1, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$184
+L_crypto_kem_enc_derand_jazz$183:
+ movb $1, 13232(%rsp)
+ movb $0, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$184:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$182:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$180
+L_crypto_kem_enc_derand_jazz$181:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$180:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$181
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$172
+L_crypto_kem_enc_derand_jazz$173:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$179:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$174:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$177
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$177
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$178:
+L_crypto_kem_enc_derand_jazz$177:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$175
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$175
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$176:
+L_crypto_kem_enc_derand_jazz$175:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$174
+L_crypto_kem_enc_derand_jazz$172:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$173
+ movq $0, %rcx
+ movq $256, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$170
+L_crypto_kem_enc_derand_jazz$171:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$170:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$171
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$168
+ movb $0, 13232(%rsp)
+ movb $2, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$169
+L_crypto_kem_enc_derand_jazz$168:
+ movb $2, 13232(%rsp)
+ movb $0, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$169:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$167:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$165
+L_crypto_kem_enc_derand_jazz$166:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$165:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$166
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$157
+L_crypto_kem_enc_derand_jazz$158:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$164:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$159:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$162
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$162
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$163:
+L_crypto_kem_enc_derand_jazz$162:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$160
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$160
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$161:
+L_crypto_kem_enc_derand_jazz$160:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$159
+L_crypto_kem_enc_derand_jazz$157:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$158
+ movq $0, %rcx
+ movq $512, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$155
+L_crypto_kem_enc_derand_jazz$156:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$155:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$156
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$153
+ movb $1, 13232(%rsp)
+ movb $0, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$154
+L_crypto_kem_enc_derand_jazz$153:
+ movb $0, 13232(%rsp)
+ movb $1, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$154:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$152:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$150
+L_crypto_kem_enc_derand_jazz$151:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$150:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$151
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$142
+L_crypto_kem_enc_derand_jazz$143:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$149:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$144:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$147
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$147
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$148:
+L_crypto_kem_enc_derand_jazz$147:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$145
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$145
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$146:
+L_crypto_kem_enc_derand_jazz$145:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$144
+L_crypto_kem_enc_derand_jazz$142:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$143
+ movq $0, %rcx
+ movq $768, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$140
+L_crypto_kem_enc_derand_jazz$141:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$140:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$141
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$138
+ movb $1, 13232(%rsp)
+ movb $1, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$139
+L_crypto_kem_enc_derand_jazz$138:
+ movb $1, 13232(%rsp)
+ movb $1, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$139:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$137:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$135
+L_crypto_kem_enc_derand_jazz$136:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$135:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$136
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$127
+L_crypto_kem_enc_derand_jazz$128:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$134:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$129:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$132
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$132
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$133:
+L_crypto_kem_enc_derand_jazz$132:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$130
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$130
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$131:
+L_crypto_kem_enc_derand_jazz$130:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$129
+L_crypto_kem_enc_derand_jazz$127:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$128
+ movq $0, %rcx
+ movq $1024, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$125
+L_crypto_kem_enc_derand_jazz$126:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$125:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$126
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$123
+ movb $1, 13232(%rsp)
+ movb $2, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$124
+L_crypto_kem_enc_derand_jazz$123:
+ movb $2, 13232(%rsp)
+ movb $1, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$124:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$122:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$120
+L_crypto_kem_enc_derand_jazz$121:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$120:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$121
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$112
+L_crypto_kem_enc_derand_jazz$113:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$119:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$114:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$117
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$117
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$118:
+L_crypto_kem_enc_derand_jazz$117:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$115
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$115
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$116:
+L_crypto_kem_enc_derand_jazz$115:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$114
+L_crypto_kem_enc_derand_jazz$112:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$113
+ movq $0, %rcx
+ movq $1280, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$110
+L_crypto_kem_enc_derand_jazz$111:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$110:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$111
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$108
+ movb $2, 13232(%rsp)
+ movb $0, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$109
+L_crypto_kem_enc_derand_jazz$108:
+ movb $0, 13232(%rsp)
+ movb $2, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$109:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$107:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$105
+L_crypto_kem_enc_derand_jazz$106:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$105:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$106
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$97
+L_crypto_kem_enc_derand_jazz$98:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$104:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$99:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$102
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$102
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$103:
+L_crypto_kem_enc_derand_jazz$102:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$100
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$100
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$101:
+L_crypto_kem_enc_derand_jazz$100:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$99
+L_crypto_kem_enc_derand_jazz$97:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$98
+ movq $0, %rcx
+ movq $1536, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$95
+L_crypto_kem_enc_derand_jazz$96:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$95:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$96
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$93
+ movb $2, 13232(%rsp)
+ movb $1, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$94
+L_crypto_kem_enc_derand_jazz$93:
+ movb $1, 13232(%rsp)
+ movb $2, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$94:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$92:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$90
+L_crypto_kem_enc_derand_jazz$91:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$90:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$91
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$82
+L_crypto_kem_enc_derand_jazz$83:
+ movq %rcx, 32(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$89:
+ leaq 8(%rsp), %rsp
+ movq 32(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$84:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$87
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$87
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$88:
+L_crypto_kem_enc_derand_jazz$87:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$85
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$85
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$86:
+L_crypto_kem_enc_derand_jazz$85:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$84
+L_crypto_kem_enc_derand_jazz$82:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$83
+ movq $0, %rcx
+ movq $1792, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$80
+L_crypto_kem_enc_derand_jazz$81:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$80:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$81
+ movq 8(%rsp), %rcx
+ cmpq $0, %rcx
+ je L_crypto_kem_enc_derand_jazz$78
+ movb $2, 13232(%rsp)
+ movb $2, 13233(%rsp)
+ jmp L_crypto_kem_enc_derand_jazz$79
+L_crypto_kem_enc_derand_jazz$78:
+ movb $2, 13232(%rsp)
+ movb $2, 13233(%rsp)
+L_crypto_kem_enc_derand_jazz$79:
+ leaq 200(%rsp), %rcx
+ leaq 13200(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_enc_derand_jazz$77:
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$75
+L_crypto_kem_enc_derand_jazz$76:
+ movq %rcx, 400(%rsp,%rcx,8)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$75:
+ cmpq $64, %rcx
+ jb L_crypto_kem_enc_derand_jazz$76
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$67
+L_crypto_kem_enc_derand_jazz$68:
+ movq %rcx, 8(%rsp)
+ leaq 200(%rsp), %rcx
+ leaq 13234(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_enc_derand_jazz$74:
+ leaq 8(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movq $0, %rdx
+L_crypto_kem_enc_derand_jazz$69:
+ movzbw 13234(%rsp,%rdx), %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ movw %di, %r8w
+ shrw $4, %r8w
+ andw $15, %di
+ shlw $8, %di
+ orw %di, %si
+ incq %rdx
+ movzbw 13234(%rsp,%rdx), %di
+ shlw $4, %di
+ orw %di, %r8w
+ incq %rdx
+ cmpw $3329, %si
+ jnb L_crypto_kem_enc_derand_jazz$72
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$72
+ movw %si, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$73:
+L_crypto_kem_enc_derand_jazz$72:
+ cmpw $3329, %r8w
+ jnb L_crypto_kem_enc_derand_jazz$70
+ cmpq $256, %rcx
+ jnb L_crypto_kem_enc_derand_jazz$70
+ movw %r8w, 400(%rsp,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$71:
+L_crypto_kem_enc_derand_jazz$70:
+ cmpq $166, %rdx
+ jb L_crypto_kem_enc_derand_jazz$69
+L_crypto_kem_enc_derand_jazz$67:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$68
+ movq $0, %rcx
+ movq $2048, %rdx
+ jmp L_crypto_kem_enc_derand_jazz$65
+L_crypto_kem_enc_derand_jazz$66:
+ movw 400(%rsp,%rcx,2), %si
+ movw %si, 8592(%rsp,%rdx,2)
+ incq %rcx
+ incq %rdx
+L_crypto_kem_enc_derand_jazz$65:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$66
+ movb $0, %cl
+ leaq 3984(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$64:
+ leaq 176(%rsp), %rsp
+ movb $1, %cl
+ leaq 4496(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$63:
+ leaq 176(%rsp), %rsp
+ movb $2, %cl
+ leaq 5008(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$62:
+ leaq 176(%rsp), %rsp
+ movb $3, %cl
+ leaq 5520(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$61:
+ leaq 176(%rsp), %rsp
+ movb $4, %cl
+ leaq 6032(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$60:
+ leaq 176(%rsp), %rsp
+ movb $5, %cl
+ leaq 6544(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$59:
+ leaq 176(%rsp), %rsp
+ movb $6, %cl
+ leaq 400(%rsp), %rdx
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_enc_derand_jazz$58:
+ leaq 176(%rsp), %rsp
+ leaq 3984(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_enc_derand_jazz$57:
+ leaq 4496(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_enc_derand_jazz$56:
+ leaq 5008(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_enc_derand_jazz$55:
+ leaq 7056(%rsp), %rdi
+ leaq 8592(%rsp), %rcx
+ leaq 3984(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$54:
+ leaq 16(%rsp), %rsp
+ leaq 1424(%rsp), %rdi
+ leaq 9104(%rsp), %rcx
+ leaq 4496(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$53:
+ leaq 16(%rsp), %rsp
+ leaq 7056(%rsp), %rcx
+ leaq 1424(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$52:
+ leaq 1424(%rsp), %rdi
+ leaq 9616(%rsp), %rcx
+ leaq 5008(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$51:
+ leaq 16(%rsp), %rsp
+ leaq 7056(%rsp), %rcx
+ leaq 1424(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$50:
+ leaq 7056(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$48
+L_crypto_kem_enc_derand_jazz$49:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$48:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$49
+ leaq 7568(%rsp), %rdi
+ leaq 10128(%rsp), %rcx
+ leaq 3984(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$47:
+ leaq 16(%rsp), %rsp
+ leaq 1424(%rsp), %rdi
+ leaq 10640(%rsp), %rcx
+ leaq 4496(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$46:
+ leaq 16(%rsp), %rsp
+ leaq 7568(%rsp), %rcx
+ leaq 1424(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$45:
+ leaq 1424(%rsp), %rdi
+ leaq 11152(%rsp), %rcx
+ leaq 5008(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$44:
+ leaq 16(%rsp), %rsp
+ leaq 7568(%rsp), %rcx
+ leaq 1424(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$43:
+ leaq 7568(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$41
+L_crypto_kem_enc_derand_jazz$42:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$41:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$42
+ leaq 8080(%rsp), %rdi
+ leaq 11664(%rsp), %rcx
+ leaq 3984(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$40:
+ leaq 16(%rsp), %rsp
+ leaq 1424(%rsp), %rdi
+ leaq 12176(%rsp), %rcx
+ leaq 4496(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$39:
+ leaq 16(%rsp), %rsp
+ leaq 8080(%rsp), %rcx
+ leaq 1424(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$38:
+ leaq 1424(%rsp), %rdi
+ leaq 12688(%rsp), %rcx
+ leaq 5008(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$37:
+ leaq 16(%rsp), %rsp
+ leaq 8080(%rsp), %rcx
+ leaq 1424(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$36:
+ leaq 8080(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$34
+L_crypto_kem_enc_derand_jazz$35:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$34:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$35
+ leaq 1424(%rsp), %rdi
+ leaq 2448(%rsp), %rcx
+ leaq 3984(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$33:
+ leaq 16(%rsp), %rsp
+ leaq 1936(%rsp), %rdi
+ leaq 2960(%rsp), %rcx
+ leaq 4496(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$32:
+ leaq 16(%rsp), %rsp
+ leaq 1424(%rsp), %rcx
+ leaq 1936(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$31:
+ leaq 1936(%rsp), %rdi
+ leaq 3472(%rsp), %rcx
+ leaq 5008(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_enc_derand_jazz$30:
+ leaq 16(%rsp), %rsp
+ leaq 1424(%rsp), %rcx
+ leaq 1936(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$29:
+ leaq 1424(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$27
+L_crypto_kem_enc_derand_jazz$28:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$27:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$28
+ leaq 7056(%rsp), %rcx
+ call L_poly_invntt$1
+L_crypto_kem_enc_derand_jazz$26:
+ leaq 7568(%rsp), %rcx
+ call L_poly_invntt$1
+L_crypto_kem_enc_derand_jazz$25:
+ leaq 8080(%rsp), %rcx
+ call L_poly_invntt$1
+L_crypto_kem_enc_derand_jazz$24:
+ leaq 1424(%rsp), %rcx
+ call L_poly_invntt$1
+L_crypto_kem_enc_derand_jazz$23:
+ leaq 7056(%rsp), %rcx
+ leaq 5520(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$22:
+ leaq 7568(%rsp), %rcx
+ leaq 6032(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$21:
+ leaq 8080(%rsp), %rcx
+ leaq 6544(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$20:
+ leaq 1424(%rsp), %rcx
+ leaq 400(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$19:
+ leaq 1424(%rsp), %rcx
+ leaq 912(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_enc_derand_jazz$18:
+ leaq 7056(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$16
+L_crypto_kem_enc_derand_jazz$17:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$16:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$17
+ leaq 7568(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$14
+L_crypto_kem_enc_derand_jazz$15:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$14:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$15
+ leaq 8080(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$12
+L_crypto_kem_enc_derand_jazz$13:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$12:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$13
+ leaq 1424(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_enc_derand_jazz$10
+L_crypto_kem_enc_derand_jazz$11:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_enc_derand_jazz$10:
+ cmpq $256, %rcx
+ jb L_crypto_kem_enc_derand_jazz$11
+ movq 16(%rsp), %rax
+ movq $0, %rdx
+ movq $0, %rsi
+ leaq 7056(%rsp), %rcx
+ call L_poly_csubq$1
+L_crypto_kem_enc_derand_jazz$9:
+ leaq 7568(%rsp), %rcx
+ call L_poly_csubq$1
+L_crypto_kem_enc_derand_jazz$8:
+ leaq 8080(%rsp), %rcx
+ call L_poly_csubq$1
+L_crypto_kem_enc_derand_jazz$7:
+ jmp L_crypto_kem_enc_derand_jazz$5
+L_crypto_kem_enc_derand_jazz$6:
+ movzwq 7056(%rsp,%rdx,2), %rcx
+ incq %rdx
+ shlq $10, %rcx
+ addq $1665, %rcx
+ imulq $1290167, %rcx, %rcx
+ shrq $32, %rcx
+ andq $1023, %rcx
+ movzwq 7056(%rsp,%rdx,2), %rdi
+ incq %rdx
+ shlq $10, %rdi
+ addq $1665, %rdi
+ imulq $1290167, %rdi, %rdi
+ shrq $32, %rdi
+ andq $1023, %rdi
+ movzwq 7056(%rsp,%rdx,2), %r8
+ incq %rdx
+ shlq $10, %r8
+ addq $1665, %r8
+ imulq $1290167, %r8, %r8
+ shrq $32, %r8
+ andq $1023, %r8
+ movzwq 7056(%rsp,%rdx,2), %r9
+ incq %rdx
+ shlq $10, %r9
+ addq $1665, %r9
+ imulq $1290167, %r9, %r9
+ shrq $32, %r9
+ andq $1023, %r9
+ movw %cx, %r10w
+ andw $255, %r10w
+ movb %r10b, (%rax,%rsi)
+ incq %rsi
+ shrw $8, %cx
+ movw %di, %r10w
+ shlw $2, %r10w
+ orw %cx, %r10w
+ movb %r10b, (%rax,%rsi)
+ incq %rsi
+ shrw $6, %di
+ movw %r8w, %cx
+ shlw $4, %cx
+ orw %di, %cx
+ movb %cl, (%rax,%rsi)
+ incq %rsi
+ shrw $4, %r8w
+ movw %r9w, %cx
+ shlw $6, %cx
+ orw %r8w, %cx
+ movb %cl, (%rax,%rsi)
+ incq %rsi
+ shrq $2, %r9
+ movb %r9b, (%rax,%rsi)
+ incq %rsi
+L_crypto_kem_enc_derand_jazz$5:
+ cmpq $768, %rdx
+ jb L_crypto_kem_enc_derand_jazz$6
+ addq $960, %rax
+ leaq 1424(%rsp), %rcx
+ call L_poly_compress$1
+L_crypto_kem_enc_derand_jazz$4:
+ movq 16(%rsp), %rsi
+ movq $1088, %rax
+ leaq 104(%rsp), %rcx
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+L_crypto_kem_enc_derand_jazz$3:
+ leaq 232(%rsp), %rsp
+ movq 24(%rsp), %rax
+ movq $32, %rcx
+ leaq 72(%rsp), %rdx
+ leaq -216(%rsp), %rsp
+ call L_shake256_64$1
+L_crypto_kem_enc_derand_jazz$2:
+ leaq 216(%rsp), %rsp
+ ret
+L_crypto_kem_keypair_derand_jazz$1:
+ movq %rax, 8(%rsp)
+ movq %rbp, 16(%rsp)
+ movq %rbx, 24(%rsp)
+ movq %rbp, 32(%rsp)
+ movq %rbx, 40(%rsp)
+ movq (%rax), %rcx
+ movq %rcx, 64(%rsp)
+ movq 8(%rax), %rcx
+ movq %rcx, 72(%rsp)
+ movq 16(%rax), %rcx
+ movq %rcx, 80(%rsp)
+ movq 24(%rax), %rax
+ movq %rax, 88(%rsp)
+ leaq 128(%rsp), %rcx
+ leaq 64(%rsp), %rax
+ leaq -208(%rsp), %rsp
+ call L_sha3_512_32$1
+L_crypto_kem_keypair_derand_jazz$189:
+ leaq 208(%rsp), %rsp
+ movq 128(%rsp), %rax
+ movq %rax, 96(%rsp)
+ movq 160(%rsp), %rax
+ movq %rax, 64(%rsp)
+ movq 136(%rsp), %rax
+ movq %rax, 104(%rsp)
+ movq 168(%rsp), %rax
+ movq %rax, 72(%rsp)
+ movq 144(%rsp), %rax
+ movq %rax, 112(%rsp)
+ movq 176(%rsp), %rax
+ movq %rax, 80(%rsp)
+ movq 152(%rsp), %rax
+ movq %rax, 120(%rsp)
+ movq 184(%rsp), %rax
+ movq %rax, 88(%rsp)
+ movq $0, %rax
+ movq %rax, 48(%rsp)
+ movb 96(%rsp), %al
+ movb %al, 10120(%rsp)
+ movb 97(%rsp), %al
+ movb %al, 10121(%rsp)
+ movb 98(%rsp), %al
+ movb %al, 10122(%rsp)
+ movb 99(%rsp), %al
+ movb %al, 10123(%rsp)
+ movb 100(%rsp), %al
+ movb %al, 10124(%rsp)
+ movb 101(%rsp), %al
+ movb %al, 10125(%rsp)
+ movb 102(%rsp), %al
+ movb %al, 10126(%rsp)
+ movb 103(%rsp), %al
+ movb %al, 10127(%rsp)
+ movb 104(%rsp), %al
+ movb %al, 10128(%rsp)
+ movb 105(%rsp), %al
+ movb %al, 10129(%rsp)
+ movb 106(%rsp), %al
+ movb %al, 10130(%rsp)
+ movb 107(%rsp), %al
+ movb %al, 10131(%rsp)
+ movb 108(%rsp), %al
+ movb %al, 10132(%rsp)
+ movb 109(%rsp), %al
+ movb %al, 10133(%rsp)
+ movb 110(%rsp), %al
+ movb %al, 10134(%rsp)
+ movb 111(%rsp), %al
+ movb %al, 10135(%rsp)
+ movb 112(%rsp), %al
+ movb %al, 10136(%rsp)
+ movb 113(%rsp), %al
+ movb %al, 10137(%rsp)
+ movb 114(%rsp), %al
+ movb %al, 10138(%rsp)
+ movb 115(%rsp), %al
+ movb %al, 10139(%rsp)
+ movb 116(%rsp), %al
+ movb %al, 10140(%rsp)
+ movb 117(%rsp), %al
+ movb %al, 10141(%rsp)
+ movb 118(%rsp), %al
+ movb %al, 10142(%rsp)
+ movb 119(%rsp), %al
+ movb %al, 10143(%rsp)
+ movb 120(%rsp), %al
+ movb %al, 10144(%rsp)
+ movb 121(%rsp), %al
+ movb %al, 10145(%rsp)
+ movb 122(%rsp), %al
+ movb %al, 10146(%rsp)
+ movb 123(%rsp), %al
+ movb %al, 10147(%rsp)
+ movb 124(%rsp), %al
+ movb %al, 10148(%rsp)
+ movb 125(%rsp), %al
+ movb %al, 10149(%rsp)
+ movb 126(%rsp), %al
+ movb %al, 10150(%rsp)
+ movb 127(%rsp), %al
+ movb %al, 10151(%rsp)
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$187
+ movb $0, 10152(%rsp)
+ movb $0, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$188
+L_crypto_kem_keypair_derand_jazz$187:
+ movb $0, 10152(%rsp)
+ movb $0, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$188:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$186:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$184
+L_crypto_kem_keypair_derand_jazz$185:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$184:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$185
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$176
+L_crypto_kem_keypair_derand_jazz$177:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$183:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$178:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$181
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$181
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$182:
+L_crypto_kem_keypair_derand_jazz$181:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$179
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$179
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$180:
+L_crypto_kem_keypair_derand_jazz$179:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$178
+L_crypto_kem_keypair_derand_jazz$176:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$177
+ movq $0, %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$174
+L_crypto_kem_keypair_derand_jazz$175:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$174:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$175
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$172
+ movb $0, 10152(%rsp)
+ movb $1, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$173
+L_crypto_kem_keypair_derand_jazz$172:
+ movb $1, 10152(%rsp)
+ movb $0, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$173:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$171:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$169
+L_crypto_kem_keypair_derand_jazz$170:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$169:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$170
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$161
+L_crypto_kem_keypair_derand_jazz$162:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$168:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$163:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$166
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$166
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$167:
+L_crypto_kem_keypair_derand_jazz$166:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$164
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$164
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$165:
+L_crypto_kem_keypair_derand_jazz$164:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$163
+L_crypto_kem_keypair_derand_jazz$161:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$162
+ movq $0, %rax
+ movq $256, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$159
+L_crypto_kem_keypair_derand_jazz$160:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$159:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$160
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$157
+ movb $0, 10152(%rsp)
+ movb $2, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$158
+L_crypto_kem_keypair_derand_jazz$157:
+ movb $2, 10152(%rsp)
+ movb $0, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$158:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$156:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$154
+L_crypto_kem_keypair_derand_jazz$155:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$154:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$155
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$146
+L_crypto_kem_keypair_derand_jazz$147:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$153:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$148:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$151
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$151
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$152:
+L_crypto_kem_keypair_derand_jazz$151:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$149
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$149
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$150:
+L_crypto_kem_keypair_derand_jazz$149:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$148
+L_crypto_kem_keypair_derand_jazz$146:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$147
+ movq $0, %rax
+ movq $512, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$144
+L_crypto_kem_keypair_derand_jazz$145:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$144:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$145
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$142
+ movb $1, 10152(%rsp)
+ movb $0, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$143
+L_crypto_kem_keypair_derand_jazz$142:
+ movb $0, 10152(%rsp)
+ movb $1, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$143:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$141:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$139
+L_crypto_kem_keypair_derand_jazz$140:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$139:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$140
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$131
+L_crypto_kem_keypair_derand_jazz$132:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$138:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$133:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$136
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$136
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$137:
+L_crypto_kem_keypair_derand_jazz$136:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$134
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$134
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$135:
+L_crypto_kem_keypair_derand_jazz$134:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$133
+L_crypto_kem_keypair_derand_jazz$131:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$132
+ movq $0, %rax
+ movq $768, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$129
+L_crypto_kem_keypair_derand_jazz$130:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$129:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$130
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$127
+ movb $1, 10152(%rsp)
+ movb $1, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$128
+L_crypto_kem_keypair_derand_jazz$127:
+ movb $1, 10152(%rsp)
+ movb $1, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$128:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$126:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$124
+L_crypto_kem_keypair_derand_jazz$125:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$124:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$125
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$116
+L_crypto_kem_keypair_derand_jazz$117:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$123:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$118:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$121
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$121
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$122:
+L_crypto_kem_keypair_derand_jazz$121:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$119
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$119
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$120:
+L_crypto_kem_keypair_derand_jazz$119:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$118
+L_crypto_kem_keypair_derand_jazz$116:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$117
+ movq $0, %rax
+ movq $1024, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$114
+L_crypto_kem_keypair_derand_jazz$115:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$114:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$115
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$112
+ movb $1, 10152(%rsp)
+ movb $2, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$113
+L_crypto_kem_keypair_derand_jazz$112:
+ movb $2, 10152(%rsp)
+ movb $1, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$113:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$111:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$109
+L_crypto_kem_keypair_derand_jazz$110:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$109:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$110
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$101
+L_crypto_kem_keypair_derand_jazz$102:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$108:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$103:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$106
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$106
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$107:
+L_crypto_kem_keypair_derand_jazz$106:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$104
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$104
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$105:
+L_crypto_kem_keypair_derand_jazz$104:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$103
+L_crypto_kem_keypair_derand_jazz$101:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$102
+ movq $0, %rax
+ movq $1280, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$99
+L_crypto_kem_keypair_derand_jazz$100:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$99:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$100
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$97
+ movb $2, 10152(%rsp)
+ movb $0, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$98
+L_crypto_kem_keypair_derand_jazz$97:
+ movb $0, 10152(%rsp)
+ movb $2, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$98:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$96:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$94
+L_crypto_kem_keypair_derand_jazz$95:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$94:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$95
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$86
+L_crypto_kem_keypair_derand_jazz$87:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$93:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$88:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$91
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$91
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$92:
+L_crypto_kem_keypair_derand_jazz$91:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$89
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$89
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$90:
+L_crypto_kem_keypair_derand_jazz$89:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$88
+L_crypto_kem_keypair_derand_jazz$86:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$87
+ movq $0, %rax
+ movq $1536, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$84
+L_crypto_kem_keypair_derand_jazz$85:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$84:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$85
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$82
+ movb $2, 10152(%rsp)
+ movb $1, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$83
+L_crypto_kem_keypair_derand_jazz$82:
+ movb $1, 10152(%rsp)
+ movb $2, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$83:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$81:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$79
+L_crypto_kem_keypair_derand_jazz$80:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$79:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$80
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$71
+L_crypto_kem_keypair_derand_jazz$72:
+ movq %rax, 56(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$78:
+ leaq 8(%rsp), %rsp
+ movq 56(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$73:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$76
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$76
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$77:
+L_crypto_kem_keypair_derand_jazz$76:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$74
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$74
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$75:
+L_crypto_kem_keypair_derand_jazz$74:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$73
+L_crypto_kem_keypair_derand_jazz$71:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$72
+ movq $0, %rax
+ movq $1792, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$69
+L_crypto_kem_keypair_derand_jazz$70:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$69:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$70
+ movq 48(%rsp), %rax
+ cmpq $0, %rax
+ je L_crypto_kem_keypair_derand_jazz$67
+ movb $2, 10152(%rsp)
+ movb $2, 10153(%rsp)
+ jmp L_crypto_kem_keypair_derand_jazz$68
+L_crypto_kem_keypair_derand_jazz$67:
+ movb $2, 10152(%rsp)
+ movb $2, 10153(%rsp)
+L_crypto_kem_keypair_derand_jazz$68:
+ leaq 192(%rsp), %rcx
+ leaq 10120(%rsp), %rdx
+ call L_shake128_absorb34$1
+L_crypto_kem_keypair_derand_jazz$66:
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$64
+L_crypto_kem_keypair_derand_jazz$65:
+ movq %rax, 392(%rsp,%rax,8)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$64:
+ cmpq $64, %rax
+ jb L_crypto_kem_keypair_derand_jazz$65
+ movq $0, %rax
+ jmp L_crypto_kem_keypair_derand_jazz$56
+L_crypto_kem_keypair_derand_jazz$57:
+ movq %rax, 48(%rsp)
+ leaq 192(%rsp), %rcx
+ leaq 10154(%rsp), %rdx
+ leaq -8(%rsp), %rsp
+ call L_shake128_squeezeblock$1
+L_crypto_kem_keypair_derand_jazz$63:
+ leaq 8(%rsp), %rsp
+ movq 48(%rsp), %rax
+ movq $0, %rcx
+L_crypto_kem_keypair_derand_jazz$58:
+ movzbw 10154(%rsp,%rcx), %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ movw %si, %di
+ shrw $4, %di
+ andw $15, %si
+ shlw $8, %si
+ orw %si, %dx
+ incq %rcx
+ movzbw 10154(%rsp,%rcx), %si
+ shlw $4, %si
+ orw %si, %di
+ incq %rcx
+ cmpw $3329, %dx
+ jnb L_crypto_kem_keypair_derand_jazz$61
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$61
+ movw %dx, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$62:
+L_crypto_kem_keypair_derand_jazz$61:
+ cmpw $3329, %di
+ jnb L_crypto_kem_keypair_derand_jazz$59
+ cmpq $256, %rax
+ jnb L_crypto_kem_keypair_derand_jazz$59
+ movw %di, 392(%rsp,%rax,2)
+ incq %rax
+L_crypto_kem_keypair_derand_jazz$60:
+L_crypto_kem_keypair_derand_jazz$59:
+ cmpq $166, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$58
+L_crypto_kem_keypair_derand_jazz$56:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$57
+ movq $0, %rax
+ movq $2048, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$54
+L_crypto_kem_keypair_derand_jazz$55:
+ movw 392(%rsp,%rax,2), %dx
+ movw %dx, 5512(%rsp,%rcx,2)
+ incq %rax
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$54:
+ cmpq $256, %rax
+ jb L_crypto_kem_keypair_derand_jazz$55
+ movb $0, %cl
+ leaq 904(%rsp), %rdx
+ leaq 64(%rsp), %rax
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_keypair_derand_jazz$53:
+ leaq 176(%rsp), %rsp
+ movb $1, %cl
+ leaq 1416(%rsp), %rdx
+ leaq 64(%rsp), %rax
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_keypair_derand_jazz$52:
+ leaq 176(%rsp), %rsp
+ movb $2, %cl
+ leaq 1928(%rsp), %rdx
+ leaq 64(%rsp), %rax
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_keypair_derand_jazz$51:
+ leaq 176(%rsp), %rsp
+ movb $3, %cl
+ leaq 2440(%rsp), %rdx
+ leaq 64(%rsp), %rax
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_keypair_derand_jazz$50:
+ leaq 176(%rsp), %rsp
+ movb $4, %cl
+ leaq 2952(%rsp), %rdx
+ leaq 64(%rsp), %rax
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_keypair_derand_jazz$49:
+ leaq 176(%rsp), %rsp
+ movb $5, %cl
+ leaq 3464(%rsp), %rdx
+ leaq 64(%rsp), %rax
+ leaq -176(%rsp), %rsp
+ call L_poly_getnoise$1
+L_crypto_kem_keypair_derand_jazz$48:
+ leaq 176(%rsp), %rsp
+ leaq 904(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_keypair_derand_jazz$47:
+ leaq 1416(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_keypair_derand_jazz$46:
+ leaq 1928(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_keypair_derand_jazz$45:
+ leaq 2440(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_keypair_derand_jazz$44:
+ leaq 2952(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_keypair_derand_jazz$43:
+ leaq 3464(%rsp), %rcx
+ call L_poly_ntt$1
+L_crypto_kem_keypair_derand_jazz$42:
+ leaq 3976(%rsp), %rdi
+ leaq 5512(%rsp), %rcx
+ leaq 904(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$41:
+ leaq 16(%rsp), %rsp
+ leaq 392(%rsp), %rdi
+ leaq 6024(%rsp), %rcx
+ leaq 1416(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$40:
+ leaq 16(%rsp), %rsp
+ leaq 3976(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$39:
+ leaq 392(%rsp), %rdi
+ leaq 6536(%rsp), %rcx
+ leaq 1928(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$38:
+ leaq 16(%rsp), %rsp
+ leaq 3976(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$37:
+ leaq 3976(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$35
+L_crypto_kem_keypair_derand_jazz$36:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$35:
+ cmpq $256, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$36
+ leaq 3976(%rsp), %rax
+ call L_poly_frommont$1
+L_crypto_kem_keypair_derand_jazz$34:
+ leaq 4488(%rsp), %rdi
+ leaq 7048(%rsp), %rcx
+ leaq 904(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$33:
+ leaq 16(%rsp), %rsp
+ leaq 392(%rsp), %rdi
+ leaq 7560(%rsp), %rcx
+ leaq 1416(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$32:
+ leaq 16(%rsp), %rsp
+ leaq 4488(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$31:
+ leaq 392(%rsp), %rdi
+ leaq 8072(%rsp), %rcx
+ leaq 1928(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$30:
+ leaq 16(%rsp), %rsp
+ leaq 4488(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$29:
+ leaq 4488(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$27
+L_crypto_kem_keypair_derand_jazz$28:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$27:
+ cmpq $256, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$28
+ leaq 4488(%rsp), %rax
+ call L_poly_frommont$1
+L_crypto_kem_keypair_derand_jazz$26:
+ leaq 5000(%rsp), %rdi
+ leaq 8584(%rsp), %rcx
+ leaq 904(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$25:
+ leaq 16(%rsp), %rsp
+ leaq 392(%rsp), %rdi
+ leaq 9096(%rsp), %rcx
+ leaq 1416(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$24:
+ leaq 16(%rsp), %rsp
+ leaq 5000(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$23:
+ leaq 392(%rsp), %rdi
+ leaq 9608(%rsp), %rcx
+ leaq 1928(%rsp), %rsi
+ leaq -16(%rsp), %rsp
+ call L_poly_basemul$1
+L_crypto_kem_keypair_derand_jazz$22:
+ leaq 16(%rsp), %rsp
+ leaq 5000(%rsp), %rcx
+ leaq 392(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$21:
+ leaq 5000(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$19
+L_crypto_kem_keypair_derand_jazz$20:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$19:
+ cmpq $256, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$20
+ leaq 5000(%rsp), %rax
+ call L_poly_frommont$1
+L_crypto_kem_keypair_derand_jazz$18:
+ leaq 3976(%rsp), %rcx
+ leaq 2440(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$17:
+ leaq 4488(%rsp), %rcx
+ leaq 2952(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$16:
+ leaq 5000(%rsp), %rcx
+ leaq 3464(%rsp), %rsi
+ call L_poly_add2$1
+L_crypto_kem_keypair_derand_jazz$15:
+ leaq 3976(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$13
+L_crypto_kem_keypair_derand_jazz$14:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$13:
+ cmpq $256, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$14
+ leaq 4488(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$11
+L_crypto_kem_keypair_derand_jazz$12:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$11:
+ cmpq $256, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$12
+ leaq 5000(%rsp), %rax
+ movq $0, %rcx
+ jmp L_crypto_kem_keypair_derand_jazz$9
+L_crypto_kem_keypair_derand_jazz$10:
+ movw (%rax,%rcx,2), %dx
+ movswl %dx, %esi
+ imull $20159, %esi, %esi
+ sarl $26, %esi
+ imull $3329, %esi, %esi
+ subw %si, %dx
+ movw %dx, (%rax,%rcx,2)
+ incq %rcx
+L_crypto_kem_keypair_derand_jazz$9:
+ cmpq $256, %rcx
+ jb L_crypto_kem_keypair_derand_jazz$10
+ movq 32(%rsp), %rax
+ movq 40(%rsp), %rcx
+ movq %rcx, %rdx
+ leaq 904(%rsp), %rcx
+ call L_poly_tobytes$1
+L_crypto_kem_keypair_derand_jazz$8:
+ addq $384, %rdx
+ leaq 1416(%rsp), %rcx
+ call L_poly_tobytes$1
+L_crypto_kem_keypair_derand_jazz$7:
+ addq $384, %rdx
+ leaq 1928(%rsp), %rcx
+ call L_poly_tobytes$1
+L_crypto_kem_keypair_derand_jazz$6:
+ movq %rax, %rdx
+ leaq 3976(%rsp), %rcx
+ call L_poly_tobytes$1
+L_crypto_kem_keypair_derand_jazz$5:
+ addq $384, %rdx
+ leaq 4488(%rsp), %rcx
+ call L_poly_tobytes$1
+L_crypto_kem_keypair_derand_jazz$4:
+ addq $384, %rdx
+ leaq 5000(%rsp), %rcx
+ call L_poly_tobytes$1
+L_crypto_kem_keypair_derand_jazz$3:
+ addq $1152, %rax
+ movq 96(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 104(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 112(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 120(%rsp), %rcx
+ movq %rcx, (%rax)
+ movq 24(%rsp), %rax
+ addq $1152, %rax
+ movq 16(%rsp), %rcx
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 8(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 16(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 24(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 32(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 40(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 48(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 56(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 64(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 72(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 80(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 88(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 96(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 104(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 112(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 120(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 128(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 136(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 144(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 152(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 160(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 168(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 176(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 184(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 192(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 200(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 208(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 216(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 224(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 232(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 240(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 248(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 256(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 264(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 272(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 280(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 288(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 296(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 304(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 312(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 320(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 328(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 336(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 344(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 352(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 360(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 368(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 376(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 384(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 392(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 400(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 408(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 416(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 424(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 432(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 440(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 448(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 456(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 464(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 472(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 480(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 488(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 496(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 504(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 512(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 520(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 528(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 536(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 544(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 552(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 560(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 568(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 576(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 584(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 592(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 600(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 608(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 616(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 624(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 632(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 640(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 648(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 656(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 664(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 672(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 680(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 688(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 696(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 704(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 712(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 720(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 728(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 736(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 744(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 752(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 760(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 768(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 776(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 784(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 792(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 800(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 808(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 816(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 824(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 832(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 840(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 848(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 856(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 864(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 872(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 880(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 888(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 896(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 904(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 912(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 920(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 928(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 936(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 944(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 952(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 960(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 968(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 976(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 984(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 992(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1000(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1008(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1016(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1024(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1032(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1040(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1048(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1056(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1064(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1072(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1080(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1088(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1096(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1104(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1112(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1120(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1128(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1136(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1144(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1152(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1160(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1168(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 1176(%rcx), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq %rax, 24(%rsp)
+ movq 16(%rsp), %rsi
+ movq $1184, %rax
+ leaq 96(%rsp), %rcx
+ leaq -232(%rsp), %rsp
+ call L_sha3_256$1
+L_crypto_kem_keypair_derand_jazz$2:
+ leaq 232(%rsp), %rsp
+ movq 24(%rsp), %rax
+ movq 96(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 104(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 112(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 120(%rsp), %rcx
+ movq %rcx, (%rax)
+ addq $8, %rax
+ movq 8(%rsp), %rcx
+ leaq 32(%rcx), %rcx
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 8(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 16(%rcx), %rdx
+ movq %rdx, (%rax)
+ addq $8, %rax
+ movq 24(%rcx), %rcx
+ movq %rcx, (%rax)
+ ret
+L_i_poly_tomsg$1:
+ call L_poly_csubq$1
+L_i_poly_tomsg$2:
+ movb $0, %sil
+ movw (%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 2(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 4(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 6(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 8(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 10(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 12(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 14(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, (%rax)
+ movb $0, %sil
+ movw 16(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 18(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 20(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 22(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 24(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 26(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 28(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 30(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 1(%rax)
+ movb $0, %sil
+ movw 32(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 34(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 36(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 38(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 40(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 42(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 44(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 46(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 2(%rax)
+ movb $0, %sil
+ movw 48(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 50(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 52(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 54(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 56(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 58(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 60(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 62(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 3(%rax)
+ movb $0, %sil
+ movw 64(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 66(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 68(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 70(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 72(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 74(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 76(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 78(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 4(%rax)
+ movb $0, %sil
+ movw 80(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 82(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 84(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 86(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 88(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 90(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 92(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 94(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 5(%rax)
+ movb $0, %sil
+ movw 96(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 98(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 100(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 102(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 104(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 106(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 108(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 110(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 6(%rax)
+ movb $0, %sil
+ movw 112(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 114(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 116(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 118(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 120(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 122(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 124(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 126(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 7(%rax)
+ movb $0, %sil
+ movw 128(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 130(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 132(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 134(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 136(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 138(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 140(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 142(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 8(%rax)
+ movb $0, %sil
+ movw 144(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 146(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 148(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 150(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 152(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 154(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 156(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 158(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 9(%rax)
+ movb $0, %sil
+ movw 160(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 162(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 164(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 166(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 168(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 170(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 172(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 174(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 10(%rax)
+ movb $0, %sil
+ movw 176(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 178(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 180(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 182(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 184(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 186(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 188(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 190(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 11(%rax)
+ movb $0, %sil
+ movw 192(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 194(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 196(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 198(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 200(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 202(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 204(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 206(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 12(%rax)
+ movb $0, %sil
+ movw 208(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 210(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 212(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 214(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 216(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 218(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 220(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 222(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 13(%rax)
+ movb $0, %sil
+ movw 224(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 226(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 228(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 230(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 232(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 234(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 236(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 238(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 14(%rax)
+ movb $0, %sil
+ movw 240(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 242(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 244(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 246(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 248(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 250(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 252(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 254(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 15(%rax)
+ movb $0, %sil
+ movw 256(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 258(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 260(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 262(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 264(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 266(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 268(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 270(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 16(%rax)
+ movb $0, %sil
+ movw 272(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 274(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 276(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 278(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 280(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 282(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 284(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 286(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 17(%rax)
+ movb $0, %sil
+ movw 288(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 290(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 292(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 294(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 296(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 298(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 300(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 302(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 18(%rax)
+ movb $0, %sil
+ movw 304(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 306(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 308(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 310(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 312(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 314(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 316(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 318(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 19(%rax)
+ movb $0, %sil
+ movw 320(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 322(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 324(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 326(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 328(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 330(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 332(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 334(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 20(%rax)
+ movb $0, %sil
+ movw 336(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 338(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 340(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 342(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 344(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 346(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 348(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 350(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 21(%rax)
+ movb $0, %sil
+ movw 352(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 354(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 356(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 358(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 360(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 362(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 364(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 366(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 22(%rax)
+ movb $0, %sil
+ movw 368(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 370(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 372(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 374(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 376(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 378(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 380(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 382(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 23(%rax)
+ movb $0, %sil
+ movw 384(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 386(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 388(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 390(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 392(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 394(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 396(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 398(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 24(%rax)
+ movb $0, %sil
+ movw 400(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 402(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 404(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 406(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 408(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 410(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 412(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 414(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 25(%rax)
+ movb $0, %sil
+ movw 416(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 418(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 420(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 422(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 424(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 426(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 428(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 430(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 26(%rax)
+ movb $0, %sil
+ movw 432(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 434(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 436(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 438(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 440(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 442(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 444(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 446(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 27(%rax)
+ movb $0, %sil
+ movw 448(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 450(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 452(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 454(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 456(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 458(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 460(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 462(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 28(%rax)
+ movb $0, %sil
+ movw 464(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 466(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 468(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 470(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 472(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 474(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 476(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 478(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 29(%rax)
+ movb $0, %sil
+ movw 480(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 482(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 484(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 486(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 488(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 490(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 492(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 494(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $7, %edi
+ orb %dil, %sil
+ movb %sil, 30(%rax)
+ movb $0, %sil
+ movw 496(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $0, %edi
+ orb %dil, %sil
+ movw 498(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $1, %edi
+ orb %dil, %sil
+ movw 500(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $2, %edi
+ orb %dil, %sil
+ movw 502(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $3, %edi
+ orb %dil, %sil
+ movw 504(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $4, %edi
+ orb %dil, %sil
+ movw 506(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $5, %edi
+ orb %dil, %sil
+ movw 508(%rcx), %di
+ movzwl %di, %edi
+ shll $1, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $1, %edi
+ shll $6, %edi
+ orb %dil, %sil
+ movw 510(%rcx), %cx
+ movzwl %cx, %ecx
+ shll $1, %ecx
+ addl $1665, %ecx
+ imull $80635, %ecx, %ecx
+ shrl $28, %ecx
+ andl $1, %ecx
+ shll $7, %ecx
+ orb %cl, %sil
+ movb %sil, 31(%rax)
+ ret
+L_poly_tobytes$1:
+ call L_poly_csubq$1
+L_poly_tobytes$4:
+ movq $0, %rsi
+ movq $0, %rdi
+ jmp L_poly_tobytes$2
+L_poly_tobytes$3:
+ movw (%rcx,%rsi,2), %r8w
+ incq %rsi
+ movw (%rcx,%rsi,2), %r9w
+ incq %rsi
+ movw %r8w, %r10w
+ andw $255, %r10w
+ movb %r10b, (%rdx,%rdi)
+ incq %rdi
+ shrw $8, %r8w
+ movw %r9w, %r10w
+ andw $15, %r10w
+ shlw $4, %r10w
+ orw %r8w, %r10w
+ movb %r10b, (%rdx,%rdi)
+ incq %rdi
+ shrw $4, %r9w
+ movb %r9b, (%rdx,%rdi)
+ incq %rdi
+L_poly_tobytes$2:
+ cmpq $256, %rsi
+ jb L_poly_tobytes$3
+ ret
+L_poly_sub$1:
+ movq $0, %r8
+ jmp L_poly_sub$2
+L_poly_sub$3:
+ movw (%rsi,%r8,2), %r9w
+ movw (%rdi,%r8,2), %r10w
+ subw %r10w, %r9w
+ movw %r9w, (%rcx,%r8,2)
+ incq %r8
+L_poly_sub$2:
+ cmpq $256, %r8
+ jb L_poly_sub$3
+ ret
+L_poly_ntt$1:
+ leaq glob_data + 448(%rip), %rsi
+ movq $0, %rdi
+ movq $128, %r8
+ jmp L_poly_ntt$4
+L_poly_ntt$5:
+ movq $0, %r11
+ jmp L_poly_ntt$6
+L_poly_ntt$7:
+ incq %rdi
+ movw (%rsi,%rdi,2), %r9w
+ movq %r11, %r10
+ leaq (%r11,%r8), %r11
+ jmp L_poly_ntt$8
+L_poly_ntt$9:
+ leaq (%r10,%r8), %rbx
+ movw (%rcx,%rbx,2), %bp
+ movswl %bp, %ebp
+ movswl %r9w, %r12d
+ imull %r12d, %ebp
+ imull $62209, %ebp, %r12d
+ shll $16, %r12d
+ sarl $16, %r12d
+ imull $3329, %r12d, %r12d
+ subl %r12d, %ebp
+ sarl $16, %ebp
+ movw (%rcx,%r10,2), %r12w
+ movw %r12w, %r13w
+ subw %bp, %r13w
+ movw %r13w, (%rcx,%rbx,2)
+ addw %r12w, %bp
+ movw %bp, (%rcx,%r10,2)
+ incq %r10
+L_poly_ntt$8:
+ cmpq %r11, %r10
+ jb L_poly_ntt$9
+ leaq (%r10,%r8), %r11
+L_poly_ntt$6:
+ cmpq $256, %r11
+ jb L_poly_ntt$7
+ shrq $1, %r8
+L_poly_ntt$4:
+ cmpq $2, %r8
+ jnb L_poly_ntt$5
+ movq $0, %rsi
+ jmp L_poly_ntt$2
+L_poly_ntt$3:
+ movw (%rcx,%rsi,2), %di
+ movswl %di, %r8d
+ imull $20159, %r8d, %r8d
+ sarl $26, %r8d
+ imull $3329, %r8d, %r8d
+ subw %r8w, %di
+ movw %di, (%rcx,%rsi,2)
+ incq %rsi
+L_poly_ntt$2:
+ cmpq $256, %rsi
+ jb L_poly_ntt$3
+ ret
+L_poly_invntt$1:
+ leaq glob_data + 192(%rip), %rsi
+ movq $0, %rdi
+ movq $2, %r8
+ jmp L_poly_invntt$4
+L_poly_invntt$5:
+ movq $0, %r11
+ jmp L_poly_invntt$6
+L_poly_invntt$7:
+ movw (%rsi,%rdi,2), %r9w
+ incq %rdi
+ movq %r11, %r10
+ leaq (%r11,%r8), %r11
+ jmp L_poly_invntt$8
+L_poly_invntt$9:
+ leaq (%r10,%r8), %rbx
+ movw (%rcx,%rbx,2), %bp
+ movw (%rcx,%r10,2), %r12w
+ movw %bp, %r13w
+ addw %r12w, %r13w
+ movswl %r13w, %r14d
+ imull $20159, %r14d, %r14d
+ sarl $26, %r14d
+ imull $3329, %r14d, %r14d
+ subw %r14w, %r13w
+ movw %r13w, (%rcx,%r10,2)
+ subw %bp, %r12w
+ movswl %r12w, %ebp
+ movswl %r9w, %r12d
+ imull %r12d, %ebp
+ imull $62209, %ebp, %r12d
+ shll $16, %r12d
+ sarl $16, %r12d
+ imull $3329, %r12d, %r12d
+ subl %r12d, %ebp
+ sarl $16, %ebp
+ movw %bp, (%rcx,%rbx,2)
+ incq %r10
+L_poly_invntt$8:
+ cmpq %r11, %r10
+ jb L_poly_invntt$9
+ leaq (%r10,%r8), %r11
+L_poly_invntt$6:
+ cmpq $256, %r11
+ jb L_poly_invntt$7
+ shlq $1, %r8
+L_poly_invntt$4:
+ cmpq $128, %r8
+ jbe L_poly_invntt$5
+ movw 254(%rsi), %si
+ movq $0, %rdi
+ jmp L_poly_invntt$2
+L_poly_invntt$3:
+ movw (%rcx,%rdi,2), %r8w
+ movswl %r8w, %r8d
+ movswl %si, %r9d
+ imull %r9d, %r8d
+ imull $62209, %r8d, %r9d
+ shll $16, %r9d
+ sarl $16, %r9d
+ imull $3329, %r9d, %r9d
+ subl %r9d, %r8d
+ sarl $16, %r8d
+ movw %r8w, (%rcx,%rdi,2)
+ incq %rdi
+L_poly_invntt$2:
+ cmpq $256, %rdi
+ jb L_poly_invntt$3
+ ret
+L_poly_getnoise$1:
+ movq %rdx, 8(%rsp)
+ movb (%rax), %dl
+ movb %dl, 16(%rsp)
+ movb 1(%rax), %dl
+ movb %dl, 17(%rsp)
+ movb 2(%rax), %dl
+ movb %dl, 18(%rsp)
+ movb 3(%rax), %dl
+ movb %dl, 19(%rsp)
+ movb 4(%rax), %dl
+ movb %dl, 20(%rsp)
+ movb 5(%rax), %dl
+ movb %dl, 21(%rsp)
+ movb 6(%rax), %dl
+ movb %dl, 22(%rsp)
+ movb 7(%rax), %dl
+ movb %dl, 23(%rsp)
+ movb 8(%rax), %dl
+ movb %dl, 24(%rsp)
+ movb 9(%rax), %dl
+ movb %dl, 25(%rsp)
+ movb 10(%rax), %dl
+ movb %dl, 26(%rsp)
+ movb 11(%rax), %dl
+ movb %dl, 27(%rsp)
+ movb 12(%rax), %dl
+ movb %dl, 28(%rsp)
+ movb 13(%rax), %dl
+ movb %dl, 29(%rsp)
+ movb 14(%rax), %dl
+ movb %dl, 30(%rsp)
+ movb 15(%rax), %dl
+ movb %dl, 31(%rsp)
+ movb 16(%rax), %dl
+ movb %dl, 32(%rsp)
+ movb 17(%rax), %dl
+ movb %dl, 33(%rsp)
+ movb 18(%rax), %dl
+ movb %dl, 34(%rsp)
+ movb 19(%rax), %dl
+ movb %dl, 35(%rsp)
+ movb 20(%rax), %dl
+ movb %dl, 36(%rsp)
+ movb 21(%rax), %dl
+ movb %dl, 37(%rsp)
+ movb 22(%rax), %dl
+ movb %dl, 38(%rsp)
+ movb 23(%rax), %dl
+ movb %dl, 39(%rsp)
+ movb 24(%rax), %dl
+ movb %dl, 40(%rsp)
+ movb 25(%rax), %dl
+ movb %dl, 41(%rsp)
+ movb 26(%rax), %dl
+ movb %dl, 42(%rsp)
+ movb 27(%rax), %dl
+ movb %dl, 43(%rsp)
+ movb 28(%rax), %dl
+ movb %dl, 44(%rsp)
+ movb 29(%rax), %dl
+ movb %dl, 45(%rsp)
+ movb 30(%rax), %dl
+ movb %dl, 46(%rsp)
+ movb 31(%rax), %dl
+ movb %dl, 47(%rsp)
+ movb %cl, 48(%rsp)
+ leaq 49(%rsp), %rcx
+ leaq 16(%rsp), %rdx
+ leaq -208(%rsp), %rsp
+ call L_shake256_128_33$1
+L_poly_getnoise$4:
+ leaq 208(%rsp), %rsp
+ movq 8(%rsp), %rcx
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_poly_getnoise$2
+L_poly_getnoise$3:
+ movb 49(%rsp,%rdx), %dil
+ movb %dil, %r8b
+ andb $85, %r8b
+ shrb $1, %dil
+ andb $85, %dil
+ addb %r8b, %dil
+ movb %dil, %r8b
+ andb $3, %r8b
+ movb %dil, %r9b
+ shrb $2, %r9b
+ andb $3, %r9b
+ subb %r9b, %r8b
+ movsbw %r8b, %r8w
+ movw %r8w, (%rcx,%rsi,2)
+ movb %dil, %r8b
+ shrb $4, %r8b
+ andb $3, %r8b
+ shrb $6, %dil
+ andb $3, %dil
+ subb %dil, %r8b
+ movsbw %r8b, %di
+ incq %rsi
+ movw %di, (%rcx,%rsi,2)
+ incq %rdx
+ incq %rsi
+L_poly_getnoise$2:
+ cmpq $128, %rdx
+ jb L_poly_getnoise$3
+ ret
+L_i_poly_frommsg$1:
+ movb (%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, (%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 2(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 4(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 6(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 8(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 10(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 12(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 14(%rdx)
+ movb 1(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 16(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 18(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 20(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 22(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 24(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 26(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 28(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 30(%rdx)
+ movb 2(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 32(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 34(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 36(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 38(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 40(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 42(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 44(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 46(%rdx)
+ movb 3(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 48(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 50(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 52(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 54(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 56(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 58(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 60(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 62(%rdx)
+ movb 4(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 64(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 66(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 68(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 70(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 72(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 74(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 76(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 78(%rdx)
+ movb 5(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 80(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 82(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 84(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 86(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 88(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 90(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 92(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 94(%rdx)
+ movb 6(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 96(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 98(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 100(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 102(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 104(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 106(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 108(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 110(%rdx)
+ movb 7(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 112(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 114(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 116(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 118(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 120(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 122(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 124(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 126(%rdx)
+ movb 8(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 128(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 130(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 132(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 134(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 136(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 138(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 140(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 142(%rdx)
+ movb 9(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 144(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 146(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 148(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 150(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 152(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 154(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 156(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 158(%rdx)
+ movb 10(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 160(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 162(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 164(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 166(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 168(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 170(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 172(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 174(%rdx)
+ movb 11(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 176(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 178(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 180(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 182(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 184(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 186(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 188(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 190(%rdx)
+ movb 12(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 192(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 194(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 196(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 198(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 200(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 202(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 204(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 206(%rdx)
+ movb 13(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 208(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 210(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 212(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 214(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 216(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 218(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 220(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 222(%rdx)
+ movb 14(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 224(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 226(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 228(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 230(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 232(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 234(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 236(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 238(%rdx)
+ movb 15(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 240(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 242(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 244(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 246(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 248(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 250(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 252(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 254(%rdx)
+ movb 16(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 256(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 258(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 260(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 262(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 264(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 266(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 268(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 270(%rdx)
+ movb 17(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 272(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 274(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 276(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 278(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 280(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 282(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 284(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 286(%rdx)
+ movb 18(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 288(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 290(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 292(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 294(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 296(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 298(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 300(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 302(%rdx)
+ movb 19(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 304(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 306(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 308(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 310(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 312(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 314(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 316(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 318(%rdx)
+ movb 20(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 320(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 322(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 324(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 326(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 328(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 330(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 332(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 334(%rdx)
+ movb 21(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 336(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 338(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 340(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 342(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 344(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 346(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 348(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 350(%rdx)
+ movb 22(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 352(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 354(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 356(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 358(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 360(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 362(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 364(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 366(%rdx)
+ movb 23(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 368(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 370(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 372(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 374(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 376(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 378(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 380(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 382(%rdx)
+ movb 24(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 384(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 386(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 388(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 390(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 392(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 394(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 396(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 398(%rdx)
+ movb 25(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 400(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 402(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 404(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 406(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 408(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 410(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 412(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 414(%rdx)
+ movb 26(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 416(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 418(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 420(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 422(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 424(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 426(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 428(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 430(%rdx)
+ movb 27(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 432(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 434(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 436(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 438(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 440(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 442(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 444(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 446(%rdx)
+ movb 28(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 448(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 450(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 452(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 454(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 456(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 458(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 460(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 462(%rdx)
+ movb 29(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 464(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 466(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 468(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 470(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 472(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 474(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 476(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 478(%rdx)
+ movb 30(%rcx), %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 480(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 482(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 484(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 486(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 488(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 490(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %di
+ andw $1, %di
+ imulw $1665, %di, %di
+ movw %di, 492(%rdx)
+ shrb $1, %sil
+ movzbw %sil, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 494(%rdx)
+ movb 31(%rcx), %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 496(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 498(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 500(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 502(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 504(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 506(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %si
+ andw $1, %si
+ imulw $1665, %si, %si
+ movw %si, 508(%rdx)
+ shrb $1, %cl
+ movzbw %cl, %cx
+ andw $1, %cx
+ imulw $1665, %cx, %cx
+ movw %cx, 510(%rdx)
+ ret
+L_poly_frommont$1:
+ movw $1353, %cx
+ movq $0, %rdx
+ jmp L_poly_frommont$2
+L_poly_frommont$3:
+ movw (%rax,%rdx,2), %si
+ movswl %si, %esi
+ movswl %cx, %edi
+ imull %edi, %esi
+ imull $62209, %esi, %edi
+ shll $16, %edi
+ sarl $16, %edi
+ imull $3329, %edi, %edi
+ subl %edi, %esi
+ sarl $16, %esi
+ movw %si, (%rax,%rdx,2)
+ incq %rdx
+L_poly_frommont$2:
+ cmpq $256, %rdx
+ jb L_poly_frommont$3
+ ret
+L_poly_frombytes$1:
+ movb (%rsi), %r8b
+ movb 1(%rsi), %r9b
+ movb 2(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, (%rdi)
+ movw %r10w, 2(%rdi)
+ movb 3(%rsi), %r8b
+ movb 4(%rsi), %r9b
+ movb 5(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 4(%rdi)
+ movw %r10w, 6(%rdi)
+ movb 6(%rsi), %r8b
+ movb 7(%rsi), %r9b
+ movb 8(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 8(%rdi)
+ movw %r10w, 10(%rdi)
+ movb 9(%rsi), %r8b
+ movb 10(%rsi), %r9b
+ movb 11(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 12(%rdi)
+ movw %r10w, 14(%rdi)
+ movb 12(%rsi), %r8b
+ movb 13(%rsi), %r9b
+ movb 14(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 16(%rdi)
+ movw %r10w, 18(%rdi)
+ movb 15(%rsi), %r8b
+ movb 16(%rsi), %r9b
+ movb 17(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 20(%rdi)
+ movw %r10w, 22(%rdi)
+ movb 18(%rsi), %r8b
+ movb 19(%rsi), %r9b
+ movb 20(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 24(%rdi)
+ movw %r10w, 26(%rdi)
+ movb 21(%rsi), %r8b
+ movb 22(%rsi), %r9b
+ movb 23(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 28(%rdi)
+ movw %r10w, 30(%rdi)
+ movb 24(%rsi), %r8b
+ movb 25(%rsi), %r9b
+ movb 26(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 32(%rdi)
+ movw %r10w, 34(%rdi)
+ movb 27(%rsi), %r8b
+ movb 28(%rsi), %r9b
+ movb 29(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 36(%rdi)
+ movw %r10w, 38(%rdi)
+ movb 30(%rsi), %r8b
+ movb 31(%rsi), %r9b
+ movb 32(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 40(%rdi)
+ movw %r10w, 42(%rdi)
+ movb 33(%rsi), %r8b
+ movb 34(%rsi), %r9b
+ movb 35(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 44(%rdi)
+ movw %r10w, 46(%rdi)
+ movb 36(%rsi), %r8b
+ movb 37(%rsi), %r9b
+ movb 38(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 48(%rdi)
+ movw %r10w, 50(%rdi)
+ movb 39(%rsi), %r8b
+ movb 40(%rsi), %r9b
+ movb 41(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 52(%rdi)
+ movw %r10w, 54(%rdi)
+ movb 42(%rsi), %r8b
+ movb 43(%rsi), %r9b
+ movb 44(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 56(%rdi)
+ movw %r10w, 58(%rdi)
+ movb 45(%rsi), %r8b
+ movb 46(%rsi), %r9b
+ movb 47(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 60(%rdi)
+ movw %r10w, 62(%rdi)
+ movb 48(%rsi), %r8b
+ movb 49(%rsi), %r9b
+ movb 50(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 64(%rdi)
+ movw %r10w, 66(%rdi)
+ movb 51(%rsi), %r8b
+ movb 52(%rsi), %r9b
+ movb 53(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 68(%rdi)
+ movw %r10w, 70(%rdi)
+ movb 54(%rsi), %r8b
+ movb 55(%rsi), %r9b
+ movb 56(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 72(%rdi)
+ movw %r10w, 74(%rdi)
+ movb 57(%rsi), %r8b
+ movb 58(%rsi), %r9b
+ movb 59(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 76(%rdi)
+ movw %r10w, 78(%rdi)
+ movb 60(%rsi), %r8b
+ movb 61(%rsi), %r9b
+ movb 62(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 80(%rdi)
+ movw %r10w, 82(%rdi)
+ movb 63(%rsi), %r8b
+ movb 64(%rsi), %r9b
+ movb 65(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 84(%rdi)
+ movw %r10w, 86(%rdi)
+ movb 66(%rsi), %r8b
+ movb 67(%rsi), %r9b
+ movb 68(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 88(%rdi)
+ movw %r10w, 90(%rdi)
+ movb 69(%rsi), %r8b
+ movb 70(%rsi), %r9b
+ movb 71(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 92(%rdi)
+ movw %r10w, 94(%rdi)
+ movb 72(%rsi), %r8b
+ movb 73(%rsi), %r9b
+ movb 74(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 96(%rdi)
+ movw %r10w, 98(%rdi)
+ movb 75(%rsi), %r8b
+ movb 76(%rsi), %r9b
+ movb 77(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 100(%rdi)
+ movw %r10w, 102(%rdi)
+ movb 78(%rsi), %r8b
+ movb 79(%rsi), %r9b
+ movb 80(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 104(%rdi)
+ movw %r10w, 106(%rdi)
+ movb 81(%rsi), %r8b
+ movb 82(%rsi), %r9b
+ movb 83(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 108(%rdi)
+ movw %r10w, 110(%rdi)
+ movb 84(%rsi), %r8b
+ movb 85(%rsi), %r9b
+ movb 86(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 112(%rdi)
+ movw %r10w, 114(%rdi)
+ movb 87(%rsi), %r8b
+ movb 88(%rsi), %r9b
+ movb 89(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 116(%rdi)
+ movw %r10w, 118(%rdi)
+ movb 90(%rsi), %r8b
+ movb 91(%rsi), %r9b
+ movb 92(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 120(%rdi)
+ movw %r10w, 122(%rdi)
+ movb 93(%rsi), %r8b
+ movb 94(%rsi), %r9b
+ movb 95(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 124(%rdi)
+ movw %r10w, 126(%rdi)
+ movb 96(%rsi), %r8b
+ movb 97(%rsi), %r9b
+ movb 98(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 128(%rdi)
+ movw %r10w, 130(%rdi)
+ movb 99(%rsi), %r8b
+ movb 100(%rsi), %r9b
+ movb 101(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 132(%rdi)
+ movw %r10w, 134(%rdi)
+ movb 102(%rsi), %r8b
+ movb 103(%rsi), %r9b
+ movb 104(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 136(%rdi)
+ movw %r10w, 138(%rdi)
+ movb 105(%rsi), %r8b
+ movb 106(%rsi), %r9b
+ movb 107(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 140(%rdi)
+ movw %r10w, 142(%rdi)
+ movb 108(%rsi), %r8b
+ movb 109(%rsi), %r9b
+ movb 110(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 144(%rdi)
+ movw %r10w, 146(%rdi)
+ movb 111(%rsi), %r8b
+ movb 112(%rsi), %r9b
+ movb 113(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 148(%rdi)
+ movw %r10w, 150(%rdi)
+ movb 114(%rsi), %r8b
+ movb 115(%rsi), %r9b
+ movb 116(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 152(%rdi)
+ movw %r10w, 154(%rdi)
+ movb 117(%rsi), %r8b
+ movb 118(%rsi), %r9b
+ movb 119(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 156(%rdi)
+ movw %r10w, 158(%rdi)
+ movb 120(%rsi), %r8b
+ movb 121(%rsi), %r9b
+ movb 122(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 160(%rdi)
+ movw %r10w, 162(%rdi)
+ movb 123(%rsi), %r8b
+ movb 124(%rsi), %r9b
+ movb 125(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 164(%rdi)
+ movw %r10w, 166(%rdi)
+ movb 126(%rsi), %r8b
+ movb 127(%rsi), %r9b
+ movb 128(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 168(%rdi)
+ movw %r10w, 170(%rdi)
+ movb 129(%rsi), %r8b
+ movb 130(%rsi), %r9b
+ movb 131(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 172(%rdi)
+ movw %r10w, 174(%rdi)
+ movb 132(%rsi), %r8b
+ movb 133(%rsi), %r9b
+ movb 134(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 176(%rdi)
+ movw %r10w, 178(%rdi)
+ movb 135(%rsi), %r8b
+ movb 136(%rsi), %r9b
+ movb 137(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 180(%rdi)
+ movw %r10w, 182(%rdi)
+ movb 138(%rsi), %r8b
+ movb 139(%rsi), %r9b
+ movb 140(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 184(%rdi)
+ movw %r10w, 186(%rdi)
+ movb 141(%rsi), %r8b
+ movb 142(%rsi), %r9b
+ movb 143(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 188(%rdi)
+ movw %r10w, 190(%rdi)
+ movb 144(%rsi), %r8b
+ movb 145(%rsi), %r9b
+ movb 146(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 192(%rdi)
+ movw %r10w, 194(%rdi)
+ movb 147(%rsi), %r8b
+ movb 148(%rsi), %r9b
+ movb 149(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 196(%rdi)
+ movw %r10w, 198(%rdi)
+ movb 150(%rsi), %r8b
+ movb 151(%rsi), %r9b
+ movb 152(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 200(%rdi)
+ movw %r10w, 202(%rdi)
+ movb 153(%rsi), %r8b
+ movb 154(%rsi), %r9b
+ movb 155(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 204(%rdi)
+ movw %r10w, 206(%rdi)
+ movb 156(%rsi), %r8b
+ movb 157(%rsi), %r9b
+ movb 158(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 208(%rdi)
+ movw %r10w, 210(%rdi)
+ movb 159(%rsi), %r8b
+ movb 160(%rsi), %r9b
+ movb 161(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 212(%rdi)
+ movw %r10w, 214(%rdi)
+ movb 162(%rsi), %r8b
+ movb 163(%rsi), %r9b
+ movb 164(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 216(%rdi)
+ movw %r10w, 218(%rdi)
+ movb 165(%rsi), %r8b
+ movb 166(%rsi), %r9b
+ movb 167(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 220(%rdi)
+ movw %r10w, 222(%rdi)
+ movb 168(%rsi), %r8b
+ movb 169(%rsi), %r9b
+ movb 170(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 224(%rdi)
+ movw %r10w, 226(%rdi)
+ movb 171(%rsi), %r8b
+ movb 172(%rsi), %r9b
+ movb 173(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 228(%rdi)
+ movw %r10w, 230(%rdi)
+ movb 174(%rsi), %r8b
+ movb 175(%rsi), %r9b
+ movb 176(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 232(%rdi)
+ movw %r10w, 234(%rdi)
+ movb 177(%rsi), %r8b
+ movb 178(%rsi), %r9b
+ movb 179(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 236(%rdi)
+ movw %r10w, 238(%rdi)
+ movb 180(%rsi), %r8b
+ movb 181(%rsi), %r9b
+ movb 182(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 240(%rdi)
+ movw %r10w, 242(%rdi)
+ movb 183(%rsi), %r8b
+ movb 184(%rsi), %r9b
+ movb 185(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 244(%rdi)
+ movw %r10w, 246(%rdi)
+ movb 186(%rsi), %r8b
+ movb 187(%rsi), %r9b
+ movb 188(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 248(%rdi)
+ movw %r10w, 250(%rdi)
+ movb 189(%rsi), %r8b
+ movb 190(%rsi), %r9b
+ movb 191(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 252(%rdi)
+ movw %r10w, 254(%rdi)
+ movb 192(%rsi), %r8b
+ movb 193(%rsi), %r9b
+ movb 194(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 256(%rdi)
+ movw %r10w, 258(%rdi)
+ movb 195(%rsi), %r8b
+ movb 196(%rsi), %r9b
+ movb 197(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 260(%rdi)
+ movw %r10w, 262(%rdi)
+ movb 198(%rsi), %r8b
+ movb 199(%rsi), %r9b
+ movb 200(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 264(%rdi)
+ movw %r10w, 266(%rdi)
+ movb 201(%rsi), %r8b
+ movb 202(%rsi), %r9b
+ movb 203(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 268(%rdi)
+ movw %r10w, 270(%rdi)
+ movb 204(%rsi), %r8b
+ movb 205(%rsi), %r9b
+ movb 206(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 272(%rdi)
+ movw %r10w, 274(%rdi)
+ movb 207(%rsi), %r8b
+ movb 208(%rsi), %r9b
+ movb 209(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 276(%rdi)
+ movw %r10w, 278(%rdi)
+ movb 210(%rsi), %r8b
+ movb 211(%rsi), %r9b
+ movb 212(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 280(%rdi)
+ movw %r10w, 282(%rdi)
+ movb 213(%rsi), %r8b
+ movb 214(%rsi), %r9b
+ movb 215(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 284(%rdi)
+ movw %r10w, 286(%rdi)
+ movb 216(%rsi), %r8b
+ movb 217(%rsi), %r9b
+ movb 218(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 288(%rdi)
+ movw %r10w, 290(%rdi)
+ movb 219(%rsi), %r8b
+ movb 220(%rsi), %r9b
+ movb 221(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 292(%rdi)
+ movw %r10w, 294(%rdi)
+ movb 222(%rsi), %r8b
+ movb 223(%rsi), %r9b
+ movb 224(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 296(%rdi)
+ movw %r10w, 298(%rdi)
+ movb 225(%rsi), %r8b
+ movb 226(%rsi), %r9b
+ movb 227(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 300(%rdi)
+ movw %r10w, 302(%rdi)
+ movb 228(%rsi), %r8b
+ movb 229(%rsi), %r9b
+ movb 230(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 304(%rdi)
+ movw %r10w, 306(%rdi)
+ movb 231(%rsi), %r8b
+ movb 232(%rsi), %r9b
+ movb 233(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 308(%rdi)
+ movw %r10w, 310(%rdi)
+ movb 234(%rsi), %r8b
+ movb 235(%rsi), %r9b
+ movb 236(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 312(%rdi)
+ movw %r10w, 314(%rdi)
+ movb 237(%rsi), %r8b
+ movb 238(%rsi), %r9b
+ movb 239(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 316(%rdi)
+ movw %r10w, 318(%rdi)
+ movb 240(%rsi), %r8b
+ movb 241(%rsi), %r9b
+ movb 242(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 320(%rdi)
+ movw %r10w, 322(%rdi)
+ movb 243(%rsi), %r8b
+ movb 244(%rsi), %r9b
+ movb 245(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 324(%rdi)
+ movw %r10w, 326(%rdi)
+ movb 246(%rsi), %r8b
+ movb 247(%rsi), %r9b
+ movb 248(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 328(%rdi)
+ movw %r10w, 330(%rdi)
+ movb 249(%rsi), %r8b
+ movb 250(%rsi), %r9b
+ movb 251(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 332(%rdi)
+ movw %r10w, 334(%rdi)
+ movb 252(%rsi), %r8b
+ movb 253(%rsi), %r9b
+ movb 254(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 336(%rdi)
+ movw %r10w, 338(%rdi)
+ movb 255(%rsi), %r8b
+ movb 256(%rsi), %r9b
+ movb 257(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 340(%rdi)
+ movw %r10w, 342(%rdi)
+ movb 258(%rsi), %r8b
+ movb 259(%rsi), %r9b
+ movb 260(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 344(%rdi)
+ movw %r10w, 346(%rdi)
+ movb 261(%rsi), %r8b
+ movb 262(%rsi), %r9b
+ movb 263(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 348(%rdi)
+ movw %r10w, 350(%rdi)
+ movb 264(%rsi), %r8b
+ movb 265(%rsi), %r9b
+ movb 266(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 352(%rdi)
+ movw %r10w, 354(%rdi)
+ movb 267(%rsi), %r8b
+ movb 268(%rsi), %r9b
+ movb 269(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 356(%rdi)
+ movw %r10w, 358(%rdi)
+ movb 270(%rsi), %r8b
+ movb 271(%rsi), %r9b
+ movb 272(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 360(%rdi)
+ movw %r10w, 362(%rdi)
+ movb 273(%rsi), %r8b
+ movb 274(%rsi), %r9b
+ movb 275(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 364(%rdi)
+ movw %r10w, 366(%rdi)
+ movb 276(%rsi), %r8b
+ movb 277(%rsi), %r9b
+ movb 278(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 368(%rdi)
+ movw %r10w, 370(%rdi)
+ movb 279(%rsi), %r8b
+ movb 280(%rsi), %r9b
+ movb 281(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 372(%rdi)
+ movw %r10w, 374(%rdi)
+ movb 282(%rsi), %r8b
+ movb 283(%rsi), %r9b
+ movb 284(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 376(%rdi)
+ movw %r10w, 378(%rdi)
+ movb 285(%rsi), %r8b
+ movb 286(%rsi), %r9b
+ movb 287(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 380(%rdi)
+ movw %r10w, 382(%rdi)
+ movb 288(%rsi), %r8b
+ movb 289(%rsi), %r9b
+ movb 290(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 384(%rdi)
+ movw %r10w, 386(%rdi)
+ movb 291(%rsi), %r8b
+ movb 292(%rsi), %r9b
+ movb 293(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 388(%rdi)
+ movw %r10w, 390(%rdi)
+ movb 294(%rsi), %r8b
+ movb 295(%rsi), %r9b
+ movb 296(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 392(%rdi)
+ movw %r10w, 394(%rdi)
+ movb 297(%rsi), %r8b
+ movb 298(%rsi), %r9b
+ movb 299(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 396(%rdi)
+ movw %r10w, 398(%rdi)
+ movb 300(%rsi), %r8b
+ movb 301(%rsi), %r9b
+ movb 302(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 400(%rdi)
+ movw %r10w, 402(%rdi)
+ movb 303(%rsi), %r8b
+ movb 304(%rsi), %r9b
+ movb 305(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 404(%rdi)
+ movw %r10w, 406(%rdi)
+ movb 306(%rsi), %r8b
+ movb 307(%rsi), %r9b
+ movb 308(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 408(%rdi)
+ movw %r10w, 410(%rdi)
+ movb 309(%rsi), %r8b
+ movb 310(%rsi), %r9b
+ movb 311(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 412(%rdi)
+ movw %r10w, 414(%rdi)
+ movb 312(%rsi), %r8b
+ movb 313(%rsi), %r9b
+ movb 314(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 416(%rdi)
+ movw %r10w, 418(%rdi)
+ movb 315(%rsi), %r8b
+ movb 316(%rsi), %r9b
+ movb 317(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 420(%rdi)
+ movw %r10w, 422(%rdi)
+ movb 318(%rsi), %r8b
+ movb 319(%rsi), %r9b
+ movb 320(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 424(%rdi)
+ movw %r10w, 426(%rdi)
+ movb 321(%rsi), %r8b
+ movb 322(%rsi), %r9b
+ movb 323(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 428(%rdi)
+ movw %r10w, 430(%rdi)
+ movb 324(%rsi), %r8b
+ movb 325(%rsi), %r9b
+ movb 326(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 432(%rdi)
+ movw %r10w, 434(%rdi)
+ movb 327(%rsi), %r8b
+ movb 328(%rsi), %r9b
+ movb 329(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 436(%rdi)
+ movw %r10w, 438(%rdi)
+ movb 330(%rsi), %r8b
+ movb 331(%rsi), %r9b
+ movb 332(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 440(%rdi)
+ movw %r10w, 442(%rdi)
+ movb 333(%rsi), %r8b
+ movb 334(%rsi), %r9b
+ movb 335(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 444(%rdi)
+ movw %r10w, 446(%rdi)
+ movb 336(%rsi), %r8b
+ movb 337(%rsi), %r9b
+ movb 338(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 448(%rdi)
+ movw %r10w, 450(%rdi)
+ movb 339(%rsi), %r8b
+ movb 340(%rsi), %r9b
+ movb 341(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 452(%rdi)
+ movw %r10w, 454(%rdi)
+ movb 342(%rsi), %r8b
+ movb 343(%rsi), %r9b
+ movb 344(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 456(%rdi)
+ movw %r10w, 458(%rdi)
+ movb 345(%rsi), %r8b
+ movb 346(%rsi), %r9b
+ movb 347(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 460(%rdi)
+ movw %r10w, 462(%rdi)
+ movb 348(%rsi), %r8b
+ movb 349(%rsi), %r9b
+ movb 350(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 464(%rdi)
+ movw %r10w, 466(%rdi)
+ movb 351(%rsi), %r8b
+ movb 352(%rsi), %r9b
+ movb 353(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 468(%rdi)
+ movw %r10w, 470(%rdi)
+ movb 354(%rsi), %r8b
+ movb 355(%rsi), %r9b
+ movb 356(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 472(%rdi)
+ movw %r10w, 474(%rdi)
+ movb 357(%rsi), %r8b
+ movb 358(%rsi), %r9b
+ movb 359(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 476(%rdi)
+ movw %r10w, 478(%rdi)
+ movb 360(%rsi), %r8b
+ movb 361(%rsi), %r9b
+ movb 362(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 480(%rdi)
+ movw %r10w, 482(%rdi)
+ movb 363(%rsi), %r8b
+ movb 364(%rsi), %r9b
+ movb 365(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 484(%rdi)
+ movw %r10w, 486(%rdi)
+ movb 366(%rsi), %r8b
+ movb 367(%rsi), %r9b
+ movb 368(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 488(%rdi)
+ movw %r10w, 490(%rdi)
+ movb 369(%rsi), %r8b
+ movb 370(%rsi), %r9b
+ movb 371(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 492(%rdi)
+ movw %r10w, 494(%rdi)
+ movb 372(%rsi), %r8b
+ movb 373(%rsi), %r9b
+ movb 374(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 496(%rdi)
+ movw %r10w, 498(%rdi)
+ movb 375(%rsi), %r8b
+ movb 376(%rsi), %r9b
+ movb 377(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 500(%rdi)
+ movw %r10w, 502(%rdi)
+ movb 378(%rsi), %r8b
+ movb 379(%rsi), %r9b
+ movb 380(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 504(%rdi)
+ movw %r10w, 506(%rdi)
+ movb 381(%rsi), %r8b
+ movb 382(%rsi), %r9b
+ movb 383(%rsi), %r10b
+ movzbw %r8b, %r8w
+ movzbw %r9b, %r11w
+ andw $15, %r11w
+ shlw $8, %r11w
+ orw %r11w, %r8w
+ movzbw %r10b, %r10w
+ shlw $4, %r10w
+ movzbw %r9b, %r9w
+ shrw $4, %r9w
+ orw %r9w, %r10w
+ movw %r8w, 508(%rdi)
+ movw %r10w, 510(%rdi)
+ ret
+L_poly_decompress$1:
+ movq $0, %rdi
+ movq $0, %r8
+ jmp L_poly_decompress$2
+L_poly_decompress$3:
+ movb (%rsi,%rdi), %r9b
+ movzbw %r9b, %r10w
+ movzbw %r9b, %r9w
+ andw $15, %r10w
+ shrw $4, %r9w
+ imulw $3329, %r10w, %r10w
+ imulw $3329, %r9w, %r9w
+ addw $8, %r10w
+ addw $8, %r9w
+ shrw $4, %r10w
+ shrw $4, %r9w
+ movw %r10w, (%rcx,%r8,2)
+ incq %r8
+ movw %r9w, (%rcx,%r8,2)
+ incq %r8
+ incq %rdi
+L_poly_decompress$2:
+ cmpq $128, %rdi
+ jb L_poly_decompress$3
+ ret
+L_i_poly_compress$1:
+ call L_poly_csubq$1
+L_i_poly_compress$4:
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_i_poly_compress$2
+L_i_poly_compress$3:
+ movw (%rcx,%rsi,2), %di
+ movzwl %di, %edi
+ shll $4, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $15, %edi
+ incq %rsi
+ movw (%rcx,%rsi,2), %r8w
+ movzwl %r8w, %r8d
+ shll $4, %r8d
+ addl $1665, %r8d
+ imull $80635, %r8d, %r8d
+ shrl $28, %r8d
+ andl $15, %r8d
+ shll $4, %r8d
+ orl %r8d, %edi
+ movb %dil, (%rax,%rdx)
+ incq %rdx
+ incq %rsi
+L_i_poly_compress$2:
+ cmpq $128, %rdx
+ jb L_i_poly_compress$3
+ ret
+L_poly_compress$1:
+ call L_poly_csubq$1
+L_poly_compress$4:
+ movq $0, %rdx
+ movq $0, %rsi
+ jmp L_poly_compress$2
+L_poly_compress$3:
+ movw (%rcx,%rsi,2), %di
+ movzwl %di, %edi
+ shll $4, %edi
+ addl $1665, %edi
+ imull $80635, %edi, %edi
+ shrl $28, %edi
+ andl $15, %edi
+ incq %rsi
+ movw (%rcx,%rsi,2), %r8w
+ movzwl %r8w, %r8d
+ shll $4, %r8d
+ addl $1665, %r8d
+ imull $80635, %r8d, %r8d
+ shrl $28, %r8d
+ andl $15, %r8d
+ shll $4, %r8d
+ orl %r8d, %edi
+ movb %dil, (%rax,%rdx)
+ incq %rdx
+ incq %rsi
+L_poly_compress$2:
+ cmpq $128, %rdx
+ jb L_poly_compress$3
+ ret
+L_poly_basemul$1:
+ movq %rdi, 8(%rsp)
+ movq $64, %rdi
+ movq $0, %r8
+ jmp L_poly_basemul$2
+L_poly_basemul$3:
+ leaq glob_data + 448(%rip), %r9
+ movw (%r9,%rdi,2), %r9w
+ incq %rdi
+ movw (%rcx,%r8,2), %r10w
+ movw (%rsi,%r8,2), %r11w
+ incq %r8
+ movw (%rcx,%r8,2), %bx
+ movw (%rsi,%r8,2), %bp
+ addq $-1, %r8
+ movswl %bx, %r12d
+ movswl %bp, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ movswl %r12w, %r12d
+ movswl %r9w, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ movswl %r10w, %r13d
+ movswl %r11w, %r14d
+ imull %r14d, %r13d
+ imull $62209, %r13d, %r14d
+ shll $16, %r14d
+ sarl $16, %r14d
+ imull $3329, %r14d, %r14d
+ subl %r14d, %r13d
+ sarl $16, %r13d
+ addw %r13w, %r12w
+ movswl %r10w, %r10d
+ movswl %bp, %ebp
+ imull %ebp, %r10d
+ imull $62209, %r10d, %ebp
+ shll $16, %ebp
+ sarl $16, %ebp
+ imull $3329, %ebp, %ebp
+ subl %ebp, %r10d
+ sarl $16, %r10d
+ movswl %bx, %ebx
+ movswl %r11w, %r11d
+ imull %r11d, %ebx
+ imull $62209, %ebx, %r11d
+ shll $16, %r11d
+ sarl $16, %r11d
+ imull $3329, %r11d, %r11d
+ subl %r11d, %ebx
+ sarl $16, %ebx
+ addw %bx, %r10w
+ movq 8(%rsp), %r11
+ movw %r12w, (%r11,%r8,2)
+ incq %r8
+ movw %r10w, (%r11,%r8,2)
+ movq %r11, 16(%rsp)
+ negw %r9w
+ incq %r8
+ movw (%rcx,%r8,2), %r10w
+ movw (%rsi,%r8,2), %r11w
+ incq %r8
+ movw (%rcx,%r8,2), %bx
+ movw (%rsi,%r8,2), %bp
+ addq $-1, %r8
+ movswl %bx, %r12d
+ movswl %bp, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ movswl %r12w, %r12d
+ movswl %r9w, %r9d
+ imull %r9d, %r12d
+ imull $62209, %r12d, %r9d
+ shll $16, %r9d
+ sarl $16, %r9d
+ imull $3329, %r9d, %r9d
+ subl %r9d, %r12d
+ sarl $16, %r12d
+ movw %r12w, %r9w
+ movswl %r10w, %r12d
+ movswl %r11w, %r13d
+ imull %r13d, %r12d
+ imull $62209, %r12d, %r13d
+ shll $16, %r13d
+ sarl $16, %r13d
+ imull $3329, %r13d, %r13d
+ subl %r13d, %r12d
+ sarl $16, %r12d
+ addw %r12w, %r9w
+ movswl %r10w, %r10d
+ movswl %bp, %ebp
+ imull %ebp, %r10d
+ imull $62209, %r10d, %ebp
+ shll $16, %ebp
+ sarl $16, %ebp
+ imull $3329, %ebp, %ebp
+ subl %ebp, %r10d
+ sarl $16, %r10d
+ movswl %bx, %ebx
+ movswl %r11w, %r11d
+ imull %r11d, %ebx
+ imull $62209, %ebx, %r11d
+ shll $16, %r11d
+ sarl $16, %r11d
+ imull $3329, %r11d, %r11d
+ subl %r11d, %ebx
+ sarl $16, %ebx
+ addw %bx, %r10w
+ movq 16(%rsp), %r11
+ movw %r9w, (%r11,%r8,2)
+ incq %r8
+ movw %r10w, (%r11,%r8,2)
+ incq %r8
+L_poly_basemul$2:
+ cmpq $256, %r8
+ jb L_poly_basemul$3
+ ret
+L_poly_csubq$1:
+ movq $0, %r8
+ jmp L_poly_csubq$2
+L_poly_csubq$3:
+ movw (%rcx,%r8,2), %r9w
+ addw $-3329, %r9w
+ movw %r9w, %r10w
+ sarw $15, %r10w
+ andw $3329, %r10w
+ addw %r10w, %r9w
+ movw %r9w, (%rcx,%r8,2)
+ incq %r8
+L_poly_csubq$2:
+ cmpq $256, %r8
+ jb L_poly_csubq$3
+ ret
+L_poly_add2$1:
+ movq $0, %rdi
+ jmp L_poly_add2$2
+L_poly_add2$3:
+ movw (%rcx,%rdi,2), %r8w
+ movw (%rsi,%rdi,2), %r9w
+ addw %r9w, %r8w
+ movw %r8w, (%rcx,%rdi,2)
+ incq %rdi
+L_poly_add2$2:
+ cmpq $256, %rdi
+ jb L_poly_add2$3
+ ret
+L_shake256_64$1:
+ movq %rax, 8(%rsp)
+ movq %rcx, 16(%rsp)
+ leaq 24(%rsp), %rcx
+ xorq %rax, %rax
+ movq %rax, (%rcx)
+ movq %rax, 8(%rcx)
+ movq %rax, 16(%rcx)
+ movq %rax, 24(%rcx)
+ movq %rax, 32(%rcx)
+ movq %rax, 40(%rcx)
+ movq %rax, 48(%rcx)
+ movq %rax, 56(%rcx)
+ movq %rax, 64(%rcx)
+ movq %rax, 72(%rcx)
+ movq %rax, 80(%rcx)
+ movq %rax, 88(%rcx)
+ movq %rax, 96(%rcx)
+ movq %rax, 104(%rcx)
+ movq %rax, 112(%rcx)
+ movq %rax, 120(%rcx)
+ movq %rax, 128(%rcx)
+ movq %rax, 136(%rcx)
+ movq %rax, 144(%rcx)
+ movq %rax, 152(%rcx)
+ movq %rax, 160(%rcx)
+ movq %rax, 168(%rcx)
+ movq %rax, 176(%rcx)
+ movq %rax, 184(%rcx)
+ movq %rax, 192(%rcx)
+ movq (%rdx), %rax
+ xorq %rax, (%rcx)
+ movq 8(%rdx), %rax
+ xorq %rax, 8(%rcx)
+ movq 16(%rdx), %rax
+ xorq %rax, 16(%rcx)
+ movq 24(%rdx), %rax
+ xorq %rax, 24(%rcx)
+ movq 32(%rdx), %rax
+ xorq %rax, 32(%rcx)
+ movq 40(%rdx), %rax
+ xorq %rax, 40(%rcx)
+ movq 48(%rdx), %rax
+ xorq %rax, 48(%rcx)
+ movq 56(%rdx), %rax
+ xorq %rax, 56(%rcx)
+ xorb $31, 64(%rcx)
+ xorb $-128, 135(%rcx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_64$9:
+ leaq 224(%rsp), %rsp
+ movq 16(%rsp), %rax
+ movq 8(%rsp), %rdx
+ jmp L_shake256_64$6
+L_shake256_64$7:
+ movq (%rcx), %rsi
+ movq %rsi, (%rdx)
+ movq 8(%rcx), %rsi
+ movq %rsi, 8(%rdx)
+ movq 16(%rcx), %rsi
+ movq %rsi, 16(%rdx)
+ movq 24(%rcx), %rsi
+ movq %rsi, 24(%rdx)
+ movq 32(%rcx), %rsi
+ movq %rsi, 32(%rdx)
+ movq 40(%rcx), %rsi
+ movq %rsi, 40(%rdx)
+ movq 48(%rcx), %rsi
+ movq %rsi, 48(%rdx)
+ movq 56(%rcx), %rsi
+ movq %rsi, 56(%rdx)
+ movq 64(%rcx), %rsi
+ movq %rsi, 64(%rdx)
+ movq 72(%rcx), %rsi
+ movq %rsi, 72(%rdx)
+ movq 80(%rcx), %rsi
+ movq %rsi, 80(%rdx)
+ movq 88(%rcx), %rsi
+ movq %rsi, 88(%rdx)
+ movq 96(%rcx), %rsi
+ movq %rsi, 96(%rdx)
+ movq 104(%rcx), %rsi
+ movq %rsi, 104(%rdx)
+ movq 112(%rcx), %rsi
+ movq %rsi, 112(%rdx)
+ movq 120(%rcx), %rsi
+ movq %rsi, 120(%rdx)
+ movq 128(%rcx), %rsi
+ movq %rsi, 128(%rdx)
+ addq $136, %rdx
+ addq $-136, %rax
+ movq %rdx, 8(%rsp)
+ movq %rax, 16(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_64$8:
+ leaq 224(%rsp), %rsp
+ movq 16(%rsp), %rax
+ movq 8(%rsp), %rdx
+L_shake256_64$6:
+ cmpq $136, %rax
+ jnbe L_shake256_64$7
+ movq %rax, 8(%rsp)
+ shrq $3, %rax
+ movq $0, %rsi
+ jmp L_shake256_64$4
+L_shake256_64$5:
+ movq (%rcx,%rsi,8), %rdi
+ movq %rdi, (%rdx,%rsi,8)
+ incq %rsi
+L_shake256_64$4:
+ cmpq %rax, %rsi
+ jb L_shake256_64$5
+ shlq $3, %rsi
+ movq 8(%rsp), %rax
+ jmp L_shake256_64$2
+L_shake256_64$3:
+ movb (%rcx,%rsi), %dil
+ movb %dil, (%rdx,%rsi)
+ incq %rsi
+L_shake256_64$2:
+ cmpq %rax, %rsi
+ jb L_shake256_64$3
+ ret
+L_sha3_512_64$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rcx
+ xorq %rax, %rax
+ movq %rax, (%rcx)
+ movq %rax, 8(%rcx)
+ movq %rax, 16(%rcx)
+ movq %rax, 24(%rcx)
+ movq %rax, 32(%rcx)
+ movq %rax, 40(%rcx)
+ movq %rax, 48(%rcx)
+ movq %rax, 56(%rcx)
+ movq %rax, 64(%rcx)
+ movq %rax, 72(%rcx)
+ movq %rax, 80(%rcx)
+ movq %rax, 88(%rcx)
+ movq %rax, 96(%rcx)
+ movq %rax, 104(%rcx)
+ movq %rax, 112(%rcx)
+ movq %rax, 120(%rcx)
+ movq %rax, 128(%rcx)
+ movq %rax, 136(%rcx)
+ movq %rax, 144(%rcx)
+ movq %rax, 152(%rcx)
+ movq %rax, 160(%rcx)
+ movq %rax, 168(%rcx)
+ movq %rax, 176(%rcx)
+ movq %rax, 184(%rcx)
+ movq %rax, 192(%rcx)
+ movq (%rdx), %rax
+ xorq %rax, (%rcx)
+ movq 8(%rdx), %rax
+ xorq %rax, 8(%rcx)
+ movq 16(%rdx), %rax
+ xorq %rax, 16(%rcx)
+ movq 24(%rdx), %rax
+ xorq %rax, 24(%rcx)
+ movq 32(%rdx), %rax
+ xorq %rax, 32(%rcx)
+ movq 40(%rdx), %rax
+ xorq %rax, 40(%rcx)
+ movq 48(%rdx), %rax
+ xorq %rax, 48(%rcx)
+ movq 56(%rdx), %rax
+ xorq %rax, 56(%rcx)
+ xorb $6, 64(%rcx)
+ xorb $-128, 71(%rcx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_512_64$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ movq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ movq %rdx, 16(%rax)
+ movq 24(%rcx), %rdx
+ movq %rdx, 24(%rax)
+ movq 32(%rcx), %rdx
+ movq %rdx, 32(%rax)
+ movq 40(%rcx), %rdx
+ movq %rdx, 40(%rax)
+ movq 48(%rcx), %rdx
+ movq %rdx, 48(%rax)
+ movq 56(%rcx), %rcx
+ movq %rcx, 56(%rax)
+ ret
+L_sha3_256_32$1:
+ movq %rax, 8(%rsp)
+ leaq 16(%rsp), %rcx
+ xorq %rax, %rax
+ movq %rax, (%rcx)
+ movq %rax, 8(%rcx)
+ movq %rax, 16(%rcx)
+ movq %rax, 24(%rcx)
+ movq %rax, 32(%rcx)
+ movq %rax, 40(%rcx)
+ movq %rax, 48(%rcx)
+ movq %rax, 56(%rcx)
+ movq %rax, 64(%rcx)
+ movq %rax, 72(%rcx)
+ movq %rax, 80(%rcx)
+ movq %rax, 88(%rcx)
+ movq %rax, 96(%rcx)
+ movq %rax, 104(%rcx)
+ movq %rax, 112(%rcx)
+ movq %rax, 120(%rcx)
+ movq %rax, 128(%rcx)
+ movq %rax, 136(%rcx)
+ movq %rax, 144(%rcx)
+ movq %rax, 152(%rcx)
+ movq %rax, 160(%rcx)
+ movq %rax, 168(%rcx)
+ movq %rax, 176(%rcx)
+ movq %rax, 184(%rcx)
+ movq %rax, 192(%rcx)
+ movq (%rdx), %rax
+ movq %rax, (%rcx)
+ movq 8(%rdx), %rax
+ movq %rax, 8(%rcx)
+ movq 16(%rdx), %rax
+ movq %rax, 16(%rcx)
+ movq 24(%rdx), %rax
+ movq %rax, 24(%rcx)
+ xorb $6, 32(%rcx)
+ movb $-128, 135(%rcx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_256_32$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ movq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ movq %rdx, 16(%rax)
+ movq 24(%rcx), %rcx
+ movq %rcx, 24(%rax)
+ ret
+L_sha3_256$1:
+ movq %rcx, 8(%rsp)
+ leaq 40(%rsp), %rcx
+ xorq %rdx, %rdx
+ movq %rdx, (%rcx)
+ movq %rdx, 8(%rcx)
+ movq %rdx, 16(%rcx)
+ movq %rdx, 24(%rcx)
+ movq %rdx, 32(%rcx)
+ movq %rdx, 40(%rcx)
+ movq %rdx, 48(%rcx)
+ movq %rdx, 56(%rcx)
+ movq %rdx, 64(%rcx)
+ movq %rdx, 72(%rcx)
+ movq %rdx, 80(%rcx)
+ movq %rdx, 88(%rcx)
+ movq %rdx, 96(%rcx)
+ movq %rdx, 104(%rcx)
+ movq %rdx, 112(%rcx)
+ movq %rdx, 120(%rcx)
+ movq %rdx, 128(%rcx)
+ movq %rdx, 136(%rcx)
+ movq %rdx, 144(%rcx)
+ movq %rdx, 152(%rcx)
+ movq %rdx, 160(%rcx)
+ movq %rdx, 168(%rcx)
+ movq %rdx, 176(%rcx)
+ movq %rdx, 184(%rcx)
+ movq %rdx, 192(%rcx)
+ movq $136, %rdx
+ jmp L_sha3_256$7
+L_sha3_256$8:
+ movq %rdx, %rdi
+ shrq $3, %rdi
+ movq $0, %r8
+ jmp L_sha3_256$10
+L_sha3_256$11:
+ movq (%rsi,%r8,8), %r9
+ xorq %r9, (%rcx,%r8,8)
+ incq %r8
+L_sha3_256$10:
+ cmpq %rdi, %r8
+ jb L_sha3_256$11
+ addq %rdx, %rsi
+ subq %rdx, %rax
+ movq %rsi, 16(%rsp)
+ movq %rax, 24(%rsp)
+ movq %rdx, 32(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_256$9:
+ leaq 224(%rsp), %rsp
+ movq 16(%rsp), %rsi
+ movq 24(%rsp), %rax
+ movq 32(%rsp), %rdx
+L_sha3_256$7:
+ cmpq %rdx, %rax
+ jnb L_sha3_256$8
+ movb $6, %dil
+ movq %rax, %r8
+ shrq $3, %r8
+ movq $0, %r9
+ jmp L_sha3_256$5
+L_sha3_256$6:
+ movq (%rsi,%r9,8), %r10
+ xorq %r10, (%rcx,%r9,8)
+ incq %r9
+L_sha3_256$5:
+ cmpq %r8, %r9
+ jb L_sha3_256$6
+ shlq $3, %r9
+ jmp L_sha3_256$3
+L_sha3_256$4:
+ movb (%rsi,%r9), %r8b
+ xorb %r8b, (%rcx,%r9)
+ incq %r9
+L_sha3_256$3:
+ cmpq %rax, %r9
+ jb L_sha3_256$4
+ xorb %dil, (%rcx,%r9)
+ addq $-1, %rdx
+ xorb $-128, (%rcx,%rdx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_256$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movq (%rcx), %rdx
+ movq %rdx, (%rax)
+ movq 8(%rcx), %rdx
+ movq %rdx, 8(%rax)
+ movq 16(%rcx), %rdx
+ movq %rdx, 16(%rax)
+ movq 24(%rcx), %rcx
+ movq %rcx, 24(%rax)
+ ret
+L_shake128_squeezeblock$1:
+ movq %rdx, 8(%rsp)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake128_squeezeblock$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rdx
+ movb (%rcx), %sil
+ movb %sil, (%rdx)
+ movb 1(%rcx), %sil
+ movb %sil, 1(%rdx)
+ movb 2(%rcx), %sil
+ movb %sil, 2(%rdx)
+ movb 3(%rcx), %sil
+ movb %sil, 3(%rdx)
+ movb 4(%rcx), %sil
+ movb %sil, 4(%rdx)
+ movb 5(%rcx), %sil
+ movb %sil, 5(%rdx)
+ movb 6(%rcx), %sil
+ movb %sil, 6(%rdx)
+ movb 7(%rcx), %sil
+ movb %sil, 7(%rdx)
+ movb 8(%rcx), %sil
+ movb %sil, 8(%rdx)
+ movb 9(%rcx), %sil
+ movb %sil, 9(%rdx)
+ movb 10(%rcx), %sil
+ movb %sil, 10(%rdx)
+ movb 11(%rcx), %sil
+ movb %sil, 11(%rdx)
+ movb 12(%rcx), %sil
+ movb %sil, 12(%rdx)
+ movb 13(%rcx), %sil
+ movb %sil, 13(%rdx)
+ movb 14(%rcx), %sil
+ movb %sil, 14(%rdx)
+ movb 15(%rcx), %sil
+ movb %sil, 15(%rdx)
+ movb 16(%rcx), %sil
+ movb %sil, 16(%rdx)
+ movb 17(%rcx), %sil
+ movb %sil, 17(%rdx)
+ movb 18(%rcx), %sil
+ movb %sil, 18(%rdx)
+ movb 19(%rcx), %sil
+ movb %sil, 19(%rdx)
+ movb 20(%rcx), %sil
+ movb %sil, 20(%rdx)
+ movb 21(%rcx), %sil
+ movb %sil, 21(%rdx)
+ movb 22(%rcx), %sil
+ movb %sil, 22(%rdx)
+ movb 23(%rcx), %sil
+ movb %sil, 23(%rdx)
+ movb 24(%rcx), %sil
+ movb %sil, 24(%rdx)
+ movb 25(%rcx), %sil
+ movb %sil, 25(%rdx)
+ movb 26(%rcx), %sil
+ movb %sil, 26(%rdx)
+ movb 27(%rcx), %sil
+ movb %sil, 27(%rdx)
+ movb 28(%rcx), %sil
+ movb %sil, 28(%rdx)
+ movb 29(%rcx), %sil
+ movb %sil, 29(%rdx)
+ movb 30(%rcx), %sil
+ movb %sil, 30(%rdx)
+ movb 31(%rcx), %sil
+ movb %sil, 31(%rdx)
+ movb 32(%rcx), %sil
+ movb %sil, 32(%rdx)
+ movb 33(%rcx), %sil
+ movb %sil, 33(%rdx)
+ movb 34(%rcx), %sil
+ movb %sil, 34(%rdx)
+ movb 35(%rcx), %sil
+ movb %sil, 35(%rdx)
+ movb 36(%rcx), %sil
+ movb %sil, 36(%rdx)
+ movb 37(%rcx), %sil
+ movb %sil, 37(%rdx)
+ movb 38(%rcx), %sil
+ movb %sil, 38(%rdx)
+ movb 39(%rcx), %sil
+ movb %sil, 39(%rdx)
+ movb 40(%rcx), %sil
+ movb %sil, 40(%rdx)
+ movb 41(%rcx), %sil
+ movb %sil, 41(%rdx)
+ movb 42(%rcx), %sil
+ movb %sil, 42(%rdx)
+ movb 43(%rcx), %sil
+ movb %sil, 43(%rdx)
+ movb 44(%rcx), %sil
+ movb %sil, 44(%rdx)
+ movb 45(%rcx), %sil
+ movb %sil, 45(%rdx)
+ movb 46(%rcx), %sil
+ movb %sil, 46(%rdx)
+ movb 47(%rcx), %sil
+ movb %sil, 47(%rdx)
+ movb 48(%rcx), %sil
+ movb %sil, 48(%rdx)
+ movb 49(%rcx), %sil
+ movb %sil, 49(%rdx)
+ movb 50(%rcx), %sil
+ movb %sil, 50(%rdx)
+ movb 51(%rcx), %sil
+ movb %sil, 51(%rdx)
+ movb 52(%rcx), %sil
+ movb %sil, 52(%rdx)
+ movb 53(%rcx), %sil
+ movb %sil, 53(%rdx)
+ movb 54(%rcx), %sil
+ movb %sil, 54(%rdx)
+ movb 55(%rcx), %sil
+ movb %sil, 55(%rdx)
+ movb 56(%rcx), %sil
+ movb %sil, 56(%rdx)
+ movb 57(%rcx), %sil
+ movb %sil, 57(%rdx)
+ movb 58(%rcx), %sil
+ movb %sil, 58(%rdx)
+ movb 59(%rcx), %sil
+ movb %sil, 59(%rdx)
+ movb 60(%rcx), %sil
+ movb %sil, 60(%rdx)
+ movb 61(%rcx), %sil
+ movb %sil, 61(%rdx)
+ movb 62(%rcx), %sil
+ movb %sil, 62(%rdx)
+ movb 63(%rcx), %sil
+ movb %sil, 63(%rdx)
+ movb 64(%rcx), %sil
+ movb %sil, 64(%rdx)
+ movb 65(%rcx), %sil
+ movb %sil, 65(%rdx)
+ movb 66(%rcx), %sil
+ movb %sil, 66(%rdx)
+ movb 67(%rcx), %sil
+ movb %sil, 67(%rdx)
+ movb 68(%rcx), %sil
+ movb %sil, 68(%rdx)
+ movb 69(%rcx), %sil
+ movb %sil, 69(%rdx)
+ movb 70(%rcx), %sil
+ movb %sil, 70(%rdx)
+ movb 71(%rcx), %sil
+ movb %sil, 71(%rdx)
+ movb 72(%rcx), %sil
+ movb %sil, 72(%rdx)
+ movb 73(%rcx), %sil
+ movb %sil, 73(%rdx)
+ movb 74(%rcx), %sil
+ movb %sil, 74(%rdx)
+ movb 75(%rcx), %sil
+ movb %sil, 75(%rdx)
+ movb 76(%rcx), %sil
+ movb %sil, 76(%rdx)
+ movb 77(%rcx), %sil
+ movb %sil, 77(%rdx)
+ movb 78(%rcx), %sil
+ movb %sil, 78(%rdx)
+ movb 79(%rcx), %sil
+ movb %sil, 79(%rdx)
+ movb 80(%rcx), %sil
+ movb %sil, 80(%rdx)
+ movb 81(%rcx), %sil
+ movb %sil, 81(%rdx)
+ movb 82(%rcx), %sil
+ movb %sil, 82(%rdx)
+ movb 83(%rcx), %sil
+ movb %sil, 83(%rdx)
+ movb 84(%rcx), %sil
+ movb %sil, 84(%rdx)
+ movb 85(%rcx), %sil
+ movb %sil, 85(%rdx)
+ movb 86(%rcx), %sil
+ movb %sil, 86(%rdx)
+ movb 87(%rcx), %sil
+ movb %sil, 87(%rdx)
+ movb 88(%rcx), %sil
+ movb %sil, 88(%rdx)
+ movb 89(%rcx), %sil
+ movb %sil, 89(%rdx)
+ movb 90(%rcx), %sil
+ movb %sil, 90(%rdx)
+ movb 91(%rcx), %sil
+ movb %sil, 91(%rdx)
+ movb 92(%rcx), %sil
+ movb %sil, 92(%rdx)
+ movb 93(%rcx), %sil
+ movb %sil, 93(%rdx)
+ movb 94(%rcx), %sil
+ movb %sil, 94(%rdx)
+ movb 95(%rcx), %sil
+ movb %sil, 95(%rdx)
+ movb 96(%rcx), %sil
+ movb %sil, 96(%rdx)
+ movb 97(%rcx), %sil
+ movb %sil, 97(%rdx)
+ movb 98(%rcx), %sil
+ movb %sil, 98(%rdx)
+ movb 99(%rcx), %sil
+ movb %sil, 99(%rdx)
+ movb 100(%rcx), %sil
+ movb %sil, 100(%rdx)
+ movb 101(%rcx), %sil
+ movb %sil, 101(%rdx)
+ movb 102(%rcx), %sil
+ movb %sil, 102(%rdx)
+ movb 103(%rcx), %sil
+ movb %sil, 103(%rdx)
+ movb 104(%rcx), %sil
+ movb %sil, 104(%rdx)
+ movb 105(%rcx), %sil
+ movb %sil, 105(%rdx)
+ movb 106(%rcx), %sil
+ movb %sil, 106(%rdx)
+ movb 107(%rcx), %sil
+ movb %sil, 107(%rdx)
+ movb 108(%rcx), %sil
+ movb %sil, 108(%rdx)
+ movb 109(%rcx), %sil
+ movb %sil, 109(%rdx)
+ movb 110(%rcx), %sil
+ movb %sil, 110(%rdx)
+ movb 111(%rcx), %sil
+ movb %sil, 111(%rdx)
+ movb 112(%rcx), %sil
+ movb %sil, 112(%rdx)
+ movb 113(%rcx), %sil
+ movb %sil, 113(%rdx)
+ movb 114(%rcx), %sil
+ movb %sil, 114(%rdx)
+ movb 115(%rcx), %sil
+ movb %sil, 115(%rdx)
+ movb 116(%rcx), %sil
+ movb %sil, 116(%rdx)
+ movb 117(%rcx), %sil
+ movb %sil, 117(%rdx)
+ movb 118(%rcx), %sil
+ movb %sil, 118(%rdx)
+ movb 119(%rcx), %sil
+ movb %sil, 119(%rdx)
+ movb 120(%rcx), %sil
+ movb %sil, 120(%rdx)
+ movb 121(%rcx), %sil
+ movb %sil, 121(%rdx)
+ movb 122(%rcx), %sil
+ movb %sil, 122(%rdx)
+ movb 123(%rcx), %sil
+ movb %sil, 123(%rdx)
+ movb 124(%rcx), %sil
+ movb %sil, 124(%rdx)
+ movb 125(%rcx), %sil
+ movb %sil, 125(%rdx)
+ movb 126(%rcx), %sil
+ movb %sil, 126(%rdx)
+ movb 127(%rcx), %sil
+ movb %sil, 127(%rdx)
+ movb 128(%rcx), %sil
+ movb %sil, 128(%rdx)
+ movb 129(%rcx), %sil
+ movb %sil, 129(%rdx)
+ movb 130(%rcx), %sil
+ movb %sil, 130(%rdx)
+ movb 131(%rcx), %sil
+ movb %sil, 131(%rdx)
+ movb 132(%rcx), %sil
+ movb %sil, 132(%rdx)
+ movb 133(%rcx), %sil
+ movb %sil, 133(%rdx)
+ movb 134(%rcx), %sil
+ movb %sil, 134(%rdx)
+ movb 135(%rcx), %sil
+ movb %sil, 135(%rdx)
+ movb 136(%rcx), %sil
+ movb %sil, 136(%rdx)
+ movb 137(%rcx), %sil
+ movb %sil, 137(%rdx)
+ movb 138(%rcx), %sil
+ movb %sil, 138(%rdx)
+ movb 139(%rcx), %sil
+ movb %sil, 139(%rdx)
+ movb 140(%rcx), %sil
+ movb %sil, 140(%rdx)
+ movb 141(%rcx), %sil
+ movb %sil, 141(%rdx)
+ movb 142(%rcx), %sil
+ movb %sil, 142(%rdx)
+ movb 143(%rcx), %sil
+ movb %sil, 143(%rdx)
+ movb 144(%rcx), %sil
+ movb %sil, 144(%rdx)
+ movb 145(%rcx), %sil
+ movb %sil, 145(%rdx)
+ movb 146(%rcx), %sil
+ movb %sil, 146(%rdx)
+ movb 147(%rcx), %sil
+ movb %sil, 147(%rdx)
+ movb 148(%rcx), %sil
+ movb %sil, 148(%rdx)
+ movb 149(%rcx), %sil
+ movb %sil, 149(%rdx)
+ movb 150(%rcx), %sil
+ movb %sil, 150(%rdx)
+ movb 151(%rcx), %sil
+ movb %sil, 151(%rdx)
+ movb 152(%rcx), %sil
+ movb %sil, 152(%rdx)
+ movb 153(%rcx), %sil
+ movb %sil, 153(%rdx)
+ movb 154(%rcx), %sil
+ movb %sil, 154(%rdx)
+ movb 155(%rcx), %sil
+ movb %sil, 155(%rdx)
+ movb 156(%rcx), %sil
+ movb %sil, 156(%rdx)
+ movb 157(%rcx), %sil
+ movb %sil, 157(%rdx)
+ movb 158(%rcx), %sil
+ movb %sil, 158(%rdx)
+ movb 159(%rcx), %sil
+ movb %sil, 159(%rdx)
+ movb 160(%rcx), %sil
+ movb %sil, 160(%rdx)
+ movb 161(%rcx), %sil
+ movb %sil, 161(%rdx)
+ movb 162(%rcx), %sil
+ movb %sil, 162(%rdx)
+ movb 163(%rcx), %sil
+ movb %sil, 163(%rdx)
+ movb 164(%rcx), %sil
+ movb %sil, 164(%rdx)
+ movb 165(%rcx), %sil
+ movb %sil, 165(%rdx)
+ movb 166(%rcx), %sil
+ movb %sil, 166(%rdx)
+ movb 167(%rcx), %cl
+ movb %cl, 167(%rdx)
+ ret
+L_shake128_absorb34$1:
+ xorq %rsi, %rsi
+ movq %rsi, (%rcx)
+ movq %rsi, 8(%rcx)
+ movq %rsi, 16(%rcx)
+ movq %rsi, 24(%rcx)
+ movq %rsi, 32(%rcx)
+ movq %rsi, 40(%rcx)
+ movq %rsi, 48(%rcx)
+ movq %rsi, 56(%rcx)
+ movq %rsi, 64(%rcx)
+ movq %rsi, 72(%rcx)
+ movq %rsi, 80(%rcx)
+ movq %rsi, 88(%rcx)
+ movq %rsi, 96(%rcx)
+ movq %rsi, 104(%rcx)
+ movq %rsi, 112(%rcx)
+ movq %rsi, 120(%rcx)
+ movq %rsi, 128(%rcx)
+ movq %rsi, 136(%rcx)
+ movq %rsi, 144(%rcx)
+ movq %rsi, 152(%rcx)
+ movq %rsi, 160(%rcx)
+ movq %rsi, 168(%rcx)
+ movq %rsi, 176(%rcx)
+ movq %rsi, 184(%rcx)
+ movq %rsi, 192(%rcx)
+ movb (%rdx), %sil
+ xorb %sil, (%rcx)
+ movb 1(%rdx), %sil
+ xorb %sil, 1(%rcx)
+ movb 2(%rdx), %sil
+ xorb %sil, 2(%rcx)
+ movb 3(%rdx), %sil
+ xorb %sil, 3(%rcx)
+ movb 4(%rdx), %sil
+ xorb %sil, 4(%rcx)
+ movb 5(%rdx), %sil
+ xorb %sil, 5(%rcx)
+ movb 6(%rdx), %sil
+ xorb %sil, 6(%rcx)
+ movb 7(%rdx), %sil
+ xorb %sil, 7(%rcx)
+ movb 8(%rdx), %sil
+ xorb %sil, 8(%rcx)
+ movb 9(%rdx), %sil
+ xorb %sil, 9(%rcx)
+ movb 10(%rdx), %sil
+ xorb %sil, 10(%rcx)
+ movb 11(%rdx), %sil
+ xorb %sil, 11(%rcx)
+ movb 12(%rdx), %sil
+ xorb %sil, 12(%rcx)
+ movb 13(%rdx), %sil
+ xorb %sil, 13(%rcx)
+ movb 14(%rdx), %sil
+ xorb %sil, 14(%rcx)
+ movb 15(%rdx), %sil
+ xorb %sil, 15(%rcx)
+ movb 16(%rdx), %sil
+ xorb %sil, 16(%rcx)
+ movb 17(%rdx), %sil
+ xorb %sil, 17(%rcx)
+ movb 18(%rdx), %sil
+ xorb %sil, 18(%rcx)
+ movb 19(%rdx), %sil
+ xorb %sil, 19(%rcx)
+ movb 20(%rdx), %sil
+ xorb %sil, 20(%rcx)
+ movb 21(%rdx), %sil
+ xorb %sil, 21(%rcx)
+ movb 22(%rdx), %sil
+ xorb %sil, 22(%rcx)
+ movb 23(%rdx), %sil
+ xorb %sil, 23(%rcx)
+ movb 24(%rdx), %sil
+ xorb %sil, 24(%rcx)
+ movb 25(%rdx), %sil
+ xorb %sil, 25(%rcx)
+ movb 26(%rdx), %sil
+ xorb %sil, 26(%rcx)
+ movb 27(%rdx), %sil
+ xorb %sil, 27(%rcx)
+ movb 28(%rdx), %sil
+ xorb %sil, 28(%rcx)
+ movb 29(%rdx), %sil
+ xorb %sil, 29(%rcx)
+ movb 30(%rdx), %sil
+ xorb %sil, 30(%rcx)
+ movb 31(%rdx), %sil
+ xorb %sil, 31(%rcx)
+ movb 32(%rdx), %sil
+ xorb %sil, 32(%rcx)
+ movb 33(%rdx), %dl
+ xorb %dl, 33(%rcx)
+ xorb $31, 34(%rcx)
+ xorb $-128, 167(%rcx)
+ ret
+L_sha3_512_32$1:
+ movq %rcx, 8(%rsp)
+ leaq 16(%rsp), %rcx
+ xorq %rdx, %rdx
+ movq %rdx, (%rcx)
+ movq %rdx, 8(%rcx)
+ movq %rdx, 16(%rcx)
+ movq %rdx, 24(%rcx)
+ movq %rdx, 32(%rcx)
+ movq %rdx, 40(%rcx)
+ movq %rdx, 48(%rcx)
+ movq %rdx, 56(%rcx)
+ movq %rdx, 64(%rcx)
+ movq %rdx, 72(%rcx)
+ movq %rdx, 80(%rcx)
+ movq %rdx, 88(%rcx)
+ movq %rdx, 96(%rcx)
+ movq %rdx, 104(%rcx)
+ movq %rdx, 112(%rcx)
+ movq %rdx, 120(%rcx)
+ movq %rdx, 128(%rcx)
+ movq %rdx, 136(%rcx)
+ movq %rdx, 144(%rcx)
+ movq %rdx, 152(%rcx)
+ movq %rdx, 160(%rcx)
+ movq %rdx, 168(%rcx)
+ movq %rdx, 176(%rcx)
+ movq %rdx, 184(%rcx)
+ movq %rdx, 192(%rcx)
+ movb (%rax), %dl
+ xorb %dl, (%rcx)
+ movb 1(%rax), %dl
+ xorb %dl, 1(%rcx)
+ movb 2(%rax), %dl
+ xorb %dl, 2(%rcx)
+ movb 3(%rax), %dl
+ xorb %dl, 3(%rcx)
+ movb 4(%rax), %dl
+ xorb %dl, 4(%rcx)
+ movb 5(%rax), %dl
+ xorb %dl, 5(%rcx)
+ movb 6(%rax), %dl
+ xorb %dl, 6(%rcx)
+ movb 7(%rax), %dl
+ xorb %dl, 7(%rcx)
+ movb 8(%rax), %dl
+ xorb %dl, 8(%rcx)
+ movb 9(%rax), %dl
+ xorb %dl, 9(%rcx)
+ movb 10(%rax), %dl
+ xorb %dl, 10(%rcx)
+ movb 11(%rax), %dl
+ xorb %dl, 11(%rcx)
+ movb 12(%rax), %dl
+ xorb %dl, 12(%rcx)
+ movb 13(%rax), %dl
+ xorb %dl, 13(%rcx)
+ movb 14(%rax), %dl
+ xorb %dl, 14(%rcx)
+ movb 15(%rax), %dl
+ xorb %dl, 15(%rcx)
+ movb 16(%rax), %dl
+ xorb %dl, 16(%rcx)
+ movb 17(%rax), %dl
+ xorb %dl, 17(%rcx)
+ movb 18(%rax), %dl
+ xorb %dl, 18(%rcx)
+ movb 19(%rax), %dl
+ xorb %dl, 19(%rcx)
+ movb 20(%rax), %dl
+ xorb %dl, 20(%rcx)
+ movb 21(%rax), %dl
+ xorb %dl, 21(%rcx)
+ movb 22(%rax), %dl
+ xorb %dl, 22(%rcx)
+ movb 23(%rax), %dl
+ xorb %dl, 23(%rcx)
+ movb 24(%rax), %dl
+ xorb %dl, 24(%rcx)
+ movb 25(%rax), %dl
+ xorb %dl, 25(%rcx)
+ movb 26(%rax), %dl
+ xorb %dl, 26(%rcx)
+ movb 27(%rax), %dl
+ xorb %dl, 27(%rcx)
+ movb 28(%rax), %dl
+ xorb %dl, 28(%rcx)
+ movb 29(%rax), %dl
+ xorb %dl, 29(%rcx)
+ movb 30(%rax), %dl
+ xorb %dl, 30(%rcx)
+ movb 31(%rax), %al
+ xorb %al, 31(%rcx)
+ xorb $6, 32(%rcx)
+ xorb $-128, 71(%rcx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_sha3_512_32$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rax
+ movb (%rcx), %dl
+ movb %dl, (%rax)
+ movb 1(%rcx), %dl
+ movb %dl, 1(%rax)
+ movb 2(%rcx), %dl
+ movb %dl, 2(%rax)
+ movb 3(%rcx), %dl
+ movb %dl, 3(%rax)
+ movb 4(%rcx), %dl
+ movb %dl, 4(%rax)
+ movb 5(%rcx), %dl
+ movb %dl, 5(%rax)
+ movb 6(%rcx), %dl
+ movb %dl, 6(%rax)
+ movb 7(%rcx), %dl
+ movb %dl, 7(%rax)
+ movb 8(%rcx), %dl
+ movb %dl, 8(%rax)
+ movb 9(%rcx), %dl
+ movb %dl, 9(%rax)
+ movb 10(%rcx), %dl
+ movb %dl, 10(%rax)
+ movb 11(%rcx), %dl
+ movb %dl, 11(%rax)
+ movb 12(%rcx), %dl
+ movb %dl, 12(%rax)
+ movb 13(%rcx), %dl
+ movb %dl, 13(%rax)
+ movb 14(%rcx), %dl
+ movb %dl, 14(%rax)
+ movb 15(%rcx), %dl
+ movb %dl, 15(%rax)
+ movb 16(%rcx), %dl
+ movb %dl, 16(%rax)
+ movb 17(%rcx), %dl
+ movb %dl, 17(%rax)
+ movb 18(%rcx), %dl
+ movb %dl, 18(%rax)
+ movb 19(%rcx), %dl
+ movb %dl, 19(%rax)
+ movb 20(%rcx), %dl
+ movb %dl, 20(%rax)
+ movb 21(%rcx), %dl
+ movb %dl, 21(%rax)
+ movb 22(%rcx), %dl
+ movb %dl, 22(%rax)
+ movb 23(%rcx), %dl
+ movb %dl, 23(%rax)
+ movb 24(%rcx), %dl
+ movb %dl, 24(%rax)
+ movb 25(%rcx), %dl
+ movb %dl, 25(%rax)
+ movb 26(%rcx), %dl
+ movb %dl, 26(%rax)
+ movb 27(%rcx), %dl
+ movb %dl, 27(%rax)
+ movb 28(%rcx), %dl
+ movb %dl, 28(%rax)
+ movb 29(%rcx), %dl
+ movb %dl, 29(%rax)
+ movb 30(%rcx), %dl
+ movb %dl, 30(%rax)
+ movb 31(%rcx), %dl
+ movb %dl, 31(%rax)
+ movb 32(%rcx), %dl
+ movb %dl, 32(%rax)
+ movb 33(%rcx), %dl
+ movb %dl, 33(%rax)
+ movb 34(%rcx), %dl
+ movb %dl, 34(%rax)
+ movb 35(%rcx), %dl
+ movb %dl, 35(%rax)
+ movb 36(%rcx), %dl
+ movb %dl, 36(%rax)
+ movb 37(%rcx), %dl
+ movb %dl, 37(%rax)
+ movb 38(%rcx), %dl
+ movb %dl, 38(%rax)
+ movb 39(%rcx), %dl
+ movb %dl, 39(%rax)
+ movb 40(%rcx), %dl
+ movb %dl, 40(%rax)
+ movb 41(%rcx), %dl
+ movb %dl, 41(%rax)
+ movb 42(%rcx), %dl
+ movb %dl, 42(%rax)
+ movb 43(%rcx), %dl
+ movb %dl, 43(%rax)
+ movb 44(%rcx), %dl
+ movb %dl, 44(%rax)
+ movb 45(%rcx), %dl
+ movb %dl, 45(%rax)
+ movb 46(%rcx), %dl
+ movb %dl, 46(%rax)
+ movb 47(%rcx), %dl
+ movb %dl, 47(%rax)
+ movb 48(%rcx), %dl
+ movb %dl, 48(%rax)
+ movb 49(%rcx), %dl
+ movb %dl, 49(%rax)
+ movb 50(%rcx), %dl
+ movb %dl, 50(%rax)
+ movb 51(%rcx), %dl
+ movb %dl, 51(%rax)
+ movb 52(%rcx), %dl
+ movb %dl, 52(%rax)
+ movb 53(%rcx), %dl
+ movb %dl, 53(%rax)
+ movb 54(%rcx), %dl
+ movb %dl, 54(%rax)
+ movb 55(%rcx), %dl
+ movb %dl, 55(%rax)
+ movb 56(%rcx), %dl
+ movb %dl, 56(%rax)
+ movb 57(%rcx), %dl
+ movb %dl, 57(%rax)
+ movb 58(%rcx), %dl
+ movb %dl, 58(%rax)
+ movb 59(%rcx), %dl
+ movb %dl, 59(%rax)
+ movb 60(%rcx), %dl
+ movb %dl, 60(%rax)
+ movb 61(%rcx), %dl
+ movb %dl, 61(%rax)
+ movb 62(%rcx), %dl
+ movb %dl, 62(%rax)
+ movb 63(%rcx), %cl
+ movb %cl, 63(%rax)
+ ret
+L_shake256_128_33$1:
+ movq %rcx, 8(%rsp)
+ leaq 16(%rsp), %rcx
+ xorq %rsi, %rsi
+ movq %rsi, (%rcx)
+ movq %rsi, 8(%rcx)
+ movq %rsi, 16(%rcx)
+ movq %rsi, 24(%rcx)
+ movq %rsi, 32(%rcx)
+ movq %rsi, 40(%rcx)
+ movq %rsi, 48(%rcx)
+ movq %rsi, 56(%rcx)
+ movq %rsi, 64(%rcx)
+ movq %rsi, 72(%rcx)
+ movq %rsi, 80(%rcx)
+ movq %rsi, 88(%rcx)
+ movq %rsi, 96(%rcx)
+ movq %rsi, 104(%rcx)
+ movq %rsi, 112(%rcx)
+ movq %rsi, 120(%rcx)
+ movq %rsi, 128(%rcx)
+ movq %rsi, 136(%rcx)
+ movq %rsi, 144(%rcx)
+ movq %rsi, 152(%rcx)
+ movq %rsi, 160(%rcx)
+ movq %rsi, 168(%rcx)
+ movq %rsi, 176(%rcx)
+ movq %rsi, 184(%rcx)
+ movq %rsi, 192(%rcx)
+ movb (%rdx), %sil
+ xorb %sil, (%rcx)
+ movb 1(%rdx), %sil
+ xorb %sil, 1(%rcx)
+ movb 2(%rdx), %sil
+ xorb %sil, 2(%rcx)
+ movb 3(%rdx), %sil
+ xorb %sil, 3(%rcx)
+ movb 4(%rdx), %sil
+ xorb %sil, 4(%rcx)
+ movb 5(%rdx), %sil
+ xorb %sil, 5(%rcx)
+ movb 6(%rdx), %sil
+ xorb %sil, 6(%rcx)
+ movb 7(%rdx), %sil
+ xorb %sil, 7(%rcx)
+ movb 8(%rdx), %sil
+ xorb %sil, 8(%rcx)
+ movb 9(%rdx), %sil
+ xorb %sil, 9(%rcx)
+ movb 10(%rdx), %sil
+ xorb %sil, 10(%rcx)
+ movb 11(%rdx), %sil
+ xorb %sil, 11(%rcx)
+ movb 12(%rdx), %sil
+ xorb %sil, 12(%rcx)
+ movb 13(%rdx), %sil
+ xorb %sil, 13(%rcx)
+ movb 14(%rdx), %sil
+ xorb %sil, 14(%rcx)
+ movb 15(%rdx), %sil
+ xorb %sil, 15(%rcx)
+ movb 16(%rdx), %sil
+ xorb %sil, 16(%rcx)
+ movb 17(%rdx), %sil
+ xorb %sil, 17(%rcx)
+ movb 18(%rdx), %sil
+ xorb %sil, 18(%rcx)
+ movb 19(%rdx), %sil
+ xorb %sil, 19(%rcx)
+ movb 20(%rdx), %sil
+ xorb %sil, 20(%rcx)
+ movb 21(%rdx), %sil
+ xorb %sil, 21(%rcx)
+ movb 22(%rdx), %sil
+ xorb %sil, 22(%rcx)
+ movb 23(%rdx), %sil
+ xorb %sil, 23(%rcx)
+ movb 24(%rdx), %sil
+ xorb %sil, 24(%rcx)
+ movb 25(%rdx), %sil
+ xorb %sil, 25(%rcx)
+ movb 26(%rdx), %sil
+ xorb %sil, 26(%rcx)
+ movb 27(%rdx), %sil
+ xorb %sil, 27(%rcx)
+ movb 28(%rdx), %sil
+ xorb %sil, 28(%rcx)
+ movb 29(%rdx), %sil
+ xorb %sil, 29(%rcx)
+ movb 30(%rdx), %sil
+ xorb %sil, 30(%rcx)
+ movb 31(%rdx), %sil
+ xorb %sil, 31(%rcx)
+ movb 32(%rdx), %dl
+ xorb %dl, 32(%rcx)
+ xorb $31, 33(%rcx)
+ xorb $-128, 135(%rcx)
+ leaq -224(%rsp), %rsp
+ call L_keccakf1600_ref1$1
+L_shake256_128_33$2:
+ leaq 224(%rsp), %rsp
+ movq 8(%rsp), %rdx
+ movb (%rcx), %sil
+ movb %sil, (%rdx)
+ movb 1(%rcx), %sil
+ movb %sil, 1(%rdx)
+ movb 2(%rcx), %sil
+ movb %sil, 2(%rdx)
+ movb 3(%rcx), %sil
+ movb %sil, 3(%rdx)
+ movb 4(%rcx), %sil
+ movb %sil, 4(%rdx)
+ movb 5(%rcx), %sil
+ movb %sil, 5(%rdx)
+ movb 6(%rcx), %sil
+ movb %sil, 6(%rdx)
+ movb 7(%rcx), %sil
+ movb %sil, 7(%rdx)
+ movb 8(%rcx), %sil
+ movb %sil, 8(%rdx)
+ movb 9(%rcx), %sil
+ movb %sil, 9(%rdx)
+ movb 10(%rcx), %sil
+ movb %sil, 10(%rdx)
+ movb 11(%rcx), %sil
+ movb %sil, 11(%rdx)
+ movb 12(%rcx), %sil
+ movb %sil, 12(%rdx)
+ movb 13(%rcx), %sil
+ movb %sil, 13(%rdx)
+ movb 14(%rcx), %sil
+ movb %sil, 14(%rdx)
+ movb 15(%rcx), %sil
+ movb %sil, 15(%rdx)
+ movb 16(%rcx), %sil
+ movb %sil, 16(%rdx)
+ movb 17(%rcx), %sil
+ movb %sil, 17(%rdx)
+ movb 18(%rcx), %sil
+ movb %sil, 18(%rdx)
+ movb 19(%rcx), %sil
+ movb %sil, 19(%rdx)
+ movb 20(%rcx), %sil
+ movb %sil, 20(%rdx)
+ movb 21(%rcx), %sil
+ movb %sil, 21(%rdx)
+ movb 22(%rcx), %sil
+ movb %sil, 22(%rdx)
+ movb 23(%rcx), %sil
+ movb %sil, 23(%rdx)
+ movb 24(%rcx), %sil
+ movb %sil, 24(%rdx)
+ movb 25(%rcx), %sil
+ movb %sil, 25(%rdx)
+ movb 26(%rcx), %sil
+ movb %sil, 26(%rdx)
+ movb 27(%rcx), %sil
+ movb %sil, 27(%rdx)
+ movb 28(%rcx), %sil
+ movb %sil, 28(%rdx)
+ movb 29(%rcx), %sil
+ movb %sil, 29(%rdx)
+ movb 30(%rcx), %sil
+ movb %sil, 30(%rdx)
+ movb 31(%rcx), %sil
+ movb %sil, 31(%rdx)
+ movb 32(%rcx), %sil
+ movb %sil, 32(%rdx)
+ movb 33(%rcx), %sil
+ movb %sil, 33(%rdx)
+ movb 34(%rcx), %sil
+ movb %sil, 34(%rdx)
+ movb 35(%rcx), %sil
+ movb %sil, 35(%rdx)
+ movb 36(%rcx), %sil
+ movb %sil, 36(%rdx)
+ movb 37(%rcx), %sil
+ movb %sil, 37(%rdx)
+ movb 38(%rcx), %sil
+ movb %sil, 38(%rdx)
+ movb 39(%rcx), %sil
+ movb %sil, 39(%rdx)
+ movb 40(%rcx), %sil
+ movb %sil, 40(%rdx)
+ movb 41(%rcx), %sil
+ movb %sil, 41(%rdx)
+ movb 42(%rcx), %sil
+ movb %sil, 42(%rdx)
+ movb 43(%rcx), %sil
+ movb %sil, 43(%rdx)
+ movb 44(%rcx), %sil
+ movb %sil, 44(%rdx)
+ movb 45(%rcx), %sil
+ movb %sil, 45(%rdx)
+ movb 46(%rcx), %sil
+ movb %sil, 46(%rdx)
+ movb 47(%rcx), %sil
+ movb %sil, 47(%rdx)
+ movb 48(%rcx), %sil
+ movb %sil, 48(%rdx)
+ movb 49(%rcx), %sil
+ movb %sil, 49(%rdx)
+ movb 50(%rcx), %sil
+ movb %sil, 50(%rdx)
+ movb 51(%rcx), %sil
+ movb %sil, 51(%rdx)
+ movb 52(%rcx), %sil
+ movb %sil, 52(%rdx)
+ movb 53(%rcx), %sil
+ movb %sil, 53(%rdx)
+ movb 54(%rcx), %sil
+ movb %sil, 54(%rdx)
+ movb 55(%rcx), %sil
+ movb %sil, 55(%rdx)
+ movb 56(%rcx), %sil
+ movb %sil, 56(%rdx)
+ movb 57(%rcx), %sil
+ movb %sil, 57(%rdx)
+ movb 58(%rcx), %sil
+ movb %sil, 58(%rdx)
+ movb 59(%rcx), %sil
+ movb %sil, 59(%rdx)
+ movb 60(%rcx), %sil
+ movb %sil, 60(%rdx)
+ movb 61(%rcx), %sil
+ movb %sil, 61(%rdx)
+ movb 62(%rcx), %sil
+ movb %sil, 62(%rdx)
+ movb 63(%rcx), %sil
+ movb %sil, 63(%rdx)
+ movb 64(%rcx), %sil
+ movb %sil, 64(%rdx)
+ movb 65(%rcx), %sil
+ movb %sil, 65(%rdx)
+ movb 66(%rcx), %sil
+ movb %sil, 66(%rdx)
+ movb 67(%rcx), %sil
+ movb %sil, 67(%rdx)
+ movb 68(%rcx), %sil
+ movb %sil, 68(%rdx)
+ movb 69(%rcx), %sil
+ movb %sil, 69(%rdx)
+ movb 70(%rcx), %sil
+ movb %sil, 70(%rdx)
+ movb 71(%rcx), %sil
+ movb %sil, 71(%rdx)
+ movb 72(%rcx), %sil
+ movb %sil, 72(%rdx)
+ movb 73(%rcx), %sil
+ movb %sil, 73(%rdx)
+ movb 74(%rcx), %sil
+ movb %sil, 74(%rdx)
+ movb 75(%rcx), %sil
+ movb %sil, 75(%rdx)
+ movb 76(%rcx), %sil
+ movb %sil, 76(%rdx)
+ movb 77(%rcx), %sil
+ movb %sil, 77(%rdx)
+ movb 78(%rcx), %sil
+ movb %sil, 78(%rdx)
+ movb 79(%rcx), %sil
+ movb %sil, 79(%rdx)
+ movb 80(%rcx), %sil
+ movb %sil, 80(%rdx)
+ movb 81(%rcx), %sil
+ movb %sil, 81(%rdx)
+ movb 82(%rcx), %sil
+ movb %sil, 82(%rdx)
+ movb 83(%rcx), %sil
+ movb %sil, 83(%rdx)
+ movb 84(%rcx), %sil
+ movb %sil, 84(%rdx)
+ movb 85(%rcx), %sil
+ movb %sil, 85(%rdx)
+ movb 86(%rcx), %sil
+ movb %sil, 86(%rdx)
+ movb 87(%rcx), %sil
+ movb %sil, 87(%rdx)
+ movb 88(%rcx), %sil
+ movb %sil, 88(%rdx)
+ movb 89(%rcx), %sil
+ movb %sil, 89(%rdx)
+ movb 90(%rcx), %sil
+ movb %sil, 90(%rdx)
+ movb 91(%rcx), %sil
+ movb %sil, 91(%rdx)
+ movb 92(%rcx), %sil
+ movb %sil, 92(%rdx)
+ movb 93(%rcx), %sil
+ movb %sil, 93(%rdx)
+ movb 94(%rcx), %sil
+ movb %sil, 94(%rdx)
+ movb 95(%rcx), %sil
+ movb %sil, 95(%rdx)
+ movb 96(%rcx), %sil
+ movb %sil, 96(%rdx)
+ movb 97(%rcx), %sil
+ movb %sil, 97(%rdx)
+ movb 98(%rcx), %sil
+ movb %sil, 98(%rdx)
+ movb 99(%rcx), %sil
+ movb %sil, 99(%rdx)
+ movb 100(%rcx), %sil
+ movb %sil, 100(%rdx)
+ movb 101(%rcx), %sil
+ movb %sil, 101(%rdx)
+ movb 102(%rcx), %sil
+ movb %sil, 102(%rdx)
+ movb 103(%rcx), %sil
+ movb %sil, 103(%rdx)
+ movb 104(%rcx), %sil
+ movb %sil, 104(%rdx)
+ movb 105(%rcx), %sil
+ movb %sil, 105(%rdx)
+ movb 106(%rcx), %sil
+ movb %sil, 106(%rdx)
+ movb 107(%rcx), %sil
+ movb %sil, 107(%rdx)
+ movb 108(%rcx), %sil
+ movb %sil, 108(%rdx)
+ movb 109(%rcx), %sil
+ movb %sil, 109(%rdx)
+ movb 110(%rcx), %sil
+ movb %sil, 110(%rdx)
+ movb 111(%rcx), %sil
+ movb %sil, 111(%rdx)
+ movb 112(%rcx), %sil
+ movb %sil, 112(%rdx)
+ movb 113(%rcx), %sil
+ movb %sil, 113(%rdx)
+ movb 114(%rcx), %sil
+ movb %sil, 114(%rdx)
+ movb 115(%rcx), %sil
+ movb %sil, 115(%rdx)
+ movb 116(%rcx), %sil
+ movb %sil, 116(%rdx)
+ movb 117(%rcx), %sil
+ movb %sil, 117(%rdx)
+ movb 118(%rcx), %sil
+ movb %sil, 118(%rdx)
+ movb 119(%rcx), %sil
+ movb %sil, 119(%rdx)
+ movb 120(%rcx), %sil
+ movb %sil, 120(%rdx)
+ movb 121(%rcx), %sil
+ movb %sil, 121(%rdx)
+ movb 122(%rcx), %sil
+ movb %sil, 122(%rdx)
+ movb 123(%rcx), %sil
+ movb %sil, 123(%rdx)
+ movb 124(%rcx), %sil
+ movb %sil, 124(%rdx)
+ movb 125(%rcx), %sil
+ movb %sil, 125(%rdx)
+ movb 126(%rcx), %sil
+ movb %sil, 126(%rdx)
+ movb 127(%rcx), %cl
+ movb %cl, 127(%rdx)
+ ret
+L_keccakf1600_ref1$1:
+ leaq glob_data + 0(%rip), %rdx
+ movq %rdx, 8(%rsp)
+ leaq 32(%rsp), %rdx
+ movq $0, %r11
+ jmp L_keccakf1600_ref1$2
+L_keccakf1600_ref1$3:
+ movq %r11, 16(%rsp)
+ movq 8(%rsp), %rsi
+ movq (%rsi,%r11,8), %rsi
+ movq %rsi, 24(%rsp)
+ movq (%rcx), %r10
+ movq 8(%rcx), %r9
+ movq 16(%rcx), %rbx
+ movq 24(%rcx), %rbp
+ movq 32(%rcx), %r12
+ xorq 40(%rcx), %r10
+ xorq 48(%rcx), %r9
+ xorq 56(%rcx), %rbx
+ xorq 64(%rcx), %rbp
+ xorq 72(%rcx), %r12
+ xorq 80(%rcx), %r10
+ xorq 88(%rcx), %r9
+ xorq 96(%rcx), %rbx
+ xorq 104(%rcx), %rbp
+ xorq 112(%rcx), %r12
+ xorq 120(%rcx), %r10
+ xorq 128(%rcx), %r9
+ xorq 136(%rcx), %rbx
+ xorq 144(%rcx), %rbp
+ xorq 152(%rcx), %r12
+ xorq 160(%rcx), %r10
+ xorq 168(%rcx), %r9
+ xorq 176(%rcx), %rbx
+ xorq 184(%rcx), %rbp
+ xorq 192(%rcx), %r12
+ movq %r9, %rsi
+ rolq $1, %rsi
+ xorq %r12, %rsi
+ movq %rbx, %rdi
+ rolq $1, %rdi
+ xorq %r10, %rdi
+ movq %rbp, %r8
+ rolq $1, %r8
+ xorq %r9, %r8
+ movq %r12, %r9
+ rolq $1, %r9
+ xorq %rbx, %r9
+ rolq $1, %r10
+ xorq %rbp, %r10
+ movq (%rcx), %rbx
+ xorq %rsi, %rbx
+ movq 48(%rcx), %rbp
+ xorq %rdi, %rbp
+ rolq $44, %rbp
+ movq 96(%rcx), %r12
+ xorq %r8, %r12
+ rolq $43, %r12
+ movq 144(%rcx), %r13
+ xorq %r9, %r13
+ rolq $21, %r13
+ movq 192(%rcx), %r14
+ xorq %r10, %r14
+ rolq $14, %r14
+ movq %rbp, %r15
+ notq %r15
+ andq %r12, %r15
+ xorq %rbx, %r15
+ xorq 24(%rsp), %r15
+ movq %r15, (%rdx)
+ movq %r12, %r15
+ notq %r15
+ andq %r13, %r15
+ xorq %rbp, %r15
+ movq %r15, 8(%rdx)
+ movq %r13, %r15
+ notq %r15
+ andq %r14, %r15
+ xorq %r12, %r15
+ movq %r15, 16(%rdx)
+ movq %r14, %r12
+ notq %r12
+ andq %rbx, %r12
+ xorq %r13, %r12
+ movq %r12, 24(%rdx)
+ notq %rbx
+ andq %rbp, %rbx
+ xorq %r14, %rbx
+ movq %rbx, 32(%rdx)
+ movq 24(%rcx), %rbx
+ xorq %r9, %rbx
+ rolq $28, %rbx
+ movq 72(%rcx), %rbp
+ xorq %r10, %rbp
+ rolq $20, %rbp
+ movq 80(%rcx), %r12
+ xorq %rsi, %r12
+ rolq $3, %r12
+ movq 128(%rcx), %r13
+ xorq %rdi, %r13
+ rolq $45, %r13
+ movq 176(%rcx), %r14
+ xorq %r8, %r14
+ rolq $61, %r14
+ movq %rbp, %r15
+ notq %r15
+ andq %r12, %r15
+ xorq %rbx, %r15
+ movq %r15, 40(%rdx)
+ movq %r12, %r15
+ notq %r15
+ andq %r13, %r15
+ xorq %rbp, %r15
+ movq %r15, 48(%rdx)
+ movq %r13, %r15
+ notq %r15
+ andq %r14, %r15
+ xorq %r12, %r15
+ movq %r15, 56(%rdx)
+ movq %r14, %r12
+ notq %r12
+ andq %rbx, %r12
+ xorq %r13, %r12
+ movq %r12, 64(%rdx)
+ notq %rbx
+ andq %rbp, %rbx
+ xorq %r14, %rbx
+ movq %rbx, 72(%rdx)
+ movq 8(%rcx), %rbx
+ xorq %rdi, %rbx
+ rolq $1, %rbx
+ movq 56(%rcx), %rbp
+ xorq %r8, %rbp
+ rolq $6, %rbp
+ movq 104(%rcx), %r12
+ xorq %r9, %r12
+ rolq $25, %r12
+ movq 152(%rcx), %r13
+ xorq %r10, %r13
+ rolq $8, %r13
+ movq 160(%rcx), %r14
+ xorq %rsi, %r14
+ rolq $18, %r14
+ movq %rbp, %r15
+ notq %r15
+ andq %r12, %r15
+ xorq %rbx, %r15
+ movq %r15, 80(%rdx)
+ movq %r12, %r15
+ notq %r15
+ andq %r13, %r15
+ xorq %rbp, %r15
+ movq %r15, 88(%rdx)
+ movq %r13, %r15
+ notq %r15
+ andq %r14, %r15
+ xorq %r12, %r15
+ movq %r15, 96(%rdx)
+ movq %r14, %r12
+ notq %r12
+ andq %rbx, %r12
+ xorq %r13, %r12
+ movq %r12, 104(%rdx)
+ notq %rbx
+ andq %rbp, %rbx
+ xorq %r14, %rbx
+ movq %rbx, 112(%rdx)
+ movq 32(%rcx), %rbx
+ xorq %r10, %rbx
+ rolq $27, %rbx
+ movq 40(%rcx), %rbp
+ xorq %rsi, %rbp
+ rolq $36, %rbp
+ movq 88(%rcx), %r12
+ xorq %rdi, %r12
+ rolq $10, %r12
+ movq 136(%rcx), %r13
+ xorq %r8, %r13
+ rolq $15, %r13
+ movq 184(%rcx), %r14
+ xorq %r9, %r14
+ rolq $56, %r14
+ movq %rbp, %r15
+ notq %r15
+ andq %r12, %r15
+ xorq %rbx, %r15
+ movq %r15, 120(%rdx)
+ movq %r12, %r15
+ notq %r15
+ andq %r13, %r15
+ xorq %rbp, %r15
+ movq %r15, 128(%rdx)
+ movq %r13, %r15
+ notq %r15
+ andq %r14, %r15
+ xorq %r12, %r15
+ movq %r15, 136(%rdx)
+ movq %r14, %r12
+ notq %r12
+ andq %rbx, %r12
+ xorq %r13, %r12
+ movq %r12, 144(%rdx)
+ notq %rbx
+ andq %rbp, %rbx
+ xorq %r14, %rbx
+ movq %rbx, 152(%rdx)
+ movq 16(%rcx), %rbx
+ xorq %r8, %rbx
+ rolq $62, %rbx
+ movq 64(%rcx), %r8
+ xorq %r9, %r8
+ rolq $55, %r8
+ movq 112(%rcx), %r9
+ xorq %r10, %r9
+ rolq $39, %r9
+ movq 120(%rcx), %r10
+ xorq %rsi, %r10
+ rolq $41, %r10
+ movq 168(%rcx), %rsi
+ xorq %rdi, %rsi
+ rolq $2, %rsi
+ movq %r8, %rdi
+ notq %rdi
+ andq %r9, %rdi
+ xorq %rbx, %rdi
+ movq %rdi, 160(%rdx)
+ movq %r9, %rdi
+ notq %rdi
+ andq %r10, %rdi
+ xorq %r8, %rdi
+ movq %rdi, 168(%rdx)
+ movq %r10, %rdi
+ notq %rdi
+ andq %rsi, %rdi
+ xorq %r9, %rdi
+ movq %rdi, 176(%rdx)
+ movq %rsi, %rdi
+ notq %rdi
+ andq %rbx, %rdi
+ xorq %r10, %rdi
+ movq %rdi, 184(%rdx)
+ notq %rbx
+ andq %r8, %rbx
+ xorq %rsi, %rbx
+ movq %rbx, 192(%rdx)
+ movq 8(%rsp), %rsi
+ movq 8(%rsi,%r11,8), %rsi
+ movq %rsi, 24(%rsp)
+ movq (%rdx), %r10
+ movq 8(%rdx), %r9
+ movq 16(%rdx), %r11
+ movq 24(%rdx), %rbx
+ movq 32(%rdx), %rbp
+ xorq 40(%rdx), %r10
+ xorq 48(%rdx), %r9
+ xorq 56(%rdx), %r11
+ xorq 64(%rdx), %rbx
+ xorq 72(%rdx), %rbp
+ xorq 80(%rdx), %r10
+ xorq 88(%rdx), %r9
+ xorq 96(%rdx), %r11
+ xorq 104(%rdx), %rbx
+ xorq 112(%rdx), %rbp
+ xorq 120(%rdx), %r10
+ xorq 128(%rdx), %r9
+ xorq 136(%rdx), %r11
+ xorq 144(%rdx), %rbx
+ xorq 152(%rdx), %rbp
+ xorq 160(%rdx), %r10
+ xorq 168(%rdx), %r9
+ xorq 176(%rdx), %r11
+ xorq 184(%rdx), %rbx
+ xorq 192(%rdx), %rbp
+ movq %r9, %rsi
+ rolq $1, %rsi
+ xorq %rbp, %rsi
+ movq %r11, %rdi
+ rolq $1, %rdi
+ xorq %r10, %rdi
+ movq %rbx, %r8
+ rolq $1, %r8
+ xorq %r9, %r8
+ movq %rbp, %r9
+ rolq $1, %r9
+ xorq %r11, %r9
+ rolq $1, %r10
+ xorq %rbx, %r10
+ movq (%rdx), %r11
+ xorq %rsi, %r11
+ movq 48(%rdx), %rbx
+ xorq %rdi, %rbx
+ rolq $44, %rbx
+ movq 96(%rdx), %rbp
+ xorq %r8, %rbp
+ rolq $43, %rbp
+ movq 144(%rdx), %r12
+ xorq %r9, %r12
+ rolq $21, %r12
+ movq 192(%rdx), %r13
+ xorq %r10, %r13
+ rolq $14, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ xorq 24(%rsp), %r14
+ movq %r14, (%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 8(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 16(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 24(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 32(%rcx)
+ movq 24(%rdx), %r11
+ xorq %r9, %r11
+ rolq $28, %r11
+ movq 72(%rdx), %rbx
+ xorq %r10, %rbx
+ rolq $20, %rbx
+ movq 80(%rdx), %rbp
+ xorq %rsi, %rbp
+ rolq $3, %rbp
+ movq 128(%rdx), %r12
+ xorq %rdi, %r12
+ rolq $45, %r12
+ movq 176(%rdx), %r13
+ xorq %r8, %r13
+ rolq $61, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ movq %r14, 40(%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 48(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 56(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 64(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 72(%rcx)
+ movq 8(%rdx), %r11
+ xorq %rdi, %r11
+ rolq $1, %r11
+ movq 56(%rdx), %rbx
+ xorq %r8, %rbx
+ rolq $6, %rbx
+ movq 104(%rdx), %rbp
+ xorq %r9, %rbp
+ rolq $25, %rbp
+ movq 152(%rdx), %r12
+ xorq %r10, %r12
+ rolq $8, %r12
+ movq 160(%rdx), %r13
+ xorq %rsi, %r13
+ rolq $18, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ movq %r14, 80(%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 88(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 96(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 104(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 112(%rcx)
+ movq 32(%rdx), %r11
+ xorq %r10, %r11
+ rolq $27, %r11
+ movq 40(%rdx), %rbx
+ xorq %rsi, %rbx
+ rolq $36, %rbx
+ movq 88(%rdx), %rbp
+ xorq %rdi, %rbp
+ rolq $10, %rbp
+ movq 136(%rdx), %r12
+ xorq %r8, %r12
+ rolq $15, %r12
+ movq 184(%rdx), %r13
+ xorq %r9, %r13
+ rolq $56, %r13
+ movq %rbx, %r14
+ notq %r14
+ andq %rbp, %r14
+ xorq %r11, %r14
+ movq %r14, 120(%rcx)
+ movq %rbp, %r14
+ notq %r14
+ andq %r12, %r14
+ xorq %rbx, %r14
+ movq %r14, 128(%rcx)
+ movq %r12, %r14
+ notq %r14
+ andq %r13, %r14
+ xorq %rbp, %r14
+ movq %r14, 136(%rcx)
+ movq %r13, %rbp
+ notq %rbp
+ andq %r11, %rbp
+ xorq %r12, %rbp
+ movq %rbp, 144(%rcx)
+ notq %r11
+ andq %rbx, %r11
+ xorq %r13, %r11
+ movq %r11, 152(%rcx)
+ movq 16(%rdx), %r11
+ xorq %r8, %r11
+ rolq $62, %r11
+ movq 64(%rdx), %r8
+ xorq %r9, %r8
+ rolq $55, %r8
+ movq 112(%rdx), %r9
+ xorq %r10, %r9
+ rolq $39, %r9
+ movq 120(%rdx), %r10
+ xorq %rsi, %r10
+ rolq $41, %r10
+ movq 168(%rdx), %rsi
+ xorq %rdi, %rsi
+ rolq $2, %rsi
+ movq %r8, %rdi
+ notq %rdi
+ andq %r9, %rdi
+ xorq %r11, %rdi
+ movq %rdi, 160(%rcx)
+ movq %r9, %rdi
+ notq %rdi
+ andq %r10, %rdi
+ xorq %r8, %rdi
+ movq %rdi, 168(%rcx)
+ movq %r10, %rdi
+ notq %rdi
+ andq %rsi, %rdi
+ xorq %r9, %rdi
+ movq %rdi, 176(%rcx)
+ movq %rsi, %rdi
+ notq %rdi
+ andq %r11, %rdi
+ xorq %r10, %rdi
+ movq %rdi, 184(%rcx)
+ notq %r11
+ andq %r8, %r11
+ xorq %rsi, %r11
+ movq %r11, 192(%rcx)
+ movq 16(%rsp), %r11
+ addq $2, %r11
+L_keccakf1600_ref1$2:
+ cmpq $23, %r11
+ jb L_keccakf1600_ref1$3
+ ret
+ .data
+ .p2align 5
+_glob_data:
+glob_data:
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -126
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -118
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -118
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -120
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 9
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -117
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -119
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 3
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 2
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 10
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -127
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -128
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .byte -128
+ .byte 0
+ .byte -128
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte -128
+ .byte -91
+ .byte 6
+ .byte 15
+ .byte 7
+ .byte -76
+ .byte 5
+ .byte 67
+ .byte 9
+ .byte 34
+ .byte 9
+ .byte 29
+ .byte 9
+ .byte 52
+ .byte 1
+ .byte 108
+ .byte 0
+ .byte 35
+ .byte 11
+ .byte 102
+ .byte 3
+ .byte 86
+ .byte 3
+ .byte -26
+ .byte 5
+ .byte -25
+ .byte 9
+ .byte -2
+ .byte 4
+ .byte -6
+ .byte 5
+ .byte -95
+ .byte 4
+ .byte 123
+ .byte 6
+ .byte -93
+ .byte 4
+ .byte 37
+ .byte 12
+ .byte 106
+ .byte 3
+ .byte 55
+ .byte 5
+ .byte 63
+ .byte 8
+ .byte -120
+ .byte 0
+ .byte -65
+ .byte 4
+ .byte -127
+ .byte 11
+ .byte -71
+ .byte 5
+ .byte 5
+ .byte 5
+ .byte -41
+ .byte 7
+ .byte -97
+ .byte 10
+ .byte -90
+ .byte 10
+ .byte -72
+ .byte 8
+ .byte -48
+ .byte 9
+ .byte 75
+ .byte 0
+ .byte -100
+ .byte 0
+ .byte -72
+ .byte 11
+ .byte 95
+ .byte 11
+ .byte -92
+ .byte 11
+ .byte 104
+ .byte 3
+ .byte 125
+ .byte 10
+ .byte 54
+ .byte 6
+ .byte -94
+ .byte 8
+ .byte 90
+ .byte 2
+ .byte 54
+ .byte 7
+ .byte 9
+ .byte 3
+ .byte -109
+ .byte 0
+ .byte 122
+ .byte 8
+ .byte -9
+ .byte 9
+ .byte -10
+ .byte 0
+ .byte -116
+ .byte 6
+ .byte -37
+ .byte 6
+ .byte -52
+ .byte 1
+ .byte 35
+ .byte 1
+ .byte -21
+ .byte 0
+ .byte 80
+ .byte 12
+ .byte -74
+ .byte 10
+ .byte 91
+ .byte 11
+ .byte -104
+ .byte 12
+ .byte -13
+ .byte 6
+ .byte -102
+ .byte 9
+ .byte -29
+ .byte 4
+ .byte -74
+ .byte 9
+ .byte -42
+ .byte 10
+ .byte 83
+ .byte 11
+ .byte 79
+ .byte 4
+ .byte -5
+ .byte 4
+ .byte 92
+ .byte 10
+ .byte 41
+ .byte 4
+ .byte 65
+ .byte 11
+ .byte -43
+ .byte 2
+ .byte -28
+ .byte 5
+ .byte 64
+ .byte 9
+ .byte -114
+ .byte 1
+ .byte -73
+ .byte 3
+ .byte -9
+ .byte 0
+ .byte -115
+ .byte 5
+ .byte -106
+ .byte 12
+ .byte -61
+ .byte 9
+ .byte 15
+ .byte 1
+ .byte 90
+ .byte 0
+ .byte 85
+ .byte 3
+ .byte 68
+ .byte 7
+ .byte -125
+ .byte 12
+ .byte -118
+ .byte 4
+ .byte 82
+ .byte 6
+ .byte -102
+ .byte 2
+ .byte 64
+ .byte 1
+ .byte 8
+ .byte 0
+ .byte -3
+ .byte 10
+ .byte 8
+ .byte 6
+ .byte 26
+ .byte 1
+ .byte 46
+ .byte 7
+ .byte 13
+ .byte 5
+ .byte 10
+ .byte 9
+ .byte 40
+ .byte 2
+ .byte 117
+ .byte 10
+ .byte 58
+ .byte 8
+ .byte 35
+ .byte 6
+ .byte -51
+ .byte 0
+ .byte 102
+ .byte 11
+ .byte 6
+ .byte 6
+ .byte -95
+ .byte 10
+ .byte 37
+ .byte 10
+ .byte 8
+ .byte 9
+ .byte -87
+ .byte 2
+ .byte -126
+ .byte 0
+ .byte 66
+ .byte 6
+ .byte 79
+ .byte 7
+ .byte 61
+ .byte 3
+ .byte -126
+ .byte 11
+ .byte -7
+ .byte 11
+ .byte 45
+ .byte 5
+ .byte -60
+ .byte 10
+ .byte 69
+ .byte 7
+ .byte -62
+ .byte 5
+ .byte -78
+ .byte 4
+ .byte 63
+ .byte 9
+ .byte 75
+ .byte 12
+ .byte -40
+ .byte 6
+ .byte -109
+ .byte 10
+ .byte -85
+ .byte 0
+ .byte 55
+ .byte 12
+ .byte -30
+ .byte 11
+ .byte 115
+ .byte 7
+ .byte 44
+ .byte 7
+ .byte -19
+ .byte 5
+ .byte 103
+ .byte 1
+ .byte -10
+ .byte 2
+ .byte -95
+ .byte 5
+ .byte -19
+ .byte 8
+ .byte 11
+ .byte 10
+ .byte -102
+ .byte 11
+ .byte 20
+ .byte 7
+ .byte -43
+ .byte 5
+ .byte -114
+ .byte 5
+ .byte 31
+ .byte 1
+ .byte -54
+ .byte 0
+ .byte 86
+ .byte 12
+ .byte 110
+ .byte 2
+ .byte 41
+ .byte 6
+ .byte -74
+ .byte 0
+ .byte -62
+ .byte 3
+ .byte 79
+ .byte 8
+ .byte 63
+ .byte 7
+ .byte -68
+ .byte 5
+ .byte 61
+ .byte 2
+ .byte -44
+ .byte 7
+ .byte 8
+ .byte 1
+ .byte 127
+ .byte 1
+ .byte -60
+ .byte 9
+ .byte -78
+ .byte 5
+ .byte -65
+ .byte 6
+ .byte 127
+ .byte 12
+ .byte 88
+ .byte 10
+ .byte -7
+ .byte 3
+ .byte -36
+ .byte 2
+ .byte 96
+ .byte 2
+ .byte -5
+ .byte 6
+ .byte -101
+ .byte 1
+ .byte 52
+ .byte 12
+ .byte -34
+ .byte 6
+ .byte -57
+ .byte 4
+ .byte -116
+ .byte 2
+ .byte -39
+ .byte 10
+ .byte -9
+ .byte 3
+ .byte -12
+ .byte 7
+ .byte -45
+ .byte 5
+ .byte -25
+ .byte 11
+ .byte -7
+ .byte 6
+ .byte 4
+ .byte 2
+ .byte -7
+ .byte 12
+ .byte -63
+ .byte 11
+ .byte 103
+ .byte 10
+ .byte -81
+ .byte 6
+ .byte 119
+ .byte 8
+ .byte 126
+ .byte 0
+ .byte -67
+ .byte 5
+ .byte -84
+ .byte 9
+ .byte -89
+ .byte 12
+ .byte -14
+ .byte 11
+ .byte 62
+ .byte 3
+ .byte 107
+ .byte 0
+ .byte 116
+ .byte 7
+ .byte 10
+ .byte 12
+ .byte 74
+ .byte 9
+ .byte 115
+ .byte 11
+ .byte -63
+ .byte 3
+ .byte 29
+ .byte 7
+ .byte 44
+ .byte 10
+ .byte -64
+ .byte 1
+ .byte -40
+ .byte 8
+ .byte -91
+ .byte 2
+ .byte 6
+ .byte 8
+ .byte -78
+ .byte 8
+ .byte -82
+ .byte 1
+ .byte 43
+ .byte 2
+ .byte 75
+ .byte 3
+ .byte 30
+ .byte 8
+ .byte 103
+ .byte 3
+ .byte 14
+ .byte 6
+ .byte 105
+ .byte 0
+ .byte -90
+ .byte 1
+ .byte 75
+ .byte 2
+ .byte -79
+ .byte 0
+ .byte 22
+ .byte 12
+ .byte -34
+ .byte 11
+ .byte 53
+ .byte 11
+ .byte 38
+ .byte 6
+ .byte 117
+ .byte 6
+ .byte 11
+ .byte 12
+ .byte 10
+ .byte 3
+ .byte -121
+ .byte 4
+ .byte 110
+ .byte 12
+ .byte -8
+ .byte 9
+ .byte -53
+ .byte 5
+ .byte -89
+ .byte 10
+ .byte 95
+ .byte 4
+ .byte -53
+ .byte 6
+ .byte -124
+ .byte 2
+ .byte -103
+ .byte 9
+ .byte 93
+ .byte 1
+ .byte -94
+ .byte 1
+ .byte 73
+ .byte 1
+ .byte 101
+ .byte 12
+ .byte -74
+ .byte 12
+ .byte 49
+ .byte 3
+ .byte 73
+ .byte 4
+ .byte 91
+ .byte 2
+ .byte 98
+ .byte 2
+ .byte 42
+ .byte 5
+ .byte -4
+ .byte 7
+ .byte 72
+ .byte 7
+ .byte -128
+ .byte 1
+ .byte 66
+ .byte 8
+ .byte 121
+ .byte 12
+ .byte -62
+ .byte 4
+ .byte -54
+ .byte 7
+ .byte -105
+ .byte 9
+ .byte -36
+ .byte 0
+ .byte 94
+ .byte 8
+ .byte -122
+ .byte 6
+ .byte 96
+ .byte 8
+ .byte 7
+ .byte 7
+ .byte 3
+ .byte 8
+ .byte 26
+ .byte 3
+ .byte 27
+ .byte 7
+ .byte -85
+ .byte 9
+ .byte -101
+ .byte 9
+ .byte -34
+ .byte 1
+ .byte -107
+ .byte 12
+ .byte -51
+ .byte 11
+ .byte -28
+ .byte 3
+ .byte -33
+ .byte 3
+ .byte -66
+ .byte 3
+ .byte 77
+ .byte 7
+ .byte -14
+ .byte 5
+ .byte 92
+ .byte 6
diff --git a/src/oqsconfig.h.cmake b/src/oqsconfig.h.cmake
index f16421fa4..f162d0666 100644
--- a/src/oqsconfig.h.cmake
+++ b/src/oqsconfig.h.cmake
@@ -201,6 +201,17 @@
#cmakedefine OQS_ENABLE_SIG_mayo_5_avx2 1
///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ALG_ENABLE_DEFINES_END
+///// OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ALG_ENABLE_DEFINES_START
+
+#cmakedefine01 OQS_LIBJADE_BUILD
+
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_KYBER 1
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_512 1
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2 1
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_768 1
+#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2 1
+///// OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ALG_ENABLE_DEFINES_END
+
#cmakedefine OQS_ENABLE_SIG_STFL_XMSS 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h10 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h16 1
diff --git a/tests/system_info.c b/tests/system_info.c
index 0b217d1ee..248d377cd 100644
--- a/tests/system_info.c
+++ b/tests/system_info.c
@@ -263,6 +263,9 @@ static void print_oqs_configuration(void) {
#ifdef OQS_DIST_BUILD
printf("OQS_DIST_BUILD ");
#endif
+#ifdef OQS_LIBJADE_BUILD
+ printf("OQS_LIBJADE_BUILD ");
+#endif
#ifdef OQS_BUILD_ONLY_LIB
printf("OQS_BUILD_ONLY_LIB "); // pretty much impossible to appear but added for completeness
#endif
diff --git a/tests/test_binary.py b/tests/test_binary.py
index 1c33093ae..53e114df0 100644
--- a/tests/test_binary.py
+++ b/tests/test_binary.py
@@ -33,7 +33,7 @@ def test_namespace():
symbols.append(line)
# ideally this would be just ['oqs', 'pqclean'], but contains exceptions (e.g., providing compat implementations of unavailable platform functions)
- namespaces = ['oqs', 'pqclean', 'keccak', 'pqcrystals', 'pqmayo', 'init', 'fini', 'seedexpander', '__x86.get_pc_thunk']
+ namespaces = ['oqs', 'pqclean', 'keccak', 'pqcrystals', 'pqmayo', 'init', 'fini', 'seedexpander', '__x86.get_pc_thunk', 'libjade', 'jade', '__jade', '__jasmin_syscall']
non_namespaced = []
for symbolstr in symbols: