#ifdef IN_SANDY2X

#include "ladder_namespace.h"
#include "consts_namespace.h"
.p2align 5

.globl ladder
.globl _ladder
#ifdef __ELF__
.type  ladder, @function
.type _ladder, @function
#endif
ladder:
_ladder:

mov %rsp,%r11
and $31,%r11
add $1856,%r11
sub %r11,%rsp
movq %r11,1824(%rsp)
movq %r12,1832(%rsp)
movq %r13,1840(%rsp)
movq %r14,1848(%rsp)
movdqa v0_0(%rip),%xmm0
movdqa v1_0(%rip),%xmm1
movdqu   0(%rdi),%xmm2
movdqa %xmm2,0(%rsp)
movdqu   16(%rdi),%xmm2
movdqa %xmm2,16(%rsp)
movdqu   32(%rdi),%xmm2
movdqa %xmm2,32(%rsp)
movdqu   48(%rdi),%xmm2
movdqa %xmm2,48(%rsp)
movdqu   64(%rdi),%xmm2
movdqa %xmm2,64(%rsp)
movdqa %xmm1,80(%rsp)
movdqa %xmm0,96(%rsp)
movdqa %xmm0,112(%rsp)
movdqa %xmm0,128(%rsp)
movdqa %xmm0,144(%rsp)
movdqa %xmm1,%xmm0
pxor %xmm1,%xmm1
pxor %xmm2,%xmm2
pxor %xmm3,%xmm3
pxor %xmm4,%xmm4
pxor %xmm5,%xmm5
pxor %xmm6,%xmm6
pxor %xmm7,%xmm7
pxor %xmm8,%xmm8
pxor %xmm9,%xmm9
movdqu   0(%rdi),%xmm10
movdqa %xmm10,160(%rsp)
movdqu   16(%rdi),%xmm10
movdqa %xmm10,176(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,192(%rsp)
movdqu   32(%rdi),%xmm10
movdqa %xmm10,208(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,224(%rsp)
movdqu   48(%rdi),%xmm10
movdqa %xmm10,240(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,256(%rsp)
movdqu   64(%rdi),%xmm10
movdqa %xmm10,272(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,288(%rsp)
movdqu   8(%rdi),%xmm10
pmuludq v2_1(%rip),%xmm10
movdqa %xmm10,304(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,320(%rsp)
movdqu   24(%rdi),%xmm10
pmuludq v2_1(%rip),%xmm10
movdqa %xmm10,336(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,352(%rsp)
movdqu   40(%rdi),%xmm10
pmuludq v2_1(%rip),%xmm10
movdqa %xmm10,368(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,384(%rsp)
movdqu   56(%rdi),%xmm10
pmuludq v2_1(%rip),%xmm10
movdqa %xmm10,400(%rsp)
pmuludq v19_19(%rip),%xmm10
movdqa %xmm10,416(%rsp)
movdqu   0(%rdi),%xmm10
movdqu   64(%rdi),%xmm11
blendps $12, %xmm11, %xmm10
pshufd $2,%xmm10,%xmm10
pmuludq v38_1(%rip),%xmm10
movdqa %xmm10,432(%rsp)
movq   0(%rsi),%rdx
movq   8(%rsi),%rcx
movq   16(%rsi),%r8
movq   24(%rsi),%r9
shrd $1,%rcx,%rdx
shrd $1,%r8,%rcx
shrd $1,%r9,%r8
shr  $1,%r9
xorq 0(%rsi),%rdx
xorq 8(%rsi),%rcx
xorq 16(%rsi),%r8
xorq 24(%rsi),%r9
leaq 800(%rsp),%rsi
mov  $64,%rax
._ladder_small_loop:
mov  %rdx,%r10
mov  %rcx,%r11
mov  %r8,%r12
mov  %r9,%r13
shr  $1,%rdx
shr  $1,%rcx
shr  $1,%r8
shr  $1,%r9
and  $1,%r10d
and  $1,%r11d
and  $1,%r12d
and  $1,%r13d
neg  %r10
neg  %r11
neg  %r12
neg  %r13
movl   %r10d,0(%rsi)
movl   %r11d,256(%rsi)
movl   %r12d,512(%rsi)
movl   %r13d,768(%rsi)
add  $4,%rsi
sub  $1,%rax
jne ._ladder_small_loop
mov  $255,%rdx
add  $760,%rsi
._ladder_loop:
sub  $1,%rdx
vbroadcastss 0(%rsi),%xmm10
sub  $4,%rsi
movdqa 0(%rsp),%xmm11
movdqa 80(%rsp),%xmm12
vpxor %xmm11,%xmm0,%xmm13
pand %xmm10,%xmm13
pxor %xmm13,%xmm0
pxor %xmm13,%xmm11
vpxor %xmm12,%xmm1,%xmm13
pand %xmm10,%xmm13
pxor %xmm13,%xmm1
pxor %xmm13,%xmm12
movdqa 16(%rsp),%xmm13
movdqa 96(%rsp),%xmm14
vpxor %xmm13,%xmm2,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm2
pxor %xmm15,%xmm13
vpxor %xmm14,%xmm3,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm3
pxor %xmm15,%xmm14
movdqa %xmm13,0(%rsp)
movdqa %xmm14,16(%rsp)
movdqa 32(%rsp),%xmm13
movdqa 112(%rsp),%xmm14
vpxor %xmm13,%xmm4,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm4
pxor %xmm15,%xmm13
vpxor %xmm14,%xmm5,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm5
pxor %xmm15,%xmm14
movdqa %xmm13,32(%rsp)
movdqa %xmm14,80(%rsp)
movdqa 48(%rsp),%xmm13
movdqa 128(%rsp),%xmm14
vpxor %xmm13,%xmm6,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm6
pxor %xmm15,%xmm13
vpxor %xmm14,%xmm7,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm7
pxor %xmm15,%xmm14
movdqa %xmm13,48(%rsp)
movdqa %xmm14,96(%rsp)
movdqa 64(%rsp),%xmm13
movdqa 144(%rsp),%xmm14
vpxor %xmm13,%xmm8,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm8
pxor %xmm15,%xmm13
vpxor %xmm14,%xmm9,%xmm15
pand %xmm10,%xmm15
pxor %xmm15,%xmm9
pxor %xmm15,%xmm14
movdqa %xmm13,64(%rsp)
movdqa %xmm14,112(%rsp)
vpaddq subc0(%rip),%xmm11,%xmm10
psubq %xmm12,%xmm10
paddq %xmm12,%xmm11
vpunpckhqdq %xmm10,%xmm11,%xmm12
vpunpcklqdq %xmm10,%xmm11,%xmm10
vpaddq %xmm1,%xmm0,%xmm11
paddq subc0(%rip),%xmm0
psubq %xmm1,%xmm0
vpunpckhqdq %xmm11,%xmm0,%xmm1
vpunpcklqdq %xmm11,%xmm0,%xmm0
vpmuludq %xmm0,%xmm10,%xmm11
vpmuludq %xmm1,%xmm10,%xmm13
movdqa %xmm1,128(%rsp)
paddq %xmm1,%xmm1
vpmuludq %xmm0,%xmm12,%xmm14
movdqa %xmm0,144(%rsp)
paddq %xmm14,%xmm13
vpmuludq %xmm1,%xmm12,%xmm0
movdqa %xmm1,448(%rsp)
vpaddq %xmm3,%xmm2,%xmm1
paddq subc2(%rip),%xmm2
psubq %xmm3,%xmm2
vpunpckhqdq %xmm1,%xmm2,%xmm3
vpunpcklqdq %xmm1,%xmm2,%xmm1
vpmuludq %xmm1,%xmm10,%xmm2
paddq %xmm2,%xmm0
vpmuludq %xmm3,%xmm10,%xmm2
movdqa %xmm3,464(%rsp)
paddq %xmm3,%xmm3
vpmuludq %xmm1,%xmm12,%xmm14
movdqa %xmm1,480(%rsp)
paddq %xmm14,%xmm2
vpmuludq %xmm3,%xmm12,%xmm1
movdqa %xmm3,496(%rsp)
vpaddq %xmm5,%xmm4,%xmm3
paddq subc2(%rip),%xmm4
psubq %xmm5,%xmm4
vpunpckhqdq %xmm3,%xmm4,%xmm5
vpunpcklqdq %xmm3,%xmm4,%xmm3
vpmuludq %xmm3,%xmm10,%xmm4
paddq %xmm4,%xmm1
vpmuludq %xmm5,%xmm10,%xmm4
movdqa %xmm5,512(%rsp)
paddq %xmm5,%xmm5
vpmuludq %xmm3,%xmm12,%xmm14
movdqa %xmm3,528(%rsp)
paddq %xmm14,%xmm4
vpaddq %xmm7,%xmm6,%xmm3
paddq subc2(%rip),%xmm6
psubq %xmm7,%xmm6
vpunpckhqdq %xmm3,%xmm6,%xmm7
vpunpcklqdq %xmm3,%xmm6,%xmm3
vpmuludq %xmm3,%xmm10,%xmm6
vpmuludq %xmm5,%xmm12,%xmm14
movdqa %xmm5,544(%rsp)
pmuludq v19_19(%rip),%xmm5
movdqa %xmm5,560(%rsp)
paddq %xmm14,%xmm6
vpmuludq %xmm7,%xmm10,%xmm5
movdqa %xmm7,576(%rsp)
paddq %xmm7,%xmm7
vpmuludq %xmm3,%xmm12,%xmm14
movdqa %xmm3,592(%rsp)
paddq %xmm14,%xmm5
pmuludq v19_19(%rip),%xmm3
movdqa %xmm3,608(%rsp)
vpaddq %xmm9,%xmm8,%xmm3
paddq subc2(%rip),%xmm8
psubq %xmm9,%xmm8
vpunpckhqdq %xmm3,%xmm8,%xmm9
vpunpcklqdq %xmm3,%xmm8,%xmm3
movdqa %xmm3,624(%rsp)
vpmuludq %xmm7,%xmm12,%xmm8
movdqa %xmm7,640(%rsp)
pmuludq v19_19(%rip),%xmm7
movdqa %xmm7,656(%rsp)
vpmuludq %xmm3,%xmm10,%xmm7
paddq %xmm7,%xmm8
vpmuludq %xmm9,%xmm10,%xmm7
movdqa %xmm9,672(%rsp)
paddq %xmm9,%xmm9
vpmuludq %xmm3,%xmm12,%xmm10
paddq %xmm10,%xmm7
pmuludq v19_19(%rip),%xmm3
movdqa %xmm3,688(%rsp)
pmuludq v19_19(%rip),%xmm12
vpmuludq %xmm9,%xmm12,%xmm3
movdqa %xmm9,704(%rsp)
paddq %xmm3,%xmm11
movdqa 0(%rsp),%xmm3
movdqa 16(%rsp),%xmm9
vpaddq subc2(%rip),%xmm3,%xmm10
psubq %xmm9,%xmm10
paddq %xmm9,%xmm3
vpunpckhqdq %xmm10,%xmm3,%xmm9
vpunpcklqdq %xmm10,%xmm3,%xmm3
vpmuludq 144(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm0
vpmuludq 128(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm2
vpmuludq 480(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm1
vpmuludq 464(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm4
vpmuludq 528(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm6
vpmuludq 512(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm5
vpmuludq 592(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm8
vpmuludq 576(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm7
pmuludq v19_19(%rip),%xmm3
vpmuludq 624(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm11
pmuludq 672(%rsp),%xmm3
paddq %xmm3,%xmm13
vpmuludq 144(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm2
vpmuludq 448(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm1
vpmuludq 480(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm4
vpmuludq 496(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm6
vpmuludq 528(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm5
vpmuludq 544(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm8
vpmuludq 592(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm7
pmuludq v19_19(%rip),%xmm9
vpmuludq 640(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm11
vpmuludq 624(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm13
pmuludq 704(%rsp),%xmm9
paddq %xmm9,%xmm0
movdqa 32(%rsp),%xmm3
movdqa 80(%rsp),%xmm9
vpaddq subc2(%rip),%xmm3,%xmm10
psubq %xmm9,%xmm10
paddq %xmm9,%xmm3
vpunpckhqdq %xmm10,%xmm3,%xmm9
vpunpcklqdq %xmm10,%xmm3,%xmm3
vpmuludq 144(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm1
vpmuludq 128(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm4
vpmuludq 480(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm6
vpmuludq 464(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm5
vpmuludq 528(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm8
vpmuludq 512(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm7
pmuludq v19_19(%rip),%xmm3
vpmuludq 592(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm11
vpmuludq 576(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm13
vpmuludq 624(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm0
pmuludq 672(%rsp),%xmm3
paddq %xmm3,%xmm2
vpmuludq 144(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm4
vpmuludq 448(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm6
vpmuludq 480(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm5
vpmuludq 496(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm8
vpmuludq 528(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm7
pmuludq v19_19(%rip),%xmm9
vpmuludq 544(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm11
vpmuludq 592(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm13
vpmuludq 640(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm0
vpmuludq 624(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm2
pmuludq 704(%rsp),%xmm9
paddq %xmm9,%xmm1
movdqa 48(%rsp),%xmm3
movdqa 96(%rsp),%xmm9
vpaddq subc2(%rip),%xmm3,%xmm10
psubq %xmm9,%xmm10
paddq %xmm9,%xmm3
vpunpckhqdq %xmm10,%xmm3,%xmm9
vpunpcklqdq %xmm10,%xmm3,%xmm3
vpmuludq 144(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm6
vpmuludq 128(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm5
vpmuludq 480(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm8
vpmuludq 464(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm7
pmuludq v19_19(%rip),%xmm3
vpmuludq 528(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm11
vpmuludq 512(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm13
vpmuludq 592(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm0
vpmuludq 576(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm2
vpmuludq 624(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm1
pmuludq 672(%rsp),%xmm3
paddq %xmm3,%xmm4
vpmuludq 144(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm5
vpmuludq 448(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm8
vpmuludq 480(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm7
pmuludq v19_19(%rip),%xmm9
vpmuludq 496(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm11
vpmuludq 528(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm13
vpmuludq 544(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm0
vpmuludq 592(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm2
vpmuludq 640(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm1
vpmuludq 624(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm4
pmuludq 704(%rsp),%xmm9
paddq %xmm9,%xmm6
movdqa 64(%rsp),%xmm3
movdqa 112(%rsp),%xmm9
vpaddq subc2(%rip),%xmm3,%xmm10
psubq %xmm9,%xmm10
paddq %xmm9,%xmm3
vpunpckhqdq %xmm10,%xmm3,%xmm9
vpunpcklqdq %xmm10,%xmm3,%xmm3
vpmuludq 144(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm8
vpmuludq 128(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm7
pmuludq v19_19(%rip),%xmm3
vpmuludq 480(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm11
vpmuludq 464(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm13
vpmuludq 528(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm0
vpmuludq 512(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm2
vpmuludq 592(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm1
vpmuludq 576(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm4
vpmuludq 624(%rsp),%xmm3,%xmm10
paddq %xmm10,%xmm6
pmuludq 672(%rsp),%xmm3
paddq %xmm3,%xmm5
vpmuludq 144(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm7
pmuludq v19_19(%rip),%xmm9
vpmuludq 448(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm11
vpmuludq 480(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm13
vpmuludq 496(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm0
vpmuludq 528(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm2
vpmuludq 544(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm1
vpmuludq 592(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm4
vpmuludq 640(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm6
vpmuludq 624(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm5
pmuludq 704(%rsp),%xmm9
paddq %xmm9,%xmm8
vpsrlq $25,%xmm4,%xmm3
paddq %xmm3,%xmm6
pand m25(%rip),%xmm4
vpsrlq $26,%xmm11,%xmm3
paddq %xmm3,%xmm13
pand m26(%rip),%xmm11
vpsrlq $26,%xmm6,%xmm3
paddq %xmm3,%xmm5
pand m26(%rip),%xmm6
vpsrlq $25,%xmm13,%xmm3
paddq %xmm3,%xmm0
pand m25(%rip),%xmm13
vpsrlq $25,%xmm5,%xmm3
paddq %xmm3,%xmm8
pand m25(%rip),%xmm5
vpsrlq $26,%xmm0,%xmm3
paddq %xmm3,%xmm2
pand m26(%rip),%xmm0
vpsrlq $26,%xmm8,%xmm3
paddq %xmm3,%xmm7
pand m26(%rip),%xmm8
vpsrlq $25,%xmm2,%xmm3
paddq %xmm3,%xmm1
pand m25(%rip),%xmm2
vpsrlq $25,%xmm7,%xmm3
vpsllq $4,%xmm3,%xmm9
paddq %xmm3,%xmm11
psllq $1,%xmm3
paddq %xmm3,%xmm9
paddq %xmm9,%xmm11
pand m25(%rip),%xmm7
vpsrlq $26,%xmm1,%xmm3
paddq %xmm3,%xmm4
pand m26(%rip),%xmm1
vpsrlq $26,%xmm11,%xmm3
paddq %xmm3,%xmm13
pand m26(%rip),%xmm11
vpsrlq $25,%xmm4,%xmm3
paddq %xmm3,%xmm6
pand m25(%rip),%xmm4
vpunpcklqdq %xmm13,%xmm11,%xmm3
vpunpckhqdq %xmm13,%xmm11,%xmm9
vpaddq subc0(%rip),%xmm9,%xmm10
psubq %xmm3,%xmm10
paddq %xmm9,%xmm3
vpunpckhqdq %xmm3,%xmm10,%xmm9
punpcklqdq %xmm3,%xmm10
vpmuludq %xmm10,%xmm10,%xmm3
paddq %xmm10,%xmm10
vpmuludq %xmm9,%xmm10,%xmm11
vpunpcklqdq %xmm2,%xmm0,%xmm12
vpunpckhqdq %xmm2,%xmm0,%xmm0
vpaddq subc2(%rip),%xmm0,%xmm2
psubq %xmm12,%xmm2
paddq %xmm0,%xmm12
vpunpckhqdq %xmm12,%xmm2,%xmm0
punpcklqdq %xmm12,%xmm2
vpmuludq %xmm2,%xmm10,%xmm12
vpaddq %xmm9,%xmm9,%xmm13
vpmuludq %xmm13,%xmm9,%xmm9
paddq %xmm9,%xmm12
vpmuludq %xmm0,%xmm10,%xmm9
vpmuludq %xmm2,%xmm13,%xmm14
paddq %xmm14,%xmm9
vpunpcklqdq %xmm4,%xmm1,%xmm14
vpunpckhqdq %xmm4,%xmm1,%xmm1
vpaddq subc2(%rip),%xmm1,%xmm4
psubq %xmm14,%xmm4
paddq %xmm1,%xmm14
vpunpckhqdq %xmm14,%xmm4,%xmm1
punpcklqdq %xmm14,%xmm4
movdqa %xmm1,0(%rsp)
paddq %xmm1,%xmm1
movdqa %xmm1,16(%rsp)
pmuludq v19_19(%rip),%xmm1
movdqa %xmm1,32(%rsp)
vpmuludq %xmm4,%xmm10,%xmm1
vpmuludq %xmm2,%xmm2,%xmm14
paddq %xmm14,%xmm1
vpmuludq 0(%rsp),%xmm10,%xmm14
vpmuludq %xmm4,%xmm13,%xmm15
paddq %xmm15,%xmm14
vpunpcklqdq %xmm5,%xmm6,%xmm15
vpunpckhqdq %xmm5,%xmm6,%xmm5
vpaddq subc2(%rip),%xmm5,%xmm6
psubq %xmm15,%xmm6
paddq %xmm5,%xmm15
vpunpckhqdq %xmm15,%xmm6,%xmm5
punpcklqdq %xmm15,%xmm6
movdqa %xmm6,48(%rsp)
pmuludq v19_19(%rip),%xmm6
movdqa %xmm6,64(%rsp)
movdqa %xmm5,80(%rsp)
pmuludq v38_38(%rip),%xmm5
movdqa %xmm5,96(%rsp)
vpmuludq 48(%rsp),%xmm10,%xmm5
vpaddq %xmm0,%xmm0,%xmm6
vpmuludq %xmm6,%xmm0,%xmm0
paddq %xmm0,%xmm5
vpmuludq 80(%rsp),%xmm10,%xmm0
vpmuludq %xmm4,%xmm6,%xmm15
paddq %xmm15,%xmm0
vpmuludq %xmm6,%xmm13,%xmm15
paddq %xmm15,%xmm1
vpmuludq %xmm6,%xmm2,%xmm15
paddq %xmm15,%xmm14
vpunpcklqdq %xmm7,%xmm8,%xmm15
vpunpckhqdq %xmm7,%xmm8,%xmm7
vpaddq subc2(%rip),%xmm7,%xmm8
psubq %xmm15,%xmm8
paddq %xmm7,%xmm15
vpunpckhqdq %xmm15,%xmm8,%xmm7
punpcklqdq %xmm15,%xmm8
movdqa %xmm8,112(%rsp)
pmuludq v19_19(%rip),%xmm8
movdqa %xmm8,448(%rsp)
vpmuludq 112(%rsp),%xmm10,%xmm8
vpmuludq %xmm7,%xmm10,%xmm10
vpmuludq v38_38(%rip),%xmm7,%xmm15
vpmuludq %xmm15,%xmm7,%xmm7
paddq %xmm7,%xmm8
vpmuludq %xmm15,%xmm13,%xmm7
paddq %xmm7,%xmm3
vpmuludq %xmm15,%xmm2,%xmm7
paddq %xmm7,%xmm11
vpmuludq 80(%rsp),%xmm13,%xmm7
paddq %xmm7,%xmm7
paddq %xmm7,%xmm8
vpmuludq 16(%rsp),%xmm13,%xmm7
paddq %xmm7,%xmm5
vpmuludq 48(%rsp),%xmm13,%xmm7
paddq %xmm7,%xmm0
vpmuludq 112(%rsp),%xmm13,%xmm7
paddq %xmm7,%xmm10
vpmuludq %xmm15,%xmm6,%xmm7
paddq %xmm7,%xmm12
vpmuludq %xmm15,%xmm4,%xmm7
paddq %xmm7,%xmm9
vpaddq %xmm2,%xmm2,%xmm2
vpmuludq %xmm4,%xmm2,%xmm7
paddq %xmm7,%xmm5
vpmuludq 448(%rsp),%xmm2,%xmm7
paddq %xmm7,%xmm3
vpmuludq 448(%rsp),%xmm6,%xmm7
paddq %xmm7,%xmm11
vpmuludq 0(%rsp),%xmm2,%xmm7
paddq %xmm7,%xmm0
vpmuludq 48(%rsp),%xmm2,%xmm7
paddq %xmm7,%xmm8
vpmuludq 80(%rsp),%xmm2,%xmm2
paddq %xmm2,%xmm10
vpmuludq 96(%rsp),%xmm4,%xmm2
paddq %xmm2,%xmm11
vpmuludq %xmm4,%xmm4,%xmm2
paddq %xmm2,%xmm8
vpaddq %xmm4,%xmm4,%xmm2
vpmuludq 448(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm12
vpmuludq 16(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm1
vpmuludq 48(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm14
vpmuludq 96(%rsp),%xmm6,%xmm4
paddq %xmm4,%xmm3
movdqa 16(%rsp),%xmm4
pmuludq 448(%rsp),%xmm4
paddq %xmm4,%xmm9
vpmuludq 16(%rsp),%xmm6,%xmm4
paddq %xmm4,%xmm8
vpmuludq 48(%rsp),%xmm6,%xmm4
paddq %xmm4,%xmm10
vpmuludq 80(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm4
paddq %xmm4,%xmm5
vpmuludq 112(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm0
movdqa 48(%rsp),%xmm4
paddq %xmm4,%xmm4
pmuludq 448(%rsp),%xmm4
paddq %xmm4,%xmm1
movdqa 80(%rsp),%xmm4
paddq %xmm4,%xmm4
pmuludq 448(%rsp),%xmm4
paddq %xmm4,%xmm14
vpmuludq 64(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm3
movdqa 16(%rsp),%xmm4
pmuludq 64(%rsp),%xmm4
paddq %xmm4,%xmm11
movdqa 16(%rsp),%xmm4
pmuludq 96(%rsp),%xmm4
paddq %xmm4,%xmm12
movdqa 48(%rsp),%xmm4
pmuludq 96(%rsp),%xmm4
paddq %xmm4,%xmm9
vpmuludq 0(%rsp),%xmm2,%xmm2
paddq %xmm2,%xmm10
movdqa 32(%rsp),%xmm2
pmuludq 0(%rsp),%xmm2
paddq %xmm2,%xmm3
movdqa 64(%rsp),%xmm2
pmuludq 48(%rsp),%xmm2
paddq %xmm2,%xmm12
movdqa 96(%rsp),%xmm2
pmuludq 80(%rsp),%xmm2
paddq %xmm2,%xmm1
movdqa 448(%rsp),%xmm2
pmuludq 112(%rsp),%xmm2
paddq %xmm2,%xmm5
vpsrlq $26,%xmm3,%xmm2
paddq %xmm2,%xmm11
pand m26(%rip),%xmm3
vpsrlq $25,%xmm14,%xmm2
paddq %xmm2,%xmm5
pand m25(%rip),%xmm14
vpsrlq $25,%xmm11,%xmm2
paddq %xmm2,%xmm12
pand m25(%rip),%xmm11
vpsrlq $26,%xmm5,%xmm2
paddq %xmm2,%xmm0
pand m26(%rip),%xmm5
vpsrlq $26,%xmm12,%xmm2
paddq %xmm2,%xmm9
pand m26(%rip),%xmm12
vpsrlq $25,%xmm0,%xmm2
paddq %xmm2,%xmm8
pand m25(%rip),%xmm0
vpsrlq $25,%xmm9,%xmm2
paddq %xmm2,%xmm1
pand m25(%rip),%xmm9
vpsrlq $26,%xmm8,%xmm2
paddq %xmm2,%xmm10
pand m26(%rip),%xmm8
vpsrlq $26,%xmm1,%xmm2
paddq %xmm2,%xmm14
pand m26(%rip),%xmm1
vpsrlq $25,%xmm10,%xmm2
vpsllq $4,%xmm2,%xmm4
paddq %xmm2,%xmm3
psllq $1,%xmm2
paddq %xmm2,%xmm4
paddq %xmm4,%xmm3
pand m25(%rip),%xmm10
vpsrlq $25,%xmm14,%xmm2
paddq %xmm2,%xmm5
pand m25(%rip),%xmm14
vpsrlq $26,%xmm3,%xmm2
paddq %xmm2,%xmm11
pand m26(%rip),%xmm3
vpunpckhqdq %xmm11,%xmm3,%xmm2
movdqa %xmm2,0(%rsp)
pshufd $0,%xmm3,%xmm2
pshufd $0,%xmm11,%xmm3
vpmuludq 160(%rsp),%xmm2,%xmm4
vpmuludq 432(%rsp),%xmm3,%xmm6
paddq %xmm6,%xmm4
vpmuludq 176(%rsp),%xmm2,%xmm6
vpmuludq 304(%rsp),%xmm3,%xmm7
paddq %xmm7,%xmm6
vpmuludq 208(%rsp),%xmm2,%xmm7
vpmuludq 336(%rsp),%xmm3,%xmm11
paddq %xmm11,%xmm7
vpmuludq 240(%rsp),%xmm2,%xmm11
vpmuludq 368(%rsp),%xmm3,%xmm13
paddq %xmm13,%xmm11
vpmuludq 272(%rsp),%xmm2,%xmm2
vpmuludq 400(%rsp),%xmm3,%xmm3
paddq %xmm3,%xmm2
vpunpckhqdq %xmm9,%xmm12,%xmm3
movdqa %xmm3,16(%rsp)
pshufd $0,%xmm12,%xmm3
pshufd $0,%xmm9,%xmm9
vpmuludq 288(%rsp),%xmm3,%xmm12
paddq %xmm12,%xmm4
vpmuludq 416(%rsp),%xmm9,%xmm12
paddq %xmm12,%xmm4
vpmuludq 160(%rsp),%xmm3,%xmm12
paddq %xmm12,%xmm6
vpmuludq 432(%rsp),%xmm9,%xmm12
paddq %xmm12,%xmm6
vpmuludq 176(%rsp),%xmm3,%xmm12
paddq %xmm12,%xmm7
vpmuludq 304(%rsp),%xmm9,%xmm12
paddq %xmm12,%xmm7
vpmuludq 208(%rsp),%xmm3,%xmm12
paddq %xmm12,%xmm11
vpmuludq 336(%rsp),%xmm9,%xmm12
paddq %xmm12,%xmm11
vpmuludq 240(%rsp),%xmm3,%xmm3
paddq %xmm3,%xmm2
vpmuludq 368(%rsp),%xmm9,%xmm3
paddq %xmm3,%xmm2
vpunpckhqdq %xmm14,%xmm1,%xmm3
movdqa %xmm3,32(%rsp)
pshufd $0,%xmm1,%xmm1
pshufd $0,%xmm14,%xmm3
vpmuludq 256(%rsp),%xmm1,%xmm9
paddq %xmm9,%xmm4
vpmuludq 384(%rsp),%xmm3,%xmm9
paddq %xmm9,%xmm4
vpmuludq 288(%rsp),%xmm1,%xmm9
paddq %xmm9,%xmm6
vpmuludq 416(%rsp),%xmm3,%xmm9
paddq %xmm9,%xmm6
vpmuludq 160(%rsp),%xmm1,%xmm9
paddq %xmm9,%xmm7
vpmuludq 432(%rsp),%xmm3,%xmm9
paddq %xmm9,%xmm7
vpmuludq 176(%rsp),%xmm1,%xmm9
paddq %xmm9,%xmm11
vpmuludq 304(%rsp),%xmm3,%xmm9
paddq %xmm9,%xmm11
vpmuludq 208(%rsp),%xmm1,%xmm1
paddq %xmm1,%xmm2
vpmuludq 336(%rsp),%xmm3,%xmm1
paddq %xmm1,%xmm2
vpunpckhqdq %xmm0,%xmm5,%xmm1
movdqa %xmm1,48(%rsp)
pshufd $0,%xmm5,%xmm1
pshufd $0,%xmm0,%xmm0
vpmuludq 224(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm4
vpmuludq 352(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm4
vpmuludq 256(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm6
vpmuludq 384(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm6
vpmuludq 288(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm7
vpmuludq 416(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm7
vpmuludq 160(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm11
vpmuludq 432(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm11
vpmuludq 176(%rsp),%xmm1,%xmm1
paddq %xmm1,%xmm2
vpmuludq 304(%rsp),%xmm0,%xmm0
paddq %xmm0,%xmm2
vpunpckhqdq %xmm10,%xmm8,%xmm0
movdqa %xmm0,64(%rsp)
pshufd $0,%xmm8,%xmm0
pshufd $0,%xmm10,%xmm1
vpmuludq 192(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm4
vpmuludq 320(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm4
vpmuludq 224(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm6
vpmuludq 352(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm6
vpmuludq 256(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm7
vpmuludq 384(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm7
vpmuludq 288(%rsp),%xmm0,%xmm3
paddq %xmm3,%xmm11
vpmuludq 416(%rsp),%xmm1,%xmm3
paddq %xmm3,%xmm11
vpmuludq 160(%rsp),%xmm0,%xmm0
paddq %xmm0,%xmm2
vpmuludq 432(%rsp),%xmm1,%xmm0
paddq %xmm0,%xmm2
movdqa %xmm4,80(%rsp)
movdqa %xmm6,96(%rsp)
movdqa %xmm7,112(%rsp)
movdqa %xmm11,448(%rsp)
movdqa %xmm2,496(%rsp)
movdqa 144(%rsp),%xmm0
vpmuludq %xmm0,%xmm0,%xmm1
paddq %xmm0,%xmm0
movdqa 128(%rsp),%xmm2
vpmuludq %xmm2,%xmm0,%xmm3
movdqa 480(%rsp),%xmm4
vpmuludq %xmm4,%xmm0,%xmm5
movdqa 464(%rsp),%xmm6
vpmuludq %xmm6,%xmm0,%xmm7
movdqa 528(%rsp),%xmm8
vpmuludq %xmm8,%xmm0,%xmm9
vpmuludq 512(%rsp),%xmm0,%xmm10
vpmuludq 592(%rsp),%xmm0,%xmm11
vpmuludq 576(%rsp),%xmm0,%xmm12
vpmuludq 624(%rsp),%xmm0,%xmm13
movdqa 672(%rsp),%xmm14
vpmuludq %xmm14,%xmm0,%xmm0
vpmuludq v38_38(%rip),%xmm14,%xmm15
vpmuludq %xmm15,%xmm14,%xmm14
paddq %xmm14,%xmm13
vpaddq %xmm6,%xmm6,%xmm14
vpmuludq %xmm14,%xmm6,%xmm6
paddq %xmm6,%xmm11
vpaddq %xmm2,%xmm2,%xmm6
vpmuludq %xmm6,%xmm2,%xmm2
paddq %xmm2,%xmm5
vpmuludq %xmm15,%xmm6,%xmm2
paddq %xmm2,%xmm1
vpmuludq %xmm15,%xmm4,%xmm2
paddq %xmm2,%xmm3
vpmuludq 544(%rsp),%xmm6,%xmm2
paddq %xmm2,%xmm11
vpmuludq 592(%rsp),%xmm6,%xmm2
paddq %xmm2,%xmm12
vpmuludq 640(%rsp),%xmm6,%xmm2
paddq %xmm2,%xmm13
vpmuludq 624(%rsp),%xmm6,%xmm2
paddq %xmm2,%xmm0
vpmuludq %xmm4,%xmm6,%xmm2
paddq %xmm2,%xmm7
vpmuludq %xmm14,%xmm6,%xmm2
paddq %xmm2,%xmm9
vpmuludq %xmm8,%xmm6,%xmm2
paddq %xmm2,%xmm10
vpmuludq %xmm15,%xmm14,%xmm2
paddq %xmm2,%xmm5
vpmuludq %xmm15,%xmm8,%xmm2
paddq %xmm2,%xmm7
vpmuludq %xmm4,%xmm4,%xmm2
paddq %xmm2,%xmm9
vpmuludq %xmm14,%xmm4,%xmm2
paddq %xmm2,%xmm10
vpaddq %xmm4,%xmm4,%xmm2
vpmuludq %xmm8,%xmm2,%xmm4
paddq %xmm4,%xmm11
vpmuludq 688(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm1
vpmuludq 688(%rsp),%xmm14,%xmm4
paddq %xmm4,%xmm3
vpmuludq 512(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm12
vpmuludq 592(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm13
vpmuludq 576(%rsp),%xmm2,%xmm2
paddq %xmm2,%xmm0
vpmuludq 656(%rsp),%xmm8,%xmm2
paddq %xmm2,%xmm3
vpmuludq %xmm8,%xmm14,%xmm2
paddq %xmm2,%xmm12
vpmuludq %xmm8,%xmm8,%xmm2
paddq %xmm2,%xmm13
vpaddq %xmm8,%xmm8,%xmm2
vpmuludq 688(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm5
vpmuludq 544(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm9
vpmuludq 592(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm10
vpmuludq 656(%rsp),%xmm14,%xmm4
paddq %xmm4,%xmm1
movdqa 544(%rsp),%xmm4
pmuludq 688(%rsp),%xmm4
paddq %xmm4,%xmm7
vpmuludq 544(%rsp),%xmm14,%xmm4
paddq %xmm4,%xmm13
vpmuludq 592(%rsp),%xmm14,%xmm4
paddq %xmm4,%xmm0
vpmuludq 640(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm11
vpmuludq 624(%rsp),%xmm15,%xmm4
paddq %xmm4,%xmm12
movdqa 592(%rsp),%xmm4
paddq %xmm4,%xmm4
pmuludq 688(%rsp),%xmm4
paddq %xmm4,%xmm9
vpmuludq 608(%rsp),%xmm2,%xmm4
paddq %xmm4,%xmm1
movdqa 544(%rsp),%xmm4
pmuludq 608(%rsp),%xmm4
paddq %xmm4,%xmm3
movdqa 544(%rsp),%xmm4
pmuludq 656(%rsp),%xmm4
paddq %xmm4,%xmm5
movdqa 592(%rsp),%xmm4
pmuludq 656(%rsp),%xmm4
paddq %xmm4,%xmm7
movdqa 640(%rsp),%xmm4
pmuludq 688(%rsp),%xmm4
paddq %xmm4,%xmm10
vpmuludq 512(%rsp),%xmm2,%xmm2
paddq %xmm2,%xmm0
movdqa 560(%rsp),%xmm2
pmuludq 512(%rsp),%xmm2
paddq %xmm2,%xmm1
movdqa 608(%rsp),%xmm2
pmuludq 592(%rsp),%xmm2
paddq %xmm2,%xmm5
movdqa 656(%rsp),%xmm2
pmuludq 576(%rsp),%xmm2
paddq %xmm2,%xmm9
movdqa 688(%rsp),%xmm2
pmuludq 624(%rsp),%xmm2
paddq %xmm2,%xmm11
vpsrlq $26,%xmm1,%xmm2
paddq %xmm2,%xmm3
pand m26(%rip),%xmm1
vpsrlq $25,%xmm10,%xmm2
paddq %xmm2,%xmm11
pand m25(%rip),%xmm10
vpsrlq $25,%xmm3,%xmm2
paddq %xmm2,%xmm5
pand m25(%rip),%xmm3
vpsrlq $26,%xmm11,%xmm2
paddq %xmm2,%xmm12
pand m26(%rip),%xmm11
vpsrlq $26,%xmm5,%xmm2
paddq %xmm2,%xmm7
pand m26(%rip),%xmm5
vpsrlq $25,%xmm12,%xmm2
paddq %xmm2,%xmm13
pand m25(%rip),%xmm12
vpsrlq $25,%xmm7,%xmm2
paddq %xmm2,%xmm9
pand m25(%rip),%xmm7
vpsrlq $26,%xmm13,%xmm2
paddq %xmm2,%xmm0
pand m26(%rip),%xmm13
vpsrlq $26,%xmm9,%xmm2
paddq %xmm2,%xmm10
pand m26(%rip),%xmm9
vpsrlq $25,%xmm0,%xmm2
vpsllq $4,%xmm2,%xmm4
paddq %xmm2,%xmm1
psllq $1,%xmm2
paddq %xmm2,%xmm4
paddq %xmm4,%xmm1
pand m25(%rip),%xmm0
vpsrlq $25,%xmm10,%xmm2
paddq %xmm2,%xmm11
pand m25(%rip),%xmm10
vpsrlq $26,%xmm1,%xmm2
paddq %xmm2,%xmm3
pand m26(%rip),%xmm1
vpunpckhqdq %xmm3,%xmm1,%xmm2
vpunpcklqdq %xmm3,%xmm1,%xmm1
movdqa %xmm1,464(%rsp)
vpaddq subc0(%rip),%xmm2,%xmm3
psubq %xmm1,%xmm3
vpunpckhqdq %xmm3,%xmm2,%xmm1
vpunpcklqdq %xmm3,%xmm2,%xmm2
movdqa %xmm2,480(%rsp)
movdqa %xmm1,512(%rsp)
psllq $1,%xmm1
movdqa %xmm1,528(%rsp)
pmuludq v121666_121666(%rip),%xmm3
movdqa 80(%rsp),%xmm1
vpunpcklqdq %xmm1,%xmm3,%xmm2
vpunpckhqdq %xmm1,%xmm3,%xmm1
vpunpckhqdq %xmm7,%xmm5,%xmm3
vpunpcklqdq %xmm7,%xmm5,%xmm4
movdqa %xmm4,544(%rsp)
vpaddq subc2(%rip),%xmm3,%xmm5
psubq %xmm4,%xmm5
vpunpckhqdq %xmm5,%xmm3,%xmm4
vpunpcklqdq %xmm5,%xmm3,%xmm3
movdqa %xmm3,560(%rsp)
movdqa %xmm4,576(%rsp)
psllq $1,%xmm4
movdqa %xmm4,592(%rsp)
pmuludq v121666_121666(%rip),%xmm5
movdqa 96(%rsp),%xmm3
vpunpcklqdq %xmm3,%xmm5,%xmm4
vpunpckhqdq %xmm3,%xmm5,%xmm3
vpunpckhqdq %xmm10,%xmm9,%xmm5
vpunpcklqdq %xmm10,%xmm9,%xmm6
movdqa %xmm6,608(%rsp)
vpaddq subc2(%rip),%xmm5,%xmm7
psubq %xmm6,%xmm7
vpunpckhqdq %xmm7,%xmm5,%xmm6
vpunpcklqdq %xmm7,%xmm5,%xmm5
movdqa %xmm5,624(%rsp)
movdqa %xmm6,640(%rsp)
psllq $1,%xmm6
movdqa %xmm6,656(%rsp)
pmuludq v121666_121666(%rip),%xmm7
movdqa 112(%rsp),%xmm5
vpunpcklqdq %xmm5,%xmm7,%xmm6
vpunpckhqdq %xmm5,%xmm7,%xmm5
vpunpckhqdq %xmm12,%xmm11,%xmm7
vpunpcklqdq %xmm12,%xmm11,%xmm8
movdqa %xmm8,672(%rsp)
vpaddq subc2(%rip),%xmm7,%xmm9
psubq %xmm8,%xmm9
vpunpckhqdq %xmm9,%xmm7,%xmm8
vpunpcklqdq %xmm9,%xmm7,%xmm7
movdqa %xmm7,688(%rsp)
movdqa %xmm8,704(%rsp)
psllq $1,%xmm8
movdqa %xmm8,720(%rsp)
pmuludq v121666_121666(%rip),%xmm9
movdqa 448(%rsp),%xmm7
vpunpcklqdq %xmm7,%xmm9,%xmm8
vpunpckhqdq %xmm7,%xmm9,%xmm7
vpunpckhqdq %xmm0,%xmm13,%xmm9
vpunpcklqdq %xmm0,%xmm13,%xmm0
movdqa %xmm0,448(%rsp)
vpaddq subc2(%rip),%xmm9,%xmm10
psubq %xmm0,%xmm10
vpunpckhqdq %xmm10,%xmm9,%xmm0
vpunpcklqdq %xmm10,%xmm9,%xmm9
movdqa %xmm9,736(%rsp)
movdqa %xmm0,752(%rsp)
psllq $1,%xmm0
movdqa %xmm0,768(%rsp)
pmuludq v121666_121666(%rip),%xmm10
movdqa 496(%rsp),%xmm0
vpunpcklqdq %xmm0,%xmm10,%xmm9
vpunpckhqdq %xmm0,%xmm10,%xmm0
vpsrlq $26,%xmm2,%xmm10
paddq %xmm10,%xmm1
pand m26(%rip),%xmm2
vpsrlq $25,%xmm5,%xmm10
paddq %xmm10,%xmm8
pand m25(%rip),%xmm5
vpsrlq $25,%xmm1,%xmm10
paddq %xmm10,%xmm4
pand m25(%rip),%xmm1
vpsrlq $26,%xmm8,%xmm10
paddq %xmm10,%xmm7
pand m26(%rip),%xmm8
vpsrlq $26,%xmm4,%xmm10
paddq %xmm10,%xmm3
pand m26(%rip),%xmm4
vpsrlq $25,%xmm7,%xmm10
paddq %xmm10,%xmm9
pand m25(%rip),%xmm7
vpsrlq $25,%xmm3,%xmm10
paddq %xmm10,%xmm6
pand m25(%rip),%xmm3
vpsrlq $26,%xmm9,%xmm10
paddq %xmm10,%xmm0
pand m26(%rip),%xmm9
vpsrlq $26,%xmm6,%xmm10
paddq %xmm10,%xmm5
pand m26(%rip),%xmm6
vpsrlq $25,%xmm0,%xmm10
vpsllq $4,%xmm10,%xmm11
paddq %xmm10,%xmm2
psllq $1,%xmm10
paddq %xmm10,%xmm11
paddq %xmm11,%xmm2
pand m25(%rip),%xmm0
vpsrlq $25,%xmm5,%xmm10
paddq %xmm10,%xmm8
pand m25(%rip),%xmm5
vpsrlq $26,%xmm2,%xmm10
paddq %xmm10,%xmm1
pand m26(%rip),%xmm2
vpunpckhqdq %xmm1,%xmm2,%xmm10
movdqa %xmm10,80(%rsp)
vpunpcklqdq %xmm1,%xmm2,%xmm1
vpunpckhqdq %xmm3,%xmm4,%xmm2
movdqa %xmm2,96(%rsp)
vpunpcklqdq %xmm3,%xmm4,%xmm2
vpunpckhqdq %xmm5,%xmm6,%xmm3
movdqa %xmm3,112(%rsp)
vpunpcklqdq %xmm5,%xmm6,%xmm3
vpunpckhqdq %xmm7,%xmm8,%xmm4
movdqa %xmm4,128(%rsp)
vpunpcklqdq %xmm7,%xmm8,%xmm4
vpunpckhqdq %xmm0,%xmm9,%xmm5
movdqa %xmm5,144(%rsp)
vpunpcklqdq %xmm0,%xmm9,%xmm0
movdqa 464(%rsp),%xmm5
paddq %xmm5,%xmm1
vpunpcklqdq %xmm1,%xmm5,%xmm6
vpunpckhqdq %xmm1,%xmm5,%xmm1
vpmuludq 512(%rsp),%xmm6,%xmm5
vpmuludq 480(%rsp),%xmm1,%xmm7
paddq %xmm7,%xmm5
vpmuludq 560(%rsp),%xmm6,%xmm7
vpmuludq 528(%rsp),%xmm1,%xmm8
paddq %xmm8,%xmm7
vpmuludq 576(%rsp),%xmm6,%xmm8
vpmuludq 560(%rsp),%xmm1,%xmm9
paddq %xmm9,%xmm8
vpmuludq 624(%rsp),%xmm6,%xmm9
vpmuludq 592(%rsp),%xmm1,%xmm10
paddq %xmm10,%xmm9
vpmuludq 640(%rsp),%xmm6,%xmm10
vpmuludq 624(%rsp),%xmm1,%xmm11
paddq %xmm11,%xmm10
vpmuludq 688(%rsp),%xmm6,%xmm11
vpmuludq 656(%rsp),%xmm1,%xmm12
paddq %xmm12,%xmm11
vpmuludq 704(%rsp),%xmm6,%xmm12
vpmuludq 688(%rsp),%xmm1,%xmm13
paddq %xmm13,%xmm12
vpmuludq 736(%rsp),%xmm6,%xmm13
vpmuludq 720(%rsp),%xmm1,%xmm14
paddq %xmm14,%xmm13
vpmuludq 752(%rsp),%xmm6,%xmm14
vpmuludq 736(%rsp),%xmm1,%xmm15
paddq %xmm15,%xmm14
vpmuludq 480(%rsp),%xmm6,%xmm6
pmuludq v19_19(%rip),%xmm1
vpmuludq 768(%rsp),%xmm1,%xmm1
paddq %xmm1,%xmm6
movdqa 544(%rsp),%xmm1
paddq %xmm1,%xmm2
vpunpcklqdq %xmm2,%xmm1,%xmm15
vpunpckhqdq %xmm2,%xmm1,%xmm1
vpmuludq 480(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm7
vpmuludq 512(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm8
vpmuludq 560(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm9
vpmuludq 576(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm10
vpmuludq 624(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm11
vpmuludq 640(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm12
vpmuludq 688(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm13
vpmuludq 704(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm14
pmuludq v19_19(%rip),%xmm15
vpmuludq 736(%rsp),%xmm15,%xmm2
paddq %xmm2,%xmm6
pmuludq 752(%rsp),%xmm15
paddq %xmm15,%xmm5
vpmuludq 480(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm8
vpmuludq 528(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm9
vpmuludq 560(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm10
vpmuludq 592(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm11
vpmuludq 624(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm12
vpmuludq 656(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm13
vpmuludq 688(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm14
pmuludq v19_19(%rip),%xmm1
vpmuludq 720(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm6
vpmuludq 736(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm5
pmuludq 768(%rsp),%xmm1
paddq %xmm1,%xmm7
movdqa 608(%rsp),%xmm1
paddq %xmm1,%xmm3
vpunpcklqdq %xmm3,%xmm1,%xmm2
vpunpckhqdq %xmm3,%xmm1,%xmm1
vpmuludq 480(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm9
vpmuludq 512(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm10
vpmuludq 560(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm11
vpmuludq 576(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm12
vpmuludq 624(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm13
vpmuludq 640(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm14
pmuludq v19_19(%rip),%xmm2
vpmuludq 688(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm6
vpmuludq 704(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm5
vpmuludq 736(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm7
pmuludq 752(%rsp),%xmm2
paddq %xmm2,%xmm8
vpmuludq 480(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm10
vpmuludq 528(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm11
vpmuludq 560(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm12
vpmuludq 592(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm13
vpmuludq 624(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm14
pmuludq v19_19(%rip),%xmm1
vpmuludq 656(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm6
vpmuludq 688(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm5
vpmuludq 720(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm7
vpmuludq 736(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm8
pmuludq 768(%rsp),%xmm1
paddq %xmm1,%xmm9
movdqa 672(%rsp),%xmm1
paddq %xmm1,%xmm4
vpunpcklqdq %xmm4,%xmm1,%xmm2
vpunpckhqdq %xmm4,%xmm1,%xmm1
vpmuludq 480(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm11
vpmuludq 512(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm12
vpmuludq 560(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm13
vpmuludq 576(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm14
pmuludq v19_19(%rip),%xmm2
vpmuludq 624(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm6
vpmuludq 640(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm5
vpmuludq 688(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm7
vpmuludq 704(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm8
vpmuludq 736(%rsp),%xmm2,%xmm3
paddq %xmm3,%xmm9
pmuludq 752(%rsp),%xmm2
paddq %xmm2,%xmm10
vpmuludq 480(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm12
vpmuludq 528(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm13
vpmuludq 560(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm14
pmuludq v19_19(%rip),%xmm1
vpmuludq 592(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm6
vpmuludq 624(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm5
vpmuludq 656(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm7
vpmuludq 688(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm8
vpmuludq 720(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm9
vpmuludq 736(%rsp),%xmm1,%xmm2
paddq %xmm2,%xmm10
pmuludq 768(%rsp),%xmm1
paddq %xmm1,%xmm11
movdqa 448(%rsp),%xmm1
paddq %xmm1,%xmm0
vpunpcklqdq %xmm0,%xmm1,%xmm2
vpunpckhqdq %xmm0,%xmm1,%xmm0
vpmuludq 480(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm13
vpmuludq 512(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm14
pmuludq v19_19(%rip),%xmm2
vpmuludq 560(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm6
vpmuludq 576(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm5
vpmuludq 624(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm7
vpmuludq 640(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm8
vpmuludq 688(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm9
vpmuludq 704(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm10
vpmuludq 736(%rsp),%xmm2,%xmm1
paddq %xmm1,%xmm11
pmuludq 752(%rsp),%xmm2
paddq %xmm2,%xmm12
vpmuludq 480(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm14
pmuludq v19_19(%rip),%xmm0
vpmuludq 528(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm6
vpmuludq 560(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm5
vpmuludq 592(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm7
vpmuludq 624(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm8
vpmuludq 656(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm9
vpmuludq 688(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm10
vpmuludq 720(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm11
vpmuludq 736(%rsp),%xmm0,%xmm1
paddq %xmm1,%xmm12
pmuludq 768(%rsp),%xmm0
paddq %xmm0,%xmm13
vpsrlq $26,%xmm6,%xmm0
paddq %xmm0,%xmm5
pand m26(%rip),%xmm6
vpsrlq $25,%xmm10,%xmm0
paddq %xmm0,%xmm11
pand m25(%rip),%xmm10
vpsrlq $25,%xmm5,%xmm0
paddq %xmm0,%xmm7
pand m25(%rip),%xmm5
vpsrlq $26,%xmm11,%xmm0
paddq %xmm0,%xmm12
pand m26(%rip),%xmm11
vpsrlq $26,%xmm7,%xmm0
paddq %xmm0,%xmm8
pand m26(%rip),%xmm7
vpsrlq $25,%xmm12,%xmm0
paddq %xmm0,%xmm13
pand m25(%rip),%xmm12
vpsrlq $25,%xmm8,%xmm0
paddq %xmm0,%xmm9
pand m25(%rip),%xmm8
vpsrlq $26,%xmm13,%xmm0
paddq %xmm0,%xmm14
pand m26(%rip),%xmm13
vpsrlq $26,%xmm9,%xmm0
paddq %xmm0,%xmm10
pand m26(%rip),%xmm9
vpsrlq $25,%xmm14,%xmm0
vpsllq $4,%xmm0,%xmm1
paddq %xmm0,%xmm6
psllq $1,%xmm0
paddq %xmm0,%xmm1
paddq %xmm1,%xmm6
pand m25(%rip),%xmm14
vpsrlq $25,%xmm10,%xmm0
paddq %xmm0,%xmm11
pand m25(%rip),%xmm10
vpsrlq $26,%xmm6,%xmm0
paddq %xmm0,%xmm5
pand m26(%rip),%xmm6
vpunpckhqdq %xmm5,%xmm6,%xmm1
vpunpcklqdq %xmm5,%xmm6,%xmm0
vpunpckhqdq %xmm8,%xmm7,%xmm3
vpunpcklqdq %xmm8,%xmm7,%xmm2
vpunpckhqdq %xmm10,%xmm9,%xmm5
vpunpcklqdq %xmm10,%xmm9,%xmm4
vpunpckhqdq %xmm12,%xmm11,%xmm7
vpunpcklqdq %xmm12,%xmm11,%xmm6
vpunpckhqdq %xmm14,%xmm13,%xmm9
vpunpcklqdq %xmm14,%xmm13,%xmm8
cmp  $0,%rdx
jne ._ladder_loop
movdqu   %xmm1,160(%rdi)
movdqu   %xmm0,80(%rdi)
movdqu   %xmm3,176(%rdi)
movdqu   %xmm2,96(%rdi)
movdqu   %xmm5,192(%rdi)
movdqu   %xmm4,112(%rdi)
movdqu   %xmm7,208(%rdi)
movdqu   %xmm6,128(%rdi)
movdqu   %xmm9,224(%rdi)
movdqu   %xmm8,144(%rdi)
movq 1824(%rsp),%r11
movq 1832(%rsp),%r12
movq 1840(%rsp),%r13
movq 1848(%rsp),%r14
add %r11,%rsp
ret

#endif
