Skip to content

Instantly share code, notes, and snippets.

@AlekseyCherepanov
Created March 9, 2015 19:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlekseyCherepanov/75b6621d3e5abb0c19d6 to your computer and use it in GitHub Desktop.
Save AlekseyCherepanov/75b6621d3e5abb0c19d6 to your computer and use it in GitHub Desktop.
raw-sha512 generated by john-devkit
/* rawSHA512_fmt_plug.c from John the Ripper */
/*
* This file is part of John the Ripper password cracker,
* Copyright (c) 2010 by Solar Designer
* based on rawMD4_fmt.c code, with trivial changes by groszek.
*
* Rewritten Spring 2013, JimF. SSE code added and released with the following terms:
* No copyright is claimed, and the software is hereby placed in the public domain.
* In case this attempt to disclaim copyright and place the software in the public
* domain is deemed null and void, then the software is Copyright (c) 2011 JimF
* and it is hereby released to the general public under the following
* terms:
*
* This software may be modified, redistributed, and used for any
* purpose, in source and binary forms, with or without modification.
*/
#pragma GCC diagnostic ignored "-Wdeclaration-after-statement"
#pragma GCC optimize 3
#if FMT_EXTERNS_H
extern struct fmt_main fmt_raw1_SHA512;
#elif FMT_REGISTERS_H
john_register_one(&fmt_raw1_SHA512);
#else
#if defined __XOP__
#include <x86intrin.h>
#elif defined __SSSE3__
#include <tmmintrin.h>
#endif
#include "arch.h"
#include "sha2.h"
#include "stdint.h"
#include "params.h"
#include "common.h"
#include "johnswap.h"
#include "formats.h"
/* %% generalize */
#undef MMX_COEF_SHA512
#define MMX_COEF_SHA512 (2 * 1)
#ifdef _OPENMP
#ifdef MMX_COEF_SHA512
#define OMP_SCALE 1024
#else
#define OMP_SCALE 2048
#endif
#include <omp.h>
#endif
#include "sse-intrinsics.h"
#include "memdbg.h"
/* from rawSHA512_ng_fmt_plug.c */
/* %% fixed, did not work, why? due to ULL for all constants? */
/* _mm_srli_epi64(x, ~n + 1), */
/* _mm_slli_epi64(x, 64 + n) */
#ifndef __XOP__
#define _mm_roti_epi64(x, n) \
( \
_mm_xor_si128 ( \
_mm_srli_epi64(x, n), \
_mm_slli_epi64(x, 64 - n) \
) \
)
#define _mm_cmov_si128(y, z, x) \
( \
_mm_xor_si128 (z, \
_mm_and_si128 (x, \
_mm_xor_si128 (y, z) \
) \
) \
)
#endif
#define FORMAT_LABEL "Raw-SHA512-my"
#define FORMAT_NAME ""
#define FORMAT_TAG "$SHA512$"
#define TAG_LENGTH (sizeof(FORMAT_TAG) - 1)
#ifdef MMX_COEF_SHA512
#define ALGORITHM_NAME SHA512_ALGORITHM_NAME
#else
#define ALGORITHM_NAME "32/" ARCH_BITS_STR " " SHA2_LIB
#endif
#define BENCHMARK_COMMENT ""
#define BENCHMARK_LENGTH -1
#ifdef MMX_COEF_SHA512
#define PLAINTEXT_LENGTH 111
#else
#define PLAINTEXT_LENGTH 125
#endif
#define CIPHERTEXT_LENGTH 128
#define BINARY_SIZE 64
#define BINARY_ALIGN MEM_ALIGN_WORD
#define SALT_SIZE 0
#define SALT_ALIGN 1
#define MIN_KEYS_PER_CRYPT 1
#ifdef MMX_COEF_SHA512
#define MAX_KEYS_PER_CRYPT MMX_COEF_SHA512
#else
#define MAX_KEYS_PER_CRYPT 1
#endif
static struct fmt_tests tests[] = {
{"f342aae82952db35b8e02c30115e3deed3d80fdfdadacab336f0ba51ac54e297291fa1d6b201d69a2bd77e2535280f17a54fa1e527abc6e2eddba79ad3be11c0", "epixoip"},
{FORMAT_TAG "f342aae82952db35b8e02c30115e3deed3d80fdfdadacab336f0ba51ac54e297291fa1d6b201d69a2bd77e2535280f17a54fa1e527abc6e2eddba79ad3be11c0", "epixoip"},
{"b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86", "password"},
{"2c80f4c2b3db6b677d328775be4d38c8d8cd9a4464c3b6273644fb148f855e3db51bc33b54f3f6fa1f5f52060509f0e4d350bb0c7f51947728303999c6eff446", "john-user"},
{"71ebcb1eccd7ea22bd8cebaec735a43f1f7164d003dacdeb06e0de4a6d9f64d123b00a45227db815081b1008d1a1bbad4c39bde770a2c23308ff1b09418dd7ed", "ALLCAPS"},
{"82244918c2e45fbaa00c7c7d52eb61f309a37e2f33ea1fba78e61b4140efa95731eec849de02ee16aa31c82848b51fb7b7fbae62f50df6e150a8a85e70fa740c", "TestTESTt3st"},
{"fa585d89c851dd338a70dcf535aa2a92fee7836dd6aff1226583e88e0996293f16bc009c652826e0fc5c706695a03cddce372f139eff4d13959da6f1f5d3eabe", "12345678"},
{FORMAT_TAG "fa585d89c851dd338a70dcf535aa2a92fee7836dd6aff1226583e88e0996293f16bc009c652826e0fc5c706695a03cddce372f139eff4d13959da6f1f5d3eabe", "12345678"},
{FORMAT_TAG "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e", ""},
{"c96f1c1260074832bd3068ddd29e733090285dfc65939555dbbcafb27834957d15d9c509481cc7df0e2a7e21429783ba573036b78f5284f9928b5fef02a791ef", "mot\xf6rhead"},
{"aa3b7bdd98ec44af1f395bbd5f7f27a5cd9569d794d032747323bf4b1521fbe7725875a68b440abdf0559de5015baf873bb9c01cae63ecea93ad547a7397416e", "12345678901234567890"},
{"db9981645857e59805132f7699e78bbcf39f69380a41aac8e6fa158a0593f2017ffe48764687aa855dae3023fcceefd51a1551d57730423df18503e80ba381ba", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},
{"7aba4411846c61b08b0f2282a8a4600232ace4dd96593c755ba9c9a4e7b780b8bdc437b5c55574b3e8409c7b511032f98ef120e25467678f0458643578eb60ff", "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901"},
// this one DOES NOT work for a 1 limb. Only 111 bytes max can be used, unless we do 2 sha512 limbs.
// {"a5fa73a3c9ca13df56c2cb3ae6f2e57671239a6b461ef5021a65d08f40336bfb458ec52a3003e1004f1a40d0706c27a9f4268fa4e1479382e2053c2b5b47b9b2", "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"},
#ifdef DEBUG //Special test cases.
{"12b03226a6d8be9c6e8cd5e55dc6c7920caaa39df14aab92d5e3ea9340d1c8a4d3d0b8e4314f1f6ef131ba4bf1ceb9186ab87c801af0d5c95b1befb8cedae2b9", "1234567890"},
{"eba392e2f2094d7ffe55a23dffc29c412abd47057a0823c6c149c9c759423afde56f0eef73ade8f79bc1d16a99cbc5e4995afd8c14adb49410ecd957aecc8d02", "123456789012345678901234567890"},
{"3a8529d8f0c7b1ad2fa54c944952829b718d5beb4ff9ba8f4a849e02fe9a272daf59ae3bd06dde6f01df863d87c8ba4ab016ac576b59a19078c26d8dbe63f79e", "1234567890123456789012345678901234567890"},
{"49c1faba580a55d6473f427174b62d8aa68f49958d70268eb8c7f258ba5bb089b7515891079451819aa4f8bf75b784dc156e7400ab0a04dfd2b75e46ef0a943e", "12345678901234567890123456789012345678901234567890"},
{"8c5b51368ec88e1b1c4a67aa9de0aa0919447e142a9c245d75db07bbd4d00962b19112adb9f2b52c0a7b29fe2de661a872f095b6a1670098e5c7fde4a3503896", "123456789012345678901234567890123456789012345678901"},
{"35ea7bc1d848db0f7ff49178392bf58acfae94bf74d77ae2d7e978df52aac250ff2560f9b98dc7726f0b8e05b25e5132074b470eb461c4ebb7b4d8bf9ef0d93f", "1234567890123456789012345678901234567890123456789012345"},
#endif
{NULL}
};
#ifdef MMX_COEF_SHA512
#define GETPOS(i, index) ( (index&(MMX_COEF_SHA512-1))*8 + ((i)&(0xffffffff-7))*MMX_COEF_SHA512 + (7-((i)&7)) + (index>>(MMX_COEF_SHA512>>1))*SHA512_BUF_SIZ*MMX_COEF_SHA512*8 )
static ARCH_WORD_64 (*saved_key)[SHA512_BUF_SIZ*MMX_COEF_SHA512];
static ARCH_WORD_64 (*crypt_out)[8*MMX_COEF_SHA512];
#else
static int (*saved_key_length);
static char (*saved_key)[PLAINTEXT_LENGTH + 1];
static ARCH_WORD_32 (*crypt_out)
[(BINARY_SIZE + sizeof(ARCH_WORD_32) - 1) / sizeof(ARCH_WORD_32)];
#endif
static void init(struct fmt_main *self)
{
#ifdef _OPENMP
int omp_t;
omp_t = omp_get_max_threads();
self->params.min_keys_per_crypt *= omp_t;
omp_t *= OMP_SCALE;
self->params.max_keys_per_crypt *= omp_t;
#endif
#ifndef MMX_COEF_SHA512
saved_key_length = mem_calloc_tiny(sizeof(*saved_key_length) * self->params.max_keys_per_crypt, MEM_ALIGN_WORD);
saved_key = mem_calloc_tiny(sizeof(*saved_key) * self->params.max_keys_per_crypt, MEM_ALIGN_WORD);
crypt_out = mem_calloc_tiny(sizeof(*crypt_out) * self->params.max_keys_per_crypt, MEM_ALIGN_WORD);
#else
saved_key = mem_calloc_tiny(sizeof(*saved_key) * self->params.max_keys_per_crypt/MMX_COEF_SHA512, MEM_ALIGN_SIMD);
crypt_out = mem_calloc_tiny(sizeof(*crypt_out) * self->params.max_keys_per_crypt/MMX_COEF_SHA512, MEM_ALIGN_SIMD);
#endif
}
static int valid(char *ciphertext, struct fmt_main *self)
{
char *p, *q;
p = ciphertext;
if (!strncmp(p, FORMAT_TAG, TAG_LENGTH))
p += 8;
q = p;
while (atoi16[ARCH_INDEX(*q)] != 0x7F)
q++;
return !*q && q - p == CIPHERTEXT_LENGTH;
}
static char *split(char *ciphertext, int index, struct fmt_main *self)
{
static char out[TAG_LENGTH + CIPHERTEXT_LENGTH + 1];
if (!strncmp(ciphertext, FORMAT_TAG, TAG_LENGTH))
ciphertext += TAG_LENGTH;
memcpy(out, FORMAT_TAG, TAG_LENGTH);
memcpy(out + TAG_LENGTH, ciphertext, CIPHERTEXT_LENGTH + 1);
strlwr(out + TAG_LENGTH);
return out;
}
static void *binary(char *ciphertext)
{
static unsigned char *out;
int i;
if (!out)
out = mem_alloc_tiny(BINARY_SIZE, MEM_ALIGN_WORD);
ciphertext += TAG_LENGTH;
for (i = 0; i < BINARY_SIZE; i++) {
out[i] = atoi16[ARCH_INDEX(ciphertext[i*2])] * 16 +
atoi16[ARCH_INDEX(ciphertext[i*2 + 1])];
}
#ifdef MMX_COEF_SHA512
alter_endianity_to_BE64 (out, BINARY_SIZE/8);
#endif
return out;
}
#ifdef MMX_COEF_SHA512
static int get_hash_0 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0xf; }
static int get_hash_1 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0xff; }
static int get_hash_2 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0xfff; }
static int get_hash_3 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0xffff; }
static int get_hash_4 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0xfffff; }
static int get_hash_5 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0xffffff; }
static int get_hash_6 (int index) { return crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)] & 0x7ffffff; }
#else
static int get_hash_0(int index) { return crypt_out[index][0] & 0xf; }
static int get_hash_1(int index) { return crypt_out[index][0] & 0xff; }
static int get_hash_2(int index) { return crypt_out[index][0] & 0xfff; }
static int get_hash_3(int index) { return crypt_out[index][0] & 0xffff; }
static int get_hash_4(int index) { return crypt_out[index][0] & 0xfffff; }
static int get_hash_5(int index) { return crypt_out[index][0] & 0xffffff; }
static int get_hash_6(int index) { return crypt_out[index][0] & 0x7ffffff; }
#endif
#ifdef MMX_COEF_SHA512
static void set_key(char *key, int index) {
const ARCH_WORD_64 *wkey = (ARCH_WORD_64*)key;
ARCH_WORD_64 *keybuffer = &((ARCH_WORD_64 *)saved_key)[(index&(MMX_COEF_SHA512-1)) + (index>>(MMX_COEF_SHA512>>1))*SHA512_BUF_SIZ*MMX_COEF_SHA512];
ARCH_WORD_64 *keybuf_word = keybuffer;
unsigned int len;
ARCH_WORD_64 temp;
len = 0;
while((unsigned char)(temp = *wkey++)) {
if (!(temp & 0xff00))
{
*keybuf_word = JOHNSWAP64((temp & 0xff) | (0x80 << 8));
len++;
goto key_cleaning;
}
if (!(temp & 0xff0000))
{
*keybuf_word = JOHNSWAP64((temp & 0xffff) | (0x80 << 16));
len+=2;
goto key_cleaning;
}
if (!(temp & 0xff000000))
{
*keybuf_word = JOHNSWAP64((temp & 0xffffff) | (0x80ULL << 24));
len+=3;
goto key_cleaning;
}
if (!(temp & 0xff00000000ULL))
{
*keybuf_word = JOHNSWAP64((temp & 0xffffffff) | (0x80ULL << 32));
len+=4;
goto key_cleaning;
}
if (!(temp & 0xff0000000000ULL))
{
*keybuf_word = JOHNSWAP64((temp & 0xffffffffffULL) | (0x80ULL << 40));
len+=5;
goto key_cleaning;
}
if (!(temp & 0xff000000000000ULL))
{
*keybuf_word = JOHNSWAP64((temp & 0xffffffffffffULL) | (0x80ULL << 48));
len+=6;
goto key_cleaning;
}
if (!(temp & 0xff00000000000000ULL))
{
*keybuf_word = JOHNSWAP64((temp & 0xffffffffffffffULL) | (0x80ULL << 56));
len+=7;
goto key_cleaning;
}
*keybuf_word = JOHNSWAP64(temp);
len += 8;
keybuf_word += MMX_COEF_SHA512;
}
*keybuf_word = 0x8000000000000000ULL;
key_cleaning:
keybuf_word += MMX_COEF_SHA512;
while(*keybuf_word) {
*keybuf_word = 0;
keybuf_word += MMX_COEF_SHA512;
}
keybuffer[15*MMX_COEF_SHA512] = len << 3;
}
#else
static void set_key(char *key, int index)
{
int len = strlen(key);
saved_key_length[index] = len;
if (len > PLAINTEXT_LENGTH)
len = saved_key_length[index] = PLAINTEXT_LENGTH;
memcpy(saved_key[index], key, len);
}
#endif
#ifdef MMX_COEF_SHA512
static char *get_key(int index) {
unsigned i;
ARCH_WORD_64 s;
static char out[PLAINTEXT_LENGTH + 1];
unsigned char *wucp = (unsigned char*)saved_key;
s = ((ARCH_WORD_64 *)saved_key)[15*MMX_COEF_SHA512 + (index&(MMX_COEF_SHA512-1)) + (index>>(MMX_COEF_SHA512>>1))*SHA512_BUF_SIZ*MMX_COEF_SHA512] >> 3;
for(i=0;i<(unsigned)s;i++)
out[i] = wucp[ GETPOS(i, index) ];
out[i] = 0;
return (char*) out;
}
#else
static char *get_key(int index)
{
saved_key[index][saved_key_length[index]] = 0;
return saved_key[index];
}
#endif
static int crypt_all(int *pcount, struct db_salt *salt)
{
int count = *pcount;
int index = 0;
#ifdef _OPENMP
#ifdef MMX_COEF_SHA512
int inc = MMX_COEF_SHA512;
#else
int inc = 1;
#endif
#pragma omp parallel for
for (index = 0; index < count; index += inc)
#endif
{
#ifdef MMX_COEF_SHA512
/* SSESHA512body(&saved_key[index/MMX_COEF_SHA512], crypt_out[index/MMX_COEF_SHA512], NULL, SSEi_MIXED_IN); */
/* int myindex; */
/* for (myindex = 0; myindex < MMX_COEF_SHA512; myindex++) { */
/* /\* int myi; *\/ */
/* /\* for (myi = 0; myi < 128; myi++) *\/ */
/* /\* printf("%02x", ((unsigned char*)saved_key)[myi]); *\/ */
__m128i b_var379 , b_var2741 , b_var2742 , b_var2413 , b_var761 , b_var763 , b_var762 , b_var2972 , b_var729 , b_var2939 , b_var2116 , b_var1422 , b_var926 , b_var2446 , b_var2842 , b_var279 , b_var2182 , b_var179 , b_var2180 , b_var2181 , b_var1191 , b_var1224 , b_var36 , b_var2577 , b_var2214 , b_var1225 , b_var2213 , b_var2445 , b_var2576 , b_var2543 , b_var361 , b_var2643 , b_var2380 , b_var1984 , b_var1455 , b_var1454 , b_var1456 , b_var563 , b_var1555 , b_var1753 , b_var565 , b_var564 , b_var893 , b_var1223 , b_var2743 , b_var1621 , b_var895 , b_var894 , b_var2807 , b_var2512 , b_var2578 , b_var161 , b_var1949 , b_var2809 , b_var2808 , b_var1587 , b_var1586 , b_var1851 , b_var1620 , b_var1852 , b_var1983 , b_var1982 , b_var1553 , b_var1421 , b_var961 , b_var960 , b_var1752 , b_var827 , b_var1751 , b_var2015 , b_var1291 , b_var1290 , b_var2248 , b_var828 , b_var829 , b_var1356 , b_var311 , b_var1355 , b_var927 , b_var2642 , b_var154 , b_var497 , b_var1916 , b_var1917 , b_var2873 , b_var254 , b_var1918 , b_var499 , b_var498 , b_var1357 , b_var2083 , b_var2082 , b_var2081 , b_var794 , b_var795 , b_var796 , b_var959 , b_var54 , b_var1025 , b_var1026 , b_var1027 , b_var2148 , b_var2149 , b_var1685 , b_var730 , b_var1687 , b_var2147 , b_var2412 , b_var2411 , b_var2974 , b_var2379 , b_var304 , b_var631 , b_var630 , b_var2710 , b_var1125 , b_var2940 , b_var2545 , b_var61 , b_var2247 , b_var386 , b_var2345 , b_var2776 , b_var1126 , b_var1059 , b_var1058 , b_var1192 , b_var1619 , b_var1423 , b_var431 , b_var728 , b_var433 , b_var432 , b_var2840 , b_var928 , b_var530 , b_var531 , b_var532 , b_var2049 , b_var336 , b_var1654 , b_var2708 , b_var2709 , b_var2874 , b_var2875 , b_var2610 , b_var2774 , b_var236 , b_var2611 , b_var2973 , b_var2016 , b_var2312 , b_var79 , b_var136 , b_var2477 , b_var2313 , b_var1289 , b_var1720 , b_var2510 , b_var2314 , b_var329 , b_var1522 , b_var286 , b_var2941 , b_var1389 , b_var1388 , b_var2676 , b_var2677 , b_var1785 , b_var1784 , b_var2478 , b_var1786 , b_var994 , b_var992 , b_var993 , b_var204 , b_var2609 , b_var129 , b_var2215 , b_var629 , b_var86 , b_var3005 , b_var3006 , b_var3007 , b_var1819 , b_var1818 , b_var1487 , b_var2544 , b_var1521 , b_var2246 , b_var1817 , b_var2115 , b_var2114 , b_var1390 , b_var1258 , b_var1653 , b_var1652 , b_var354 , b_var1520 , b_var1157 , b_var1257 , b_var1256 , b_var229 , b_var664 , b_var1158 , b_var598 , b_var2281 , b_var2280 , b_var662 , b_var663 , b_var1091 , b_var1159 , b_var1093 , b_var1092 , b_var211 , b_var597 , b_var2347 , b_var1883 , b_var2444 , b_var1884 , b_var1885 , b_var1950 , b_var596 , b_var2675 , b_var111 , b_var2279 , b_var1850 , b_var2048 , b_var1060 , b_var11 , b_var2378 , b_var1554 , b_var1190 , b_var1588 , b_var695 , b_var2346 , b_var697 , b_var696 , b_var2511 , b_var1686 , b_var4 , b_var1951 , b_var3038 , b_var2017 , b_var186 , b_var466 , b_var1124 , b_var464 , b_var465 , b_var2908 , b_var2906 , b_var2907 , b_var2479 , b_var1324 , b_var1323 , b_var1322 , b_var2775 , b_var104 , b_var1488 , b_var1489 , b_var2644 , b_var261 , b_var2841 , b_var862 , b_var860 , b_var861 , b_var1718 , b_var1719 , b_var29 , b_var2050 ;
int b_var102 , b_var2 , b_var77 , b_var227 , b_var277 , b_var127 , b_var327 , b_var202 , b_var177 , b_var252 , b_var27 , b_var152 , b_var377 , b_var52 , b_var352 , b_var302 ;
#define ror(a, b) (((a) << (64 - (b))) | ((a) >> (b)))
#define rol(a, b) (((a) >> (64 - (b))) | ((a) << (b)))
size_t i;
__m128i tmp;
#define sha512_var2 80ULL
__m128i sha512_var1[sha512_var2] ;
#define sha512_var3 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[0])))
#define sha512_var4 0ULL
sha512_var1[sha512_var4] = sha512_var3;
#define sha512_var5 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[1])))
#define sha512_var6 1ULL
sha512_var1[sha512_var6] = sha512_var5;
#define sha512_var7 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[2])))
#define sha512_var8 2ULL
sha512_var1[sha512_var8] = sha512_var7;
#define sha512_var9 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[3])))
#define sha512_var10 3ULL
sha512_var1[sha512_var10] = sha512_var9;
#define sha512_var11 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[4])))
#define sha512_var12 4ULL
sha512_var1[sha512_var12] = sha512_var11;
#define sha512_var13 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[5])))
#define sha512_var14 5ULL
sha512_var1[sha512_var14] = sha512_var13;
#define sha512_var15 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[6])))
#define sha512_var16 6ULL
sha512_var1[sha512_var16] = sha512_var15;
#define sha512_var17 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[7])))
#define sha512_var18 7ULL
sha512_var1[sha512_var18] = sha512_var17;
#define sha512_var19 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[8])))
#define sha512_var20 8ULL
sha512_var1[sha512_var20] = sha512_var19;
#define sha512_var21 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[9])))
#define sha512_var22 9ULL
sha512_var1[sha512_var22] = sha512_var21;
#define sha512_var23 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[10])))
#define sha512_var24 10ULL
sha512_var1[sha512_var24] = sha512_var23;
#define sha512_var25 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[11])))
#define sha512_var26 11ULL
sha512_var1[sha512_var26] = sha512_var25;
#define sha512_var27 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[12])))
#define sha512_var28 12ULL
sha512_var1[sha512_var28] = sha512_var27;
#define sha512_var29 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[13])))
#define sha512_var30 13ULL
sha512_var1[sha512_var30] = sha512_var29;
#define sha512_var31 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[14])))
#define sha512_var32 14ULL
sha512_var1[sha512_var32] = sha512_var31;
#define sha512_var33 (_mm_load_si128(&(((__m128i*)(saved_key[index/MMX_COEF_SHA512]))[15])))
#define sha512_var34 15ULL
sha512_var1[sha512_var34] = sha512_var33;
#define sha512_var36 _mm_set1_epi64x(7640891576956012808ULL)
#define sha512_var38 _mm_set1_epi64x(13503953896175478587ULL)
#define sha512_var40 _mm_set1_epi64x(4354685564936845355ULL)
#define sha512_var42 _mm_set1_epi64x(11912009170470909681ULL)
#define sha512_var44 _mm_set1_epi64x(5840696475078001361ULL)
#define sha512_var46 _mm_set1_epi64x(11170449401992604703ULL)
#define sha512_var48 _mm_set1_epi64x(2270897969802886507ULL)
#define sha512_var50 _mm_set1_epi64x(6620516959819538809ULL)
#define sha512_var51 _mm_set1_epi64x(4794697086780616226ULL)
#define sha512_var52 _mm_set1_epi64x(8158064640168781261ULL)
#define sha512_var53 _mm_set1_epi64x(13096744586834688815ULL)
#define sha512_var54 _mm_set1_epi64x(16840607885511220156ULL)
#define sha512_var55 _mm_set1_epi64x(4131703408338449720ULL)
#define sha512_var56 _mm_set1_epi64x(6480981068601479193ULL)
#define sha512_var57 _mm_set1_epi64x(10538285296894168987ULL)
#define sha512_var58 _mm_set1_epi64x(12329834152419229976ULL)
#define sha512_var59 _mm_set1_epi64x(15566598209576043074ULL)
#define sha512_var60 _mm_set1_epi64x(1334009975649890238ULL)
#define sha512_var61 _mm_set1_epi64x(2608012711638119052ULL)
#define sha512_var62 _mm_set1_epi64x(6128411473006802146ULL)
#define sha512_var63 _mm_set1_epi64x(8268148722764581231ULL)
#define sha512_var64 _mm_set1_epi64x(9286055187155687089ULL)
#define sha512_var65 _mm_set1_epi64x(11230858885718282805ULL)
#define sha512_var66 _mm_set1_epi64x(13951009754708518548ULL)
#define sha512_var67 _mm_set1_epi64x(16472876342353939154ULL)
#define sha512_var68 _mm_set1_epi64x(17275323862435702243ULL)
#define sha512_var69 _mm_set1_epi64x(1135362057144423861ULL)
#define sha512_var70 _mm_set1_epi64x(2597628984639134821ULL)
#define sha512_var71 _mm_set1_epi64x(3308224258029322869ULL)
#define sha512_var72 _mm_set1_epi64x(5365058923640841347ULL)
#define sha512_var73 _mm_set1_epi64x(6679025012923562964ULL)
#define sha512_var74 _mm_set1_epi64x(8573033837759648693ULL)
#define sha512_var75 _mm_set1_epi64x(10970295158949994411ULL)
#define sha512_var76 _mm_set1_epi64x(12119686244451234320ULL)
#define sha512_var77 _mm_set1_epi64x(12683024718118986047ULL)
#define sha512_var78 _mm_set1_epi64x(13788192230050041572ULL)
#define sha512_var79 _mm_set1_epi64x(14330467153632333762ULL)
#define sha512_var80 _mm_set1_epi64x(15395433587784984357ULL)
#define sha512_var81 _mm_set1_epi64x(489312712824947311ULL)
#define sha512_var82 _mm_set1_epi64x(1452737877330783856ULL)
#define sha512_var83 _mm_set1_epi64x(2861767655752347644ULL)
#define sha512_var84 _mm_set1_epi64x(3322285676063803686ULL)
#define sha512_var85 _mm_set1_epi64x(5560940570517711597ULL)
#define sha512_var86 _mm_set1_epi64x(5996557281743188959ULL)
#define sha512_var87 _mm_set1_epi64x(7280758554555802590ULL)
#define sha512_var88 _mm_set1_epi64x(8532644243296465576ULL)
#define sha512_var89 _mm_set1_epi64x(9350256976987008742ULL)
#define sha512_var90 _mm_set1_epi64x(10552545826968843579ULL)
#define sha512_var91 _mm_set1_epi64x(11727347734174303076ULL)
#define sha512_var92 _mm_set1_epi64x(12113106623233404929ULL)
#define sha512_var93 _mm_set1_epi64x(14000437183269869457ULL)
#define sha512_var94 _mm_set1_epi64x(14369950271660146224ULL)
#define sha512_var95 _mm_set1_epi64x(15101387698204529176ULL)
#define sha512_var96 _mm_set1_epi64x(15463397548674623760ULL)
#define sha512_var97 _mm_set1_epi64x(17586052441742319658ULL)
#define sha512_var98 _mm_set1_epi64x(1182934255886127544ULL)
#define sha512_var99 _mm_set1_epi64x(1847814050463011016ULL)
#define sha512_var100 _mm_set1_epi64x(2177327727835720531ULL)
#define sha512_var101 _mm_set1_epi64x(2830643537854262169ULL)
#define sha512_var102 _mm_set1_epi64x(3796741975233480872ULL)
#define sha512_var103 _mm_set1_epi64x(4115178125766777443ULL)
#define sha512_var104 _mm_set1_epi64x(5681478168544905931ULL)
#define sha512_var105 _mm_set1_epi64x(6601373596472566643ULL)
#define sha512_var106 _mm_set1_epi64x(7507060721942968483ULL)
#define sha512_var107 _mm_set1_epi64x(8399075790359081724ULL)
#define sha512_var108 _mm_set1_epi64x(8693463985226723168ULL)
#define sha512_var109 _mm_set1_epi64x(9568029438360202098ULL)
#define sha512_var110 _mm_set1_epi64x(10144078919501101548ULL)
#define sha512_var111 _mm_set1_epi64x(10430055236837252648ULL)
#define sha512_var112 _mm_set1_epi64x(11840083180663258601ULL)
#define sha512_var113 _mm_set1_epi64x(13761210420658862357ULL)
#define sha512_var114 _mm_set1_epi64x(14299343276471374635ULL)
#define sha512_var115 _mm_set1_epi64x(14566680578165727644ULL)
#define sha512_var116 _mm_set1_epi64x(15097957966210449927ULL)
#define sha512_var117 _mm_set1_epi64x(16922976911328602910ULL)
#define sha512_var118 _mm_set1_epi64x(17689382322260857208ULL)
#define sha512_var119 _mm_set1_epi64x(500013540394364858ULL)
#define sha512_var120 _mm_set1_epi64x(748580250866718886ULL)
#define sha512_var121 _mm_set1_epi64x(1242879168328830382ULL)
#define sha512_var122 _mm_set1_epi64x(1977374033974150939ULL)
#define sha512_var123 _mm_set1_epi64x(2944078676154940804ULL)
#define sha512_var124 _mm_set1_epi64x(3659926193048069267ULL)
#define sha512_var125 _mm_set1_epi64x(4368137639120453308ULL)
#define sha512_var126 _mm_set1_epi64x(4836135668995329356ULL)
#define sha512_var127 _mm_set1_epi64x(5532061633213252278ULL)
#define sha512_var128 _mm_set1_epi64x(6448918945643986474ULL)
#define sha512_var129 _mm_set1_epi64x(6902733635092675308ULL)
#define sha512_var130 _mm_set1_epi64x(7801388544844847127ULL)
#define sha512_var133 16ULL
#define sha512_var134 79ULL
setupW: (void)1;
size_t sha512_var132;
for (sha512_var132 = sha512_var133; sha512_var132 <= sha512_var134; sha512_var132 += 16) {
#define bconst_var1 0ULL
b_var2 = sha512_var132 + bconst_var1;
#define b_var3 (b_var2 - sha512_var34)
b_var4 = (sha512_var1[b_var3]);
#define b_var5 (_mm_roti_epi64(b_var4, sha512_var6))
#define b_var6 (_mm_roti_epi64(b_var4, sha512_var20))
#define b_var7 (_mm_xor_si128(b_var5, b_var6))
#define b_var8 (_mm_srli_epi64(b_var4, sha512_var18))
#define b_var9 (_mm_xor_si128(b_var7, b_var8))
#define b_var10 (b_var2 - sha512_var8)
b_var11 = (sha512_var1[b_var10]);
#define b_var12 19ULL
#define b_var13 (_mm_roti_epi64(b_var11, b_var12))
#define b_var14 61ULL
#define b_var15 (_mm_roti_epi64(b_var11, b_var14))
#define b_var16 (_mm_xor_si128(b_var13, b_var15))
#define b_var17 (_mm_srli_epi64(b_var11, sha512_var16))
#define b_var18 (_mm_xor_si128(b_var16, b_var17))
#define b_var19 (b_var2 - sha512_var133)
#define b_var20 ((sha512_var1[b_var19]))
#define b_var21 (_mm_add_epi64(b_var20, b_var9))
#define b_var22 (b_var2 - sha512_var18)
#define b_var23 ((sha512_var1[b_var22]))
#define b_var24 (_mm_add_epi64(b_var23, b_var18))
#define b_var25 (_mm_add_epi64(b_var21, b_var24))
sha512_var1[b_var2] = b_var25;
#define bconst_var26 1ULL
b_var27 = sha512_var132 + bconst_var26;
#define b_var28 (b_var27 - sha512_var34)
b_var29 = (sha512_var1[b_var28]);
#define b_var30 (_mm_roti_epi64(b_var29, sha512_var6))
#define b_var31 (_mm_roti_epi64(b_var29, sha512_var20))
#define b_var32 (_mm_xor_si128(b_var30, b_var31))
#define b_var33 (_mm_srli_epi64(b_var29, sha512_var18))
#define b_var34 (_mm_xor_si128(b_var32, b_var33))
#define b_var35 (b_var27 - sha512_var8)
b_var36 = (sha512_var1[b_var35]);
#define b_var37 19ULL
#define b_var38 (_mm_roti_epi64(b_var36, b_var37))
#define b_var39 61ULL
#define b_var40 (_mm_roti_epi64(b_var36, b_var39))
#define b_var41 (_mm_xor_si128(b_var38, b_var40))
#define b_var42 (_mm_srli_epi64(b_var36, sha512_var16))
#define b_var43 (_mm_xor_si128(b_var41, b_var42))
#define b_var44 (b_var27 - sha512_var133)
#define b_var45 ((sha512_var1[b_var44]))
#define b_var46 (_mm_add_epi64(b_var45, b_var34))
#define b_var47 (b_var27 - sha512_var18)
#define b_var48 ((sha512_var1[b_var47]))
#define b_var49 (_mm_add_epi64(b_var48, b_var43))
#define b_var50 (_mm_add_epi64(b_var46, b_var49))
sha512_var1[b_var27] = b_var50;
#define bconst_var51 2ULL
b_var52 = sha512_var132 + bconst_var51;
#define b_var53 (b_var52 - sha512_var34)
b_var54 = (sha512_var1[b_var53]);
#define b_var55 (_mm_roti_epi64(b_var54, sha512_var6))
#define b_var56 (_mm_roti_epi64(b_var54, sha512_var20))
#define b_var57 (_mm_xor_si128(b_var55, b_var56))
#define b_var58 (_mm_srli_epi64(b_var54, sha512_var18))
#define b_var59 (_mm_xor_si128(b_var57, b_var58))
#define b_var60 (b_var52 - sha512_var8)
b_var61 = (sha512_var1[b_var60]);
#define b_var62 19ULL
#define b_var63 (_mm_roti_epi64(b_var61, b_var62))
#define b_var64 61ULL
#define b_var65 (_mm_roti_epi64(b_var61, b_var64))
#define b_var66 (_mm_xor_si128(b_var63, b_var65))
#define b_var67 (_mm_srli_epi64(b_var61, sha512_var16))
#define b_var68 (_mm_xor_si128(b_var66, b_var67))
#define b_var69 (b_var52 - sha512_var133)
#define b_var70 ((sha512_var1[b_var69]))
#define b_var71 (_mm_add_epi64(b_var70, b_var59))
#define b_var72 (b_var52 - sha512_var18)
#define b_var73 ((sha512_var1[b_var72]))
#define b_var74 (_mm_add_epi64(b_var73, b_var68))
#define b_var75 (_mm_add_epi64(b_var71, b_var74))
sha512_var1[b_var52] = b_var75;
#define bconst_var76 3ULL
b_var77 = sha512_var132 + bconst_var76;
#define b_var78 (b_var77 - sha512_var34)
b_var79 = (sha512_var1[b_var78]);
#define b_var80 (_mm_roti_epi64(b_var79, sha512_var6))
#define b_var81 (_mm_roti_epi64(b_var79, sha512_var20))
#define b_var82 (_mm_xor_si128(b_var80, b_var81))
#define b_var83 (_mm_srli_epi64(b_var79, sha512_var18))
#define b_var84 (_mm_xor_si128(b_var82, b_var83))
#define b_var85 (b_var77 - sha512_var8)
b_var86 = (sha512_var1[b_var85]);
#define b_var87 19ULL
#define b_var88 (_mm_roti_epi64(b_var86, b_var87))
#define b_var89 61ULL
#define b_var90 (_mm_roti_epi64(b_var86, b_var89))
#define b_var91 (_mm_xor_si128(b_var88, b_var90))
#define b_var92 (_mm_srli_epi64(b_var86, sha512_var16))
#define b_var93 (_mm_xor_si128(b_var91, b_var92))
#define b_var94 (b_var77 - sha512_var133)
#define b_var95 ((sha512_var1[b_var94]))
#define b_var96 (_mm_add_epi64(b_var95, b_var84))
#define b_var97 (b_var77 - sha512_var18)
#define b_var98 ((sha512_var1[b_var97]))
#define b_var99 (_mm_add_epi64(b_var98, b_var93))
#define b_var100 (_mm_add_epi64(b_var96, b_var99))
sha512_var1[b_var77] = b_var100;
#define bconst_var101 4ULL
b_var102 = sha512_var132 + bconst_var101;
#define b_var103 (b_var102 - sha512_var34)
b_var104 = (sha512_var1[b_var103]);
#define b_var105 (_mm_roti_epi64(b_var104, sha512_var6))
#define b_var106 (_mm_roti_epi64(b_var104, sha512_var20))
#define b_var107 (_mm_xor_si128(b_var105, b_var106))
#define b_var108 (_mm_srli_epi64(b_var104, sha512_var18))
#define b_var109 (_mm_xor_si128(b_var107, b_var108))
#define b_var110 (b_var102 - sha512_var8)
b_var111 = (sha512_var1[b_var110]);
#define b_var112 19ULL
#define b_var113 (_mm_roti_epi64(b_var111, b_var112))
#define b_var114 61ULL
#define b_var115 (_mm_roti_epi64(b_var111, b_var114))
#define b_var116 (_mm_xor_si128(b_var113, b_var115))
#define b_var117 (_mm_srli_epi64(b_var111, sha512_var16))
#define b_var118 (_mm_xor_si128(b_var116, b_var117))
#define b_var119 (b_var102 - sha512_var133)
#define b_var120 ((sha512_var1[b_var119]))
#define b_var121 (_mm_add_epi64(b_var120, b_var109))
#define b_var122 (b_var102 - sha512_var18)
#define b_var123 ((sha512_var1[b_var122]))
#define b_var124 (_mm_add_epi64(b_var123, b_var118))
#define b_var125 (_mm_add_epi64(b_var121, b_var124))
sha512_var1[b_var102] = b_var125;
#define bconst_var126 5ULL
b_var127 = sha512_var132 + bconst_var126;
#define b_var128 (b_var127 - sha512_var34)
b_var129 = (sha512_var1[b_var128]);
#define b_var130 (_mm_roti_epi64(b_var129, sha512_var6))
#define b_var131 (_mm_roti_epi64(b_var129, sha512_var20))
#define b_var132 (_mm_xor_si128(b_var130, b_var131))
#define b_var133 (_mm_srli_epi64(b_var129, sha512_var18))
#define b_var134 (_mm_xor_si128(b_var132, b_var133))
#define b_var135 (b_var127 - sha512_var8)
b_var136 = (sha512_var1[b_var135]);
#define b_var137 19ULL
#define b_var138 (_mm_roti_epi64(b_var136, b_var137))
#define b_var139 61ULL
#define b_var140 (_mm_roti_epi64(b_var136, b_var139))
#define b_var141 (_mm_xor_si128(b_var138, b_var140))
#define b_var142 (_mm_srli_epi64(b_var136, sha512_var16))
#define b_var143 (_mm_xor_si128(b_var141, b_var142))
#define b_var144 (b_var127 - sha512_var133)
#define b_var145 ((sha512_var1[b_var144]))
#define b_var146 (_mm_add_epi64(b_var145, b_var134))
#define b_var147 (b_var127 - sha512_var18)
#define b_var148 ((sha512_var1[b_var147]))
#define b_var149 (_mm_add_epi64(b_var148, b_var143))
#define b_var150 (_mm_add_epi64(b_var146, b_var149))
sha512_var1[b_var127] = b_var150;
#define bconst_var151 6ULL
b_var152 = sha512_var132 + bconst_var151;
#define b_var153 (b_var152 - sha512_var34)
b_var154 = (sha512_var1[b_var153]);
#define b_var155 (_mm_roti_epi64(b_var154, sha512_var6))
#define b_var156 (_mm_roti_epi64(b_var154, sha512_var20))
#define b_var157 (_mm_xor_si128(b_var155, b_var156))
#define b_var158 (_mm_srli_epi64(b_var154, sha512_var18))
#define b_var159 (_mm_xor_si128(b_var157, b_var158))
#define b_var160 (b_var152 - sha512_var8)
b_var161 = (sha512_var1[b_var160]);
#define b_var162 19ULL
#define b_var163 (_mm_roti_epi64(b_var161, b_var162))
#define b_var164 61ULL
#define b_var165 (_mm_roti_epi64(b_var161, b_var164))
#define b_var166 (_mm_xor_si128(b_var163, b_var165))
#define b_var167 (_mm_srli_epi64(b_var161, sha512_var16))
#define b_var168 (_mm_xor_si128(b_var166, b_var167))
#define b_var169 (b_var152 - sha512_var133)
#define b_var170 ((sha512_var1[b_var169]))
#define b_var171 (_mm_add_epi64(b_var170, b_var159))
#define b_var172 (b_var152 - sha512_var18)
#define b_var173 ((sha512_var1[b_var172]))
#define b_var174 (_mm_add_epi64(b_var173, b_var168))
#define b_var175 (_mm_add_epi64(b_var171, b_var174))
sha512_var1[b_var152] = b_var175;
#define bconst_var176 7ULL
b_var177 = sha512_var132 + bconst_var176;
#define b_var178 (b_var177 - sha512_var34)
b_var179 = (sha512_var1[b_var178]);
#define b_var180 (_mm_roti_epi64(b_var179, sha512_var6))
#define b_var181 (_mm_roti_epi64(b_var179, sha512_var20))
#define b_var182 (_mm_xor_si128(b_var180, b_var181))
#define b_var183 (_mm_srli_epi64(b_var179, sha512_var18))
#define b_var184 (_mm_xor_si128(b_var182, b_var183))
#define b_var185 (b_var177 - sha512_var8)
b_var186 = (sha512_var1[b_var185]);
#define b_var187 19ULL
#define b_var188 (_mm_roti_epi64(b_var186, b_var187))
#define b_var189 61ULL
#define b_var190 (_mm_roti_epi64(b_var186, b_var189))
#define b_var191 (_mm_xor_si128(b_var188, b_var190))
#define b_var192 (_mm_srli_epi64(b_var186, sha512_var16))
#define b_var193 (_mm_xor_si128(b_var191, b_var192))
#define b_var194 (b_var177 - sha512_var133)
#define b_var195 ((sha512_var1[b_var194]))
#define b_var196 (_mm_add_epi64(b_var195, b_var184))
#define b_var197 (b_var177 - sha512_var18)
#define b_var198 ((sha512_var1[b_var197]))
#define b_var199 (_mm_add_epi64(b_var198, b_var193))
#define b_var200 (_mm_add_epi64(b_var196, b_var199))
sha512_var1[b_var177] = b_var200;
#define bconst_var201 8ULL
b_var202 = sha512_var132 + bconst_var201;
#define b_var203 (b_var202 - sha512_var34)
b_var204 = (sha512_var1[b_var203]);
#define b_var205 (_mm_roti_epi64(b_var204, sha512_var6))
#define b_var206 (_mm_roti_epi64(b_var204, sha512_var20))
#define b_var207 (_mm_xor_si128(b_var205, b_var206))
#define b_var208 (_mm_srli_epi64(b_var204, sha512_var18))
#define b_var209 (_mm_xor_si128(b_var207, b_var208))
#define b_var210 (b_var202 - sha512_var8)
b_var211 = (sha512_var1[b_var210]);
#define b_var212 19ULL
#define b_var213 (_mm_roti_epi64(b_var211, b_var212))
#define b_var214 61ULL
#define b_var215 (_mm_roti_epi64(b_var211, b_var214))
#define b_var216 (_mm_xor_si128(b_var213, b_var215))
#define b_var217 (_mm_srli_epi64(b_var211, sha512_var16))
#define b_var218 (_mm_xor_si128(b_var216, b_var217))
#define b_var219 (b_var202 - sha512_var133)
#define b_var220 ((sha512_var1[b_var219]))
#define b_var221 (_mm_add_epi64(b_var220, b_var209))
#define b_var222 (b_var202 - sha512_var18)
#define b_var223 ((sha512_var1[b_var222]))
#define b_var224 (_mm_add_epi64(b_var223, b_var218))
#define b_var225 (_mm_add_epi64(b_var221, b_var224))
sha512_var1[b_var202] = b_var225;
#define bconst_var226 9ULL
b_var227 = sha512_var132 + bconst_var226;
#define b_var228 (b_var227 - sha512_var34)
b_var229 = (sha512_var1[b_var228]);
#define b_var230 (_mm_roti_epi64(b_var229, sha512_var6))
#define b_var231 (_mm_roti_epi64(b_var229, sha512_var20))
#define b_var232 (_mm_xor_si128(b_var230, b_var231))
#define b_var233 (_mm_srli_epi64(b_var229, sha512_var18))
#define b_var234 (_mm_xor_si128(b_var232, b_var233))
#define b_var235 (b_var227 - sha512_var8)
b_var236 = (sha512_var1[b_var235]);
#define b_var237 19ULL
#define b_var238 (_mm_roti_epi64(b_var236, b_var237))
#define b_var239 61ULL
#define b_var240 (_mm_roti_epi64(b_var236, b_var239))
#define b_var241 (_mm_xor_si128(b_var238, b_var240))
#define b_var242 (_mm_srli_epi64(b_var236, sha512_var16))
#define b_var243 (_mm_xor_si128(b_var241, b_var242))
#define b_var244 (b_var227 - sha512_var133)
#define b_var245 ((sha512_var1[b_var244]))
#define b_var246 (_mm_add_epi64(b_var245, b_var234))
#define b_var247 (b_var227 - sha512_var18)
#define b_var248 ((sha512_var1[b_var247]))
#define b_var249 (_mm_add_epi64(b_var248, b_var243))
#define b_var250 (_mm_add_epi64(b_var246, b_var249))
sha512_var1[b_var227] = b_var250;
#define bconst_var251 10ULL
b_var252 = sha512_var132 + bconst_var251;
#define b_var253 (b_var252 - sha512_var34)
b_var254 = (sha512_var1[b_var253]);
#define b_var255 (_mm_roti_epi64(b_var254, sha512_var6))
#define b_var256 (_mm_roti_epi64(b_var254, sha512_var20))
#define b_var257 (_mm_xor_si128(b_var255, b_var256))
#define b_var258 (_mm_srli_epi64(b_var254, sha512_var18))
#define b_var259 (_mm_xor_si128(b_var257, b_var258))
#define b_var260 (b_var252 - sha512_var8)
b_var261 = (sha512_var1[b_var260]);
#define b_var262 19ULL
#define b_var263 (_mm_roti_epi64(b_var261, b_var262))
#define b_var264 61ULL
#define b_var265 (_mm_roti_epi64(b_var261, b_var264))
#define b_var266 (_mm_xor_si128(b_var263, b_var265))
#define b_var267 (_mm_srli_epi64(b_var261, sha512_var16))
#define b_var268 (_mm_xor_si128(b_var266, b_var267))
#define b_var269 (b_var252 - sha512_var133)
#define b_var270 ((sha512_var1[b_var269]))
#define b_var271 (_mm_add_epi64(b_var270, b_var259))
#define b_var272 (b_var252 - sha512_var18)
#define b_var273 ((sha512_var1[b_var272]))
#define b_var274 (_mm_add_epi64(b_var273, b_var268))
#define b_var275 (_mm_add_epi64(b_var271, b_var274))
sha512_var1[b_var252] = b_var275;
#define bconst_var276 11ULL
b_var277 = sha512_var132 + bconst_var276;
#define b_var278 (b_var277 - sha512_var34)
b_var279 = (sha512_var1[b_var278]);
#define b_var280 (_mm_roti_epi64(b_var279, sha512_var6))
#define b_var281 (_mm_roti_epi64(b_var279, sha512_var20))
#define b_var282 (_mm_xor_si128(b_var280, b_var281))
#define b_var283 (_mm_srli_epi64(b_var279, sha512_var18))
#define b_var284 (_mm_xor_si128(b_var282, b_var283))
#define b_var285 (b_var277 - sha512_var8)
b_var286 = (sha512_var1[b_var285]);
#define b_var287 19ULL
#define b_var288 (_mm_roti_epi64(b_var286, b_var287))
#define b_var289 61ULL
#define b_var290 (_mm_roti_epi64(b_var286, b_var289))
#define b_var291 (_mm_xor_si128(b_var288, b_var290))
#define b_var292 (_mm_srli_epi64(b_var286, sha512_var16))
#define b_var293 (_mm_xor_si128(b_var291, b_var292))
#define b_var294 (b_var277 - sha512_var133)
#define b_var295 ((sha512_var1[b_var294]))
#define b_var296 (_mm_add_epi64(b_var295, b_var284))
#define b_var297 (b_var277 - sha512_var18)
#define b_var298 ((sha512_var1[b_var297]))
#define b_var299 (_mm_add_epi64(b_var298, b_var293))
#define b_var300 (_mm_add_epi64(b_var296, b_var299))
sha512_var1[b_var277] = b_var300;
#define bconst_var301 12ULL
b_var302 = sha512_var132 + bconst_var301;
#define b_var303 (b_var302 - sha512_var34)
b_var304 = (sha512_var1[b_var303]);
#define b_var305 (_mm_roti_epi64(b_var304, sha512_var6))
#define b_var306 (_mm_roti_epi64(b_var304, sha512_var20))
#define b_var307 (_mm_xor_si128(b_var305, b_var306))
#define b_var308 (_mm_srli_epi64(b_var304, sha512_var18))
#define b_var309 (_mm_xor_si128(b_var307, b_var308))
#define b_var310 (b_var302 - sha512_var8)
b_var311 = (sha512_var1[b_var310]);
#define b_var312 19ULL
#define b_var313 (_mm_roti_epi64(b_var311, b_var312))
#define b_var314 61ULL
#define b_var315 (_mm_roti_epi64(b_var311, b_var314))
#define b_var316 (_mm_xor_si128(b_var313, b_var315))
#define b_var317 (_mm_srli_epi64(b_var311, sha512_var16))
#define b_var318 (_mm_xor_si128(b_var316, b_var317))
#define b_var319 (b_var302 - sha512_var133)
#define b_var320 ((sha512_var1[b_var319]))
#define b_var321 (_mm_add_epi64(b_var320, b_var309))
#define b_var322 (b_var302 - sha512_var18)
#define b_var323 ((sha512_var1[b_var322]))
#define b_var324 (_mm_add_epi64(b_var323, b_var318))
#define b_var325 (_mm_add_epi64(b_var321, b_var324))
sha512_var1[b_var302] = b_var325;
#define bconst_var326 13ULL
b_var327 = sha512_var132 + bconst_var326;
#define b_var328 (b_var327 - sha512_var34)
b_var329 = (sha512_var1[b_var328]);
#define b_var330 (_mm_roti_epi64(b_var329, sha512_var6))
#define b_var331 (_mm_roti_epi64(b_var329, sha512_var20))
#define b_var332 (_mm_xor_si128(b_var330, b_var331))
#define b_var333 (_mm_srli_epi64(b_var329, sha512_var18))
#define b_var334 (_mm_xor_si128(b_var332, b_var333))
#define b_var335 (b_var327 - sha512_var8)
b_var336 = (sha512_var1[b_var335]);
#define b_var337 19ULL
#define b_var338 (_mm_roti_epi64(b_var336, b_var337))
#define b_var339 61ULL
#define b_var340 (_mm_roti_epi64(b_var336, b_var339))
#define b_var341 (_mm_xor_si128(b_var338, b_var340))
#define b_var342 (_mm_srli_epi64(b_var336, sha512_var16))
#define b_var343 (_mm_xor_si128(b_var341, b_var342))
#define b_var344 (b_var327 - sha512_var133)
#define b_var345 ((sha512_var1[b_var344]))
#define b_var346 (_mm_add_epi64(b_var345, b_var334))
#define b_var347 (b_var327 - sha512_var18)
#define b_var348 ((sha512_var1[b_var347]))
#define b_var349 (_mm_add_epi64(b_var348, b_var343))
#define b_var350 (_mm_add_epi64(b_var346, b_var349))
sha512_var1[b_var327] = b_var350;
#define bconst_var351 14ULL
b_var352 = sha512_var132 + bconst_var351;
#define b_var353 (b_var352 - sha512_var34)
b_var354 = (sha512_var1[b_var353]);
#define b_var355 (_mm_roti_epi64(b_var354, sha512_var6))
#define b_var356 (_mm_roti_epi64(b_var354, sha512_var20))
#define b_var357 (_mm_xor_si128(b_var355, b_var356))
#define b_var358 (_mm_srli_epi64(b_var354, sha512_var18))
#define b_var359 (_mm_xor_si128(b_var357, b_var358))
#define b_var360 (b_var352 - sha512_var8)
b_var361 = (sha512_var1[b_var360]);
#define b_var362 19ULL
#define b_var363 (_mm_roti_epi64(b_var361, b_var362))
#define b_var364 61ULL
#define b_var365 (_mm_roti_epi64(b_var361, b_var364))
#define b_var366 (_mm_xor_si128(b_var363, b_var365))
#define b_var367 (_mm_srli_epi64(b_var361, sha512_var16))
#define b_var368 (_mm_xor_si128(b_var366, b_var367))
#define b_var369 (b_var352 - sha512_var133)
#define b_var370 ((sha512_var1[b_var369]))
#define b_var371 (_mm_add_epi64(b_var370, b_var359))
#define b_var372 (b_var352 - sha512_var18)
#define b_var373 ((sha512_var1[b_var372]))
#define b_var374 (_mm_add_epi64(b_var373, b_var368))
#define b_var375 (_mm_add_epi64(b_var371, b_var374))
sha512_var1[b_var352] = b_var375;
#define bconst_var376 15ULL
b_var377 = sha512_var132 + bconst_var376;
#define b_var378 (b_var377 - sha512_var34)
b_var379 = (sha512_var1[b_var378]);
#define b_var380 (_mm_roti_epi64(b_var379, sha512_var6))
#define b_var381 (_mm_roti_epi64(b_var379, sha512_var20))
#define b_var382 (_mm_xor_si128(b_var380, b_var381))
#define b_var383 (_mm_srli_epi64(b_var379, sha512_var18))
#define b_var384 (_mm_xor_si128(b_var382, b_var383))
#define b_var385 (b_var377 - sha512_var8)
b_var386 = (sha512_var1[b_var385]);
#define b_var387 19ULL
#define b_var388 (_mm_roti_epi64(b_var386, b_var387))
#define b_var389 61ULL
#define b_var390 (_mm_roti_epi64(b_var386, b_var389))
#define b_var391 (_mm_xor_si128(b_var388, b_var390))
#define b_var392 (_mm_srli_epi64(b_var386, sha512_var16))
#define b_var393 (_mm_xor_si128(b_var391, b_var392))
#define b_var394 (b_var377 - sha512_var133)
#define b_var395 ((sha512_var1[b_var394]))
#define b_var396 (_mm_add_epi64(b_var395, b_var384))
#define b_var397 (b_var377 - sha512_var18)
#define b_var398 ((sha512_var1[b_var397]))
#define b_var399 (_mm_add_epi64(b_var398, b_var393))
#define b_var400 (_mm_add_epi64(b_var396, b_var399))
sha512_var1[b_var377] = b_var400;
setupW_end: (void)1;
}
main: (void)1;
#define bconst_var401 0ULL
#define b_var402 28ULL
#define b_var403 (_mm_roti_epi64(sha512_var36, b_var402))
#define b_var404 34ULL
#define b_var405 (_mm_roti_epi64(sha512_var36, b_var404))
#define b_var406 (_mm_xor_si128(b_var403, b_var405))
#define b_var407 39ULL
#define b_var408 (_mm_roti_epi64(sha512_var36, b_var407))
#define b_var409 (_mm_xor_si128(b_var406, b_var408))
#define b_var410 (_mm_and_si128(sha512_var36, sha512_var38))
#define b_var411 (_mm_and_si128(sha512_var36, sha512_var40))
#define b_var412 (_mm_xor_si128(b_var410, b_var411))
#define b_var413 (_mm_and_si128(sha512_var38, sha512_var40))
#define b_var414 (_mm_xor_si128(b_var412, b_var413))
#define b_var415 (_mm_add_epi64(b_var409, b_var414))
#define b_var416 (_mm_roti_epi64(sha512_var44, sha512_var32))
#define b_var417 18ULL
#define b_var418 (_mm_roti_epi64(sha512_var44, b_var417))
#define b_var419 (_mm_xor_si128(b_var416, b_var418))
#define b_var420 41ULL
#define b_var421 (_mm_roti_epi64(sha512_var44, b_var420))
#define b_var422 (_mm_xor_si128(b_var419, b_var421))
#define b_var423 (_mm_and_si128(sha512_var44, sha512_var46))
#define b_var424 (_mm_andnot_si128(sha512_var44, sha512_var48))
#define b_var425 (_mm_xor_si128(b_var423, b_var424))
#define b_var426 (_mm_add_epi64(b_var422, b_var425))
#define b_var427 (_mm_add_epi64(sha512_var50, b_var426))
#define b_var429 ((sha512_var1[bconst_var401]))
#define b_var430 (_mm_add_epi64(sha512_var51, b_var429))
b_var431 = _mm_add_epi64(b_var427, b_var430);
b_var432 = _mm_add_epi64(sha512_var42, b_var431);
b_var433 = _mm_add_epi64(b_var431, b_var415);
#define bconst_var434 1ULL
#define b_var435 28ULL
#define b_var436 (_mm_roti_epi64(b_var433, b_var435))
#define b_var437 34ULL
#define b_var438 (_mm_roti_epi64(b_var433, b_var437))
#define b_var439 (_mm_xor_si128(b_var436, b_var438))
#define b_var440 39ULL
#define b_var441 (_mm_roti_epi64(b_var433, b_var440))
#define b_var442 (_mm_xor_si128(b_var439, b_var441))
#define b_var443 (_mm_and_si128(b_var433, sha512_var36))
#define b_var444 (_mm_and_si128(b_var433, sha512_var38))
#define b_var445 (_mm_xor_si128(b_var443, b_var444))
#define b_var446 (_mm_and_si128(sha512_var36, sha512_var38))
#define b_var447 (_mm_xor_si128(b_var445, b_var446))
#define b_var448 (_mm_add_epi64(b_var442, b_var447))
#define b_var449 (_mm_roti_epi64(b_var432, sha512_var32))
#define b_var450 18ULL
#define b_var451 (_mm_roti_epi64(b_var432, b_var450))
#define b_var452 (_mm_xor_si128(b_var449, b_var451))
#define b_var453 41ULL
#define b_var454 (_mm_roti_epi64(b_var432, b_var453))
#define b_var455 (_mm_xor_si128(b_var452, b_var454))
#define b_var456 (_mm_and_si128(b_var432, sha512_var44))
#define b_var457 (_mm_andnot_si128(b_var432, sha512_var46))
#define b_var458 (_mm_xor_si128(b_var456, b_var457))
#define b_var459 (_mm_add_epi64(b_var455, b_var458))
#define b_var460 (_mm_add_epi64(sha512_var48, b_var459))
#define b_var462 ((sha512_var1[bconst_var434]))
#define b_var463 (_mm_add_epi64(sha512_var52, b_var462))
b_var464 = _mm_add_epi64(b_var460, b_var463);
b_var465 = _mm_add_epi64(sha512_var40, b_var464);
b_var466 = _mm_add_epi64(b_var464, b_var448);
#define bconst_var467 2ULL
#define b_var468 28ULL
#define b_var469 (_mm_roti_epi64(b_var466, b_var468))
#define b_var470 34ULL
#define b_var471 (_mm_roti_epi64(b_var466, b_var470))
#define b_var472 (_mm_xor_si128(b_var469, b_var471))
#define b_var473 39ULL
#define b_var474 (_mm_roti_epi64(b_var466, b_var473))
#define b_var475 (_mm_xor_si128(b_var472, b_var474))
#define b_var476 (_mm_and_si128(b_var466, b_var433))
#define b_var477 (_mm_and_si128(b_var466, sha512_var36))
#define b_var478 (_mm_xor_si128(b_var476, b_var477))
#define b_var479 (_mm_and_si128(b_var433, sha512_var36))
#define b_var480 (_mm_xor_si128(b_var478, b_var479))
#define b_var481 (_mm_add_epi64(b_var475, b_var480))
#define b_var482 (_mm_roti_epi64(b_var465, sha512_var32))
#define b_var483 18ULL
#define b_var484 (_mm_roti_epi64(b_var465, b_var483))
#define b_var485 (_mm_xor_si128(b_var482, b_var484))
#define b_var486 41ULL
#define b_var487 (_mm_roti_epi64(b_var465, b_var486))
#define b_var488 (_mm_xor_si128(b_var485, b_var487))
#define b_var489 (_mm_and_si128(b_var465, b_var432))
#define b_var490 (_mm_andnot_si128(b_var465, sha512_var44))
#define b_var491 (_mm_xor_si128(b_var489, b_var490))
#define b_var492 (_mm_add_epi64(b_var488, b_var491))
#define b_var493 (_mm_add_epi64(sha512_var46, b_var492))
#define b_var495 ((sha512_var1[bconst_var467]))
#define b_var496 (_mm_add_epi64(sha512_var53, b_var495))
b_var497 = _mm_add_epi64(b_var493, b_var496);
b_var498 = _mm_add_epi64(sha512_var38, b_var497);
b_var499 = _mm_add_epi64(b_var497, b_var481);
#define bconst_var500 3ULL
#define b_var501 28ULL
#define b_var502 (_mm_roti_epi64(b_var499, b_var501))
#define b_var503 34ULL
#define b_var504 (_mm_roti_epi64(b_var499, b_var503))
#define b_var505 (_mm_xor_si128(b_var502, b_var504))
#define b_var506 39ULL
#define b_var507 (_mm_roti_epi64(b_var499, b_var506))
#define b_var508 (_mm_xor_si128(b_var505, b_var507))
#define b_var509 (_mm_and_si128(b_var499, b_var466))
#define b_var510 (_mm_and_si128(b_var499, b_var433))
#define b_var511 (_mm_xor_si128(b_var509, b_var510))
#define b_var512 (_mm_and_si128(b_var466, b_var433))
#define b_var513 (_mm_xor_si128(b_var511, b_var512))
#define b_var514 (_mm_add_epi64(b_var508, b_var513))
#define b_var515 (_mm_roti_epi64(b_var498, sha512_var32))
#define b_var516 18ULL
#define b_var517 (_mm_roti_epi64(b_var498, b_var516))
#define b_var518 (_mm_xor_si128(b_var515, b_var517))
#define b_var519 41ULL
#define b_var520 (_mm_roti_epi64(b_var498, b_var519))
#define b_var521 (_mm_xor_si128(b_var518, b_var520))
#define b_var522 (_mm_and_si128(b_var498, b_var465))
#define b_var523 (_mm_andnot_si128(b_var498, b_var432))
#define b_var524 (_mm_xor_si128(b_var522, b_var523))
#define b_var525 (_mm_add_epi64(b_var521, b_var524))
#define b_var526 (_mm_add_epi64(sha512_var44, b_var525))
#define b_var528 ((sha512_var1[bconst_var500]))
#define b_var529 (_mm_add_epi64(sha512_var54, b_var528))
b_var530 = _mm_add_epi64(b_var526, b_var529);
b_var531 = _mm_add_epi64(sha512_var36, b_var530);
b_var532 = _mm_add_epi64(b_var530, b_var514);
#define bconst_var533 4ULL
#define b_var534 28ULL
#define b_var535 (_mm_roti_epi64(b_var532, b_var534))
#define b_var536 34ULL
#define b_var537 (_mm_roti_epi64(b_var532, b_var536))
#define b_var538 (_mm_xor_si128(b_var535, b_var537))
#define b_var539 39ULL
#define b_var540 (_mm_roti_epi64(b_var532, b_var539))
#define b_var541 (_mm_xor_si128(b_var538, b_var540))
#define b_var542 (_mm_and_si128(b_var532, b_var499))
#define b_var543 (_mm_and_si128(b_var532, b_var466))
#define b_var544 (_mm_xor_si128(b_var542, b_var543))
#define b_var545 (_mm_and_si128(b_var499, b_var466))
#define b_var546 (_mm_xor_si128(b_var544, b_var545))
#define b_var547 (_mm_add_epi64(b_var541, b_var546))
#define b_var548 (_mm_roti_epi64(b_var531, sha512_var32))
#define b_var549 18ULL
#define b_var550 (_mm_roti_epi64(b_var531, b_var549))
#define b_var551 (_mm_xor_si128(b_var548, b_var550))
#define b_var552 41ULL
#define b_var553 (_mm_roti_epi64(b_var531, b_var552))
#define b_var554 (_mm_xor_si128(b_var551, b_var553))
#define b_var555 (_mm_and_si128(b_var531, b_var498))
#define b_var556 (_mm_andnot_si128(b_var531, b_var465))
#define b_var557 (_mm_xor_si128(b_var555, b_var556))
#define b_var558 (_mm_add_epi64(b_var554, b_var557))
#define b_var559 (_mm_add_epi64(b_var432, b_var558))
#define b_var561 ((sha512_var1[bconst_var533]))
#define b_var562 (_mm_add_epi64(sha512_var55, b_var561))
b_var563 = _mm_add_epi64(b_var559, b_var562);
b_var564 = _mm_add_epi64(b_var433, b_var563);
b_var565 = _mm_add_epi64(b_var563, b_var547);
#define bconst_var566 5ULL
#define b_var567 28ULL
#define b_var568 (_mm_roti_epi64(b_var565, b_var567))
#define b_var569 34ULL
#define b_var570 (_mm_roti_epi64(b_var565, b_var569))
#define b_var571 (_mm_xor_si128(b_var568, b_var570))
#define b_var572 39ULL
#define b_var573 (_mm_roti_epi64(b_var565, b_var572))
#define b_var574 (_mm_xor_si128(b_var571, b_var573))
#define b_var575 (_mm_and_si128(b_var565, b_var532))
#define b_var576 (_mm_and_si128(b_var565, b_var499))
#define b_var577 (_mm_xor_si128(b_var575, b_var576))
#define b_var578 (_mm_and_si128(b_var532, b_var499))
#define b_var579 (_mm_xor_si128(b_var577, b_var578))
#define b_var580 (_mm_add_epi64(b_var574, b_var579))
#define b_var581 (_mm_roti_epi64(b_var564, sha512_var32))
#define b_var582 18ULL
#define b_var583 (_mm_roti_epi64(b_var564, b_var582))
#define b_var584 (_mm_xor_si128(b_var581, b_var583))
#define b_var585 41ULL
#define b_var586 (_mm_roti_epi64(b_var564, b_var585))
#define b_var587 (_mm_xor_si128(b_var584, b_var586))
#define b_var588 (_mm_and_si128(b_var564, b_var531))
#define b_var589 (_mm_andnot_si128(b_var564, b_var498))
#define b_var590 (_mm_xor_si128(b_var588, b_var589))
#define b_var591 (_mm_add_epi64(b_var587, b_var590))
#define b_var592 (_mm_add_epi64(b_var465, b_var591))
#define b_var594 ((sha512_var1[bconst_var566]))
#define b_var595 (_mm_add_epi64(sha512_var56, b_var594))
b_var596 = _mm_add_epi64(b_var592, b_var595);
b_var597 = _mm_add_epi64(b_var466, b_var596);
b_var598 = _mm_add_epi64(b_var596, b_var580);
#define bconst_var599 6ULL
#define b_var600 28ULL
#define b_var601 (_mm_roti_epi64(b_var598, b_var600))
#define b_var602 34ULL
#define b_var603 (_mm_roti_epi64(b_var598, b_var602))
#define b_var604 (_mm_xor_si128(b_var601, b_var603))
#define b_var605 39ULL
#define b_var606 (_mm_roti_epi64(b_var598, b_var605))
#define b_var607 (_mm_xor_si128(b_var604, b_var606))
#define b_var608 (_mm_and_si128(b_var598, b_var565))
#define b_var609 (_mm_and_si128(b_var598, b_var532))
#define b_var610 (_mm_xor_si128(b_var608, b_var609))
#define b_var611 (_mm_and_si128(b_var565, b_var532))
#define b_var612 (_mm_xor_si128(b_var610, b_var611))
#define b_var613 (_mm_add_epi64(b_var607, b_var612))
#define b_var614 (_mm_roti_epi64(b_var597, sha512_var32))
#define b_var615 18ULL
#define b_var616 (_mm_roti_epi64(b_var597, b_var615))
#define b_var617 (_mm_xor_si128(b_var614, b_var616))
#define b_var618 41ULL
#define b_var619 (_mm_roti_epi64(b_var597, b_var618))
#define b_var620 (_mm_xor_si128(b_var617, b_var619))
#define b_var621 (_mm_and_si128(b_var597, b_var564))
#define b_var622 (_mm_andnot_si128(b_var597, b_var531))
#define b_var623 (_mm_xor_si128(b_var621, b_var622))
#define b_var624 (_mm_add_epi64(b_var620, b_var623))
#define b_var625 (_mm_add_epi64(b_var498, b_var624))
#define b_var627 ((sha512_var1[bconst_var599]))
#define b_var628 (_mm_add_epi64(sha512_var57, b_var627))
b_var629 = _mm_add_epi64(b_var625, b_var628);
b_var630 = _mm_add_epi64(b_var499, b_var629);
b_var631 = _mm_add_epi64(b_var629, b_var613);
#define bconst_var632 7ULL
#define b_var633 28ULL
#define b_var634 (_mm_roti_epi64(b_var631, b_var633))
#define b_var635 34ULL
#define b_var636 (_mm_roti_epi64(b_var631, b_var635))
#define b_var637 (_mm_xor_si128(b_var634, b_var636))
#define b_var638 39ULL
#define b_var639 (_mm_roti_epi64(b_var631, b_var638))
#define b_var640 (_mm_xor_si128(b_var637, b_var639))
#define b_var641 (_mm_and_si128(b_var631, b_var598))
#define b_var642 (_mm_and_si128(b_var631, b_var565))
#define b_var643 (_mm_xor_si128(b_var641, b_var642))
#define b_var644 (_mm_and_si128(b_var598, b_var565))
#define b_var645 (_mm_xor_si128(b_var643, b_var644))
#define b_var646 (_mm_add_epi64(b_var640, b_var645))
#define b_var647 (_mm_roti_epi64(b_var630, sha512_var32))
#define b_var648 18ULL
#define b_var649 (_mm_roti_epi64(b_var630, b_var648))
#define b_var650 (_mm_xor_si128(b_var647, b_var649))
#define b_var651 41ULL
#define b_var652 (_mm_roti_epi64(b_var630, b_var651))
#define b_var653 (_mm_xor_si128(b_var650, b_var652))
#define b_var654 (_mm_and_si128(b_var630, b_var597))
#define b_var655 (_mm_andnot_si128(b_var630, b_var564))
#define b_var656 (_mm_xor_si128(b_var654, b_var655))
#define b_var657 (_mm_add_epi64(b_var653, b_var656))
#define b_var658 (_mm_add_epi64(b_var531, b_var657))
#define b_var660 ((sha512_var1[bconst_var632]))
#define b_var661 (_mm_add_epi64(sha512_var58, b_var660))
b_var662 = _mm_add_epi64(b_var658, b_var661);
b_var663 = _mm_add_epi64(b_var532, b_var662);
b_var664 = _mm_add_epi64(b_var662, b_var646);
#define bconst_var665 8ULL
#define b_var666 28ULL
#define b_var667 (_mm_roti_epi64(b_var664, b_var666))
#define b_var668 34ULL
#define b_var669 (_mm_roti_epi64(b_var664, b_var668))
#define b_var670 (_mm_xor_si128(b_var667, b_var669))
#define b_var671 39ULL
#define b_var672 (_mm_roti_epi64(b_var664, b_var671))
#define b_var673 (_mm_xor_si128(b_var670, b_var672))
#define b_var674 (_mm_and_si128(b_var664, b_var631))
#define b_var675 (_mm_and_si128(b_var664, b_var598))
#define b_var676 (_mm_xor_si128(b_var674, b_var675))
#define b_var677 (_mm_and_si128(b_var631, b_var598))
#define b_var678 (_mm_xor_si128(b_var676, b_var677))
#define b_var679 (_mm_add_epi64(b_var673, b_var678))
#define b_var680 (_mm_roti_epi64(b_var663, sha512_var32))
#define b_var681 18ULL
#define b_var682 (_mm_roti_epi64(b_var663, b_var681))
#define b_var683 (_mm_xor_si128(b_var680, b_var682))
#define b_var684 41ULL
#define b_var685 (_mm_roti_epi64(b_var663, b_var684))
#define b_var686 (_mm_xor_si128(b_var683, b_var685))
#define b_var687 (_mm_and_si128(b_var663, b_var630))
#define b_var688 (_mm_andnot_si128(b_var663, b_var597))
#define b_var689 (_mm_xor_si128(b_var687, b_var688))
#define b_var690 (_mm_add_epi64(b_var686, b_var689))
#define b_var691 (_mm_add_epi64(b_var564, b_var690))
#define b_var693 ((sha512_var1[bconst_var665]))
#define b_var694 (_mm_add_epi64(sha512_var59, b_var693))
b_var695 = _mm_add_epi64(b_var691, b_var694);
b_var696 = _mm_add_epi64(b_var565, b_var695);
b_var697 = _mm_add_epi64(b_var695, b_var679);
#define bconst_var698 9ULL
#define b_var699 28ULL
#define b_var700 (_mm_roti_epi64(b_var697, b_var699))
#define b_var701 34ULL
#define b_var702 (_mm_roti_epi64(b_var697, b_var701))
#define b_var703 (_mm_xor_si128(b_var700, b_var702))
#define b_var704 39ULL
#define b_var705 (_mm_roti_epi64(b_var697, b_var704))
#define b_var706 (_mm_xor_si128(b_var703, b_var705))
#define b_var707 (_mm_and_si128(b_var697, b_var664))
#define b_var708 (_mm_and_si128(b_var697, b_var631))
#define b_var709 (_mm_xor_si128(b_var707, b_var708))
#define b_var710 (_mm_and_si128(b_var664, b_var631))
#define b_var711 (_mm_xor_si128(b_var709, b_var710))
#define b_var712 (_mm_add_epi64(b_var706, b_var711))
#define b_var713 (_mm_roti_epi64(b_var696, sha512_var32))
#define b_var714 18ULL
#define b_var715 (_mm_roti_epi64(b_var696, b_var714))
#define b_var716 (_mm_xor_si128(b_var713, b_var715))
#define b_var717 41ULL
#define b_var718 (_mm_roti_epi64(b_var696, b_var717))
#define b_var719 (_mm_xor_si128(b_var716, b_var718))
#define b_var720 (_mm_and_si128(b_var696, b_var663))
#define b_var721 (_mm_andnot_si128(b_var696, b_var630))
#define b_var722 (_mm_xor_si128(b_var720, b_var721))
#define b_var723 (_mm_add_epi64(b_var719, b_var722))
#define b_var724 (_mm_add_epi64(b_var597, b_var723))
#define b_var726 ((sha512_var1[bconst_var698]))
#define b_var727 (_mm_add_epi64(sha512_var60, b_var726))
b_var728 = _mm_add_epi64(b_var724, b_var727);
b_var729 = _mm_add_epi64(b_var598, b_var728);
b_var730 = _mm_add_epi64(b_var728, b_var712);
#define bconst_var731 10ULL
#define b_var732 28ULL
#define b_var733 (_mm_roti_epi64(b_var730, b_var732))
#define b_var734 34ULL
#define b_var735 (_mm_roti_epi64(b_var730, b_var734))
#define b_var736 (_mm_xor_si128(b_var733, b_var735))
#define b_var737 39ULL
#define b_var738 (_mm_roti_epi64(b_var730, b_var737))
#define b_var739 (_mm_xor_si128(b_var736, b_var738))
#define b_var740 (_mm_and_si128(b_var730, b_var697))
#define b_var741 (_mm_and_si128(b_var730, b_var664))
#define b_var742 (_mm_xor_si128(b_var740, b_var741))
#define b_var743 (_mm_and_si128(b_var697, b_var664))
#define b_var744 (_mm_xor_si128(b_var742, b_var743))
#define b_var745 (_mm_add_epi64(b_var739, b_var744))
#define b_var746 (_mm_roti_epi64(b_var729, sha512_var32))
#define b_var747 18ULL
#define b_var748 (_mm_roti_epi64(b_var729, b_var747))
#define b_var749 (_mm_xor_si128(b_var746, b_var748))
#define b_var750 41ULL
#define b_var751 (_mm_roti_epi64(b_var729, b_var750))
#define b_var752 (_mm_xor_si128(b_var749, b_var751))
#define b_var753 (_mm_and_si128(b_var729, b_var696))
#define b_var754 (_mm_andnot_si128(b_var729, b_var663))
#define b_var755 (_mm_xor_si128(b_var753, b_var754))
#define b_var756 (_mm_add_epi64(b_var752, b_var755))
#define b_var757 (_mm_add_epi64(b_var630, b_var756))
#define b_var759 ((sha512_var1[bconst_var731]))
#define b_var760 (_mm_add_epi64(sha512_var61, b_var759))
b_var761 = _mm_add_epi64(b_var757, b_var760);
b_var762 = _mm_add_epi64(b_var631, b_var761);
b_var763 = _mm_add_epi64(b_var761, b_var745);
#define bconst_var764 11ULL
#define b_var765 28ULL
#define b_var766 (_mm_roti_epi64(b_var763, b_var765))
#define b_var767 34ULL
#define b_var768 (_mm_roti_epi64(b_var763, b_var767))
#define b_var769 (_mm_xor_si128(b_var766, b_var768))
#define b_var770 39ULL
#define b_var771 (_mm_roti_epi64(b_var763, b_var770))
#define b_var772 (_mm_xor_si128(b_var769, b_var771))
#define b_var773 (_mm_and_si128(b_var763, b_var730))
#define b_var774 (_mm_and_si128(b_var763, b_var697))
#define b_var775 (_mm_xor_si128(b_var773, b_var774))
#define b_var776 (_mm_and_si128(b_var730, b_var697))
#define b_var777 (_mm_xor_si128(b_var775, b_var776))
#define b_var778 (_mm_add_epi64(b_var772, b_var777))
#define b_var779 (_mm_roti_epi64(b_var762, sha512_var32))
#define b_var780 18ULL
#define b_var781 (_mm_roti_epi64(b_var762, b_var780))
#define b_var782 (_mm_xor_si128(b_var779, b_var781))
#define b_var783 41ULL
#define b_var784 (_mm_roti_epi64(b_var762, b_var783))
#define b_var785 (_mm_xor_si128(b_var782, b_var784))
#define b_var786 (_mm_and_si128(b_var762, b_var729))
#define b_var787 (_mm_andnot_si128(b_var762, b_var696))
#define b_var788 (_mm_xor_si128(b_var786, b_var787))
#define b_var789 (_mm_add_epi64(b_var785, b_var788))
#define b_var790 (_mm_add_epi64(b_var663, b_var789))
#define b_var792 ((sha512_var1[bconst_var764]))
#define b_var793 (_mm_add_epi64(sha512_var62, b_var792))
b_var794 = _mm_add_epi64(b_var790, b_var793);
b_var795 = _mm_add_epi64(b_var664, b_var794);
b_var796 = _mm_add_epi64(b_var794, b_var778);
#define bconst_var797 12ULL
#define b_var798 28ULL
#define b_var799 (_mm_roti_epi64(b_var796, b_var798))
#define b_var800 34ULL
#define b_var801 (_mm_roti_epi64(b_var796, b_var800))
#define b_var802 (_mm_xor_si128(b_var799, b_var801))
#define b_var803 39ULL
#define b_var804 (_mm_roti_epi64(b_var796, b_var803))
#define b_var805 (_mm_xor_si128(b_var802, b_var804))
#define b_var806 (_mm_and_si128(b_var796, b_var763))
#define b_var807 (_mm_and_si128(b_var796, b_var730))
#define b_var808 (_mm_xor_si128(b_var806, b_var807))
#define b_var809 (_mm_and_si128(b_var763, b_var730))
#define b_var810 (_mm_xor_si128(b_var808, b_var809))
#define b_var811 (_mm_add_epi64(b_var805, b_var810))
#define b_var812 (_mm_roti_epi64(b_var795, sha512_var32))
#define b_var813 18ULL
#define b_var814 (_mm_roti_epi64(b_var795, b_var813))
#define b_var815 (_mm_xor_si128(b_var812, b_var814))
#define b_var816 41ULL
#define b_var817 (_mm_roti_epi64(b_var795, b_var816))
#define b_var818 (_mm_xor_si128(b_var815, b_var817))
#define b_var819 (_mm_and_si128(b_var795, b_var762))
#define b_var820 (_mm_andnot_si128(b_var795, b_var729))
#define b_var821 (_mm_xor_si128(b_var819, b_var820))
#define b_var822 (_mm_add_epi64(b_var818, b_var821))
#define b_var823 (_mm_add_epi64(b_var696, b_var822))
#define b_var825 ((sha512_var1[bconst_var797]))
#define b_var826 (_mm_add_epi64(sha512_var63, b_var825))
b_var827 = _mm_add_epi64(b_var823, b_var826);
b_var828 = _mm_add_epi64(b_var697, b_var827);
b_var829 = _mm_add_epi64(b_var827, b_var811);
#define bconst_var830 13ULL
#define b_var831 28ULL
#define b_var832 (_mm_roti_epi64(b_var829, b_var831))
#define b_var833 34ULL
#define b_var834 (_mm_roti_epi64(b_var829, b_var833))
#define b_var835 (_mm_xor_si128(b_var832, b_var834))
#define b_var836 39ULL
#define b_var837 (_mm_roti_epi64(b_var829, b_var836))
#define b_var838 (_mm_xor_si128(b_var835, b_var837))
#define b_var839 (_mm_and_si128(b_var829, b_var796))
#define b_var840 (_mm_and_si128(b_var829, b_var763))
#define b_var841 (_mm_xor_si128(b_var839, b_var840))
#define b_var842 (_mm_and_si128(b_var796, b_var763))
#define b_var843 (_mm_xor_si128(b_var841, b_var842))
#define b_var844 (_mm_add_epi64(b_var838, b_var843))
#define b_var845 (_mm_roti_epi64(b_var828, sha512_var32))
#define b_var846 18ULL
#define b_var847 (_mm_roti_epi64(b_var828, b_var846))
#define b_var848 (_mm_xor_si128(b_var845, b_var847))
#define b_var849 41ULL
#define b_var850 (_mm_roti_epi64(b_var828, b_var849))
#define b_var851 (_mm_xor_si128(b_var848, b_var850))
#define b_var852 (_mm_and_si128(b_var828, b_var795))
#define b_var853 (_mm_andnot_si128(b_var828, b_var762))
#define b_var854 (_mm_xor_si128(b_var852, b_var853))
#define b_var855 (_mm_add_epi64(b_var851, b_var854))
#define b_var856 (_mm_add_epi64(b_var729, b_var855))
#define b_var858 ((sha512_var1[bconst_var830]))
#define b_var859 (_mm_add_epi64(sha512_var64, b_var858))
b_var860 = _mm_add_epi64(b_var856, b_var859);
b_var861 = _mm_add_epi64(b_var730, b_var860);
b_var862 = _mm_add_epi64(b_var860, b_var844);
#define bconst_var863 14ULL
#define b_var864 28ULL
#define b_var865 (_mm_roti_epi64(b_var862, b_var864))
#define b_var866 34ULL
#define b_var867 (_mm_roti_epi64(b_var862, b_var866))
#define b_var868 (_mm_xor_si128(b_var865, b_var867))
#define b_var869 39ULL
#define b_var870 (_mm_roti_epi64(b_var862, b_var869))
#define b_var871 (_mm_xor_si128(b_var868, b_var870))
#define b_var872 (_mm_and_si128(b_var862, b_var829))
#define b_var873 (_mm_and_si128(b_var862, b_var796))
#define b_var874 (_mm_xor_si128(b_var872, b_var873))
#define b_var875 (_mm_and_si128(b_var829, b_var796))
#define b_var876 (_mm_xor_si128(b_var874, b_var875))
#define b_var877 (_mm_add_epi64(b_var871, b_var876))
#define b_var878 (_mm_roti_epi64(b_var861, sha512_var32))
#define b_var879 18ULL
#define b_var880 (_mm_roti_epi64(b_var861, b_var879))
#define b_var881 (_mm_xor_si128(b_var878, b_var880))
#define b_var882 41ULL
#define b_var883 (_mm_roti_epi64(b_var861, b_var882))
#define b_var884 (_mm_xor_si128(b_var881, b_var883))
#define b_var885 (_mm_and_si128(b_var861, b_var828))
#define b_var886 (_mm_andnot_si128(b_var861, b_var795))
#define b_var887 (_mm_xor_si128(b_var885, b_var886))
#define b_var888 (_mm_add_epi64(b_var884, b_var887))
#define b_var889 (_mm_add_epi64(b_var762, b_var888))
#define b_var891 ((sha512_var1[bconst_var863]))
#define b_var892 (_mm_add_epi64(sha512_var65, b_var891))
b_var893 = _mm_add_epi64(b_var889, b_var892);
b_var894 = _mm_add_epi64(b_var763, b_var893);
b_var895 = _mm_add_epi64(b_var893, b_var877);
#define bconst_var896 15ULL
#define b_var897 28ULL
#define b_var898 (_mm_roti_epi64(b_var895, b_var897))
#define b_var899 34ULL
#define b_var900 (_mm_roti_epi64(b_var895, b_var899))
#define b_var901 (_mm_xor_si128(b_var898, b_var900))
#define b_var902 39ULL
#define b_var903 (_mm_roti_epi64(b_var895, b_var902))
#define b_var904 (_mm_xor_si128(b_var901, b_var903))
#define b_var905 (_mm_and_si128(b_var895, b_var862))
#define b_var906 (_mm_and_si128(b_var895, b_var829))
#define b_var907 (_mm_xor_si128(b_var905, b_var906))
#define b_var908 (_mm_and_si128(b_var862, b_var829))
#define b_var909 (_mm_xor_si128(b_var907, b_var908))
#define b_var910 (_mm_add_epi64(b_var904, b_var909))
#define b_var911 (_mm_roti_epi64(b_var894, sha512_var32))
#define b_var912 18ULL
#define b_var913 (_mm_roti_epi64(b_var894, b_var912))
#define b_var914 (_mm_xor_si128(b_var911, b_var913))
#define b_var915 41ULL
#define b_var916 (_mm_roti_epi64(b_var894, b_var915))
#define b_var917 (_mm_xor_si128(b_var914, b_var916))
#define b_var918 (_mm_and_si128(b_var894, b_var861))
#define b_var919 (_mm_andnot_si128(b_var894, b_var828))
#define b_var920 (_mm_xor_si128(b_var918, b_var919))
#define b_var921 (_mm_add_epi64(b_var917, b_var920))
#define b_var922 (_mm_add_epi64(b_var795, b_var921))
#define b_var924 ((sha512_var1[bconst_var896]))
#define b_var925 (_mm_add_epi64(sha512_var66, b_var924))
b_var926 = _mm_add_epi64(b_var922, b_var925);
b_var927 = _mm_add_epi64(b_var796, b_var926);
b_var928 = _mm_add_epi64(b_var926, b_var910);
#define bconst_var929 16ULL
#define b_var930 28ULL
#define b_var931 (_mm_roti_epi64(b_var928, b_var930))
#define b_var932 34ULL
#define b_var933 (_mm_roti_epi64(b_var928, b_var932))
#define b_var934 (_mm_xor_si128(b_var931, b_var933))
#define b_var935 39ULL
#define b_var936 (_mm_roti_epi64(b_var928, b_var935))
#define b_var937 (_mm_xor_si128(b_var934, b_var936))
#define b_var938 (_mm_and_si128(b_var928, b_var895))
#define b_var939 (_mm_and_si128(b_var928, b_var862))
#define b_var940 (_mm_xor_si128(b_var938, b_var939))
#define b_var941 (_mm_and_si128(b_var895, b_var862))
#define b_var942 (_mm_xor_si128(b_var940, b_var941))
#define b_var943 (_mm_add_epi64(b_var937, b_var942))
#define b_var944 (_mm_roti_epi64(b_var927, sha512_var32))
#define b_var945 18ULL
#define b_var946 (_mm_roti_epi64(b_var927, b_var945))
#define b_var947 (_mm_xor_si128(b_var944, b_var946))
#define b_var948 41ULL
#define b_var949 (_mm_roti_epi64(b_var927, b_var948))
#define b_var950 (_mm_xor_si128(b_var947, b_var949))
#define b_var951 (_mm_and_si128(b_var927, b_var894))
#define b_var952 (_mm_andnot_si128(b_var927, b_var861))
#define b_var953 (_mm_xor_si128(b_var951, b_var952))
#define b_var954 (_mm_add_epi64(b_var950, b_var953))
#define b_var955 (_mm_add_epi64(b_var828, b_var954))
#define b_var957 ((sha512_var1[bconst_var929]))
#define b_var958 (_mm_add_epi64(sha512_var67, b_var957))
b_var959 = _mm_add_epi64(b_var955, b_var958);
b_var960 = _mm_add_epi64(b_var829, b_var959);
b_var961 = _mm_add_epi64(b_var959, b_var943);
#define bconst_var962 17ULL
#define b_var963 28ULL
#define b_var964 (_mm_roti_epi64(b_var961, b_var963))
#define b_var965 34ULL
#define b_var966 (_mm_roti_epi64(b_var961, b_var965))
#define b_var967 (_mm_xor_si128(b_var964, b_var966))
#define b_var968 39ULL
#define b_var969 (_mm_roti_epi64(b_var961, b_var968))
#define b_var970 (_mm_xor_si128(b_var967, b_var969))
#define b_var971 (_mm_and_si128(b_var961, b_var928))
#define b_var972 (_mm_and_si128(b_var961, b_var895))
#define b_var973 (_mm_xor_si128(b_var971, b_var972))
#define b_var974 (_mm_and_si128(b_var928, b_var895))
#define b_var975 (_mm_xor_si128(b_var973, b_var974))
#define b_var976 (_mm_add_epi64(b_var970, b_var975))
#define b_var977 (_mm_roti_epi64(b_var960, sha512_var32))
#define b_var978 18ULL
#define b_var979 (_mm_roti_epi64(b_var960, b_var978))
#define b_var980 (_mm_xor_si128(b_var977, b_var979))
#define b_var981 41ULL
#define b_var982 (_mm_roti_epi64(b_var960, b_var981))
#define b_var983 (_mm_xor_si128(b_var980, b_var982))
#define b_var984 (_mm_and_si128(b_var960, b_var927))
#define b_var985 (_mm_andnot_si128(b_var960, b_var894))
#define b_var986 (_mm_xor_si128(b_var984, b_var985))
#define b_var987 (_mm_add_epi64(b_var983, b_var986))
#define b_var988 (_mm_add_epi64(b_var861, b_var987))
#define b_var990 ((sha512_var1[bconst_var962]))
#define b_var991 (_mm_add_epi64(sha512_var68, b_var990))
b_var992 = _mm_add_epi64(b_var988, b_var991);
b_var993 = _mm_add_epi64(b_var862, b_var992);
b_var994 = _mm_add_epi64(b_var992, b_var976);
#define bconst_var995 18ULL
#define b_var996 28ULL
#define b_var997 (_mm_roti_epi64(b_var994, b_var996))
#define b_var998 34ULL
#define b_var999 (_mm_roti_epi64(b_var994, b_var998))
#define b_var1000 (_mm_xor_si128(b_var997, b_var999))
#define b_var1001 39ULL
#define b_var1002 (_mm_roti_epi64(b_var994, b_var1001))
#define b_var1003 (_mm_xor_si128(b_var1000, b_var1002))
#define b_var1004 (_mm_and_si128(b_var994, b_var961))
#define b_var1005 (_mm_and_si128(b_var994, b_var928))
#define b_var1006 (_mm_xor_si128(b_var1004, b_var1005))
#define b_var1007 (_mm_and_si128(b_var961, b_var928))
#define b_var1008 (_mm_xor_si128(b_var1006, b_var1007))
#define b_var1009 (_mm_add_epi64(b_var1003, b_var1008))
#define b_var1010 (_mm_roti_epi64(b_var993, sha512_var32))
#define b_var1011 18ULL
#define b_var1012 (_mm_roti_epi64(b_var993, b_var1011))
#define b_var1013 (_mm_xor_si128(b_var1010, b_var1012))
#define b_var1014 41ULL
#define b_var1015 (_mm_roti_epi64(b_var993, b_var1014))
#define b_var1016 (_mm_xor_si128(b_var1013, b_var1015))
#define b_var1017 (_mm_and_si128(b_var993, b_var960))
#define b_var1018 (_mm_andnot_si128(b_var993, b_var927))
#define b_var1019 (_mm_xor_si128(b_var1017, b_var1018))
#define b_var1020 (_mm_add_epi64(b_var1016, b_var1019))
#define b_var1021 (_mm_add_epi64(b_var894, b_var1020))
#define b_var1023 ((sha512_var1[bconst_var995]))
#define b_var1024 (_mm_add_epi64(sha512_var69, b_var1023))
b_var1025 = _mm_add_epi64(b_var1021, b_var1024);
b_var1026 = _mm_add_epi64(b_var895, b_var1025);
b_var1027 = _mm_add_epi64(b_var1025, b_var1009);
#define bconst_var1028 19ULL
#define b_var1029 28ULL
#define b_var1030 (_mm_roti_epi64(b_var1027, b_var1029))
#define b_var1031 34ULL
#define b_var1032 (_mm_roti_epi64(b_var1027, b_var1031))
#define b_var1033 (_mm_xor_si128(b_var1030, b_var1032))
#define b_var1034 39ULL
#define b_var1035 (_mm_roti_epi64(b_var1027, b_var1034))
#define b_var1036 (_mm_xor_si128(b_var1033, b_var1035))
#define b_var1037 (_mm_and_si128(b_var1027, b_var994))
#define b_var1038 (_mm_and_si128(b_var1027, b_var961))
#define b_var1039 (_mm_xor_si128(b_var1037, b_var1038))
#define b_var1040 (_mm_and_si128(b_var994, b_var961))
#define b_var1041 (_mm_xor_si128(b_var1039, b_var1040))
#define b_var1042 (_mm_add_epi64(b_var1036, b_var1041))
#define b_var1043 (_mm_roti_epi64(b_var1026, sha512_var32))
#define b_var1044 18ULL
#define b_var1045 (_mm_roti_epi64(b_var1026, b_var1044))
#define b_var1046 (_mm_xor_si128(b_var1043, b_var1045))
#define b_var1047 41ULL
#define b_var1048 (_mm_roti_epi64(b_var1026, b_var1047))
#define b_var1049 (_mm_xor_si128(b_var1046, b_var1048))
#define b_var1050 (_mm_and_si128(b_var1026, b_var993))
#define b_var1051 (_mm_andnot_si128(b_var1026, b_var960))
#define b_var1052 (_mm_xor_si128(b_var1050, b_var1051))
#define b_var1053 (_mm_add_epi64(b_var1049, b_var1052))
#define b_var1054 (_mm_add_epi64(b_var927, b_var1053))
#define b_var1056 ((sha512_var1[bconst_var1028]))
#define b_var1057 (_mm_add_epi64(sha512_var70, b_var1056))
b_var1058 = _mm_add_epi64(b_var1054, b_var1057);
b_var1059 = _mm_add_epi64(b_var928, b_var1058);
b_var1060 = _mm_add_epi64(b_var1058, b_var1042);
#define bconst_var1061 20ULL
#define b_var1062 28ULL
#define b_var1063 (_mm_roti_epi64(b_var1060, b_var1062))
#define b_var1064 34ULL
#define b_var1065 (_mm_roti_epi64(b_var1060, b_var1064))
#define b_var1066 (_mm_xor_si128(b_var1063, b_var1065))
#define b_var1067 39ULL
#define b_var1068 (_mm_roti_epi64(b_var1060, b_var1067))
#define b_var1069 (_mm_xor_si128(b_var1066, b_var1068))
#define b_var1070 (_mm_and_si128(b_var1060, b_var1027))
#define b_var1071 (_mm_and_si128(b_var1060, b_var994))
#define b_var1072 (_mm_xor_si128(b_var1070, b_var1071))
#define b_var1073 (_mm_and_si128(b_var1027, b_var994))
#define b_var1074 (_mm_xor_si128(b_var1072, b_var1073))
#define b_var1075 (_mm_add_epi64(b_var1069, b_var1074))
#define b_var1076 (_mm_roti_epi64(b_var1059, sha512_var32))
#define b_var1077 18ULL
#define b_var1078 (_mm_roti_epi64(b_var1059, b_var1077))
#define b_var1079 (_mm_xor_si128(b_var1076, b_var1078))
#define b_var1080 41ULL
#define b_var1081 (_mm_roti_epi64(b_var1059, b_var1080))
#define b_var1082 (_mm_xor_si128(b_var1079, b_var1081))
#define b_var1083 (_mm_and_si128(b_var1059, b_var1026))
#define b_var1084 (_mm_andnot_si128(b_var1059, b_var993))
#define b_var1085 (_mm_xor_si128(b_var1083, b_var1084))
#define b_var1086 (_mm_add_epi64(b_var1082, b_var1085))
#define b_var1087 (_mm_add_epi64(b_var960, b_var1086))
#define b_var1089 ((sha512_var1[bconst_var1061]))
#define b_var1090 (_mm_add_epi64(sha512_var71, b_var1089))
b_var1091 = _mm_add_epi64(b_var1087, b_var1090);
b_var1092 = _mm_add_epi64(b_var961, b_var1091);
b_var1093 = _mm_add_epi64(b_var1091, b_var1075);
#define bconst_var1094 21ULL
#define b_var1095 28ULL
#define b_var1096 (_mm_roti_epi64(b_var1093, b_var1095))
#define b_var1097 34ULL
#define b_var1098 (_mm_roti_epi64(b_var1093, b_var1097))
#define b_var1099 (_mm_xor_si128(b_var1096, b_var1098))
#define b_var1100 39ULL
#define b_var1101 (_mm_roti_epi64(b_var1093, b_var1100))
#define b_var1102 (_mm_xor_si128(b_var1099, b_var1101))
#define b_var1103 (_mm_and_si128(b_var1093, b_var1060))
#define b_var1104 (_mm_and_si128(b_var1093, b_var1027))
#define b_var1105 (_mm_xor_si128(b_var1103, b_var1104))
#define b_var1106 (_mm_and_si128(b_var1060, b_var1027))
#define b_var1107 (_mm_xor_si128(b_var1105, b_var1106))
#define b_var1108 (_mm_add_epi64(b_var1102, b_var1107))
#define b_var1109 (_mm_roti_epi64(b_var1092, sha512_var32))
#define b_var1110 18ULL
#define b_var1111 (_mm_roti_epi64(b_var1092, b_var1110))
#define b_var1112 (_mm_xor_si128(b_var1109, b_var1111))
#define b_var1113 41ULL
#define b_var1114 (_mm_roti_epi64(b_var1092, b_var1113))
#define b_var1115 (_mm_xor_si128(b_var1112, b_var1114))
#define b_var1116 (_mm_and_si128(b_var1092, b_var1059))
#define b_var1117 (_mm_andnot_si128(b_var1092, b_var1026))
#define b_var1118 (_mm_xor_si128(b_var1116, b_var1117))
#define b_var1119 (_mm_add_epi64(b_var1115, b_var1118))
#define b_var1120 (_mm_add_epi64(b_var993, b_var1119))
#define b_var1122 ((sha512_var1[bconst_var1094]))
#define b_var1123 (_mm_add_epi64(sha512_var72, b_var1122))
b_var1124 = _mm_add_epi64(b_var1120, b_var1123);
b_var1125 = _mm_add_epi64(b_var994, b_var1124);
b_var1126 = _mm_add_epi64(b_var1124, b_var1108);
#define bconst_var1127 22ULL
#define b_var1128 28ULL
#define b_var1129 (_mm_roti_epi64(b_var1126, b_var1128))
#define b_var1130 34ULL
#define b_var1131 (_mm_roti_epi64(b_var1126, b_var1130))
#define b_var1132 (_mm_xor_si128(b_var1129, b_var1131))
#define b_var1133 39ULL
#define b_var1134 (_mm_roti_epi64(b_var1126, b_var1133))
#define b_var1135 (_mm_xor_si128(b_var1132, b_var1134))
#define b_var1136 (_mm_and_si128(b_var1126, b_var1093))
#define b_var1137 (_mm_and_si128(b_var1126, b_var1060))
#define b_var1138 (_mm_xor_si128(b_var1136, b_var1137))
#define b_var1139 (_mm_and_si128(b_var1093, b_var1060))
#define b_var1140 (_mm_xor_si128(b_var1138, b_var1139))
#define b_var1141 (_mm_add_epi64(b_var1135, b_var1140))
#define b_var1142 (_mm_roti_epi64(b_var1125, sha512_var32))
#define b_var1143 18ULL
#define b_var1144 (_mm_roti_epi64(b_var1125, b_var1143))
#define b_var1145 (_mm_xor_si128(b_var1142, b_var1144))
#define b_var1146 41ULL
#define b_var1147 (_mm_roti_epi64(b_var1125, b_var1146))
#define b_var1148 (_mm_xor_si128(b_var1145, b_var1147))
#define b_var1149 (_mm_and_si128(b_var1125, b_var1092))
#define b_var1150 (_mm_andnot_si128(b_var1125, b_var1059))
#define b_var1151 (_mm_xor_si128(b_var1149, b_var1150))
#define b_var1152 (_mm_add_epi64(b_var1148, b_var1151))
#define b_var1153 (_mm_add_epi64(b_var1026, b_var1152))
#define b_var1155 ((sha512_var1[bconst_var1127]))
#define b_var1156 (_mm_add_epi64(sha512_var73, b_var1155))
b_var1157 = _mm_add_epi64(b_var1153, b_var1156);
b_var1158 = _mm_add_epi64(b_var1027, b_var1157);
b_var1159 = _mm_add_epi64(b_var1157, b_var1141);
#define bconst_var1160 23ULL
#define b_var1161 28ULL
#define b_var1162 (_mm_roti_epi64(b_var1159, b_var1161))
#define b_var1163 34ULL
#define b_var1164 (_mm_roti_epi64(b_var1159, b_var1163))
#define b_var1165 (_mm_xor_si128(b_var1162, b_var1164))
#define b_var1166 39ULL
#define b_var1167 (_mm_roti_epi64(b_var1159, b_var1166))
#define b_var1168 (_mm_xor_si128(b_var1165, b_var1167))
#define b_var1169 (_mm_and_si128(b_var1159, b_var1126))
#define b_var1170 (_mm_and_si128(b_var1159, b_var1093))
#define b_var1171 (_mm_xor_si128(b_var1169, b_var1170))
#define b_var1172 (_mm_and_si128(b_var1126, b_var1093))
#define b_var1173 (_mm_xor_si128(b_var1171, b_var1172))
#define b_var1174 (_mm_add_epi64(b_var1168, b_var1173))
#define b_var1175 (_mm_roti_epi64(b_var1158, sha512_var32))
#define b_var1176 18ULL
#define b_var1177 (_mm_roti_epi64(b_var1158, b_var1176))
#define b_var1178 (_mm_xor_si128(b_var1175, b_var1177))
#define b_var1179 41ULL
#define b_var1180 (_mm_roti_epi64(b_var1158, b_var1179))
#define b_var1181 (_mm_xor_si128(b_var1178, b_var1180))
#define b_var1182 (_mm_and_si128(b_var1158, b_var1125))
#define b_var1183 (_mm_andnot_si128(b_var1158, b_var1092))
#define b_var1184 (_mm_xor_si128(b_var1182, b_var1183))
#define b_var1185 (_mm_add_epi64(b_var1181, b_var1184))
#define b_var1186 (_mm_add_epi64(b_var1059, b_var1185))
#define b_var1188 ((sha512_var1[bconst_var1160]))
#define b_var1189 (_mm_add_epi64(sha512_var74, b_var1188))
b_var1190 = _mm_add_epi64(b_var1186, b_var1189);
b_var1191 = _mm_add_epi64(b_var1060, b_var1190);
b_var1192 = _mm_add_epi64(b_var1190, b_var1174);
#define bconst_var1193 24ULL
#define b_var1194 28ULL
#define b_var1195 (_mm_roti_epi64(b_var1192, b_var1194))
#define b_var1196 34ULL
#define b_var1197 (_mm_roti_epi64(b_var1192, b_var1196))
#define b_var1198 (_mm_xor_si128(b_var1195, b_var1197))
#define b_var1199 39ULL
#define b_var1200 (_mm_roti_epi64(b_var1192, b_var1199))
#define b_var1201 (_mm_xor_si128(b_var1198, b_var1200))
#define b_var1202 (_mm_and_si128(b_var1192, b_var1159))
#define b_var1203 (_mm_and_si128(b_var1192, b_var1126))
#define b_var1204 (_mm_xor_si128(b_var1202, b_var1203))
#define b_var1205 (_mm_and_si128(b_var1159, b_var1126))
#define b_var1206 (_mm_xor_si128(b_var1204, b_var1205))
#define b_var1207 (_mm_add_epi64(b_var1201, b_var1206))
#define b_var1208 (_mm_roti_epi64(b_var1191, sha512_var32))
#define b_var1209 18ULL
#define b_var1210 (_mm_roti_epi64(b_var1191, b_var1209))
#define b_var1211 (_mm_xor_si128(b_var1208, b_var1210))
#define b_var1212 41ULL
#define b_var1213 (_mm_roti_epi64(b_var1191, b_var1212))
#define b_var1214 (_mm_xor_si128(b_var1211, b_var1213))
#define b_var1215 (_mm_and_si128(b_var1191, b_var1158))
#define b_var1216 (_mm_andnot_si128(b_var1191, b_var1125))
#define b_var1217 (_mm_xor_si128(b_var1215, b_var1216))
#define b_var1218 (_mm_add_epi64(b_var1214, b_var1217))
#define b_var1219 (_mm_add_epi64(b_var1092, b_var1218))
#define b_var1221 ((sha512_var1[bconst_var1193]))
#define b_var1222 (_mm_add_epi64(sha512_var75, b_var1221))
b_var1223 = _mm_add_epi64(b_var1219, b_var1222);
b_var1224 = _mm_add_epi64(b_var1093, b_var1223);
b_var1225 = _mm_add_epi64(b_var1223, b_var1207);
#define bconst_var1226 25ULL
#define b_var1227 28ULL
#define b_var1228 (_mm_roti_epi64(b_var1225, b_var1227))
#define b_var1229 34ULL
#define b_var1230 (_mm_roti_epi64(b_var1225, b_var1229))
#define b_var1231 (_mm_xor_si128(b_var1228, b_var1230))
#define b_var1232 39ULL
#define b_var1233 (_mm_roti_epi64(b_var1225, b_var1232))
#define b_var1234 (_mm_xor_si128(b_var1231, b_var1233))
#define b_var1235 (_mm_and_si128(b_var1225, b_var1192))
#define b_var1236 (_mm_and_si128(b_var1225, b_var1159))
#define b_var1237 (_mm_xor_si128(b_var1235, b_var1236))
#define b_var1238 (_mm_and_si128(b_var1192, b_var1159))
#define b_var1239 (_mm_xor_si128(b_var1237, b_var1238))
#define b_var1240 (_mm_add_epi64(b_var1234, b_var1239))
#define b_var1241 (_mm_roti_epi64(b_var1224, sha512_var32))
#define b_var1242 18ULL
#define b_var1243 (_mm_roti_epi64(b_var1224, b_var1242))
#define b_var1244 (_mm_xor_si128(b_var1241, b_var1243))
#define b_var1245 41ULL
#define b_var1246 (_mm_roti_epi64(b_var1224, b_var1245))
#define b_var1247 (_mm_xor_si128(b_var1244, b_var1246))
#define b_var1248 (_mm_and_si128(b_var1224, b_var1191))
#define b_var1249 (_mm_andnot_si128(b_var1224, b_var1158))
#define b_var1250 (_mm_xor_si128(b_var1248, b_var1249))
#define b_var1251 (_mm_add_epi64(b_var1247, b_var1250))
#define b_var1252 (_mm_add_epi64(b_var1125, b_var1251))
#define b_var1254 ((sha512_var1[bconst_var1226]))
#define b_var1255 (_mm_add_epi64(sha512_var76, b_var1254))
b_var1256 = _mm_add_epi64(b_var1252, b_var1255);
b_var1257 = _mm_add_epi64(b_var1126, b_var1256);
b_var1258 = _mm_add_epi64(b_var1256, b_var1240);
#define bconst_var1259 26ULL
#define b_var1260 28ULL
#define b_var1261 (_mm_roti_epi64(b_var1258, b_var1260))
#define b_var1262 34ULL
#define b_var1263 (_mm_roti_epi64(b_var1258, b_var1262))
#define b_var1264 (_mm_xor_si128(b_var1261, b_var1263))
#define b_var1265 39ULL
#define b_var1266 (_mm_roti_epi64(b_var1258, b_var1265))
#define b_var1267 (_mm_xor_si128(b_var1264, b_var1266))
#define b_var1268 (_mm_and_si128(b_var1258, b_var1225))
#define b_var1269 (_mm_and_si128(b_var1258, b_var1192))
#define b_var1270 (_mm_xor_si128(b_var1268, b_var1269))
#define b_var1271 (_mm_and_si128(b_var1225, b_var1192))
#define b_var1272 (_mm_xor_si128(b_var1270, b_var1271))
#define b_var1273 (_mm_add_epi64(b_var1267, b_var1272))
#define b_var1274 (_mm_roti_epi64(b_var1257, sha512_var32))
#define b_var1275 18ULL
#define b_var1276 (_mm_roti_epi64(b_var1257, b_var1275))
#define b_var1277 (_mm_xor_si128(b_var1274, b_var1276))
#define b_var1278 41ULL
#define b_var1279 (_mm_roti_epi64(b_var1257, b_var1278))
#define b_var1280 (_mm_xor_si128(b_var1277, b_var1279))
#define b_var1281 (_mm_and_si128(b_var1257, b_var1224))
#define b_var1282 (_mm_andnot_si128(b_var1257, b_var1191))
#define b_var1283 (_mm_xor_si128(b_var1281, b_var1282))
#define b_var1284 (_mm_add_epi64(b_var1280, b_var1283))
#define b_var1285 (_mm_add_epi64(b_var1158, b_var1284))
#define b_var1287 ((sha512_var1[bconst_var1259]))
#define b_var1288 (_mm_add_epi64(sha512_var77, b_var1287))
b_var1289 = _mm_add_epi64(b_var1285, b_var1288);
b_var1290 = _mm_add_epi64(b_var1159, b_var1289);
b_var1291 = _mm_add_epi64(b_var1289, b_var1273);
#define bconst_var1292 27ULL
#define b_var1293 28ULL
#define b_var1294 (_mm_roti_epi64(b_var1291, b_var1293))
#define b_var1295 34ULL
#define b_var1296 (_mm_roti_epi64(b_var1291, b_var1295))
#define b_var1297 (_mm_xor_si128(b_var1294, b_var1296))
#define b_var1298 39ULL
#define b_var1299 (_mm_roti_epi64(b_var1291, b_var1298))
#define b_var1300 (_mm_xor_si128(b_var1297, b_var1299))
#define b_var1301 (_mm_and_si128(b_var1291, b_var1258))
#define b_var1302 (_mm_and_si128(b_var1291, b_var1225))
#define b_var1303 (_mm_xor_si128(b_var1301, b_var1302))
#define b_var1304 (_mm_and_si128(b_var1258, b_var1225))
#define b_var1305 (_mm_xor_si128(b_var1303, b_var1304))
#define b_var1306 (_mm_add_epi64(b_var1300, b_var1305))
#define b_var1307 (_mm_roti_epi64(b_var1290, sha512_var32))
#define b_var1308 18ULL
#define b_var1309 (_mm_roti_epi64(b_var1290, b_var1308))
#define b_var1310 (_mm_xor_si128(b_var1307, b_var1309))
#define b_var1311 41ULL
#define b_var1312 (_mm_roti_epi64(b_var1290, b_var1311))
#define b_var1313 (_mm_xor_si128(b_var1310, b_var1312))
#define b_var1314 (_mm_and_si128(b_var1290, b_var1257))
#define b_var1315 (_mm_andnot_si128(b_var1290, b_var1224))
#define b_var1316 (_mm_xor_si128(b_var1314, b_var1315))
#define b_var1317 (_mm_add_epi64(b_var1313, b_var1316))
#define b_var1318 (_mm_add_epi64(b_var1191, b_var1317))
#define b_var1320 ((sha512_var1[bconst_var1292]))
#define b_var1321 (_mm_add_epi64(sha512_var78, b_var1320))
b_var1322 = _mm_add_epi64(b_var1318, b_var1321);
b_var1323 = _mm_add_epi64(b_var1192, b_var1322);
b_var1324 = _mm_add_epi64(b_var1322, b_var1306);
#define bconst_var1325 28ULL
#define b_var1326 28ULL
#define b_var1327 (_mm_roti_epi64(b_var1324, b_var1326))
#define b_var1328 34ULL
#define b_var1329 (_mm_roti_epi64(b_var1324, b_var1328))
#define b_var1330 (_mm_xor_si128(b_var1327, b_var1329))
#define b_var1331 39ULL
#define b_var1332 (_mm_roti_epi64(b_var1324, b_var1331))
#define b_var1333 (_mm_xor_si128(b_var1330, b_var1332))
#define b_var1334 (_mm_and_si128(b_var1324, b_var1291))
#define b_var1335 (_mm_and_si128(b_var1324, b_var1258))
#define b_var1336 (_mm_xor_si128(b_var1334, b_var1335))
#define b_var1337 (_mm_and_si128(b_var1291, b_var1258))
#define b_var1338 (_mm_xor_si128(b_var1336, b_var1337))
#define b_var1339 (_mm_add_epi64(b_var1333, b_var1338))
#define b_var1340 (_mm_roti_epi64(b_var1323, sha512_var32))
#define b_var1341 18ULL
#define b_var1342 (_mm_roti_epi64(b_var1323, b_var1341))
#define b_var1343 (_mm_xor_si128(b_var1340, b_var1342))
#define b_var1344 41ULL
#define b_var1345 (_mm_roti_epi64(b_var1323, b_var1344))
#define b_var1346 (_mm_xor_si128(b_var1343, b_var1345))
#define b_var1347 (_mm_and_si128(b_var1323, b_var1290))
#define b_var1348 (_mm_andnot_si128(b_var1323, b_var1257))
#define b_var1349 (_mm_xor_si128(b_var1347, b_var1348))
#define b_var1350 (_mm_add_epi64(b_var1346, b_var1349))
#define b_var1351 (_mm_add_epi64(b_var1224, b_var1350))
#define b_var1353 ((sha512_var1[bconst_var1325]))
#define b_var1354 (_mm_add_epi64(sha512_var79, b_var1353))
b_var1355 = _mm_add_epi64(b_var1351, b_var1354);
b_var1356 = _mm_add_epi64(b_var1225, b_var1355);
b_var1357 = _mm_add_epi64(b_var1355, b_var1339);
#define bconst_var1358 29ULL
#define b_var1359 28ULL
#define b_var1360 (_mm_roti_epi64(b_var1357, b_var1359))
#define b_var1361 34ULL
#define b_var1362 (_mm_roti_epi64(b_var1357, b_var1361))
#define b_var1363 (_mm_xor_si128(b_var1360, b_var1362))
#define b_var1364 39ULL
#define b_var1365 (_mm_roti_epi64(b_var1357, b_var1364))
#define b_var1366 (_mm_xor_si128(b_var1363, b_var1365))
#define b_var1367 (_mm_and_si128(b_var1357, b_var1324))
#define b_var1368 (_mm_and_si128(b_var1357, b_var1291))
#define b_var1369 (_mm_xor_si128(b_var1367, b_var1368))
#define b_var1370 (_mm_and_si128(b_var1324, b_var1291))
#define b_var1371 (_mm_xor_si128(b_var1369, b_var1370))
#define b_var1372 (_mm_add_epi64(b_var1366, b_var1371))
#define b_var1373 (_mm_roti_epi64(b_var1356, sha512_var32))
#define b_var1374 18ULL
#define b_var1375 (_mm_roti_epi64(b_var1356, b_var1374))
#define b_var1376 (_mm_xor_si128(b_var1373, b_var1375))
#define b_var1377 41ULL
#define b_var1378 (_mm_roti_epi64(b_var1356, b_var1377))
#define b_var1379 (_mm_xor_si128(b_var1376, b_var1378))
#define b_var1380 (_mm_and_si128(b_var1356, b_var1323))
#define b_var1381 (_mm_andnot_si128(b_var1356, b_var1290))
#define b_var1382 (_mm_xor_si128(b_var1380, b_var1381))
#define b_var1383 (_mm_add_epi64(b_var1379, b_var1382))
#define b_var1384 (_mm_add_epi64(b_var1257, b_var1383))
#define b_var1386 ((sha512_var1[bconst_var1358]))
#define b_var1387 (_mm_add_epi64(sha512_var80, b_var1386))
b_var1388 = _mm_add_epi64(b_var1384, b_var1387);
b_var1389 = _mm_add_epi64(b_var1258, b_var1388);
b_var1390 = _mm_add_epi64(b_var1388, b_var1372);
#define bconst_var1391 30ULL
#define b_var1392 28ULL
#define b_var1393 (_mm_roti_epi64(b_var1390, b_var1392))
#define b_var1394 34ULL
#define b_var1395 (_mm_roti_epi64(b_var1390, b_var1394))
#define b_var1396 (_mm_xor_si128(b_var1393, b_var1395))
#define b_var1397 39ULL
#define b_var1398 (_mm_roti_epi64(b_var1390, b_var1397))
#define b_var1399 (_mm_xor_si128(b_var1396, b_var1398))
#define b_var1400 (_mm_and_si128(b_var1390, b_var1357))
#define b_var1401 (_mm_and_si128(b_var1390, b_var1324))
#define b_var1402 (_mm_xor_si128(b_var1400, b_var1401))
#define b_var1403 (_mm_and_si128(b_var1357, b_var1324))
#define b_var1404 (_mm_xor_si128(b_var1402, b_var1403))
#define b_var1405 (_mm_add_epi64(b_var1399, b_var1404))
#define b_var1406 (_mm_roti_epi64(b_var1389, sha512_var32))
#define b_var1407 18ULL
#define b_var1408 (_mm_roti_epi64(b_var1389, b_var1407))
#define b_var1409 (_mm_xor_si128(b_var1406, b_var1408))
#define b_var1410 41ULL
#define b_var1411 (_mm_roti_epi64(b_var1389, b_var1410))
#define b_var1412 (_mm_xor_si128(b_var1409, b_var1411))
#define b_var1413 (_mm_and_si128(b_var1389, b_var1356))
#define b_var1414 (_mm_andnot_si128(b_var1389, b_var1323))
#define b_var1415 (_mm_xor_si128(b_var1413, b_var1414))
#define b_var1416 (_mm_add_epi64(b_var1412, b_var1415))
#define b_var1417 (_mm_add_epi64(b_var1290, b_var1416))
#define b_var1419 ((sha512_var1[bconst_var1391]))
#define b_var1420 (_mm_add_epi64(sha512_var81, b_var1419))
b_var1421 = _mm_add_epi64(b_var1417, b_var1420);
b_var1422 = _mm_add_epi64(b_var1291, b_var1421);
b_var1423 = _mm_add_epi64(b_var1421, b_var1405);
#define bconst_var1424 31ULL
#define b_var1425 28ULL
#define b_var1426 (_mm_roti_epi64(b_var1423, b_var1425))
#define b_var1427 34ULL
#define b_var1428 (_mm_roti_epi64(b_var1423, b_var1427))
#define b_var1429 (_mm_xor_si128(b_var1426, b_var1428))
#define b_var1430 39ULL
#define b_var1431 (_mm_roti_epi64(b_var1423, b_var1430))
#define b_var1432 (_mm_xor_si128(b_var1429, b_var1431))
#define b_var1433 (_mm_and_si128(b_var1423, b_var1390))
#define b_var1434 (_mm_and_si128(b_var1423, b_var1357))
#define b_var1435 (_mm_xor_si128(b_var1433, b_var1434))
#define b_var1436 (_mm_and_si128(b_var1390, b_var1357))
#define b_var1437 (_mm_xor_si128(b_var1435, b_var1436))
#define b_var1438 (_mm_add_epi64(b_var1432, b_var1437))
#define b_var1439 (_mm_roti_epi64(b_var1422, sha512_var32))
#define b_var1440 18ULL
#define b_var1441 (_mm_roti_epi64(b_var1422, b_var1440))
#define b_var1442 (_mm_xor_si128(b_var1439, b_var1441))
#define b_var1443 41ULL
#define b_var1444 (_mm_roti_epi64(b_var1422, b_var1443))
#define b_var1445 (_mm_xor_si128(b_var1442, b_var1444))
#define b_var1446 (_mm_and_si128(b_var1422, b_var1389))
#define b_var1447 (_mm_andnot_si128(b_var1422, b_var1356))
#define b_var1448 (_mm_xor_si128(b_var1446, b_var1447))
#define b_var1449 (_mm_add_epi64(b_var1445, b_var1448))
#define b_var1450 (_mm_add_epi64(b_var1323, b_var1449))
#define b_var1452 ((sha512_var1[bconst_var1424]))
#define b_var1453 (_mm_add_epi64(sha512_var82, b_var1452))
b_var1454 = _mm_add_epi64(b_var1450, b_var1453);
b_var1455 = _mm_add_epi64(b_var1324, b_var1454);
b_var1456 = _mm_add_epi64(b_var1454, b_var1438);
#define bconst_var1457 32ULL
#define b_var1458 28ULL
#define b_var1459 (_mm_roti_epi64(b_var1456, b_var1458))
#define b_var1460 34ULL
#define b_var1461 (_mm_roti_epi64(b_var1456, b_var1460))
#define b_var1462 (_mm_xor_si128(b_var1459, b_var1461))
#define b_var1463 39ULL
#define b_var1464 (_mm_roti_epi64(b_var1456, b_var1463))
#define b_var1465 (_mm_xor_si128(b_var1462, b_var1464))
#define b_var1466 (_mm_and_si128(b_var1456, b_var1423))
#define b_var1467 (_mm_and_si128(b_var1456, b_var1390))
#define b_var1468 (_mm_xor_si128(b_var1466, b_var1467))
#define b_var1469 (_mm_and_si128(b_var1423, b_var1390))
#define b_var1470 (_mm_xor_si128(b_var1468, b_var1469))
#define b_var1471 (_mm_add_epi64(b_var1465, b_var1470))
#define b_var1472 (_mm_roti_epi64(b_var1455, sha512_var32))
#define b_var1473 18ULL
#define b_var1474 (_mm_roti_epi64(b_var1455, b_var1473))
#define b_var1475 (_mm_xor_si128(b_var1472, b_var1474))
#define b_var1476 41ULL
#define b_var1477 (_mm_roti_epi64(b_var1455, b_var1476))
#define b_var1478 (_mm_xor_si128(b_var1475, b_var1477))
#define b_var1479 (_mm_and_si128(b_var1455, b_var1422))
#define b_var1480 (_mm_andnot_si128(b_var1455, b_var1389))
#define b_var1481 (_mm_xor_si128(b_var1479, b_var1480))
#define b_var1482 (_mm_add_epi64(b_var1478, b_var1481))
#define b_var1483 (_mm_add_epi64(b_var1356, b_var1482))
#define b_var1485 ((sha512_var1[bconst_var1457]))
#define b_var1486 (_mm_add_epi64(sha512_var83, b_var1485))
b_var1487 = _mm_add_epi64(b_var1483, b_var1486);
b_var1488 = _mm_add_epi64(b_var1357, b_var1487);
b_var1489 = _mm_add_epi64(b_var1487, b_var1471);
#define bconst_var1490 33ULL
#define b_var1491 28ULL
#define b_var1492 (_mm_roti_epi64(b_var1489, b_var1491))
#define b_var1493 34ULL
#define b_var1494 (_mm_roti_epi64(b_var1489, b_var1493))
#define b_var1495 (_mm_xor_si128(b_var1492, b_var1494))
#define b_var1496 39ULL
#define b_var1497 (_mm_roti_epi64(b_var1489, b_var1496))
#define b_var1498 (_mm_xor_si128(b_var1495, b_var1497))
#define b_var1499 (_mm_and_si128(b_var1489, b_var1456))
#define b_var1500 (_mm_and_si128(b_var1489, b_var1423))
#define b_var1501 (_mm_xor_si128(b_var1499, b_var1500))
#define b_var1502 (_mm_and_si128(b_var1456, b_var1423))
#define b_var1503 (_mm_xor_si128(b_var1501, b_var1502))
#define b_var1504 (_mm_add_epi64(b_var1498, b_var1503))
#define b_var1505 (_mm_roti_epi64(b_var1488, sha512_var32))
#define b_var1506 18ULL
#define b_var1507 (_mm_roti_epi64(b_var1488, b_var1506))
#define b_var1508 (_mm_xor_si128(b_var1505, b_var1507))
#define b_var1509 41ULL
#define b_var1510 (_mm_roti_epi64(b_var1488, b_var1509))
#define b_var1511 (_mm_xor_si128(b_var1508, b_var1510))
#define b_var1512 (_mm_and_si128(b_var1488, b_var1455))
#define b_var1513 (_mm_andnot_si128(b_var1488, b_var1422))
#define b_var1514 (_mm_xor_si128(b_var1512, b_var1513))
#define b_var1515 (_mm_add_epi64(b_var1511, b_var1514))
#define b_var1516 (_mm_add_epi64(b_var1389, b_var1515))
#define b_var1518 ((sha512_var1[bconst_var1490]))
#define b_var1519 (_mm_add_epi64(sha512_var84, b_var1518))
b_var1520 = _mm_add_epi64(b_var1516, b_var1519);
b_var1521 = _mm_add_epi64(b_var1390, b_var1520);
b_var1522 = _mm_add_epi64(b_var1520, b_var1504);
#define bconst_var1523 34ULL
#define b_var1524 28ULL
#define b_var1525 (_mm_roti_epi64(b_var1522, b_var1524))
#define b_var1526 34ULL
#define b_var1527 (_mm_roti_epi64(b_var1522, b_var1526))
#define b_var1528 (_mm_xor_si128(b_var1525, b_var1527))
#define b_var1529 39ULL
#define b_var1530 (_mm_roti_epi64(b_var1522, b_var1529))
#define b_var1531 (_mm_xor_si128(b_var1528, b_var1530))
#define b_var1532 (_mm_and_si128(b_var1522, b_var1489))
#define b_var1533 (_mm_and_si128(b_var1522, b_var1456))
#define b_var1534 (_mm_xor_si128(b_var1532, b_var1533))
#define b_var1535 (_mm_and_si128(b_var1489, b_var1456))
#define b_var1536 (_mm_xor_si128(b_var1534, b_var1535))
#define b_var1537 (_mm_add_epi64(b_var1531, b_var1536))
#define b_var1538 (_mm_roti_epi64(b_var1521, sha512_var32))
#define b_var1539 18ULL
#define b_var1540 (_mm_roti_epi64(b_var1521, b_var1539))
#define b_var1541 (_mm_xor_si128(b_var1538, b_var1540))
#define b_var1542 41ULL
#define b_var1543 (_mm_roti_epi64(b_var1521, b_var1542))
#define b_var1544 (_mm_xor_si128(b_var1541, b_var1543))
#define b_var1545 (_mm_and_si128(b_var1521, b_var1488))
#define b_var1546 (_mm_andnot_si128(b_var1521, b_var1455))
#define b_var1547 (_mm_xor_si128(b_var1545, b_var1546))
#define b_var1548 (_mm_add_epi64(b_var1544, b_var1547))
#define b_var1549 (_mm_add_epi64(b_var1422, b_var1548))
#define b_var1551 ((sha512_var1[bconst_var1523]))
#define b_var1552 (_mm_add_epi64(sha512_var85, b_var1551))
b_var1553 = _mm_add_epi64(b_var1549, b_var1552);
b_var1554 = _mm_add_epi64(b_var1423, b_var1553);
b_var1555 = _mm_add_epi64(b_var1553, b_var1537);
#define bconst_var1556 35ULL
#define b_var1557 28ULL
#define b_var1558 (_mm_roti_epi64(b_var1555, b_var1557))
#define b_var1559 34ULL
#define b_var1560 (_mm_roti_epi64(b_var1555, b_var1559))
#define b_var1561 (_mm_xor_si128(b_var1558, b_var1560))
#define b_var1562 39ULL
#define b_var1563 (_mm_roti_epi64(b_var1555, b_var1562))
#define b_var1564 (_mm_xor_si128(b_var1561, b_var1563))
#define b_var1565 (_mm_and_si128(b_var1555, b_var1522))
#define b_var1566 (_mm_and_si128(b_var1555, b_var1489))
#define b_var1567 (_mm_xor_si128(b_var1565, b_var1566))
#define b_var1568 (_mm_and_si128(b_var1522, b_var1489))
#define b_var1569 (_mm_xor_si128(b_var1567, b_var1568))
#define b_var1570 (_mm_add_epi64(b_var1564, b_var1569))
#define b_var1571 (_mm_roti_epi64(b_var1554, sha512_var32))
#define b_var1572 18ULL
#define b_var1573 (_mm_roti_epi64(b_var1554, b_var1572))
#define b_var1574 (_mm_xor_si128(b_var1571, b_var1573))
#define b_var1575 41ULL
#define b_var1576 (_mm_roti_epi64(b_var1554, b_var1575))
#define b_var1577 (_mm_xor_si128(b_var1574, b_var1576))
#define b_var1578 (_mm_and_si128(b_var1554, b_var1521))
#define b_var1579 (_mm_andnot_si128(b_var1554, b_var1488))
#define b_var1580 (_mm_xor_si128(b_var1578, b_var1579))
#define b_var1581 (_mm_add_epi64(b_var1577, b_var1580))
#define b_var1582 (_mm_add_epi64(b_var1455, b_var1581))
#define b_var1584 ((sha512_var1[bconst_var1556]))
#define b_var1585 (_mm_add_epi64(sha512_var86, b_var1584))
b_var1586 = _mm_add_epi64(b_var1582, b_var1585);
b_var1587 = _mm_add_epi64(b_var1456, b_var1586);
b_var1588 = _mm_add_epi64(b_var1586, b_var1570);
#define bconst_var1589 36ULL
#define b_var1590 28ULL
#define b_var1591 (_mm_roti_epi64(b_var1588, b_var1590))
#define b_var1592 34ULL
#define b_var1593 (_mm_roti_epi64(b_var1588, b_var1592))
#define b_var1594 (_mm_xor_si128(b_var1591, b_var1593))
#define b_var1595 39ULL
#define b_var1596 (_mm_roti_epi64(b_var1588, b_var1595))
#define b_var1597 (_mm_xor_si128(b_var1594, b_var1596))
#define b_var1598 (_mm_and_si128(b_var1588, b_var1555))
#define b_var1599 (_mm_and_si128(b_var1588, b_var1522))
#define b_var1600 (_mm_xor_si128(b_var1598, b_var1599))
#define b_var1601 (_mm_and_si128(b_var1555, b_var1522))
#define b_var1602 (_mm_xor_si128(b_var1600, b_var1601))
#define b_var1603 (_mm_add_epi64(b_var1597, b_var1602))
#define b_var1604 (_mm_roti_epi64(b_var1587, sha512_var32))
#define b_var1605 18ULL
#define b_var1606 (_mm_roti_epi64(b_var1587, b_var1605))
#define b_var1607 (_mm_xor_si128(b_var1604, b_var1606))
#define b_var1608 41ULL
#define b_var1609 (_mm_roti_epi64(b_var1587, b_var1608))
#define b_var1610 (_mm_xor_si128(b_var1607, b_var1609))
#define b_var1611 (_mm_and_si128(b_var1587, b_var1554))
#define b_var1612 (_mm_andnot_si128(b_var1587, b_var1521))
#define b_var1613 (_mm_xor_si128(b_var1611, b_var1612))
#define b_var1614 (_mm_add_epi64(b_var1610, b_var1613))
#define b_var1615 (_mm_add_epi64(b_var1488, b_var1614))
#define b_var1617 ((sha512_var1[bconst_var1589]))
#define b_var1618 (_mm_add_epi64(sha512_var87, b_var1617))
b_var1619 = _mm_add_epi64(b_var1615, b_var1618);
b_var1620 = _mm_add_epi64(b_var1489, b_var1619);
b_var1621 = _mm_add_epi64(b_var1619, b_var1603);
#define bconst_var1622 37ULL
#define b_var1623 28ULL
#define b_var1624 (_mm_roti_epi64(b_var1621, b_var1623))
#define b_var1625 34ULL
#define b_var1626 (_mm_roti_epi64(b_var1621, b_var1625))
#define b_var1627 (_mm_xor_si128(b_var1624, b_var1626))
#define b_var1628 39ULL
#define b_var1629 (_mm_roti_epi64(b_var1621, b_var1628))
#define b_var1630 (_mm_xor_si128(b_var1627, b_var1629))
#define b_var1631 (_mm_and_si128(b_var1621, b_var1588))
#define b_var1632 (_mm_and_si128(b_var1621, b_var1555))
#define b_var1633 (_mm_xor_si128(b_var1631, b_var1632))
#define b_var1634 (_mm_and_si128(b_var1588, b_var1555))
#define b_var1635 (_mm_xor_si128(b_var1633, b_var1634))
#define b_var1636 (_mm_add_epi64(b_var1630, b_var1635))
#define b_var1637 (_mm_roti_epi64(b_var1620, sha512_var32))
#define b_var1638 18ULL
#define b_var1639 (_mm_roti_epi64(b_var1620, b_var1638))
#define b_var1640 (_mm_xor_si128(b_var1637, b_var1639))
#define b_var1641 41ULL
#define b_var1642 (_mm_roti_epi64(b_var1620, b_var1641))
#define b_var1643 (_mm_xor_si128(b_var1640, b_var1642))
#define b_var1644 (_mm_and_si128(b_var1620, b_var1587))
#define b_var1645 (_mm_andnot_si128(b_var1620, b_var1554))
#define b_var1646 (_mm_xor_si128(b_var1644, b_var1645))
#define b_var1647 (_mm_add_epi64(b_var1643, b_var1646))
#define b_var1648 (_mm_add_epi64(b_var1521, b_var1647))
#define b_var1650 ((sha512_var1[bconst_var1622]))
#define b_var1651 (_mm_add_epi64(sha512_var88, b_var1650))
b_var1652 = _mm_add_epi64(b_var1648, b_var1651);
b_var1653 = _mm_add_epi64(b_var1522, b_var1652);
b_var1654 = _mm_add_epi64(b_var1652, b_var1636);
#define bconst_var1655 38ULL
#define b_var1656 28ULL
#define b_var1657 (_mm_roti_epi64(b_var1654, b_var1656))
#define b_var1658 34ULL
#define b_var1659 (_mm_roti_epi64(b_var1654, b_var1658))
#define b_var1660 (_mm_xor_si128(b_var1657, b_var1659))
#define b_var1661 39ULL
#define b_var1662 (_mm_roti_epi64(b_var1654, b_var1661))
#define b_var1663 (_mm_xor_si128(b_var1660, b_var1662))
#define b_var1664 (_mm_and_si128(b_var1654, b_var1621))
#define b_var1665 (_mm_and_si128(b_var1654, b_var1588))
#define b_var1666 (_mm_xor_si128(b_var1664, b_var1665))
#define b_var1667 (_mm_and_si128(b_var1621, b_var1588))
#define b_var1668 (_mm_xor_si128(b_var1666, b_var1667))
#define b_var1669 (_mm_add_epi64(b_var1663, b_var1668))
#define b_var1670 (_mm_roti_epi64(b_var1653, sha512_var32))
#define b_var1671 18ULL
#define b_var1672 (_mm_roti_epi64(b_var1653, b_var1671))
#define b_var1673 (_mm_xor_si128(b_var1670, b_var1672))
#define b_var1674 41ULL
#define b_var1675 (_mm_roti_epi64(b_var1653, b_var1674))
#define b_var1676 (_mm_xor_si128(b_var1673, b_var1675))
#define b_var1677 (_mm_and_si128(b_var1653, b_var1620))
#define b_var1678 (_mm_andnot_si128(b_var1653, b_var1587))
#define b_var1679 (_mm_xor_si128(b_var1677, b_var1678))
#define b_var1680 (_mm_add_epi64(b_var1676, b_var1679))
#define b_var1681 (_mm_add_epi64(b_var1554, b_var1680))
#define b_var1683 ((sha512_var1[bconst_var1655]))
#define b_var1684 (_mm_add_epi64(sha512_var89, b_var1683))
b_var1685 = _mm_add_epi64(b_var1681, b_var1684);
b_var1686 = _mm_add_epi64(b_var1555, b_var1685);
b_var1687 = _mm_add_epi64(b_var1685, b_var1669);
#define bconst_var1688 39ULL
#define b_var1689 28ULL
#define b_var1690 (_mm_roti_epi64(b_var1687, b_var1689))
#define b_var1691 34ULL
#define b_var1692 (_mm_roti_epi64(b_var1687, b_var1691))
#define b_var1693 (_mm_xor_si128(b_var1690, b_var1692))
#define b_var1694 39ULL
#define b_var1695 (_mm_roti_epi64(b_var1687, b_var1694))
#define b_var1696 (_mm_xor_si128(b_var1693, b_var1695))
#define b_var1697 (_mm_and_si128(b_var1687, b_var1654))
#define b_var1698 (_mm_and_si128(b_var1687, b_var1621))
#define b_var1699 (_mm_xor_si128(b_var1697, b_var1698))
#define b_var1700 (_mm_and_si128(b_var1654, b_var1621))
#define b_var1701 (_mm_xor_si128(b_var1699, b_var1700))
#define b_var1702 (_mm_add_epi64(b_var1696, b_var1701))
#define b_var1703 (_mm_roti_epi64(b_var1686, sha512_var32))
#define b_var1704 18ULL
#define b_var1705 (_mm_roti_epi64(b_var1686, b_var1704))
#define b_var1706 (_mm_xor_si128(b_var1703, b_var1705))
#define b_var1707 41ULL
#define b_var1708 (_mm_roti_epi64(b_var1686, b_var1707))
#define b_var1709 (_mm_xor_si128(b_var1706, b_var1708))
#define b_var1710 (_mm_and_si128(b_var1686, b_var1653))
#define b_var1711 (_mm_andnot_si128(b_var1686, b_var1620))
#define b_var1712 (_mm_xor_si128(b_var1710, b_var1711))
#define b_var1713 (_mm_add_epi64(b_var1709, b_var1712))
#define b_var1714 (_mm_add_epi64(b_var1587, b_var1713))
#define b_var1716 ((sha512_var1[bconst_var1688]))
#define b_var1717 (_mm_add_epi64(sha512_var90, b_var1716))
b_var1718 = _mm_add_epi64(b_var1714, b_var1717);
b_var1719 = _mm_add_epi64(b_var1588, b_var1718);
b_var1720 = _mm_add_epi64(b_var1718, b_var1702);
#define bconst_var1721 40ULL
#define b_var1722 28ULL
#define b_var1723 (_mm_roti_epi64(b_var1720, b_var1722))
#define b_var1724 34ULL
#define b_var1725 (_mm_roti_epi64(b_var1720, b_var1724))
#define b_var1726 (_mm_xor_si128(b_var1723, b_var1725))
#define b_var1727 39ULL
#define b_var1728 (_mm_roti_epi64(b_var1720, b_var1727))
#define b_var1729 (_mm_xor_si128(b_var1726, b_var1728))
#define b_var1730 (_mm_and_si128(b_var1720, b_var1687))
#define b_var1731 (_mm_and_si128(b_var1720, b_var1654))
#define b_var1732 (_mm_xor_si128(b_var1730, b_var1731))
#define b_var1733 (_mm_and_si128(b_var1687, b_var1654))
#define b_var1734 (_mm_xor_si128(b_var1732, b_var1733))
#define b_var1735 (_mm_add_epi64(b_var1729, b_var1734))
#define b_var1736 (_mm_roti_epi64(b_var1719, sha512_var32))
#define b_var1737 18ULL
#define b_var1738 (_mm_roti_epi64(b_var1719, b_var1737))
#define b_var1739 (_mm_xor_si128(b_var1736, b_var1738))
#define b_var1740 41ULL
#define b_var1741 (_mm_roti_epi64(b_var1719, b_var1740))
#define b_var1742 (_mm_xor_si128(b_var1739, b_var1741))
#define b_var1743 (_mm_and_si128(b_var1719, b_var1686))
#define b_var1744 (_mm_andnot_si128(b_var1719, b_var1653))
#define b_var1745 (_mm_xor_si128(b_var1743, b_var1744))
#define b_var1746 (_mm_add_epi64(b_var1742, b_var1745))
#define b_var1747 (_mm_add_epi64(b_var1620, b_var1746))
#define b_var1749 ((sha512_var1[bconst_var1721]))
#define b_var1750 (_mm_add_epi64(sha512_var91, b_var1749))
b_var1751 = _mm_add_epi64(b_var1747, b_var1750);
b_var1752 = _mm_add_epi64(b_var1621, b_var1751);
b_var1753 = _mm_add_epi64(b_var1751, b_var1735);
#define bconst_var1754 41ULL
#define b_var1755 28ULL
#define b_var1756 (_mm_roti_epi64(b_var1753, b_var1755))
#define b_var1757 34ULL
#define b_var1758 (_mm_roti_epi64(b_var1753, b_var1757))
#define b_var1759 (_mm_xor_si128(b_var1756, b_var1758))
#define b_var1760 39ULL
#define b_var1761 (_mm_roti_epi64(b_var1753, b_var1760))
#define b_var1762 (_mm_xor_si128(b_var1759, b_var1761))
#define b_var1763 (_mm_and_si128(b_var1753, b_var1720))
#define b_var1764 (_mm_and_si128(b_var1753, b_var1687))
#define b_var1765 (_mm_xor_si128(b_var1763, b_var1764))
#define b_var1766 (_mm_and_si128(b_var1720, b_var1687))
#define b_var1767 (_mm_xor_si128(b_var1765, b_var1766))
#define b_var1768 (_mm_add_epi64(b_var1762, b_var1767))
#define b_var1769 (_mm_roti_epi64(b_var1752, sha512_var32))
#define b_var1770 18ULL
#define b_var1771 (_mm_roti_epi64(b_var1752, b_var1770))
#define b_var1772 (_mm_xor_si128(b_var1769, b_var1771))
#define b_var1773 41ULL
#define b_var1774 (_mm_roti_epi64(b_var1752, b_var1773))
#define b_var1775 (_mm_xor_si128(b_var1772, b_var1774))
#define b_var1776 (_mm_and_si128(b_var1752, b_var1719))
#define b_var1777 (_mm_andnot_si128(b_var1752, b_var1686))
#define b_var1778 (_mm_xor_si128(b_var1776, b_var1777))
#define b_var1779 (_mm_add_epi64(b_var1775, b_var1778))
#define b_var1780 (_mm_add_epi64(b_var1653, b_var1779))
#define b_var1782 ((sha512_var1[bconst_var1754]))
#define b_var1783 (_mm_add_epi64(sha512_var92, b_var1782))
b_var1784 = _mm_add_epi64(b_var1780, b_var1783);
b_var1785 = _mm_add_epi64(b_var1654, b_var1784);
b_var1786 = _mm_add_epi64(b_var1784, b_var1768);
#define bconst_var1787 42ULL
#define b_var1788 28ULL
#define b_var1789 (_mm_roti_epi64(b_var1786, b_var1788))
#define b_var1790 34ULL
#define b_var1791 (_mm_roti_epi64(b_var1786, b_var1790))
#define b_var1792 (_mm_xor_si128(b_var1789, b_var1791))
#define b_var1793 39ULL
#define b_var1794 (_mm_roti_epi64(b_var1786, b_var1793))
#define b_var1795 (_mm_xor_si128(b_var1792, b_var1794))
#define b_var1796 (_mm_and_si128(b_var1786, b_var1753))
#define b_var1797 (_mm_and_si128(b_var1786, b_var1720))
#define b_var1798 (_mm_xor_si128(b_var1796, b_var1797))
#define b_var1799 (_mm_and_si128(b_var1753, b_var1720))
#define b_var1800 (_mm_xor_si128(b_var1798, b_var1799))
#define b_var1801 (_mm_add_epi64(b_var1795, b_var1800))
#define b_var1802 (_mm_roti_epi64(b_var1785, sha512_var32))
#define b_var1803 18ULL
#define b_var1804 (_mm_roti_epi64(b_var1785, b_var1803))
#define b_var1805 (_mm_xor_si128(b_var1802, b_var1804))
#define b_var1806 41ULL
#define b_var1807 (_mm_roti_epi64(b_var1785, b_var1806))
#define b_var1808 (_mm_xor_si128(b_var1805, b_var1807))
#define b_var1809 (_mm_and_si128(b_var1785, b_var1752))
#define b_var1810 (_mm_andnot_si128(b_var1785, b_var1719))
#define b_var1811 (_mm_xor_si128(b_var1809, b_var1810))
#define b_var1812 (_mm_add_epi64(b_var1808, b_var1811))
#define b_var1813 (_mm_add_epi64(b_var1686, b_var1812))
#define b_var1815 ((sha512_var1[bconst_var1787]))
#define b_var1816 (_mm_add_epi64(sha512_var93, b_var1815))
b_var1817 = _mm_add_epi64(b_var1813, b_var1816);
b_var1818 = _mm_add_epi64(b_var1687, b_var1817);
b_var1819 = _mm_add_epi64(b_var1817, b_var1801);
#define bconst_var1820 43ULL
#define b_var1821 28ULL
#define b_var1822 (_mm_roti_epi64(b_var1819, b_var1821))
#define b_var1823 34ULL
#define b_var1824 (_mm_roti_epi64(b_var1819, b_var1823))
#define b_var1825 (_mm_xor_si128(b_var1822, b_var1824))
#define b_var1826 39ULL
#define b_var1827 (_mm_roti_epi64(b_var1819, b_var1826))
#define b_var1828 (_mm_xor_si128(b_var1825, b_var1827))
#define b_var1829 (_mm_and_si128(b_var1819, b_var1786))
#define b_var1830 (_mm_and_si128(b_var1819, b_var1753))
#define b_var1831 (_mm_xor_si128(b_var1829, b_var1830))
#define b_var1832 (_mm_and_si128(b_var1786, b_var1753))
#define b_var1833 (_mm_xor_si128(b_var1831, b_var1832))
#define b_var1834 (_mm_add_epi64(b_var1828, b_var1833))
#define b_var1835 (_mm_roti_epi64(b_var1818, sha512_var32))
#define b_var1836 18ULL
#define b_var1837 (_mm_roti_epi64(b_var1818, b_var1836))
#define b_var1838 (_mm_xor_si128(b_var1835, b_var1837))
#define b_var1839 41ULL
#define b_var1840 (_mm_roti_epi64(b_var1818, b_var1839))
#define b_var1841 (_mm_xor_si128(b_var1838, b_var1840))
#define b_var1842 (_mm_and_si128(b_var1818, b_var1785))
#define b_var1843 (_mm_andnot_si128(b_var1818, b_var1752))
#define b_var1844 (_mm_xor_si128(b_var1842, b_var1843))
#define b_var1845 (_mm_add_epi64(b_var1841, b_var1844))
#define b_var1846 (_mm_add_epi64(b_var1719, b_var1845))
#define b_var1848 ((sha512_var1[bconst_var1820]))
#define b_var1849 (_mm_add_epi64(sha512_var94, b_var1848))
b_var1850 = _mm_add_epi64(b_var1846, b_var1849);
b_var1851 = _mm_add_epi64(b_var1720, b_var1850);
b_var1852 = _mm_add_epi64(b_var1850, b_var1834);
#define bconst_var1853 44ULL
#define b_var1854 28ULL
#define b_var1855 (_mm_roti_epi64(b_var1852, b_var1854))
#define b_var1856 34ULL
#define b_var1857 (_mm_roti_epi64(b_var1852, b_var1856))
#define b_var1858 (_mm_xor_si128(b_var1855, b_var1857))
#define b_var1859 39ULL
#define b_var1860 (_mm_roti_epi64(b_var1852, b_var1859))
#define b_var1861 (_mm_xor_si128(b_var1858, b_var1860))
#define b_var1862 (_mm_and_si128(b_var1852, b_var1819))
#define b_var1863 (_mm_and_si128(b_var1852, b_var1786))
#define b_var1864 (_mm_xor_si128(b_var1862, b_var1863))
#define b_var1865 (_mm_and_si128(b_var1819, b_var1786))
#define b_var1866 (_mm_xor_si128(b_var1864, b_var1865))
#define b_var1867 (_mm_add_epi64(b_var1861, b_var1866))
#define b_var1868 (_mm_roti_epi64(b_var1851, sha512_var32))
#define b_var1869 18ULL
#define b_var1870 (_mm_roti_epi64(b_var1851, b_var1869))
#define b_var1871 (_mm_xor_si128(b_var1868, b_var1870))
#define b_var1872 41ULL
#define b_var1873 (_mm_roti_epi64(b_var1851, b_var1872))
#define b_var1874 (_mm_xor_si128(b_var1871, b_var1873))
#define b_var1875 (_mm_and_si128(b_var1851, b_var1818))
#define b_var1876 (_mm_andnot_si128(b_var1851, b_var1785))
#define b_var1877 (_mm_xor_si128(b_var1875, b_var1876))
#define b_var1878 (_mm_add_epi64(b_var1874, b_var1877))
#define b_var1879 (_mm_add_epi64(b_var1752, b_var1878))
#define b_var1881 ((sha512_var1[bconst_var1853]))
#define b_var1882 (_mm_add_epi64(sha512_var95, b_var1881))
b_var1883 = _mm_add_epi64(b_var1879, b_var1882);
b_var1884 = _mm_add_epi64(b_var1753, b_var1883);
b_var1885 = _mm_add_epi64(b_var1883, b_var1867);
#define bconst_var1886 45ULL
#define b_var1887 28ULL
#define b_var1888 (_mm_roti_epi64(b_var1885, b_var1887))
#define b_var1889 34ULL
#define b_var1890 (_mm_roti_epi64(b_var1885, b_var1889))
#define b_var1891 (_mm_xor_si128(b_var1888, b_var1890))
#define b_var1892 39ULL
#define b_var1893 (_mm_roti_epi64(b_var1885, b_var1892))
#define b_var1894 (_mm_xor_si128(b_var1891, b_var1893))
#define b_var1895 (_mm_and_si128(b_var1885, b_var1852))
#define b_var1896 (_mm_and_si128(b_var1885, b_var1819))
#define b_var1897 (_mm_xor_si128(b_var1895, b_var1896))
#define b_var1898 (_mm_and_si128(b_var1852, b_var1819))
#define b_var1899 (_mm_xor_si128(b_var1897, b_var1898))
#define b_var1900 (_mm_add_epi64(b_var1894, b_var1899))
#define b_var1901 (_mm_roti_epi64(b_var1884, sha512_var32))
#define b_var1902 18ULL
#define b_var1903 (_mm_roti_epi64(b_var1884, b_var1902))
#define b_var1904 (_mm_xor_si128(b_var1901, b_var1903))
#define b_var1905 41ULL
#define b_var1906 (_mm_roti_epi64(b_var1884, b_var1905))
#define b_var1907 (_mm_xor_si128(b_var1904, b_var1906))
#define b_var1908 (_mm_and_si128(b_var1884, b_var1851))
#define b_var1909 (_mm_andnot_si128(b_var1884, b_var1818))
#define b_var1910 (_mm_xor_si128(b_var1908, b_var1909))
#define b_var1911 (_mm_add_epi64(b_var1907, b_var1910))
#define b_var1912 (_mm_add_epi64(b_var1785, b_var1911))
#define b_var1914 ((sha512_var1[bconst_var1886]))
#define b_var1915 (_mm_add_epi64(sha512_var96, b_var1914))
b_var1916 = _mm_add_epi64(b_var1912, b_var1915);
b_var1917 = _mm_add_epi64(b_var1786, b_var1916);
b_var1918 = _mm_add_epi64(b_var1916, b_var1900);
#define bconst_var1919 46ULL
#define b_var1920 28ULL
#define b_var1921 (_mm_roti_epi64(b_var1918, b_var1920))
#define b_var1922 34ULL
#define b_var1923 (_mm_roti_epi64(b_var1918, b_var1922))
#define b_var1924 (_mm_xor_si128(b_var1921, b_var1923))
#define b_var1925 39ULL
#define b_var1926 (_mm_roti_epi64(b_var1918, b_var1925))
#define b_var1927 (_mm_xor_si128(b_var1924, b_var1926))
#define b_var1928 (_mm_and_si128(b_var1918, b_var1885))
#define b_var1929 (_mm_and_si128(b_var1918, b_var1852))
#define b_var1930 (_mm_xor_si128(b_var1928, b_var1929))
#define b_var1931 (_mm_and_si128(b_var1885, b_var1852))
#define b_var1932 (_mm_xor_si128(b_var1930, b_var1931))
#define b_var1933 (_mm_add_epi64(b_var1927, b_var1932))
#define b_var1934 (_mm_roti_epi64(b_var1917, sha512_var32))
#define b_var1935 18ULL
#define b_var1936 (_mm_roti_epi64(b_var1917, b_var1935))
#define b_var1937 (_mm_xor_si128(b_var1934, b_var1936))
#define b_var1938 41ULL
#define b_var1939 (_mm_roti_epi64(b_var1917, b_var1938))
#define b_var1940 (_mm_xor_si128(b_var1937, b_var1939))
#define b_var1941 (_mm_and_si128(b_var1917, b_var1884))
#define b_var1942 (_mm_andnot_si128(b_var1917, b_var1851))
#define b_var1943 (_mm_xor_si128(b_var1941, b_var1942))
#define b_var1944 (_mm_add_epi64(b_var1940, b_var1943))
#define b_var1945 (_mm_add_epi64(b_var1818, b_var1944))
#define b_var1947 ((sha512_var1[bconst_var1919]))
#define b_var1948 (_mm_add_epi64(sha512_var97, b_var1947))
b_var1949 = _mm_add_epi64(b_var1945, b_var1948);
b_var1950 = _mm_add_epi64(b_var1819, b_var1949);
b_var1951 = _mm_add_epi64(b_var1949, b_var1933);
#define bconst_var1952 47ULL
#define b_var1953 28ULL
#define b_var1954 (_mm_roti_epi64(b_var1951, b_var1953))
#define b_var1955 34ULL
#define b_var1956 (_mm_roti_epi64(b_var1951, b_var1955))
#define b_var1957 (_mm_xor_si128(b_var1954, b_var1956))
#define b_var1958 39ULL
#define b_var1959 (_mm_roti_epi64(b_var1951, b_var1958))
#define b_var1960 (_mm_xor_si128(b_var1957, b_var1959))
#define b_var1961 (_mm_and_si128(b_var1951, b_var1918))
#define b_var1962 (_mm_and_si128(b_var1951, b_var1885))
#define b_var1963 (_mm_xor_si128(b_var1961, b_var1962))
#define b_var1964 (_mm_and_si128(b_var1918, b_var1885))
#define b_var1965 (_mm_xor_si128(b_var1963, b_var1964))
#define b_var1966 (_mm_add_epi64(b_var1960, b_var1965))
#define b_var1967 (_mm_roti_epi64(b_var1950, sha512_var32))
#define b_var1968 18ULL
#define b_var1969 (_mm_roti_epi64(b_var1950, b_var1968))
#define b_var1970 (_mm_xor_si128(b_var1967, b_var1969))
#define b_var1971 41ULL
#define b_var1972 (_mm_roti_epi64(b_var1950, b_var1971))
#define b_var1973 (_mm_xor_si128(b_var1970, b_var1972))
#define b_var1974 (_mm_and_si128(b_var1950, b_var1917))
#define b_var1975 (_mm_andnot_si128(b_var1950, b_var1884))
#define b_var1976 (_mm_xor_si128(b_var1974, b_var1975))
#define b_var1977 (_mm_add_epi64(b_var1973, b_var1976))
#define b_var1978 (_mm_add_epi64(b_var1851, b_var1977))
#define b_var1980 ((sha512_var1[bconst_var1952]))
#define b_var1981 (_mm_add_epi64(sha512_var98, b_var1980))
b_var1982 = _mm_add_epi64(b_var1978, b_var1981);
b_var1983 = _mm_add_epi64(b_var1852, b_var1982);
b_var1984 = _mm_add_epi64(b_var1982, b_var1966);
#define bconst_var1985 48ULL
#define b_var1986 28ULL
#define b_var1987 (_mm_roti_epi64(b_var1984, b_var1986))
#define b_var1988 34ULL
#define b_var1989 (_mm_roti_epi64(b_var1984, b_var1988))
#define b_var1990 (_mm_xor_si128(b_var1987, b_var1989))
#define b_var1991 39ULL
#define b_var1992 (_mm_roti_epi64(b_var1984, b_var1991))
#define b_var1993 (_mm_xor_si128(b_var1990, b_var1992))
#define b_var1994 (_mm_and_si128(b_var1984, b_var1951))
#define b_var1995 (_mm_and_si128(b_var1984, b_var1918))
#define b_var1996 (_mm_xor_si128(b_var1994, b_var1995))
#define b_var1997 (_mm_and_si128(b_var1951, b_var1918))
#define b_var1998 (_mm_xor_si128(b_var1996, b_var1997))
#define b_var1999 (_mm_add_epi64(b_var1993, b_var1998))
#define b_var2000 (_mm_roti_epi64(b_var1983, sha512_var32))
#define b_var2001 18ULL
#define b_var2002 (_mm_roti_epi64(b_var1983, b_var2001))
#define b_var2003 (_mm_xor_si128(b_var2000, b_var2002))
#define b_var2004 41ULL
#define b_var2005 (_mm_roti_epi64(b_var1983, b_var2004))
#define b_var2006 (_mm_xor_si128(b_var2003, b_var2005))
#define b_var2007 (_mm_and_si128(b_var1983, b_var1950))
#define b_var2008 (_mm_andnot_si128(b_var1983, b_var1917))
#define b_var2009 (_mm_xor_si128(b_var2007, b_var2008))
#define b_var2010 (_mm_add_epi64(b_var2006, b_var2009))
#define b_var2011 (_mm_add_epi64(b_var1884, b_var2010))
#define b_var2013 ((sha512_var1[bconst_var1985]))
#define b_var2014 (_mm_add_epi64(sha512_var99, b_var2013))
b_var2015 = _mm_add_epi64(b_var2011, b_var2014);
b_var2016 = _mm_add_epi64(b_var1885, b_var2015);
b_var2017 = _mm_add_epi64(b_var2015, b_var1999);
#define bconst_var2018 49ULL
#define b_var2019 28ULL
#define b_var2020 (_mm_roti_epi64(b_var2017, b_var2019))
#define b_var2021 34ULL
#define b_var2022 (_mm_roti_epi64(b_var2017, b_var2021))
#define b_var2023 (_mm_xor_si128(b_var2020, b_var2022))
#define b_var2024 39ULL
#define b_var2025 (_mm_roti_epi64(b_var2017, b_var2024))
#define b_var2026 (_mm_xor_si128(b_var2023, b_var2025))
#define b_var2027 (_mm_and_si128(b_var2017, b_var1984))
#define b_var2028 (_mm_and_si128(b_var2017, b_var1951))
#define b_var2029 (_mm_xor_si128(b_var2027, b_var2028))
#define b_var2030 (_mm_and_si128(b_var1984, b_var1951))
#define b_var2031 (_mm_xor_si128(b_var2029, b_var2030))
#define b_var2032 (_mm_add_epi64(b_var2026, b_var2031))
#define b_var2033 (_mm_roti_epi64(b_var2016, sha512_var32))
#define b_var2034 18ULL
#define b_var2035 (_mm_roti_epi64(b_var2016, b_var2034))
#define b_var2036 (_mm_xor_si128(b_var2033, b_var2035))
#define b_var2037 41ULL
#define b_var2038 (_mm_roti_epi64(b_var2016, b_var2037))
#define b_var2039 (_mm_xor_si128(b_var2036, b_var2038))
#define b_var2040 (_mm_and_si128(b_var2016, b_var1983))
#define b_var2041 (_mm_andnot_si128(b_var2016, b_var1950))
#define b_var2042 (_mm_xor_si128(b_var2040, b_var2041))
#define b_var2043 (_mm_add_epi64(b_var2039, b_var2042))
#define b_var2044 (_mm_add_epi64(b_var1917, b_var2043))
#define b_var2046 ((sha512_var1[bconst_var2018]))
#define b_var2047 (_mm_add_epi64(sha512_var100, b_var2046))
b_var2048 = _mm_add_epi64(b_var2044, b_var2047);
b_var2049 = _mm_add_epi64(b_var1918, b_var2048);
b_var2050 = _mm_add_epi64(b_var2048, b_var2032);
#define bconst_var2051 50ULL
#define b_var2052 28ULL
#define b_var2053 (_mm_roti_epi64(b_var2050, b_var2052))
#define b_var2054 34ULL
#define b_var2055 (_mm_roti_epi64(b_var2050, b_var2054))
#define b_var2056 (_mm_xor_si128(b_var2053, b_var2055))
#define b_var2057 39ULL
#define b_var2058 (_mm_roti_epi64(b_var2050, b_var2057))
#define b_var2059 (_mm_xor_si128(b_var2056, b_var2058))
#define b_var2060 (_mm_and_si128(b_var2050, b_var2017))
#define b_var2061 (_mm_and_si128(b_var2050, b_var1984))
#define b_var2062 (_mm_xor_si128(b_var2060, b_var2061))
#define b_var2063 (_mm_and_si128(b_var2017, b_var1984))
#define b_var2064 (_mm_xor_si128(b_var2062, b_var2063))
#define b_var2065 (_mm_add_epi64(b_var2059, b_var2064))
#define b_var2066 (_mm_roti_epi64(b_var2049, sha512_var32))
#define b_var2067 18ULL
#define b_var2068 (_mm_roti_epi64(b_var2049, b_var2067))
#define b_var2069 (_mm_xor_si128(b_var2066, b_var2068))
#define b_var2070 41ULL
#define b_var2071 (_mm_roti_epi64(b_var2049, b_var2070))
#define b_var2072 (_mm_xor_si128(b_var2069, b_var2071))
#define b_var2073 (_mm_and_si128(b_var2049, b_var2016))
#define b_var2074 (_mm_andnot_si128(b_var2049, b_var1983))
#define b_var2075 (_mm_xor_si128(b_var2073, b_var2074))
#define b_var2076 (_mm_add_epi64(b_var2072, b_var2075))
#define b_var2077 (_mm_add_epi64(b_var1950, b_var2076))
#define b_var2079 ((sha512_var1[bconst_var2051]))
#define b_var2080 (_mm_add_epi64(sha512_var101, b_var2079))
b_var2081 = _mm_add_epi64(b_var2077, b_var2080);
b_var2082 = _mm_add_epi64(b_var1951, b_var2081);
b_var2083 = _mm_add_epi64(b_var2081, b_var2065);
#define bconst_var2084 51ULL
#define b_var2085 28ULL
#define b_var2086 (_mm_roti_epi64(b_var2083, b_var2085))
#define b_var2087 34ULL
#define b_var2088 (_mm_roti_epi64(b_var2083, b_var2087))
#define b_var2089 (_mm_xor_si128(b_var2086, b_var2088))
#define b_var2090 39ULL
#define b_var2091 (_mm_roti_epi64(b_var2083, b_var2090))
#define b_var2092 (_mm_xor_si128(b_var2089, b_var2091))
#define b_var2093 (_mm_and_si128(b_var2083, b_var2050))
#define b_var2094 (_mm_and_si128(b_var2083, b_var2017))
#define b_var2095 (_mm_xor_si128(b_var2093, b_var2094))
#define b_var2096 (_mm_and_si128(b_var2050, b_var2017))
#define b_var2097 (_mm_xor_si128(b_var2095, b_var2096))
#define b_var2098 (_mm_add_epi64(b_var2092, b_var2097))
#define b_var2099 (_mm_roti_epi64(b_var2082, sha512_var32))
#define b_var2100 18ULL
#define b_var2101 (_mm_roti_epi64(b_var2082, b_var2100))
#define b_var2102 (_mm_xor_si128(b_var2099, b_var2101))
#define b_var2103 41ULL
#define b_var2104 (_mm_roti_epi64(b_var2082, b_var2103))
#define b_var2105 (_mm_xor_si128(b_var2102, b_var2104))
#define b_var2106 (_mm_and_si128(b_var2082, b_var2049))
#define b_var2107 (_mm_andnot_si128(b_var2082, b_var2016))
#define b_var2108 (_mm_xor_si128(b_var2106, b_var2107))
#define b_var2109 (_mm_add_epi64(b_var2105, b_var2108))
#define b_var2110 (_mm_add_epi64(b_var1983, b_var2109))
#define b_var2112 ((sha512_var1[bconst_var2084]))
#define b_var2113 (_mm_add_epi64(sha512_var102, b_var2112))
b_var2114 = _mm_add_epi64(b_var2110, b_var2113);
b_var2115 = _mm_add_epi64(b_var1984, b_var2114);
b_var2116 = _mm_add_epi64(b_var2114, b_var2098);
#define bconst_var2117 52ULL
#define b_var2118 28ULL
#define b_var2119 (_mm_roti_epi64(b_var2116, b_var2118))
#define b_var2120 34ULL
#define b_var2121 (_mm_roti_epi64(b_var2116, b_var2120))
#define b_var2122 (_mm_xor_si128(b_var2119, b_var2121))
#define b_var2123 39ULL
#define b_var2124 (_mm_roti_epi64(b_var2116, b_var2123))
#define b_var2125 (_mm_xor_si128(b_var2122, b_var2124))
#define b_var2126 (_mm_and_si128(b_var2116, b_var2083))
#define b_var2127 (_mm_and_si128(b_var2116, b_var2050))
#define b_var2128 (_mm_xor_si128(b_var2126, b_var2127))
#define b_var2129 (_mm_and_si128(b_var2083, b_var2050))
#define b_var2130 (_mm_xor_si128(b_var2128, b_var2129))
#define b_var2131 (_mm_add_epi64(b_var2125, b_var2130))
#define b_var2132 (_mm_roti_epi64(b_var2115, sha512_var32))
#define b_var2133 18ULL
#define b_var2134 (_mm_roti_epi64(b_var2115, b_var2133))
#define b_var2135 (_mm_xor_si128(b_var2132, b_var2134))
#define b_var2136 41ULL
#define b_var2137 (_mm_roti_epi64(b_var2115, b_var2136))
#define b_var2138 (_mm_xor_si128(b_var2135, b_var2137))
#define b_var2139 (_mm_and_si128(b_var2115, b_var2082))
#define b_var2140 (_mm_andnot_si128(b_var2115, b_var2049))
#define b_var2141 (_mm_xor_si128(b_var2139, b_var2140))
#define b_var2142 (_mm_add_epi64(b_var2138, b_var2141))
#define b_var2143 (_mm_add_epi64(b_var2016, b_var2142))
#define b_var2145 ((sha512_var1[bconst_var2117]))
#define b_var2146 (_mm_add_epi64(sha512_var103, b_var2145))
b_var2147 = _mm_add_epi64(b_var2143, b_var2146);
b_var2148 = _mm_add_epi64(b_var2017, b_var2147);
b_var2149 = _mm_add_epi64(b_var2147, b_var2131);
#define bconst_var2150 53ULL
#define b_var2151 28ULL
#define b_var2152 (_mm_roti_epi64(b_var2149, b_var2151))
#define b_var2153 34ULL
#define b_var2154 (_mm_roti_epi64(b_var2149, b_var2153))
#define b_var2155 (_mm_xor_si128(b_var2152, b_var2154))
#define b_var2156 39ULL
#define b_var2157 (_mm_roti_epi64(b_var2149, b_var2156))
#define b_var2158 (_mm_xor_si128(b_var2155, b_var2157))
#define b_var2159 (_mm_and_si128(b_var2149, b_var2116))
#define b_var2160 (_mm_and_si128(b_var2149, b_var2083))
#define b_var2161 (_mm_xor_si128(b_var2159, b_var2160))
#define b_var2162 (_mm_and_si128(b_var2116, b_var2083))
#define b_var2163 (_mm_xor_si128(b_var2161, b_var2162))
#define b_var2164 (_mm_add_epi64(b_var2158, b_var2163))
#define b_var2165 (_mm_roti_epi64(b_var2148, sha512_var32))
#define b_var2166 18ULL
#define b_var2167 (_mm_roti_epi64(b_var2148, b_var2166))
#define b_var2168 (_mm_xor_si128(b_var2165, b_var2167))
#define b_var2169 41ULL
#define b_var2170 (_mm_roti_epi64(b_var2148, b_var2169))
#define b_var2171 (_mm_xor_si128(b_var2168, b_var2170))
#define b_var2172 (_mm_and_si128(b_var2148, b_var2115))
#define b_var2173 (_mm_andnot_si128(b_var2148, b_var2082))
#define b_var2174 (_mm_xor_si128(b_var2172, b_var2173))
#define b_var2175 (_mm_add_epi64(b_var2171, b_var2174))
#define b_var2176 (_mm_add_epi64(b_var2049, b_var2175))
#define b_var2178 ((sha512_var1[bconst_var2150]))
#define b_var2179 (_mm_add_epi64(sha512_var104, b_var2178))
b_var2180 = _mm_add_epi64(b_var2176, b_var2179);
b_var2181 = _mm_add_epi64(b_var2050, b_var2180);
b_var2182 = _mm_add_epi64(b_var2180, b_var2164);
#define bconst_var2183 54ULL
#define b_var2184 28ULL
#define b_var2185 (_mm_roti_epi64(b_var2182, b_var2184))
#define b_var2186 34ULL
#define b_var2187 (_mm_roti_epi64(b_var2182, b_var2186))
#define b_var2188 (_mm_xor_si128(b_var2185, b_var2187))
#define b_var2189 39ULL
#define b_var2190 (_mm_roti_epi64(b_var2182, b_var2189))
#define b_var2191 (_mm_xor_si128(b_var2188, b_var2190))
#define b_var2192 (_mm_and_si128(b_var2182, b_var2149))
#define b_var2193 (_mm_and_si128(b_var2182, b_var2116))
#define b_var2194 (_mm_xor_si128(b_var2192, b_var2193))
#define b_var2195 (_mm_and_si128(b_var2149, b_var2116))
#define b_var2196 (_mm_xor_si128(b_var2194, b_var2195))
#define b_var2197 (_mm_add_epi64(b_var2191, b_var2196))
#define b_var2198 (_mm_roti_epi64(b_var2181, sha512_var32))
#define b_var2199 18ULL
#define b_var2200 (_mm_roti_epi64(b_var2181, b_var2199))
#define b_var2201 (_mm_xor_si128(b_var2198, b_var2200))
#define b_var2202 41ULL
#define b_var2203 (_mm_roti_epi64(b_var2181, b_var2202))
#define b_var2204 (_mm_xor_si128(b_var2201, b_var2203))
#define b_var2205 (_mm_and_si128(b_var2181, b_var2148))
#define b_var2206 (_mm_andnot_si128(b_var2181, b_var2115))
#define b_var2207 (_mm_xor_si128(b_var2205, b_var2206))
#define b_var2208 (_mm_add_epi64(b_var2204, b_var2207))
#define b_var2209 (_mm_add_epi64(b_var2082, b_var2208))
#define b_var2211 ((sha512_var1[bconst_var2183]))
#define b_var2212 (_mm_add_epi64(sha512_var105, b_var2211))
b_var2213 = _mm_add_epi64(b_var2209, b_var2212);
b_var2214 = _mm_add_epi64(b_var2083, b_var2213);
b_var2215 = _mm_add_epi64(b_var2213, b_var2197);
#define bconst_var2216 55ULL
#define b_var2217 28ULL
#define b_var2218 (_mm_roti_epi64(b_var2215, b_var2217))
#define b_var2219 34ULL
#define b_var2220 (_mm_roti_epi64(b_var2215, b_var2219))
#define b_var2221 (_mm_xor_si128(b_var2218, b_var2220))
#define b_var2222 39ULL
#define b_var2223 (_mm_roti_epi64(b_var2215, b_var2222))
#define b_var2224 (_mm_xor_si128(b_var2221, b_var2223))
#define b_var2225 (_mm_and_si128(b_var2215, b_var2182))
#define b_var2226 (_mm_and_si128(b_var2215, b_var2149))
#define b_var2227 (_mm_xor_si128(b_var2225, b_var2226))
#define b_var2228 (_mm_and_si128(b_var2182, b_var2149))
#define b_var2229 (_mm_xor_si128(b_var2227, b_var2228))
#define b_var2230 (_mm_add_epi64(b_var2224, b_var2229))
#define b_var2231 (_mm_roti_epi64(b_var2214, sha512_var32))
#define b_var2232 18ULL
#define b_var2233 (_mm_roti_epi64(b_var2214, b_var2232))
#define b_var2234 (_mm_xor_si128(b_var2231, b_var2233))
#define b_var2235 41ULL
#define b_var2236 (_mm_roti_epi64(b_var2214, b_var2235))
#define b_var2237 (_mm_xor_si128(b_var2234, b_var2236))
#define b_var2238 (_mm_and_si128(b_var2214, b_var2181))
#define b_var2239 (_mm_andnot_si128(b_var2214, b_var2148))
#define b_var2240 (_mm_xor_si128(b_var2238, b_var2239))
#define b_var2241 (_mm_add_epi64(b_var2237, b_var2240))
#define b_var2242 (_mm_add_epi64(b_var2115, b_var2241))
#define b_var2244 ((sha512_var1[bconst_var2216]))
#define b_var2245 (_mm_add_epi64(sha512_var106, b_var2244))
b_var2246 = _mm_add_epi64(b_var2242, b_var2245);
b_var2247 = _mm_add_epi64(b_var2116, b_var2246);
b_var2248 = _mm_add_epi64(b_var2246, b_var2230);
#define bconst_var2249 56ULL
#define b_var2250 28ULL
#define b_var2251 (_mm_roti_epi64(b_var2248, b_var2250))
#define b_var2252 34ULL
#define b_var2253 (_mm_roti_epi64(b_var2248, b_var2252))
#define b_var2254 (_mm_xor_si128(b_var2251, b_var2253))
#define b_var2255 39ULL
#define b_var2256 (_mm_roti_epi64(b_var2248, b_var2255))
#define b_var2257 (_mm_xor_si128(b_var2254, b_var2256))
#define b_var2258 (_mm_and_si128(b_var2248, b_var2215))
#define b_var2259 (_mm_and_si128(b_var2248, b_var2182))
#define b_var2260 (_mm_xor_si128(b_var2258, b_var2259))
#define b_var2261 (_mm_and_si128(b_var2215, b_var2182))
#define b_var2262 (_mm_xor_si128(b_var2260, b_var2261))
#define b_var2263 (_mm_add_epi64(b_var2257, b_var2262))
#define b_var2264 (_mm_roti_epi64(b_var2247, sha512_var32))
#define b_var2265 18ULL
#define b_var2266 (_mm_roti_epi64(b_var2247, b_var2265))
#define b_var2267 (_mm_xor_si128(b_var2264, b_var2266))
#define b_var2268 41ULL
#define b_var2269 (_mm_roti_epi64(b_var2247, b_var2268))
#define b_var2270 (_mm_xor_si128(b_var2267, b_var2269))
#define b_var2271 (_mm_and_si128(b_var2247, b_var2214))
#define b_var2272 (_mm_andnot_si128(b_var2247, b_var2181))
#define b_var2273 (_mm_xor_si128(b_var2271, b_var2272))
#define b_var2274 (_mm_add_epi64(b_var2270, b_var2273))
#define b_var2275 (_mm_add_epi64(b_var2148, b_var2274))
#define b_var2277 ((sha512_var1[bconst_var2249]))
#define b_var2278 (_mm_add_epi64(sha512_var107, b_var2277))
b_var2279 = _mm_add_epi64(b_var2275, b_var2278);
b_var2280 = _mm_add_epi64(b_var2149, b_var2279);
b_var2281 = _mm_add_epi64(b_var2279, b_var2263);
#define bconst_var2282 57ULL
#define b_var2283 28ULL
#define b_var2284 (_mm_roti_epi64(b_var2281, b_var2283))
#define b_var2285 34ULL
#define b_var2286 (_mm_roti_epi64(b_var2281, b_var2285))
#define b_var2287 (_mm_xor_si128(b_var2284, b_var2286))
#define b_var2288 39ULL
#define b_var2289 (_mm_roti_epi64(b_var2281, b_var2288))
#define b_var2290 (_mm_xor_si128(b_var2287, b_var2289))
#define b_var2291 (_mm_and_si128(b_var2281, b_var2248))
#define b_var2292 (_mm_and_si128(b_var2281, b_var2215))
#define b_var2293 (_mm_xor_si128(b_var2291, b_var2292))
#define b_var2294 (_mm_and_si128(b_var2248, b_var2215))
#define b_var2295 (_mm_xor_si128(b_var2293, b_var2294))
#define b_var2296 (_mm_add_epi64(b_var2290, b_var2295))
#define b_var2297 (_mm_roti_epi64(b_var2280, sha512_var32))
#define b_var2298 18ULL
#define b_var2299 (_mm_roti_epi64(b_var2280, b_var2298))
#define b_var2300 (_mm_xor_si128(b_var2297, b_var2299))
#define b_var2301 41ULL
#define b_var2302 (_mm_roti_epi64(b_var2280, b_var2301))
#define b_var2303 (_mm_xor_si128(b_var2300, b_var2302))
#define b_var2304 (_mm_and_si128(b_var2280, b_var2247))
#define b_var2305 (_mm_andnot_si128(b_var2280, b_var2214))
#define b_var2306 (_mm_xor_si128(b_var2304, b_var2305))
#define b_var2307 (_mm_add_epi64(b_var2303, b_var2306))
#define b_var2308 (_mm_add_epi64(b_var2181, b_var2307))
#define b_var2310 ((sha512_var1[bconst_var2282]))
#define b_var2311 (_mm_add_epi64(sha512_var108, b_var2310))
b_var2312 = _mm_add_epi64(b_var2308, b_var2311);
b_var2313 = _mm_add_epi64(b_var2182, b_var2312);
b_var2314 = _mm_add_epi64(b_var2312, b_var2296);
#define bconst_var2315 58ULL
#define b_var2316 28ULL
#define b_var2317 (_mm_roti_epi64(b_var2314, b_var2316))
#define b_var2318 34ULL
#define b_var2319 (_mm_roti_epi64(b_var2314, b_var2318))
#define b_var2320 (_mm_xor_si128(b_var2317, b_var2319))
#define b_var2321 39ULL
#define b_var2322 (_mm_roti_epi64(b_var2314, b_var2321))
#define b_var2323 (_mm_xor_si128(b_var2320, b_var2322))
#define b_var2324 (_mm_and_si128(b_var2314, b_var2281))
#define b_var2325 (_mm_and_si128(b_var2314, b_var2248))
#define b_var2326 (_mm_xor_si128(b_var2324, b_var2325))
#define b_var2327 (_mm_and_si128(b_var2281, b_var2248))
#define b_var2328 (_mm_xor_si128(b_var2326, b_var2327))
#define b_var2329 (_mm_add_epi64(b_var2323, b_var2328))
#define b_var2330 (_mm_roti_epi64(b_var2313, sha512_var32))
#define b_var2331 18ULL
#define b_var2332 (_mm_roti_epi64(b_var2313, b_var2331))
#define b_var2333 (_mm_xor_si128(b_var2330, b_var2332))
#define b_var2334 41ULL
#define b_var2335 (_mm_roti_epi64(b_var2313, b_var2334))
#define b_var2336 (_mm_xor_si128(b_var2333, b_var2335))
#define b_var2337 (_mm_and_si128(b_var2313, b_var2280))
#define b_var2338 (_mm_andnot_si128(b_var2313, b_var2247))
#define b_var2339 (_mm_xor_si128(b_var2337, b_var2338))
#define b_var2340 (_mm_add_epi64(b_var2336, b_var2339))
#define b_var2341 (_mm_add_epi64(b_var2214, b_var2340))
#define b_var2343 ((sha512_var1[bconst_var2315]))
#define b_var2344 (_mm_add_epi64(sha512_var109, b_var2343))
b_var2345 = _mm_add_epi64(b_var2341, b_var2344);
b_var2346 = _mm_add_epi64(b_var2215, b_var2345);
b_var2347 = _mm_add_epi64(b_var2345, b_var2329);
#define bconst_var2348 59ULL
#define b_var2349 28ULL
#define b_var2350 (_mm_roti_epi64(b_var2347, b_var2349))
#define b_var2351 34ULL
#define b_var2352 (_mm_roti_epi64(b_var2347, b_var2351))
#define b_var2353 (_mm_xor_si128(b_var2350, b_var2352))
#define b_var2354 39ULL
#define b_var2355 (_mm_roti_epi64(b_var2347, b_var2354))
#define b_var2356 (_mm_xor_si128(b_var2353, b_var2355))
#define b_var2357 (_mm_and_si128(b_var2347, b_var2314))
#define b_var2358 (_mm_and_si128(b_var2347, b_var2281))
#define b_var2359 (_mm_xor_si128(b_var2357, b_var2358))
#define b_var2360 (_mm_and_si128(b_var2314, b_var2281))
#define b_var2361 (_mm_xor_si128(b_var2359, b_var2360))
#define b_var2362 (_mm_add_epi64(b_var2356, b_var2361))
#define b_var2363 (_mm_roti_epi64(b_var2346, sha512_var32))
#define b_var2364 18ULL
#define b_var2365 (_mm_roti_epi64(b_var2346, b_var2364))
#define b_var2366 (_mm_xor_si128(b_var2363, b_var2365))
#define b_var2367 41ULL
#define b_var2368 (_mm_roti_epi64(b_var2346, b_var2367))
#define b_var2369 (_mm_xor_si128(b_var2366, b_var2368))
#define b_var2370 (_mm_and_si128(b_var2346, b_var2313))
#define b_var2371 (_mm_andnot_si128(b_var2346, b_var2280))
#define b_var2372 (_mm_xor_si128(b_var2370, b_var2371))
#define b_var2373 (_mm_add_epi64(b_var2369, b_var2372))
#define b_var2374 (_mm_add_epi64(b_var2247, b_var2373))
#define b_var2376 ((sha512_var1[bconst_var2348]))
#define b_var2377 (_mm_add_epi64(sha512_var110, b_var2376))
b_var2378 = _mm_add_epi64(b_var2374, b_var2377);
b_var2379 = _mm_add_epi64(b_var2248, b_var2378);
b_var2380 = _mm_add_epi64(b_var2378, b_var2362);
#define bconst_var2381 60ULL
#define b_var2382 28ULL
#define b_var2383 (_mm_roti_epi64(b_var2380, b_var2382))
#define b_var2384 34ULL
#define b_var2385 (_mm_roti_epi64(b_var2380, b_var2384))
#define b_var2386 (_mm_xor_si128(b_var2383, b_var2385))
#define b_var2387 39ULL
#define b_var2388 (_mm_roti_epi64(b_var2380, b_var2387))
#define b_var2389 (_mm_xor_si128(b_var2386, b_var2388))
#define b_var2390 (_mm_and_si128(b_var2380, b_var2347))
#define b_var2391 (_mm_and_si128(b_var2380, b_var2314))
#define b_var2392 (_mm_xor_si128(b_var2390, b_var2391))
#define b_var2393 (_mm_and_si128(b_var2347, b_var2314))
#define b_var2394 (_mm_xor_si128(b_var2392, b_var2393))
#define b_var2395 (_mm_add_epi64(b_var2389, b_var2394))
#define b_var2396 (_mm_roti_epi64(b_var2379, sha512_var32))
#define b_var2397 18ULL
#define b_var2398 (_mm_roti_epi64(b_var2379, b_var2397))
#define b_var2399 (_mm_xor_si128(b_var2396, b_var2398))
#define b_var2400 41ULL
#define b_var2401 (_mm_roti_epi64(b_var2379, b_var2400))
#define b_var2402 (_mm_xor_si128(b_var2399, b_var2401))
#define b_var2403 (_mm_and_si128(b_var2379, b_var2346))
#define b_var2404 (_mm_andnot_si128(b_var2379, b_var2313))
#define b_var2405 (_mm_xor_si128(b_var2403, b_var2404))
#define b_var2406 (_mm_add_epi64(b_var2402, b_var2405))
#define b_var2407 (_mm_add_epi64(b_var2280, b_var2406))
#define b_var2409 ((sha512_var1[bconst_var2381]))
#define b_var2410 (_mm_add_epi64(sha512_var111, b_var2409))
b_var2411 = _mm_add_epi64(b_var2407, b_var2410);
b_var2412 = _mm_add_epi64(b_var2281, b_var2411);
b_var2413 = _mm_add_epi64(b_var2411, b_var2395);
#define bconst_var2414 61ULL
#define b_var2415 28ULL
#define b_var2416 (_mm_roti_epi64(b_var2413, b_var2415))
#define b_var2417 34ULL
#define b_var2418 (_mm_roti_epi64(b_var2413, b_var2417))
#define b_var2419 (_mm_xor_si128(b_var2416, b_var2418))
#define b_var2420 39ULL
#define b_var2421 (_mm_roti_epi64(b_var2413, b_var2420))
#define b_var2422 (_mm_xor_si128(b_var2419, b_var2421))
#define b_var2423 (_mm_and_si128(b_var2413, b_var2380))
#define b_var2424 (_mm_and_si128(b_var2413, b_var2347))
#define b_var2425 (_mm_xor_si128(b_var2423, b_var2424))
#define b_var2426 (_mm_and_si128(b_var2380, b_var2347))
#define b_var2427 (_mm_xor_si128(b_var2425, b_var2426))
#define b_var2428 (_mm_add_epi64(b_var2422, b_var2427))
#define b_var2429 (_mm_roti_epi64(b_var2412, sha512_var32))
#define b_var2430 18ULL
#define b_var2431 (_mm_roti_epi64(b_var2412, b_var2430))
#define b_var2432 (_mm_xor_si128(b_var2429, b_var2431))
#define b_var2433 41ULL
#define b_var2434 (_mm_roti_epi64(b_var2412, b_var2433))
#define b_var2435 (_mm_xor_si128(b_var2432, b_var2434))
#define b_var2436 (_mm_and_si128(b_var2412, b_var2379))
#define b_var2437 (_mm_andnot_si128(b_var2412, b_var2346))
#define b_var2438 (_mm_xor_si128(b_var2436, b_var2437))
#define b_var2439 (_mm_add_epi64(b_var2435, b_var2438))
#define b_var2440 (_mm_add_epi64(b_var2313, b_var2439))
#define b_var2442 ((sha512_var1[bconst_var2414]))
#define b_var2443 (_mm_add_epi64(sha512_var112, b_var2442))
b_var2444 = _mm_add_epi64(b_var2440, b_var2443);
b_var2445 = _mm_add_epi64(b_var2314, b_var2444);
b_var2446 = _mm_add_epi64(b_var2444, b_var2428);
#define bconst_var2447 62ULL
#define b_var2448 28ULL
#define b_var2449 (_mm_roti_epi64(b_var2446, b_var2448))
#define b_var2450 34ULL
#define b_var2451 (_mm_roti_epi64(b_var2446, b_var2450))
#define b_var2452 (_mm_xor_si128(b_var2449, b_var2451))
#define b_var2453 39ULL
#define b_var2454 (_mm_roti_epi64(b_var2446, b_var2453))
#define b_var2455 (_mm_xor_si128(b_var2452, b_var2454))
#define b_var2456 (_mm_and_si128(b_var2446, b_var2413))
#define b_var2457 (_mm_and_si128(b_var2446, b_var2380))
#define b_var2458 (_mm_xor_si128(b_var2456, b_var2457))
#define b_var2459 (_mm_and_si128(b_var2413, b_var2380))
#define b_var2460 (_mm_xor_si128(b_var2458, b_var2459))
#define b_var2461 (_mm_add_epi64(b_var2455, b_var2460))
#define b_var2462 (_mm_roti_epi64(b_var2445, sha512_var32))
#define b_var2463 18ULL
#define b_var2464 (_mm_roti_epi64(b_var2445, b_var2463))
#define b_var2465 (_mm_xor_si128(b_var2462, b_var2464))
#define b_var2466 41ULL
#define b_var2467 (_mm_roti_epi64(b_var2445, b_var2466))
#define b_var2468 (_mm_xor_si128(b_var2465, b_var2467))
#define b_var2469 (_mm_and_si128(b_var2445, b_var2412))
#define b_var2470 (_mm_andnot_si128(b_var2445, b_var2379))
#define b_var2471 (_mm_xor_si128(b_var2469, b_var2470))
#define b_var2472 (_mm_add_epi64(b_var2468, b_var2471))
#define b_var2473 (_mm_add_epi64(b_var2346, b_var2472))
#define b_var2475 ((sha512_var1[bconst_var2447]))
#define b_var2476 (_mm_add_epi64(sha512_var113, b_var2475))
b_var2477 = _mm_add_epi64(b_var2473, b_var2476);
b_var2478 = _mm_add_epi64(b_var2347, b_var2477);
b_var2479 = _mm_add_epi64(b_var2477, b_var2461);
#define bconst_var2480 63ULL
#define b_var2481 28ULL
#define b_var2482 (_mm_roti_epi64(b_var2479, b_var2481))
#define b_var2483 34ULL
#define b_var2484 (_mm_roti_epi64(b_var2479, b_var2483))
#define b_var2485 (_mm_xor_si128(b_var2482, b_var2484))
#define b_var2486 39ULL
#define b_var2487 (_mm_roti_epi64(b_var2479, b_var2486))
#define b_var2488 (_mm_xor_si128(b_var2485, b_var2487))
#define b_var2489 (_mm_and_si128(b_var2479, b_var2446))
#define b_var2490 (_mm_and_si128(b_var2479, b_var2413))
#define b_var2491 (_mm_xor_si128(b_var2489, b_var2490))
#define b_var2492 (_mm_and_si128(b_var2446, b_var2413))
#define b_var2493 (_mm_xor_si128(b_var2491, b_var2492))
#define b_var2494 (_mm_add_epi64(b_var2488, b_var2493))
#define b_var2495 (_mm_roti_epi64(b_var2478, sha512_var32))
#define b_var2496 18ULL
#define b_var2497 (_mm_roti_epi64(b_var2478, b_var2496))
#define b_var2498 (_mm_xor_si128(b_var2495, b_var2497))
#define b_var2499 41ULL
#define b_var2500 (_mm_roti_epi64(b_var2478, b_var2499))
#define b_var2501 (_mm_xor_si128(b_var2498, b_var2500))
#define b_var2502 (_mm_and_si128(b_var2478, b_var2445))
#define b_var2503 (_mm_andnot_si128(b_var2478, b_var2412))
#define b_var2504 (_mm_xor_si128(b_var2502, b_var2503))
#define b_var2505 (_mm_add_epi64(b_var2501, b_var2504))
#define b_var2506 (_mm_add_epi64(b_var2379, b_var2505))
#define b_var2508 ((sha512_var1[bconst_var2480]))
#define b_var2509 (_mm_add_epi64(sha512_var114, b_var2508))
b_var2510 = _mm_add_epi64(b_var2506, b_var2509);
b_var2511 = _mm_add_epi64(b_var2380, b_var2510);
b_var2512 = _mm_add_epi64(b_var2510, b_var2494);
#define bconst_var2513 64ULL
#define b_var2514 28ULL
#define b_var2515 (_mm_roti_epi64(b_var2512, b_var2514))
#define b_var2516 34ULL
#define b_var2517 (_mm_roti_epi64(b_var2512, b_var2516))
#define b_var2518 (_mm_xor_si128(b_var2515, b_var2517))
#define b_var2519 39ULL
#define b_var2520 (_mm_roti_epi64(b_var2512, b_var2519))
#define b_var2521 (_mm_xor_si128(b_var2518, b_var2520))
#define b_var2522 (_mm_and_si128(b_var2512, b_var2479))
#define b_var2523 (_mm_and_si128(b_var2512, b_var2446))
#define b_var2524 (_mm_xor_si128(b_var2522, b_var2523))
#define b_var2525 (_mm_and_si128(b_var2479, b_var2446))
#define b_var2526 (_mm_xor_si128(b_var2524, b_var2525))
#define b_var2527 (_mm_add_epi64(b_var2521, b_var2526))
#define b_var2528 (_mm_roti_epi64(b_var2511, sha512_var32))
#define b_var2529 18ULL
#define b_var2530 (_mm_roti_epi64(b_var2511, b_var2529))
#define b_var2531 (_mm_xor_si128(b_var2528, b_var2530))
#define b_var2532 41ULL
#define b_var2533 (_mm_roti_epi64(b_var2511, b_var2532))
#define b_var2534 (_mm_xor_si128(b_var2531, b_var2533))
#define b_var2535 (_mm_and_si128(b_var2511, b_var2478))
#define b_var2536 (_mm_andnot_si128(b_var2511, b_var2445))
#define b_var2537 (_mm_xor_si128(b_var2535, b_var2536))
#define b_var2538 (_mm_add_epi64(b_var2534, b_var2537))
#define b_var2539 (_mm_add_epi64(b_var2412, b_var2538))
#define b_var2541 ((sha512_var1[bconst_var2513]))
#define b_var2542 (_mm_add_epi64(sha512_var115, b_var2541))
b_var2543 = _mm_add_epi64(b_var2539, b_var2542);
b_var2544 = _mm_add_epi64(b_var2413, b_var2543);
b_var2545 = _mm_add_epi64(b_var2543, b_var2527);
#define bconst_var2546 65ULL
#define b_var2547 28ULL
#define b_var2548 (_mm_roti_epi64(b_var2545, b_var2547))
#define b_var2549 34ULL
#define b_var2550 (_mm_roti_epi64(b_var2545, b_var2549))
#define b_var2551 (_mm_xor_si128(b_var2548, b_var2550))
#define b_var2552 39ULL
#define b_var2553 (_mm_roti_epi64(b_var2545, b_var2552))
#define b_var2554 (_mm_xor_si128(b_var2551, b_var2553))
#define b_var2555 (_mm_and_si128(b_var2545, b_var2512))
#define b_var2556 (_mm_and_si128(b_var2545, b_var2479))
#define b_var2557 (_mm_xor_si128(b_var2555, b_var2556))
#define b_var2558 (_mm_and_si128(b_var2512, b_var2479))
#define b_var2559 (_mm_xor_si128(b_var2557, b_var2558))
#define b_var2560 (_mm_add_epi64(b_var2554, b_var2559))
#define b_var2561 (_mm_roti_epi64(b_var2544, sha512_var32))
#define b_var2562 18ULL
#define b_var2563 (_mm_roti_epi64(b_var2544, b_var2562))
#define b_var2564 (_mm_xor_si128(b_var2561, b_var2563))
#define b_var2565 41ULL
#define b_var2566 (_mm_roti_epi64(b_var2544, b_var2565))
#define b_var2567 (_mm_xor_si128(b_var2564, b_var2566))
#define b_var2568 (_mm_and_si128(b_var2544, b_var2511))
#define b_var2569 (_mm_andnot_si128(b_var2544, b_var2478))
#define b_var2570 (_mm_xor_si128(b_var2568, b_var2569))
#define b_var2571 (_mm_add_epi64(b_var2567, b_var2570))
#define b_var2572 (_mm_add_epi64(b_var2445, b_var2571))
#define b_var2574 ((sha512_var1[bconst_var2546]))
#define b_var2575 (_mm_add_epi64(sha512_var116, b_var2574))
b_var2576 = _mm_add_epi64(b_var2572, b_var2575);
b_var2577 = _mm_add_epi64(b_var2446, b_var2576);
b_var2578 = _mm_add_epi64(b_var2576, b_var2560);
#define bconst_var2579 66ULL
#define b_var2580 28ULL
#define b_var2581 (_mm_roti_epi64(b_var2578, b_var2580))
#define b_var2582 34ULL
#define b_var2583 (_mm_roti_epi64(b_var2578, b_var2582))
#define b_var2584 (_mm_xor_si128(b_var2581, b_var2583))
#define b_var2585 39ULL
#define b_var2586 (_mm_roti_epi64(b_var2578, b_var2585))
#define b_var2587 (_mm_xor_si128(b_var2584, b_var2586))
#define b_var2588 (_mm_and_si128(b_var2578, b_var2545))
#define b_var2589 (_mm_and_si128(b_var2578, b_var2512))
#define b_var2590 (_mm_xor_si128(b_var2588, b_var2589))
#define b_var2591 (_mm_and_si128(b_var2545, b_var2512))
#define b_var2592 (_mm_xor_si128(b_var2590, b_var2591))
#define b_var2593 (_mm_add_epi64(b_var2587, b_var2592))
#define b_var2594 (_mm_roti_epi64(b_var2577, sha512_var32))
#define b_var2595 18ULL
#define b_var2596 (_mm_roti_epi64(b_var2577, b_var2595))
#define b_var2597 (_mm_xor_si128(b_var2594, b_var2596))
#define b_var2598 41ULL
#define b_var2599 (_mm_roti_epi64(b_var2577, b_var2598))
#define b_var2600 (_mm_xor_si128(b_var2597, b_var2599))
#define b_var2601 (_mm_and_si128(b_var2577, b_var2544))
#define b_var2602 (_mm_andnot_si128(b_var2577, b_var2511))
#define b_var2603 (_mm_xor_si128(b_var2601, b_var2602))
#define b_var2604 (_mm_add_epi64(b_var2600, b_var2603))
#define b_var2605 (_mm_add_epi64(b_var2478, b_var2604))
#define b_var2607 ((sha512_var1[bconst_var2579]))
#define b_var2608 (_mm_add_epi64(sha512_var117, b_var2607))
b_var2609 = _mm_add_epi64(b_var2605, b_var2608);
b_var2610 = _mm_add_epi64(b_var2479, b_var2609);
b_var2611 = _mm_add_epi64(b_var2609, b_var2593);
#define bconst_var2612 67ULL
#define b_var2613 28ULL
#define b_var2614 (_mm_roti_epi64(b_var2611, b_var2613))
#define b_var2615 34ULL
#define b_var2616 (_mm_roti_epi64(b_var2611, b_var2615))
#define b_var2617 (_mm_xor_si128(b_var2614, b_var2616))
#define b_var2618 39ULL
#define b_var2619 (_mm_roti_epi64(b_var2611, b_var2618))
#define b_var2620 (_mm_xor_si128(b_var2617, b_var2619))
#define b_var2621 (_mm_and_si128(b_var2611, b_var2578))
#define b_var2622 (_mm_and_si128(b_var2611, b_var2545))
#define b_var2623 (_mm_xor_si128(b_var2621, b_var2622))
#define b_var2624 (_mm_and_si128(b_var2578, b_var2545))
#define b_var2625 (_mm_xor_si128(b_var2623, b_var2624))
#define b_var2626 (_mm_add_epi64(b_var2620, b_var2625))
#define b_var2627 (_mm_roti_epi64(b_var2610, sha512_var32))
#define b_var2628 18ULL
#define b_var2629 (_mm_roti_epi64(b_var2610, b_var2628))
#define b_var2630 (_mm_xor_si128(b_var2627, b_var2629))
#define b_var2631 41ULL
#define b_var2632 (_mm_roti_epi64(b_var2610, b_var2631))
#define b_var2633 (_mm_xor_si128(b_var2630, b_var2632))
#define b_var2634 (_mm_and_si128(b_var2610, b_var2577))
#define b_var2635 (_mm_andnot_si128(b_var2610, b_var2544))
#define b_var2636 (_mm_xor_si128(b_var2634, b_var2635))
#define b_var2637 (_mm_add_epi64(b_var2633, b_var2636))
#define b_var2638 (_mm_add_epi64(b_var2511, b_var2637))
#define b_var2640 ((sha512_var1[bconst_var2612]))
#define b_var2641 (_mm_add_epi64(sha512_var118, b_var2640))
b_var2642 = _mm_add_epi64(b_var2638, b_var2641);
b_var2643 = _mm_add_epi64(b_var2512, b_var2642);
b_var2644 = _mm_add_epi64(b_var2642, b_var2626);
#define bconst_var2645 68ULL
#define b_var2646 28ULL
#define b_var2647 (_mm_roti_epi64(b_var2644, b_var2646))
#define b_var2648 34ULL
#define b_var2649 (_mm_roti_epi64(b_var2644, b_var2648))
#define b_var2650 (_mm_xor_si128(b_var2647, b_var2649))
#define b_var2651 39ULL
#define b_var2652 (_mm_roti_epi64(b_var2644, b_var2651))
#define b_var2653 (_mm_xor_si128(b_var2650, b_var2652))
#define b_var2654 (_mm_and_si128(b_var2644, b_var2611))
#define b_var2655 (_mm_and_si128(b_var2644, b_var2578))
#define b_var2656 (_mm_xor_si128(b_var2654, b_var2655))
#define b_var2657 (_mm_and_si128(b_var2611, b_var2578))
#define b_var2658 (_mm_xor_si128(b_var2656, b_var2657))
#define b_var2659 (_mm_add_epi64(b_var2653, b_var2658))
#define b_var2660 (_mm_roti_epi64(b_var2643, sha512_var32))
#define b_var2661 18ULL
#define b_var2662 (_mm_roti_epi64(b_var2643, b_var2661))
#define b_var2663 (_mm_xor_si128(b_var2660, b_var2662))
#define b_var2664 41ULL
#define b_var2665 (_mm_roti_epi64(b_var2643, b_var2664))
#define b_var2666 (_mm_xor_si128(b_var2663, b_var2665))
#define b_var2667 (_mm_and_si128(b_var2643, b_var2610))
#define b_var2668 (_mm_andnot_si128(b_var2643, b_var2577))
#define b_var2669 (_mm_xor_si128(b_var2667, b_var2668))
#define b_var2670 (_mm_add_epi64(b_var2666, b_var2669))
#define b_var2671 (_mm_add_epi64(b_var2544, b_var2670))
#define b_var2673 ((sha512_var1[bconst_var2645]))
#define b_var2674 (_mm_add_epi64(sha512_var119, b_var2673))
b_var2675 = _mm_add_epi64(b_var2671, b_var2674);
b_var2676 = _mm_add_epi64(b_var2545, b_var2675);
b_var2677 = _mm_add_epi64(b_var2675, b_var2659);
#define bconst_var2678 69ULL
#define b_var2679 28ULL
#define b_var2680 (_mm_roti_epi64(b_var2677, b_var2679))
#define b_var2681 34ULL
#define b_var2682 (_mm_roti_epi64(b_var2677, b_var2681))
#define b_var2683 (_mm_xor_si128(b_var2680, b_var2682))
#define b_var2684 39ULL
#define b_var2685 (_mm_roti_epi64(b_var2677, b_var2684))
#define b_var2686 (_mm_xor_si128(b_var2683, b_var2685))
#define b_var2687 (_mm_and_si128(b_var2677, b_var2644))
#define b_var2688 (_mm_and_si128(b_var2677, b_var2611))
#define b_var2689 (_mm_xor_si128(b_var2687, b_var2688))
#define b_var2690 (_mm_and_si128(b_var2644, b_var2611))
#define b_var2691 (_mm_xor_si128(b_var2689, b_var2690))
#define b_var2692 (_mm_add_epi64(b_var2686, b_var2691))
#define b_var2693 (_mm_roti_epi64(b_var2676, sha512_var32))
#define b_var2694 18ULL
#define b_var2695 (_mm_roti_epi64(b_var2676, b_var2694))
#define b_var2696 (_mm_xor_si128(b_var2693, b_var2695))
#define b_var2697 41ULL
#define b_var2698 (_mm_roti_epi64(b_var2676, b_var2697))
#define b_var2699 (_mm_xor_si128(b_var2696, b_var2698))
#define b_var2700 (_mm_and_si128(b_var2676, b_var2643))
#define b_var2701 (_mm_andnot_si128(b_var2676, b_var2610))
#define b_var2702 (_mm_xor_si128(b_var2700, b_var2701))
#define b_var2703 (_mm_add_epi64(b_var2699, b_var2702))
#define b_var2704 (_mm_add_epi64(b_var2577, b_var2703))
#define b_var2706 ((sha512_var1[bconst_var2678]))
#define b_var2707 (_mm_add_epi64(sha512_var120, b_var2706))
b_var2708 = _mm_add_epi64(b_var2704, b_var2707);
b_var2709 = _mm_add_epi64(b_var2578, b_var2708);
b_var2710 = _mm_add_epi64(b_var2708, b_var2692);
#define bconst_var2711 70ULL
#define b_var2712 28ULL
#define b_var2713 (_mm_roti_epi64(b_var2710, b_var2712))
#define b_var2714 34ULL
#define b_var2715 (_mm_roti_epi64(b_var2710, b_var2714))
#define b_var2716 (_mm_xor_si128(b_var2713, b_var2715))
#define b_var2717 39ULL
#define b_var2718 (_mm_roti_epi64(b_var2710, b_var2717))
#define b_var2719 (_mm_xor_si128(b_var2716, b_var2718))
#define b_var2720 (_mm_and_si128(b_var2710, b_var2677))
#define b_var2721 (_mm_and_si128(b_var2710, b_var2644))
#define b_var2722 (_mm_xor_si128(b_var2720, b_var2721))
#define b_var2723 (_mm_and_si128(b_var2677, b_var2644))
#define b_var2724 (_mm_xor_si128(b_var2722, b_var2723))
#define b_var2725 (_mm_add_epi64(b_var2719, b_var2724))
#define b_var2726 (_mm_roti_epi64(b_var2709, sha512_var32))
#define b_var2727 18ULL
#define b_var2728 (_mm_roti_epi64(b_var2709, b_var2727))
#define b_var2729 (_mm_xor_si128(b_var2726, b_var2728))
#define b_var2730 41ULL
#define b_var2731 (_mm_roti_epi64(b_var2709, b_var2730))
#define b_var2732 (_mm_xor_si128(b_var2729, b_var2731))
#define b_var2733 (_mm_and_si128(b_var2709, b_var2676))
#define b_var2734 (_mm_andnot_si128(b_var2709, b_var2643))
#define b_var2735 (_mm_xor_si128(b_var2733, b_var2734))
#define b_var2736 (_mm_add_epi64(b_var2732, b_var2735))
#define b_var2737 (_mm_add_epi64(b_var2610, b_var2736))
#define b_var2739 ((sha512_var1[bconst_var2711]))
#define b_var2740 (_mm_add_epi64(sha512_var121, b_var2739))
b_var2741 = _mm_add_epi64(b_var2737, b_var2740);
b_var2742 = _mm_add_epi64(b_var2611, b_var2741);
b_var2743 = _mm_add_epi64(b_var2741, b_var2725);
#define bconst_var2744 71ULL
#define b_var2745 28ULL
#define b_var2746 (_mm_roti_epi64(b_var2743, b_var2745))
#define b_var2747 34ULL
#define b_var2748 (_mm_roti_epi64(b_var2743, b_var2747))
#define b_var2749 (_mm_xor_si128(b_var2746, b_var2748))
#define b_var2750 39ULL
#define b_var2751 (_mm_roti_epi64(b_var2743, b_var2750))
#define b_var2752 (_mm_xor_si128(b_var2749, b_var2751))
#define b_var2753 (_mm_and_si128(b_var2743, b_var2710))
#define b_var2754 (_mm_and_si128(b_var2743, b_var2677))
#define b_var2755 (_mm_xor_si128(b_var2753, b_var2754))
#define b_var2756 (_mm_and_si128(b_var2710, b_var2677))
#define b_var2757 (_mm_xor_si128(b_var2755, b_var2756))
#define b_var2758 (_mm_add_epi64(b_var2752, b_var2757))
#define b_var2759 (_mm_roti_epi64(b_var2742, sha512_var32))
#define b_var2760 18ULL
#define b_var2761 (_mm_roti_epi64(b_var2742, b_var2760))
#define b_var2762 (_mm_xor_si128(b_var2759, b_var2761))
#define b_var2763 41ULL
#define b_var2764 (_mm_roti_epi64(b_var2742, b_var2763))
#define b_var2765 (_mm_xor_si128(b_var2762, b_var2764))
#define b_var2766 (_mm_and_si128(b_var2742, b_var2709))
#define b_var2767 (_mm_andnot_si128(b_var2742, b_var2676))
#define b_var2768 (_mm_xor_si128(b_var2766, b_var2767))
#define b_var2769 (_mm_add_epi64(b_var2765, b_var2768))
#define b_var2770 (_mm_add_epi64(b_var2643, b_var2769))
#define b_var2772 ((sha512_var1[bconst_var2744]))
#define b_var2773 (_mm_add_epi64(sha512_var122, b_var2772))
b_var2774 = _mm_add_epi64(b_var2770, b_var2773);
b_var2775 = _mm_add_epi64(b_var2644, b_var2774);
b_var2776 = _mm_add_epi64(b_var2774, b_var2758);
#define bconst_var2777 72ULL
#define b_var2778 28ULL
#define b_var2779 (_mm_roti_epi64(b_var2776, b_var2778))
#define b_var2780 34ULL
#define b_var2781 (_mm_roti_epi64(b_var2776, b_var2780))
#define b_var2782 (_mm_xor_si128(b_var2779, b_var2781))
#define b_var2783 39ULL
#define b_var2784 (_mm_roti_epi64(b_var2776, b_var2783))
#define b_var2785 (_mm_xor_si128(b_var2782, b_var2784))
#define b_var2786 (_mm_and_si128(b_var2776, b_var2743))
#define b_var2787 (_mm_and_si128(b_var2776, b_var2710))
#define b_var2788 (_mm_xor_si128(b_var2786, b_var2787))
#define b_var2789 (_mm_and_si128(b_var2743, b_var2710))
#define b_var2790 (_mm_xor_si128(b_var2788, b_var2789))
#define b_var2791 (_mm_add_epi64(b_var2785, b_var2790))
#define b_var2792 (_mm_roti_epi64(b_var2775, sha512_var32))
#define b_var2793 18ULL
#define b_var2794 (_mm_roti_epi64(b_var2775, b_var2793))
#define b_var2795 (_mm_xor_si128(b_var2792, b_var2794))
#define b_var2796 41ULL
#define b_var2797 (_mm_roti_epi64(b_var2775, b_var2796))
#define b_var2798 (_mm_xor_si128(b_var2795, b_var2797))
#define b_var2799 (_mm_and_si128(b_var2775, b_var2742))
#define b_var2800 (_mm_andnot_si128(b_var2775, b_var2709))
#define b_var2801 (_mm_xor_si128(b_var2799, b_var2800))
#define b_var2802 (_mm_add_epi64(b_var2798, b_var2801))
#define b_var2803 (_mm_add_epi64(b_var2676, b_var2802))
#define b_var2805 ((sha512_var1[bconst_var2777]))
#define b_var2806 (_mm_add_epi64(sha512_var123, b_var2805))
b_var2807 = _mm_add_epi64(b_var2803, b_var2806);
b_var2808 = _mm_add_epi64(b_var2677, b_var2807);
b_var2809 = _mm_add_epi64(b_var2807, b_var2791);
#define bconst_var2810 73ULL
#define b_var2811 28ULL
#define b_var2812 (_mm_roti_epi64(b_var2809, b_var2811))
#define b_var2813 34ULL
#define b_var2814 (_mm_roti_epi64(b_var2809, b_var2813))
#define b_var2815 (_mm_xor_si128(b_var2812, b_var2814))
#define b_var2816 39ULL
#define b_var2817 (_mm_roti_epi64(b_var2809, b_var2816))
#define b_var2818 (_mm_xor_si128(b_var2815, b_var2817))
#define b_var2819 (_mm_and_si128(b_var2809, b_var2776))
#define b_var2820 (_mm_and_si128(b_var2809, b_var2743))
#define b_var2821 (_mm_xor_si128(b_var2819, b_var2820))
#define b_var2822 (_mm_and_si128(b_var2776, b_var2743))
#define b_var2823 (_mm_xor_si128(b_var2821, b_var2822))
#define b_var2824 (_mm_add_epi64(b_var2818, b_var2823))
#define b_var2825 (_mm_roti_epi64(b_var2808, sha512_var32))
#define b_var2826 18ULL
#define b_var2827 (_mm_roti_epi64(b_var2808, b_var2826))
#define b_var2828 (_mm_xor_si128(b_var2825, b_var2827))
#define b_var2829 41ULL
#define b_var2830 (_mm_roti_epi64(b_var2808, b_var2829))
#define b_var2831 (_mm_xor_si128(b_var2828, b_var2830))
#define b_var2832 (_mm_and_si128(b_var2808, b_var2775))
#define b_var2833 (_mm_andnot_si128(b_var2808, b_var2742))
#define b_var2834 (_mm_xor_si128(b_var2832, b_var2833))
#define b_var2835 (_mm_add_epi64(b_var2831, b_var2834))
#define b_var2836 (_mm_add_epi64(b_var2709, b_var2835))
#define b_var2838 ((sha512_var1[bconst_var2810]))
#define b_var2839 (_mm_add_epi64(sha512_var124, b_var2838))
b_var2840 = _mm_add_epi64(b_var2836, b_var2839);
b_var2841 = _mm_add_epi64(b_var2710, b_var2840);
b_var2842 = _mm_add_epi64(b_var2840, b_var2824);
#define bconst_var2843 74ULL
#define b_var2844 28ULL
#define b_var2845 (_mm_roti_epi64(b_var2842, b_var2844))
#define b_var2846 34ULL
#define b_var2847 (_mm_roti_epi64(b_var2842, b_var2846))
#define b_var2848 (_mm_xor_si128(b_var2845, b_var2847))
#define b_var2849 39ULL
#define b_var2850 (_mm_roti_epi64(b_var2842, b_var2849))
#define b_var2851 (_mm_xor_si128(b_var2848, b_var2850))
#define b_var2852 (_mm_and_si128(b_var2842, b_var2809))
#define b_var2853 (_mm_and_si128(b_var2842, b_var2776))
#define b_var2854 (_mm_xor_si128(b_var2852, b_var2853))
#define b_var2855 (_mm_and_si128(b_var2809, b_var2776))
#define b_var2856 (_mm_xor_si128(b_var2854, b_var2855))
#define b_var2857 (_mm_add_epi64(b_var2851, b_var2856))
#define b_var2858 (_mm_roti_epi64(b_var2841, sha512_var32))
#define b_var2859 18ULL
#define b_var2860 (_mm_roti_epi64(b_var2841, b_var2859))
#define b_var2861 (_mm_xor_si128(b_var2858, b_var2860))
#define b_var2862 41ULL
#define b_var2863 (_mm_roti_epi64(b_var2841, b_var2862))
#define b_var2864 (_mm_xor_si128(b_var2861, b_var2863))
#define b_var2865 (_mm_and_si128(b_var2841, b_var2808))
#define b_var2866 (_mm_andnot_si128(b_var2841, b_var2775))
#define b_var2867 (_mm_xor_si128(b_var2865, b_var2866))
#define b_var2868 (_mm_add_epi64(b_var2864, b_var2867))
#define b_var2869 (_mm_add_epi64(b_var2742, b_var2868))
#define b_var2871 ((sha512_var1[bconst_var2843]))
#define b_var2872 (_mm_add_epi64(sha512_var125, b_var2871))
b_var2873 = _mm_add_epi64(b_var2869, b_var2872);
b_var2874 = _mm_add_epi64(b_var2743, b_var2873);
b_var2875 = _mm_add_epi64(b_var2873, b_var2857);
#define bconst_var2876 75ULL
#define b_var2877 28ULL
#define b_var2878 (_mm_roti_epi64(b_var2875, b_var2877))
#define b_var2879 34ULL
#define b_var2880 (_mm_roti_epi64(b_var2875, b_var2879))
#define b_var2881 (_mm_xor_si128(b_var2878, b_var2880))
#define b_var2882 39ULL
#define b_var2883 (_mm_roti_epi64(b_var2875, b_var2882))
#define b_var2884 (_mm_xor_si128(b_var2881, b_var2883))
#define b_var2885 (_mm_and_si128(b_var2875, b_var2842))
#define b_var2886 (_mm_and_si128(b_var2875, b_var2809))
#define b_var2887 (_mm_xor_si128(b_var2885, b_var2886))
#define b_var2888 (_mm_and_si128(b_var2842, b_var2809))
#define b_var2889 (_mm_xor_si128(b_var2887, b_var2888))
#define b_var2890 (_mm_add_epi64(b_var2884, b_var2889))
#define b_var2891 (_mm_roti_epi64(b_var2874, sha512_var32))
#define b_var2892 18ULL
#define b_var2893 (_mm_roti_epi64(b_var2874, b_var2892))
#define b_var2894 (_mm_xor_si128(b_var2891, b_var2893))
#define b_var2895 41ULL
#define b_var2896 (_mm_roti_epi64(b_var2874, b_var2895))
#define b_var2897 (_mm_xor_si128(b_var2894, b_var2896))
#define b_var2898 (_mm_and_si128(b_var2874, b_var2841))
#define b_var2899 (_mm_andnot_si128(b_var2874, b_var2808))
#define b_var2900 (_mm_xor_si128(b_var2898, b_var2899))
#define b_var2901 (_mm_add_epi64(b_var2897, b_var2900))
#define b_var2902 (_mm_add_epi64(b_var2775, b_var2901))
#define b_var2904 ((sha512_var1[bconst_var2876]))
#define b_var2905 (_mm_add_epi64(sha512_var126, b_var2904))
b_var2906 = _mm_add_epi64(b_var2902, b_var2905);
b_var2907 = _mm_add_epi64(b_var2776, b_var2906);
b_var2908 = _mm_add_epi64(b_var2906, b_var2890);
#define bconst_var2909 76ULL
#define b_var2910 28ULL
#define b_var2911 (_mm_roti_epi64(b_var2908, b_var2910))
#define b_var2912 34ULL
#define b_var2913 (_mm_roti_epi64(b_var2908, b_var2912))
#define b_var2914 (_mm_xor_si128(b_var2911, b_var2913))
#define b_var2915 39ULL
#define b_var2916 (_mm_roti_epi64(b_var2908, b_var2915))
#define b_var2917 (_mm_xor_si128(b_var2914, b_var2916))
#define b_var2918 (_mm_and_si128(b_var2908, b_var2875))
#define b_var2919 (_mm_and_si128(b_var2908, b_var2842))
#define b_var2920 (_mm_xor_si128(b_var2918, b_var2919))
#define b_var2921 (_mm_and_si128(b_var2875, b_var2842))
#define b_var2922 (_mm_xor_si128(b_var2920, b_var2921))
#define b_var2923 (_mm_add_epi64(b_var2917, b_var2922))
#define b_var2924 (_mm_roti_epi64(b_var2907, sha512_var32))
#define b_var2925 18ULL
#define b_var2926 (_mm_roti_epi64(b_var2907, b_var2925))
#define b_var2927 (_mm_xor_si128(b_var2924, b_var2926))
#define b_var2928 41ULL
#define b_var2929 (_mm_roti_epi64(b_var2907, b_var2928))
#define b_var2930 (_mm_xor_si128(b_var2927, b_var2929))
#define b_var2931 (_mm_and_si128(b_var2907, b_var2874))
#define b_var2932 (_mm_andnot_si128(b_var2907, b_var2841))
#define b_var2933 (_mm_xor_si128(b_var2931, b_var2932))
#define b_var2934 (_mm_add_epi64(b_var2930, b_var2933))
#define b_var2935 (_mm_add_epi64(b_var2808, b_var2934))
#define b_var2937 ((sha512_var1[bconst_var2909]))
#define b_var2938 (_mm_add_epi64(sha512_var127, b_var2937))
b_var2939 = _mm_add_epi64(b_var2935, b_var2938);
b_var2940 = _mm_add_epi64(b_var2809, b_var2939);
b_var2941 = _mm_add_epi64(b_var2939, b_var2923);
#define bconst_var2942 77ULL
#define b_var2943 28ULL
#define b_var2944 (_mm_roti_epi64(b_var2941, b_var2943))
#define b_var2945 34ULL
#define b_var2946 (_mm_roti_epi64(b_var2941, b_var2945))
#define b_var2947 (_mm_xor_si128(b_var2944, b_var2946))
#define b_var2948 39ULL
#define b_var2949 (_mm_roti_epi64(b_var2941, b_var2948))
#define b_var2950 (_mm_xor_si128(b_var2947, b_var2949))
#define b_var2951 (_mm_and_si128(b_var2941, b_var2908))
#define b_var2952 (_mm_and_si128(b_var2941, b_var2875))
#define b_var2953 (_mm_xor_si128(b_var2951, b_var2952))
#define b_var2954 (_mm_and_si128(b_var2908, b_var2875))
#define b_var2955 (_mm_xor_si128(b_var2953, b_var2954))
#define b_var2956 (_mm_add_epi64(b_var2950, b_var2955))
#define b_var2957 (_mm_roti_epi64(b_var2940, sha512_var32))
#define b_var2958 18ULL
#define b_var2959 (_mm_roti_epi64(b_var2940, b_var2958))
#define b_var2960 (_mm_xor_si128(b_var2957, b_var2959))
#define b_var2961 41ULL
#define b_var2962 (_mm_roti_epi64(b_var2940, b_var2961))
#define b_var2963 (_mm_xor_si128(b_var2960, b_var2962))
#define b_var2964 (_mm_and_si128(b_var2940, b_var2907))
#define b_var2965 (_mm_andnot_si128(b_var2940, b_var2874))
#define b_var2966 (_mm_xor_si128(b_var2964, b_var2965))
#define b_var2967 (_mm_add_epi64(b_var2963, b_var2966))
#define b_var2968 (_mm_add_epi64(b_var2841, b_var2967))
#define b_var2970 ((sha512_var1[bconst_var2942]))
#define b_var2971 (_mm_add_epi64(sha512_var128, b_var2970))
b_var2972 = _mm_add_epi64(b_var2968, b_var2971);
b_var2973 = _mm_add_epi64(b_var2842, b_var2972);
b_var2974 = _mm_add_epi64(b_var2972, b_var2956);
#define bconst_var2975 78ULL
#define b_var2976 28ULL
#define b_var2977 (_mm_roti_epi64(b_var2974, b_var2976))
#define b_var2978 34ULL
#define b_var2979 (_mm_roti_epi64(b_var2974, b_var2978))
#define b_var2980 (_mm_xor_si128(b_var2977, b_var2979))
#define b_var2981 39ULL
#define b_var2982 (_mm_roti_epi64(b_var2974, b_var2981))
#define b_var2983 (_mm_xor_si128(b_var2980, b_var2982))
#define b_var2984 (_mm_and_si128(b_var2974, b_var2941))
#define b_var2985 (_mm_and_si128(b_var2974, b_var2908))
#define b_var2986 (_mm_xor_si128(b_var2984, b_var2985))
#define b_var2987 (_mm_and_si128(b_var2941, b_var2908))
#define b_var2988 (_mm_xor_si128(b_var2986, b_var2987))
#define b_var2989 (_mm_add_epi64(b_var2983, b_var2988))
#define b_var2990 (_mm_roti_epi64(b_var2973, sha512_var32))
#define b_var2991 18ULL
#define b_var2992 (_mm_roti_epi64(b_var2973, b_var2991))
#define b_var2993 (_mm_xor_si128(b_var2990, b_var2992))
#define b_var2994 41ULL
#define b_var2995 (_mm_roti_epi64(b_var2973, b_var2994))
#define b_var2996 (_mm_xor_si128(b_var2993, b_var2995))
#define b_var2997 (_mm_and_si128(b_var2973, b_var2940))
#define b_var2998 (_mm_andnot_si128(b_var2973, b_var2907))
#define b_var2999 (_mm_xor_si128(b_var2997, b_var2998))
#define b_var3000 (_mm_add_epi64(b_var2996, b_var2999))
#define b_var3001 (_mm_add_epi64(b_var2874, b_var3000))
#define b_var3003 ((sha512_var1[bconst_var2975]))
#define b_var3004 (_mm_add_epi64(sha512_var129, b_var3003))
b_var3005 = _mm_add_epi64(b_var3001, b_var3004);
b_var3006 = _mm_add_epi64(b_var2875, b_var3005);
b_var3007 = _mm_add_epi64(b_var3005, b_var2989);
#define bconst_var3008 79ULL
#define b_var3009 28ULL
#define b_var3010 (_mm_roti_epi64(b_var3007, b_var3009))
#define b_var3011 34ULL
#define b_var3012 (_mm_roti_epi64(b_var3007, b_var3011))
#define b_var3013 (_mm_xor_si128(b_var3010, b_var3012))
#define b_var3014 39ULL
#define b_var3015 (_mm_roti_epi64(b_var3007, b_var3014))
#define b_var3016 (_mm_xor_si128(b_var3013, b_var3015))
#define b_var3017 (_mm_and_si128(b_var3007, b_var2974))
#define b_var3018 (_mm_and_si128(b_var3007, b_var2941))
#define b_var3019 (_mm_xor_si128(b_var3017, b_var3018))
#define b_var3020 (_mm_and_si128(b_var2974, b_var2941))
#define b_var3021 (_mm_xor_si128(b_var3019, b_var3020))
#define b_var3022 (_mm_add_epi64(b_var3016, b_var3021))
#define b_var3023 (_mm_roti_epi64(b_var3006, sha512_var32))
#define b_var3024 18ULL
#define b_var3025 (_mm_roti_epi64(b_var3006, b_var3024))
#define b_var3026 (_mm_xor_si128(b_var3023, b_var3025))
#define b_var3027 41ULL
#define b_var3028 (_mm_roti_epi64(b_var3006, b_var3027))
#define b_var3029 (_mm_xor_si128(b_var3026, b_var3028))
#define b_var3030 (_mm_and_si128(b_var3006, b_var2973))
#define b_var3031 (_mm_andnot_si128(b_var3006, b_var2940))
#define b_var3032 (_mm_xor_si128(b_var3030, b_var3031))
#define b_var3033 (_mm_add_epi64(b_var3029, b_var3032))
#define b_var3034 (_mm_add_epi64(b_var2907, b_var3033))
#define b_var3036 ((sha512_var1[bconst_var3008]))
#define b_var3037 (_mm_add_epi64(sha512_var130, b_var3036))
b_var3038 = _mm_add_epi64(b_var3034, b_var3037);
#define b_var3039 (_mm_add_epi64(b_var2908, b_var3038))
#define b_var3040 (_mm_add_epi64(b_var3038, b_var3022))
main_end: (void)1;
#define sha512_var200 (_mm_add_epi64(sha512_var36, b_var3040))
#define sha512_var201 (_mm_add_epi64(sha512_var38, b_var3007))
#define sha512_var202 (_mm_add_epi64(sha512_var40, b_var2974))
#define sha512_var203 (_mm_add_epi64(sha512_var42, b_var2941))
#define sha512_var204 (_mm_add_epi64(sha512_var44, b_var3039))
#define sha512_var205 (_mm_add_epi64(sha512_var46, b_var3006))
#define sha512_var206 (_mm_add_epi64(sha512_var48, b_var2973))
#define sha512_var207 (_mm_add_epi64(sha512_var50, b_var2940))
before_outputs: (void)1;
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[0]), sha512_var200);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[1]), sha512_var201);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[2]), sha512_var202);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[3]), sha512_var203);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[4]), sha512_var204);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[5]), sha512_var205);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[6]), sha512_var206);
_mm_store_si128(&(((__m128i*)(crypt_out[index/MMX_COEF_SHA512]))[7]), sha512_var207);
/* } */
#else
SHA512_CTX ctx;
SHA512_Init(&ctx);
SHA512_Update(&ctx, saved_key[index], saved_key_length[index]);
SHA512_Final((unsigned char *)crypt_out[index], &ctx);
#endif
}
return count;
}
static int cmp_all(void *binary, int count)
{
int index;
for (index = 0; index < count; index++) {
#ifdef MMX_COEF_SHA512
/* printf("crypt_out[index(0x%x)>>(MMX_COEF_SHA512(0x%x)>>1)(0x%x)][index&(MMX_COEF_SHA512-1)(0x%x)]\n", index, MMX_COEF_SHA512, index>>(MMX_COEF_SHA512>>1), index&(MMX_COEF_SHA512-1)); */
/* int myi; */
/* for (myi = 0; myi < 128; myi++) { */
/* if (myi && myi % 8 == 0) printf(" "); */
/* printf("%02x", ((unsigned char*)crypt_out)[myi]); */
/* } */
/* printf("\n"); */
/* printf("%llx ?= %llx\n", ((ARCH_WORD_64 *) binary)[0], crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)]); */
if (((ARCH_WORD_64 *) binary)[0] == crypt_out[index>>(MMX_COEF_SHA512>>1)][index&(MMX_COEF_SHA512-1)])
#else
if ( ((ARCH_WORD_32*)binary)[0] == crypt_out[index][0] )
#endif
return 1;
}
return 0;
}
static int cmp_one(void *binary, int index)
{
#ifdef MMX_COEF_SHA512
int i;
for (i = 0; i < BINARY_SIZE/sizeof(ARCH_WORD_64); i++){
/* printf("> %llx ?= %llx\n", ((ARCH_WORD_64 *) binary)[i], crypt_out[index>>(MMX_COEF_SHA512>>1)][(index&(MMX_COEF_SHA512-1))+i*MMX_COEF_SHA512]); */
if (((ARCH_WORD_64 *) binary)[i] != crypt_out[index>>(MMX_COEF_SHA512>>1)][(index&(MMX_COEF_SHA512-1))+i*MMX_COEF_SHA512])
return 0;
}
return 1;
#else
return !memcmp(binary, crypt_out[index], BINARY_SIZE);
#endif
}
static int cmp_exact(char *source, int index)
{
return 1;
}
/* The '0_' makes sure this format registers before others,
* if ambigous. Do not copy it for other formats.
*/
struct fmt_main fmt_raw1_SHA512 = {
{
FORMAT_LABEL,
FORMAT_NAME,
"SHA512 " ALGORITHM_NAME,
BENCHMARK_COMMENT,
BENCHMARK_LENGTH,
0,
PLAINTEXT_LENGTH,
BINARY_SIZE,
BINARY_ALIGN,
SALT_SIZE,
SALT_ALIGN,
MIN_KEYS_PER_CRYPT,
MAX_KEYS_PER_CRYPT,
FMT_CASE | FMT_8_BIT | FMT_OMP | FMT_SPLIT_UNIFIES_CASE,
#if FMT_MAIN_VERSION > 11
{ NULL },
#endif
tests
}, {
init,
fmt_default_done,
fmt_default_reset,
fmt_default_prepare,
valid,
split,
binary,
fmt_default_salt,
#if FMT_MAIN_VERSION > 11
{ NULL },
#endif
fmt_default_source,
{
fmt_default_binary_hash_0,
fmt_default_binary_hash_1,
fmt_default_binary_hash_2,
fmt_default_binary_hash_3,
fmt_default_binary_hash_4,
fmt_default_binary_hash_5,
fmt_default_binary_hash_6
},
fmt_default_salt_hash,
NULL,
fmt_default_set_salt,
set_key,
get_key,
fmt_default_clear_keys,
crypt_all,
{
get_hash_0,
get_hash_1,
get_hash_2,
get_hash_3,
get_hash_4,
get_hash_5,
get_hash_6
},
cmp_all,
cmp_one,
cmp_exact
}
};
#endif /* plugin stanza */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment