// +build !noasm
// Generated by PeachPy 0.2.0 from pack.py


// func dpack128_1(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_1(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $0, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $63, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $62, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $61, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_2(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_2(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $16, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $62, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $62, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_3(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_3(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $32, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $61, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $63, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_4(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_4(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $48, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_5(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_5(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $64, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $63, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_6(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_6(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $80, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -48(BX)
	PSLLQ $62, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -64(BX)
	PSLLQ $60, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_7(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_7(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $96, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $59, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $61, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_8(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_8(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $112, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_9(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_9(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $128, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $59, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $61, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_10(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_10(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $144, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -80(BX)
	PSLLQ $58, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -96(BX)
	PSLLQ $62, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $56, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -128(BX)
	PSLLQ $60, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_11(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_11(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $160, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $61, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $59, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $57, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $55, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_12(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_12(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $176, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	PSLLQ $56, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -64(BX)
	PSLLQ $60, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $60, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $60, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_13(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_13(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $192, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $63, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $59, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $57, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $53, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_14(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_14(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $208, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $54, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $58, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -128(BX)
	PSLLQ $52, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $60, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $54, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -176(BX)
	PSLLQ $62, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $56, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_15(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_15(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $224, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $53, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $59, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $63, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_16(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_16(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $240, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_17(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_17(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $256, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $60, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $56, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $52, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $61, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $57, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $53, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $49, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $62, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $63, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $59, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $51, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_18(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_18(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $272, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $54, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -176(BX)
	PSLLQ $58, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $50, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	PSLLQ $60, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $52, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $62, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $54, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_19(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_19(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $288, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $52, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $59, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $47, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $54, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $61, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $49, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $51, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $46, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $53, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $60, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $57, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_20(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_20(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $304, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $48, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	PSLLQ $48, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -96(BX)
	PSLLQ $52, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $56, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $60, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $52, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $56, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $60, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_21(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_21(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $320, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $44, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $45, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $47, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $49, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $52, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $53, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $55, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $57, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $59, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $63, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_22(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_22(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $336, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -176(BX)
	PSLLQ $62, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $60, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $58, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $56, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $54, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $52, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $50, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $48, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $46, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $44, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_23(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_23(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $352, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $59, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $54, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $49, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $44, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $57, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $52, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $47, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $42, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $60, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $55, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $45, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $63, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $53, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $43, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $61, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $51, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_24(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_24(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $368, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -48(BX)
	PSLLQ $56, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -64(BX)
	PSLLQ $48, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $56, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $48, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $56, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $48, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_25(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_25(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $384, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $53, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $42, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $45, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $59, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $43, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $57, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $46, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $49, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $63, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $52, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $41, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $55, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $44, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $47, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $61, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_26(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_26(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $400, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $50, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $48, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $46, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $56, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $42, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $40, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $50, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $62, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $60, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $46, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $58, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $44, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $56, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $42, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $54, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $52, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_27(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_27(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $416, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $47, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $40, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $43, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $53, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $39, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $49, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $59, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $52, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $45, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $55, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $38, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $41, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $61, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_28(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_28(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $432, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $44, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $44, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $52, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -144(BX)
	PSLLQ $60, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $40, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $48, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $56, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $44, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $52, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $48, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $52, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $60, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $40, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $56, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_29(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_29(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $448, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $41, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $47, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $53, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $59, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $36, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $42, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $54, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $60, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $37, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $43, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $49, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $55, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $61, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $38, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $44, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $39, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $45, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $51, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $57, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $63, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $40, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $46, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $52, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_30(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_30(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $464, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $38, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $42, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $38, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $42, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $46, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $50, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $54, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $58, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $62, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $36, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $44, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $52, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $60, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_31(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_31(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $480, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $35, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $37, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $39, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $41, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $43, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $45, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $47, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $49, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $51, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $53, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $55, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $57, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $59, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $61, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $63, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $34, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $36, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $38, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $40, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $42, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $44, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $52, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $60, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $62, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_32(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_32(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $496, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_33(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_33(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $512, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $42, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $40, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $38, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $36, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $34, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $63, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $59, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $57, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $55, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $53, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $49, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $47, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $45, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $43, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $41, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $39, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $37, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $35, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $33, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_34(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_34(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $528, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $60, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $56, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $52, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $48, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $44, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $40, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $36, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $62, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $46, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $38, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $34, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $60, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $56, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $52, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $48, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $40, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $36, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $62, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $58, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $54, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $50, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $46, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $42, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $38, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $34, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_35(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_35(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $544, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $34, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $57, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $45, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $39, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $33, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $62, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $50, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $44, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $38, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $55, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $49, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $43, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $37, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $31, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $54, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $42, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $36, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $30, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $59, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $53, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $47, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $41, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_36(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_36(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $560, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $40, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $32, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $40, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $32, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $60, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $52, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $44, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $36, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $40, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $32, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $60, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $52, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $36, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $48, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $40, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $32, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $52, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $44, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $36, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_37(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_37(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $576, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $54, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $44, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $34, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $61, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $51, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $41, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $31, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $58, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $38, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $28, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $55, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $45, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $35, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $62, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $52, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $42, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $59, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $49, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $39, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $29, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $56, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $46, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $36, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $63, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $53, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $43, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $33, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $60, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $50, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $40, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $30, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $57, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $47, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $37, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_38(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_38(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $592, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $52, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $40, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $28, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $54, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $42, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $30, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $44, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $46, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $34, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $60, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $36, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $38, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $52, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $40, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $28, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $54, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $42, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $30, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $56, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $44, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $58, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $46, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $34, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $48, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $36, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $62, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $50, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $38, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_39(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_39(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $608, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $50, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $36, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $47, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $33, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $34, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $30, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $41, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $27, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $38, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $63, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $49, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $35, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $46, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $57, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $43, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $29, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $54, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $40, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $26, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $51, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $37, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $62, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $34, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $59, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $45, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $31, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $42, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $53, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $39, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_40(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_40(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $624, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $48, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $32, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	PSLLQ $48, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -96(BX)
	PSLLQ $32, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $56, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $40, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $32, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $40, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $32, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $56, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $40, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $48, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $32, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $56, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $40, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $32, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $40, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $48, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $32, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $56, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $40, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $48, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $32, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $56, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_41(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_41(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $640, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $46, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $28, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $51, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $33, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $38, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $61, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $43, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $25, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $30, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $53, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $35, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $58, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $40, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $63, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $45, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $27, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $50, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $55, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $37, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $60, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $42, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $24, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $47, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $29, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $52, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $34, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $57, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $39, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $62, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $44, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $26, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $49, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $31, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $54, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $36, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $59, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $41, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_42(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_42(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $656, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $44, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $24, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $26, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $28, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $30, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $52, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $34, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $36, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $38, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $42, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $24, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $46, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $26, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $28, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $50, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $30, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $52, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $54, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $34, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $56, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $36, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $58, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $38, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $62, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $42, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_43(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_43(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $672, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $42, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $63, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $41, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $62, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $40, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $61, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $39, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $60, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $38, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $59, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $37, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $58, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $36, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $57, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $35, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $34, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $55, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $33, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $54, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $53, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $31, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $52, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $30, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $51, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $29, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $50, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $28, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $49, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $27, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $26, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $47, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $25, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $46, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $24, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $45, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $23, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $44, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $22, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $43, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_44(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_44(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $688, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $40, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $36, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $32, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $28, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $24, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $40, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $60, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $36, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $56, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $32, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $52, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $28, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $48, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $24, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $44, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $40, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $36, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $56, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $32, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $52, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $28, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $48, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $24, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $44, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $40, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $60, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $36, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $32, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $52, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $28, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $24, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $44, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_45(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_45(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $704, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $38, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $31, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $24, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $43, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $29, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $22, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $41, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $34, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $53, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $27, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $46, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $20, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $39, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $25, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $63, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $37, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $30, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $49, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $23, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $42, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $61, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $54, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $47, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $21, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $59, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $33, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $52, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $26, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $45, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_46(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_46(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $720, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $36, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $54, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $26, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $44, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $34, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $52, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $24, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $42, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $60, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $42, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $22, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $40, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $30, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $48, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $20, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $38, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $28, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $36, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $54, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $26, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $44, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $62, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $34, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $52, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $24, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $42, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $60, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $50, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $42, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $22, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $40, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $58, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $30, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $48, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $20, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $38, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $56, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $28, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $46, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_47(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_47(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $736, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $34, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $51, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $21, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $38, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $55, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $25, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $42, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $59, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $29, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $46, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $63, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $33, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $50, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $20, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $37, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $54, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $24, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $41, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $58, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $28, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $45, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $62, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $49, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $45, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $19, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $36, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $53, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $23, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $40, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $57, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $27, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $44, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $61, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $31, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $18, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $35, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $52, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $22, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $39, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $26, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $43, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $60, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $30, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $47, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_48(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_48(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $752, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $32, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	PSLLQ $32, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -64(BX)
	PSLLQ $48, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $32, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $32, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $32, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $32, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $48, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $32, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $32, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $48, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $32, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $48, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $32, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $48, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $32, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $48, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $32, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $48, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $32, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $32, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $32, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $48, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $32, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_49(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_49(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $768, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $30, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $45, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $26, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $41, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $22, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $37, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $52, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $18, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $33, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $63, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $29, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $44, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $59, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $25, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $55, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $21, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $36, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $51, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $17, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $47, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $62, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $28, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $43, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $58, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $24, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $39, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $54, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $20, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $50, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $16, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $31, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $46, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $61, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $27, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $42, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $57, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $23, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $38, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $53, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $19, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $34, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $49, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_50(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_50(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $784, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $28, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $42, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $20, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $30, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $34, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $48, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $26, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $18, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $46, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $24, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $38, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $52, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $16, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $34, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $30, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $44, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $22, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $36, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $28, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $42, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $20, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $30, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $34, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $48, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $62, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $26, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $40, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $54, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $18, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $46, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $60, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $24, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $38, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $52, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $16, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $34, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $30, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $44, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $58, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $22, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $36, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $50, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_51(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_51(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $800, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $26, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $39, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $52, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $14, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $27, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $40, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $53, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $15, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $28, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $41, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $16, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $29, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $17, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $30, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $43, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $18, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $31, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $44, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $57, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $19, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $45, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $58, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $20, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $33, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $46, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $59, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $21, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $34, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $47, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $60, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $22, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $35, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $61, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $23, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $36, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $49, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $62, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $24, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $37, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $50, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $63, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $25, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $38, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $51, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_52(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_52(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $816, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $24, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $36, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $48, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $20, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $32, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $56, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $16, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $28, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $40, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	PSLLQ $24, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $36, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $60, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $20, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $32, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $44, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $56, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $16, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $28, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $52, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $24, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $36, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $48, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $60, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $20, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $32, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $44, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $16, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $40, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $52, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $24, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $36, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $48, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $60, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $20, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $32, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $44, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $56, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $16, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $28, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $40, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $52, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_53(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_53(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $832, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $22, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $33, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $44, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $55, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $13, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $24, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $35, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $46, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $57, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $15, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $26, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $37, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $59, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $17, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $28, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $39, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $50, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $61, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $19, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $30, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $41, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $52, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $63, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $21, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $43, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $54, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $12, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $23, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $34, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $45, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $56, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $14, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $25, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $36, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $47, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $58, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $16, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $27, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $38, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $49, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $60, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $18, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $29, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $40, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $51, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $62, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $20, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $31, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $42, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $53, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_54(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_54(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $848, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $20, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $30, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $40, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $16, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $26, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $56, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $12, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $22, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $52, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $18, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $28, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $38, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $14, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $24, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $34, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $20, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $30, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $40, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $50, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $16, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $26, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $36, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $46, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $12, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $22, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $42, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $52, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $62, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $18, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $28, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $38, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $58, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $14, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $24, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $34, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $54, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_55(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_55(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $864, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $18, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $27, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $36, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $45, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $17, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $26, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $35, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $53, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $62, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $16, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $25, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $34, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $43, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $52, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $49, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $15, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $24, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $33, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $42, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $14, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $23, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $41, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $50, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $59, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $13, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $22, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $31, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $40, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $49, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $58, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $12, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $21, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $30, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $39, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $57, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $11, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $20, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $29, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $38, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $47, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $56, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $10, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $19, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $28, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $37, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $46, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $55, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_56(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_56(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $880, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $16, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $24, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $32, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $16, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $24, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $32, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $40, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $48, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $56, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $16, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $24, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $32, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $48, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $16, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $24, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $32, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $40, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $56, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $16, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $24, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $32, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $40, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $48, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $16, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $24, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $32, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $48, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $56, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $16, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $24, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $32, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $40, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $48, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $56, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $16, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $24, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $32, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $40, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $48, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $56, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_57(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_57(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $896, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $14, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $21, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $28, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $35, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $42, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $49, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $13, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $20, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $27, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $34, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $41, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $12, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $19, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $26, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $33, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $40, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $47, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $54, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $61, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $11, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $18, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $25, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $39, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $46, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $53, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $60, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $10, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $17, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $24, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $31, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $38, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $45, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $52, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $59, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $55, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $9, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $16, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $23, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $34, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $30, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $37, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $44, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $51, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $58, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $8, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $15, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $22, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $29, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $36, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $43, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $50, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $57, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_58(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_58(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $912, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $12, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $18, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $24, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $30, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $36, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $42, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $48, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $54, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $60, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $8, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $50, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $14, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $20, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $26, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $38, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $44, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $56, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $10, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $16, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $22, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $28, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $34, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $40, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $46, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $52, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $12, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $18, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $24, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $30, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $36, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $42, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $48, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $54, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $8, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $50, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $14, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $20, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $26, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $38, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $44, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $50, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $56, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $62, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $10, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $16, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $22, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $28, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $34, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $40, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $46, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $52, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $58, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_59(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_59(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $928, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $10, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $15, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $20, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $25, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $30, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $35, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $40, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $45, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $50, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $55, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $60, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $58, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $6, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $11, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $16, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $21, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $26, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $31, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $36, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $41, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $46, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $51, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $61, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $7, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $12, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $17, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $22, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $27, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $37, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $42, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $47, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $52, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $57, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $62, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $8, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $13, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $18, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $23, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $28, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $33, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $38, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $43, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $53, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $58, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $63, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $9, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $14, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $19, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $24, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $29, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $34, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $39, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $44, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $49, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $54, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $59, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_60(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_60(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $944, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $8, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $12, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $16, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $20, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $24, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $28, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $32, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $8, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $12, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $16, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $20, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $24, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $28, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $32, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $36, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $44, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $52, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $60, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $8, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $12, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $16, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $20, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $24, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $32, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $36, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $44, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $48, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $52, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $56, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $60, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $8, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $12, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $16, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $20, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $24, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $28, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $32, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $36, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $40, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $44, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $48, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $52, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $60, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_61(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_61(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $960, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $58, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $6, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $9, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $12, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $15, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $18, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $21, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $24, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $27, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $30, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $33, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $36, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $39, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $42, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $45, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $51, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $54, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $57, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $60, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $63, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $59, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $5, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $8, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $11, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $14, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $17, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $20, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $23, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $26, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $29, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $35, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $38, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $41, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $44, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $47, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $50, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $53, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $59, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $62, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $4, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $7, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $10, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $51, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $13, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $16, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $19, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $22, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $25, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $28, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $31, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $34, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $37, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $40, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $43, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $46, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $49, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $52, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $55, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $58, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $61, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_62(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_62(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $976, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $4, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $58, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $6, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $8, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $10, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $12, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $14, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $16, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $18, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $20, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $22, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $24, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $26, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $28, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $30, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $34, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $36, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $38, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $40, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $42, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $44, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $48, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $52, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $56, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $60, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $62, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $4, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $58, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $6, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $8, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $10, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $12, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $14, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $16, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $18, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $20, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $22, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $24, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $26, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $28, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $30, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $34, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $36, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $38, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $40, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $42, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $46, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $48, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $50, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $52, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $54, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $58, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $60, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $62, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_63(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_63(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $992, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $62, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $2, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $61, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $3, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $4, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $59, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $5, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $58, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $6, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $7, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $8, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $9, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $10, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $53, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $11, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $12, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $51, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $13, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $14, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $15, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $16, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $17, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $18, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $19, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $20, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $21, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $22, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $23, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $24, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $25, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $26, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $27, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $28, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $29, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $30, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $31, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $33, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $34, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $36, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $37, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $38, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $39, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $41, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $42, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $43, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $44, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $45, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $46, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $47, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $49, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $50, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $51, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $52, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $53, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $54, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $55, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $57, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $58, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $59, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $60, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $61, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $62, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $63, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack128_64(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack128_64(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $1008, AX
	ADDQ $1008, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, 0(BX)
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -16(BX)
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -32(BX)
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -48(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -64(BX)
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -80(BX)
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -96(BX)
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -112(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -128(BX)
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -144(BX)
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -160(BX)
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -176(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -192(BX)
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -208(BX)
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -224(BX)
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -240(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -256(BX)
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -272(BX)
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -288(BX)
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -304(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -320(BX)
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -336(BX)
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -352(BX)
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -368(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -384(BX)
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -400(BX)
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -416(BX)
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -432(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -448(BX)
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -464(BX)
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -480(BX)
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -496(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -512(BX)
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -528(BX)
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -544(BX)
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -560(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -576(BX)
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -592(BX)
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -608(BX)
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -624(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -640(BX)
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -656(BX)
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -672(BX)
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -688(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -704(BX)
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -720(BX)
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -736(BX)
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -752(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -768(BX)
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -784(BX)
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -800(BX)
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -816(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -832(BX)
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -848(BX)
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -864(BX)
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -880(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -896(BX)
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -912(BX)
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -928(BX)
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -944(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -960(BX)
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -976(BX)
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -992(BX)
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1008(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_1(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_1(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $16, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $63, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $62, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $61, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $63, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $62, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $61, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_2(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_2(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $48, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $62, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $62, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $62, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $62, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_3(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_3(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $80, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $61, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $63, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $61, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	PSLLQ $62, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -64(BX)
	PSLLQ $63, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $60, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_4(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_4(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $112, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $60, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_5(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_5(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $144, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $63, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $59, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -80(BX)
	PSLLQ $63, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $58, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -96(BX)
	PSLLQ $62, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $61, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -128(BX)
	PSLLQ $60, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_6(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_6(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $176, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -48(BX)
	PSLLQ $62, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -64(BX)
	PSLLQ $60, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $60, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $58, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -144(BX)
	PSLLQ $62, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $60, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_7(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_7(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $208, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $59, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $61, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $57, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $58, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $59, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $60, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $61, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $62, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $63, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $56, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_8(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_8(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $240, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $56, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_9(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_9(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $272, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $59, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $61, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $55, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $57, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $58, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $59, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	PSLLQ $60, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $61, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $62, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $63, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $54, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_10(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_10(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $304, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -80(BX)
	PSLLQ $58, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -96(BX)
	PSLLQ $62, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $56, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -128(BX)
	PSLLQ $60, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $58, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $62, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $54, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $58, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $62, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $56, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $60, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_11(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_11(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $336, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $61, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $59, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $57, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $55, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $53, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $62, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $60, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	PSLLQ $58, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $56, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $54, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $63, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $52, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $61, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $59, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $57, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $55, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_12(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_12(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $368, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	PSLLQ $56, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -64(BX)
	PSLLQ $60, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $60, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $60, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $56, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $60, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $60, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $52, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $56, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $60, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_13(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_13(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $400, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $63, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $59, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $57, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $53, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $51, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $63, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $50, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $62, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $61, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $60, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $59, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $58, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $57, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $56, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $55, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $54, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $53, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $52, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_14(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_14(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $432, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $54, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $58, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -128(BX)
	PSLLQ $52, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $60, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $54, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -176(BX)
	PSLLQ $62, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $56, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $52, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $54, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $50, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $58, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $52, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $60, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $54, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $62, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $56, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_15(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_15(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $464, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $53, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $59, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $63, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $49, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $53, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $57, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $61, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $50, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $54, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $58, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $62, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $51, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $55, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $59, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $63, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $48, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $52, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $60, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_16(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_16(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $496, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $48, X2
	MOVO X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_17(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_17(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $528, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $60, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $56, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $52, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $61, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $57, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $53, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $49, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $62, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $63, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $59, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $51, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $47, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $60, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $56, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $52, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $48, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $61, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $57, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $53, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $49, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $62, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $58, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $54, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $50, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $63, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $46, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $59, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $55, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $51, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_18(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_18(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $560, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $54, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -176(BX)
	PSLLQ $58, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $50, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	PSLLQ $60, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $52, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $62, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $54, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $50, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $60, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $52, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $62, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $46, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $48, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $58, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $50, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $52, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $62, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $54, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_19(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_19(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $592, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $52, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $59, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $47, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $54, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $61, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $49, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $51, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $46, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $53, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $60, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $57, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $45, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $52, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $59, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $47, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $54, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $61, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $49, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $56, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $63, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $44, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $51, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $58, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $46, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $53, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $48, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $55, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $62, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $50, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $57, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_20(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_20(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $624, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $48, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	PSLLQ $48, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -96(BX)
	PSLLQ $52, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $56, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $60, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $52, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $56, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $60, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $48, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $52, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $56, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $52, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $60, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $48, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $52, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $56, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $60, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $44, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $48, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $52, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $56, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $60, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_21(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_21(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $656, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $44, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $45, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $47, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $49, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $52, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $53, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $55, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $57, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $59, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $63, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $43, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $45, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $46, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $47, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $49, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $50, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $51, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $52, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $53, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $54, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $55, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $56, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $57, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $58, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $59, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $61, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $62, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $63, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $42, X3
	POR X3, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_22(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_22(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $688, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -176(BX)
	PSLLQ $62, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $60, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $58, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $56, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $54, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $52, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $50, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $48, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $46, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $44, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $62, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $58, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $56, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $54, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $52, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $50, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $48, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $46, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $44, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $42, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $62, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $60, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $58, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $54, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $52, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $50, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $46, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $44, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_23(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_23(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $720, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $59, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $54, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $49, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $44, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $57, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $52, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $47, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $42, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $60, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $55, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $45, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $63, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $53, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $43, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $61, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $51, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $41, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $59, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $54, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $49, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $44, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $62, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $57, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $52, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $47, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $42, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $60, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $55, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $50, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $45, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $63, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $40, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $58, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $53, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $48, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $43, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $61, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $56, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $51, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $46, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_24(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_24(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $752, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -48(BX)
	PSLLQ $56, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -64(BX)
	PSLLQ $48, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $56, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $48, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $56, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $48, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $56, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $48, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $48, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $56, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $48, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $56, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $48, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $56, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $56, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $56, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $48, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $40, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $56, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_25(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_25(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $784, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $53, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $42, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $45, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $59, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $43, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $57, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $46, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $49, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $63, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $52, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $41, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $55, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $44, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $47, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $61, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $39, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $53, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $42, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $45, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $59, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $48, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $62, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $51, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $40, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $54, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $43, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $57, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $46, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $60, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $49, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $63, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $38, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $52, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $41, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $55, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $44, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $58, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $47, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $61, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -768(BX)
	PSLLQ $50, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_26(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_26(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $816, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $50, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $62, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $48, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $46, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $56, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $42, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $40, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $50, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $62, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $60, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $46, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $58, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $44, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $56, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $42, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $54, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $52, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $50, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $62, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $48, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $60, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $46, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $58, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $44, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $42, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $54, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $40, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $52, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $38, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $50, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $62, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $48, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $60, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $46, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $58, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $44, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $56, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $42, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $54, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $40, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $52, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_27(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_27(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $848, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $47, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $40, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $43, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $53, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $39, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $49, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $59, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $52, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $45, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $55, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $38, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $41, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $61, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $37, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $47, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $57, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $40, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $50, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $43, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $53, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $63, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $36, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $46, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $39, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $49, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $59, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $42, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $52, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $62, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $45, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $55, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $38, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $58, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $41, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $51, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $61, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $54, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_28(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_28(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $880, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $44, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $44, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $52, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -144(BX)
	PSLLQ $60, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $40, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $48, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $56, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $44, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $52, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $48, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $52, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $60, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $40, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $56, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $44, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $52, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $60, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $40, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $48, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $44, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $52, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $48, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $56, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $44, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $52, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $60, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $40, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $48, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $56, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $36, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $44, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $52, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -816(BX)
	PSLLQ $60, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $40, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $48, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $56, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_29(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_29(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $912, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $41, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $47, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $53, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $59, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $36, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $42, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $54, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $60, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $37, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $43, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $49, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $55, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $61, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $38, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $44, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $39, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $45, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $51, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $57, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $63, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $40, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $46, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $52, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $35, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $41, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $47, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $53, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $59, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $36, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $42, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $48, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $54, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $37, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $43, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $49, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $55, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $61, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $38, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $44, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $50, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $56, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $62, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $39, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $45, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $51, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -816(BX)
	PSLLQ $57, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $63, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $34, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $40, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $46, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $52, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $58, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_30(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_30(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $944, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $38, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $42, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $38, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $42, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $46, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $50, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $54, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $58, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -336(BX)
	PSLLQ $62, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $36, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $44, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $52, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $60, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $38, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $42, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $46, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $50, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $54, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $58, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $62, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $36, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $44, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $48, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $52, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $56, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $60, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $34, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $38, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $42, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $46, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $50, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $54, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $58, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -816(BX)
	PSLLQ $62, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $36, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $40, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $44, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $48, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $52, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $60, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_31(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_31(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $976, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, 0(BX)
	PSLLQ $35, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $37, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $39, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $41, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $43, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $45, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $47, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $49, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $51, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $53, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $55, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $57, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $59, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $61, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $63, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $34, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $36, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $38, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $40, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $42, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $44, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $52, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $60, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $62, X1
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $33, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $35, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $37, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $39, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $41, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $43, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $45, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $47, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $49, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $51, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $53, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $55, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $57, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $59, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $61, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $63, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $32, X3
	POR X3, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $34, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $36, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -768(BX)
	PSLLQ $38, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $40, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $42, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $46, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $48, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $50, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $52, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $54, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $58, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $60, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $62, X1
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	POR X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_32(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_32(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1008, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -16(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $32, X2
	MOVO X2, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_33(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_33(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1040, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $62, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $58, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $42, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $40, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $38, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $36, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $34, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $63, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $59, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $57, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $55, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $53, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $49, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $47, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $45, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $43, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $41, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $39, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $37, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $35, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $33, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $31, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $62, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $60, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $58, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $54, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $52, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $50, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $46, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $44, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $42, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $40, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $38, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $36, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $34, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -768(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $63, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $30, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $61, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -816(BX)
	PSLLQ $59, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $57, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $55, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $53, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -880(BX)
	PSLLQ $51, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $49, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $47, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $45, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -944(BX)
	PSLLQ $43, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $41, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $39, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $37, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -1008(BX)
	PSLLQ $35, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $33, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_34(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_34(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1072, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $60, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $56, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $52, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $48, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $44, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $40, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $36, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $62, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $46, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $38, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $34, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $60, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $56, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $52, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $48, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $40, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $36, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -384(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $62, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $58, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $54, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $50, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $46, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $42, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $38, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $34, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $60, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $56, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $52, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $44, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $40, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $36, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $32, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $62, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $58, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $54, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $50, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $46, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $42, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -768(BX)
	PSLLQ $38, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $34, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $30, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $60, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $56, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $52, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $48, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $44, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $40, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $36, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $32, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -944(BX)
	PSLLQ $62, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $58, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $54, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $50, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -1008(BX)
	PSLLQ $46, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $42, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $38, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $34, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_35(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_35(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1104, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $58, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $52, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $34, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $57, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $51, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $45, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $39, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $33, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $62, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $50, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $44, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $38, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $55, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $49, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $43, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $37, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $31, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $54, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $42, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $36, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $30, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $59, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $53, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $47, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $41, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $29, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $58, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $52, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $46, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $34, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $63, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $28, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $57, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $51, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $45, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $39, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $33, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $62, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $56, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -768(BX)
	PSLLQ $50, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $44, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $38, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $61, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $55, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $49, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -880(BX)
	PSLLQ $43, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $37, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $31, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $60, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $54, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $48, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $42, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $36, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $30, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $59, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $53, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $47, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $41, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $35, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_36(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_36(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1136, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $56, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $40, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $32, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $56, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $40, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -192(BX)
	PSLLQ $32, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $60, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $52, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -240(BX)
	PSLLQ $44, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $36, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $40, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $32, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $60, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $52, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $36, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $48, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $40, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $32, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $52, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $44, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $36, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $56, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $32, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $60, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $52, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $44, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $36, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $56, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $40, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -768(BX)
	PSLLQ $32, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $60, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $52, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $36, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $56, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -880(BX)
	PSLLQ $48, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $40, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -912(BX)
	PSLLQ $32, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -928(BX)
	PSLLQ $60, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $52, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -960(BX)
	PSLLQ $44, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $36, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $28, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $56, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1024(BX)
	PSLLQ $48, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $40, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $32, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $4, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $60, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $52, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $44, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $36, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_37(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_37(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1168, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $54, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $44, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $34, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $61, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $51, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $41, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $31, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $58, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $38, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $28, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $55, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $45, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $35, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $62, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $52, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $42, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $59, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $49, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $39, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $29, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $56, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $46, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $36, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $63, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $53, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $43, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $33, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $60, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $50, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $40, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $30, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $57, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $47, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $37, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $27, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $54, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $44, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $34, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $61, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $51, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $41, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $31, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $58, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $48, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $38, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $28, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $55, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $45, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $35, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $62, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $52, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $42, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -880(BX)
	PSLLQ $59, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $49, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $39, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $29, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $56, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $46, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $36, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $63, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $26, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1008(BX)
	PSLLQ $53, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $43, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $33, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $60, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $50, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $40, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $30, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $57, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $47, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $37, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_38(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_38(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1200, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $52, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $40, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $28, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $54, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $42, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $30, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $44, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $58, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $46, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $34, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $60, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $36, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $38, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $52, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $40, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $28, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $54, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $42, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $30, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $56, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $44, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $58, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $46, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $34, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $48, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $36, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $62, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $50, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $38, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $52, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $40, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $28, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $54, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $42, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $30, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $56, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $44, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $32, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $58, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -768(BX)
	PSLLQ $46, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $34, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $60, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -816(BX)
	PSLLQ $48, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $36, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $62, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -864(BX)
	PSLLQ $50, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $38, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $26, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $52, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $40, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $28, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $54, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $42, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $30, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $56, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1024(BX)
	PSLLQ $44, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $32, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $58, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $46, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $34, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $60, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $48, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	PSLLQ $36, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $62, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $50, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $38, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_39(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_39(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1232, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $50, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $36, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $61, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $47, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $33, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $58, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $34, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $30, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $41, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $27, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $38, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $63, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $49, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $35, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $46, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $57, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $43, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $29, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $54, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $40, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $26, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $51, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $37, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $62, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $34, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $59, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $45, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $31, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $42, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $53, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $39, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $25, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $50, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $36, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $61, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $47, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $33, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $58, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $44, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $34, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $30, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $55, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $41, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $27, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $52, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $38, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $63, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $24, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $49, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $35, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $60, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $46, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $57, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -944(BX)
	PSLLQ $43, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $29, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $54, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $40, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $26, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $51, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $37, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $62, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $48, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $34, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $59, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $45, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $31, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $56, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $42, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1184(BX)
	PSLLQ $28, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1200(BX)
	PSLLQ $53, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $39, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_40(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_40(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1264, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $48, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $32, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	PSLLQ $48, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -96(BX)
	PSLLQ $32, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -112(BX)
	PSLLQ $56, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $40, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $32, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $40, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -256(BX)
	PSLLQ $32, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $56, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $40, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $48, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $32, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $56, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $40, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $32, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $40, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $48, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $32, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $56, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $40, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $48, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $32, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $56, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $48, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $32, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $56, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $40, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $48, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $32, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $56, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $40, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $48, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -816(BX)
	PSLLQ $32, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -832(BX)
	PSLLQ $56, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $40, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $48, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $32, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $40, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $48, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -976(BX)
	PSLLQ $32, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -992(BX)
	PSLLQ $56, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1008(BX)
	PSLLQ $40, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $48, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $32, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $56, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $40, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1120(BX)
	PSLLQ $48, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1136(BX)
	PSLLQ $32, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -1152(BX)
	PSLLQ $56, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1168(BX)
	PSLLQ $40, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $24, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $48, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1216(BX)
	PSLLQ $32, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $8, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $56, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $40, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_41(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_41(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1296, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $46, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $28, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $51, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $33, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $38, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $61, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $43, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $25, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $30, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $53, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $35, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $58, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $40, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $63, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $45, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $27, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $50, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $55, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $37, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $60, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $42, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $24, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $47, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $29, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $52, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $34, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $57, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $39, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $62, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $44, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $26, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $49, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $31, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $54, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $36, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $59, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $41, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $23, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $46, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $28, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $51, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $33, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $56, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $38, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $61, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $43, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $25, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $48, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $30, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $53, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $35, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $58, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $40, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $63, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $22, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $45, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $27, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $50, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $55, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $37, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $60, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -1024(BX)
	PSLLQ $42, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $24, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $47, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $29, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $52, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $34, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $57, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $39, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $62, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $44, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -1184(BX)
	PSLLQ $26, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -1200(BX)
	PSLLQ $49, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $31, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $54, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $36, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $59, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $41, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_42(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_42(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1328, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $44, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -16(BX)
	PSLLQ $24, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $46, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $26, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $28, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $50, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $30, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $52, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $34, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $36, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $38, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $60, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $42, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $44, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -352(BX)
	PSLLQ $24, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -368(BX)
	PSLLQ $46, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $26, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $28, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $50, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $30, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $52, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $54, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $34, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $56, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $36, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $58, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $38, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $62, X4
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $42, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $44, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $24, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $46, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $26, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $48, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $28, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -768(BX)
	PSLLQ $50, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $30, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $52, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -816(BX)
	PSLLQ $32, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -832(BX)
	PSLLQ $54, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $34, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $56, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -880(BX)
	PSLLQ $36, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -896(BX)
	PSLLQ $58, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $38, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $60, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -944(BX)
	PSLLQ $40, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -960(BX)
	PSLLQ $62, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $42, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $22, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $44, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -1024(BX)
	PSLLQ $24, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $46, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $26, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $48, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $28, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $50, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $30, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	PSLLQ $52, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $32, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $10, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $54, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $34, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $56, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -1216(BX)
	PSLLQ $36, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $58, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $38, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $60, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	POR X2, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $40, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $62, X4
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $42, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_43(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_43(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1360, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $42, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $63, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $41, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $62, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $40, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $61, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $39, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $60, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $38, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $59, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $37, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $58, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $36, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $57, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $35, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $34, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $55, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $33, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $54, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $53, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $31, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $52, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $30, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $51, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $29, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $50, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $28, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $49, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $27, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $26, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $47, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $25, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $46, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $24, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $45, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $23, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $44, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $22, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $43, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $21, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $42, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $63, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $20, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $41, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $62, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $40, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $61, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $39, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $60, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $38, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $59, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $37, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $58, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $36, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $57, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $35, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $56, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $34, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $55, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $33, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $54, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $53, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $31, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $52, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $30, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $51, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $29, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $50, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	PSLLQ $28, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $49, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $27, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1184(BX)
	PSLLQ $48, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $26, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $47, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $25, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $46, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $24, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $45, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $23, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1312(BX)
	PSLLQ $44, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $22, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $43, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_44(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_44(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1392, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $40, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $60, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $36, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $56, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $32, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $52, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $28, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $24, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $40, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $60, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -208(BX)
	PSLLQ $36, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -224(BX)
	PSLLQ $56, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $32, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $52, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $28, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $48, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $24, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $44, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $40, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $36, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $56, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $32, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $52, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $28, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $48, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $24, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $44, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $40, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $60, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $36, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $32, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $52, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $28, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $24, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $44, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $40, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $60, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $36, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $56, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $32, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $52, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -800(BX)
	PSLLQ $28, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -816(BX)
	PSLLQ $48, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $24, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $44, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $40, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $60, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $36, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $56, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $32, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $52, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $28, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $48, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $24, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $44, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $40, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1072(BX)
	PSLLQ $60, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -1088(BX)
	PSLLQ $36, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1104(BX)
	PSLLQ $56, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1120(BX)
	PSLLQ $32, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1136(BX)
	PSLLQ $52, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -1152(BX)
	PSLLQ $28, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1168(BX)
	PSLLQ $48, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	PSLLQ $24, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1200(BX)
	PSLLQ $44, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1216(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $20, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $40, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $60, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $28, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $36, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $56, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $32, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $52, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $36, X2
	POR X2, X1
	MOVOU X1, -1328(BX)
	PSLLQ $28, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1344(BX)
	PSLLQ $48, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $24, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1376(BX)
	PSLLQ $44, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_45(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_45(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1424, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $38, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $57, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $31, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $24, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $43, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $55, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $29, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $22, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $41, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $34, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $53, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $27, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $46, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $20, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $39, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $25, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $63, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $37, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $30, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $49, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $23, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $42, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $61, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $54, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $47, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $21, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $59, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $33, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $52, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $26, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $45, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $19, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $38, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $57, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $31, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -768(BX)
	PSLLQ $50, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $24, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $43, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $62, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $36, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $55, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $29, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $48, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $22, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $41, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $60, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $34, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $53, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $27, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $46, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $20, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $39, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $58, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $51, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $25, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $44, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $63, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $18, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $37, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $56, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $30, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $49, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -1200(BX)
	PSLLQ $23, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -1216(BX)
	PSLLQ $42, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $61, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $35, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $54, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $28, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $47, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $21, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $40, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $59, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -1360(BX)
	PSLLQ $33, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $52, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $26, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $45, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_46(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_46(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1456, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $36, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $54, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $26, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $44, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $62, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $34, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $52, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $24, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $42, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $60, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $50, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $42, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $22, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $40, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $58, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $30, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $48, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $20, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $38, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $28, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $36, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $54, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -400(BX)
	PSLLQ $26, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -416(BX)
	PSLLQ $44, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -432(BX)
	PSLLQ $62, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $34, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $52, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $24, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $42, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $60, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $50, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $42, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $22, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $40, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $58, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $30, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $48, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $20, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $38, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $56, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $28, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $46, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $36, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $54, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -768(BX)
	PSLLQ $26, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -784(BX)
	PSLLQ $44, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -800(BX)
	PSLLQ $62, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $34, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $52, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -848(BX)
	PSLLQ $24, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -864(BX)
	PSLLQ $42, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -880(BX)
	PSLLQ $60, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $32, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $50, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $42, X2
	POR X2, X1
	MOVOU X1, -928(BX)
	PSLLQ $22, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -944(BX)
	PSLLQ $40, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -960(BX)
	PSLLQ $58, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $30, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	PSLLQ $48, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1008(BX)
	PSLLQ $20, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1024(BX)
	PSLLQ $38, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1040(BX)
	PSLLQ $56, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $28, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -1072(BX)
	PSLLQ $46, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1088(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $18, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $36, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $54, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $26, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $44, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $62, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $34, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $52, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -1216(BX)
	PSLLQ $24, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $22, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $42, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $60, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $32, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $50, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $42, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $22, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -1312(BX)
	PSLLQ $40, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -1328(BX)
	PSLLQ $58, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $30, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $48, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $20, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $38, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $56, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $28, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $46, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_47(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_47(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1488, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $34, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $51, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -32(BX)
	PSLLQ $21, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $38, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $55, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $25, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $42, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $59, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $29, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $46, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $63, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $33, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $50, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $20, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $37, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $54, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $24, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $41, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $58, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $28, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $45, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $62, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $49, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $45, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $19, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $36, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $53, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $23, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $40, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $57, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $27, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $44, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $61, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $31, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $18, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $35, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $52, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $22, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $39, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $26, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $43, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $60, X1
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $30, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $47, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $17, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $34, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $51, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -784(BX)
	PSLLQ $21, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -800(BX)
	PSLLQ $38, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -816(BX)
	PSLLQ $55, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $25, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $42, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $59, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -880(BX)
	PSLLQ $29, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $46, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $63, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $16, X3
	POR X3, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $33, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $50, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $20, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $37, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $54, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $24, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $41, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $58, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $28, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $19, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $45, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $62, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	POR X2, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $49, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $45, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $19, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $36, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $53, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $23, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $40, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $57, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $27, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $44, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $61, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $31, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $48, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -1312(BX)
	PSLLQ $18, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -1328(BX)
	PSLLQ $35, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $12, X3
	POR X3, X4
	MOVOU X4, -1344(BX)
	PSLLQ $52, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $22, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1376(BX)
	PSLLQ $39, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $56, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $26, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -1424(BX)
	PSLLQ $43, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1440(BX)
	PSLLQ $60, X1
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $30, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $47, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_48(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_48(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1520, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $32, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $48, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -48(BX)
	PSLLQ $32, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -64(BX)
	PSLLQ $48, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -80(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $32, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $48, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $32, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $48, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $32, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $32, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $48, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $32, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $32, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $48, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $32, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $48, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $32, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $48, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $32, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $48, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $32, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $48, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $32, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $32, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $48, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $32, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $48, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $32, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $32, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $48, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $32, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $48, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $32, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $48, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $32, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $48, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $32, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $48, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $32, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $48, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $32, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1072(BX)
	PSLLQ $48, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1088(BX)
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $32, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $48, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1152(BX)
	PSLLQ $32, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1168(BX)
	PSLLQ $48, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $32, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $48, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1248(BX)
	PSLLQ $32, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1264(BX)
	PSLLQ $48, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1280(BX)
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $32, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $48, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1344(BX)
	PSLLQ $32, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1360(BX)
	PSLLQ $48, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1376(BX)
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $32, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $48, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1440(BX)
	PSLLQ $32, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1456(BX)
	PSLLQ $48, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1472(BX)
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $16, X2
	MOVO X2, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $32, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $16, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $48, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_49(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_49(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1552, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $30, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $45, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $60, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $26, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $41, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $22, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $37, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $52, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $18, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $33, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $63, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $29, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $44, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $59, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $25, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $55, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $21, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $36, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $51, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $17, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $47, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $62, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $28, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $43, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $58, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $24, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $39, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $54, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $20, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $50, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $16, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $31, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $46, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $61, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $27, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $42, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $57, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $23, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $38, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $53, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $19, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $34, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $49, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $15, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $30, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $45, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $60, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -832(BX)
	PSLLQ $26, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -848(BX)
	PSLLQ $41, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $56, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $22, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $37, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $52, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $18, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -944(BX)
	PSLLQ $33, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $48, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $63, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $14, X3
	POR X3, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $29, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $44, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $59, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $25, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $40, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $55, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $21, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $36, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $51, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $17, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $47, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1184(BX)
	PSLLQ $62, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $28, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $43, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $58, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $24, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $39, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $54, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $20, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $35, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $50, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -1344(BX)
	PSLLQ $16, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -1360(BX)
	PSLLQ $31, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $46, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $61, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $27, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $42, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $57, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -1456(BX)
	PSLLQ $23, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -1472(BX)
	PSLLQ $38, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1488(BX)
	PSLLQ $53, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $19, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $34, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $49, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1552(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_50(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_50(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1584, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $28, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $42, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $56, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $20, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $30, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $34, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $48, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $62, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $26, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $54, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $18, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $46, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $24, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $38, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $52, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $16, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $34, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $30, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $44, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $22, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $36, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $28, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $42, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -448(BX)
	PSLLQ $20, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $30, X2
	POR X2, X1
	MOVOU X1, -464(BX)
	PSLLQ $34, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -480(BX)
	PSLLQ $48, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -496(BX)
	PSLLQ $62, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $26, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $40, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $54, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $18, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -592(BX)
	PSLLQ $46, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $60, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $24, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $38, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $52, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $16, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $34, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $30, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $44, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $58, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $22, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $36, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $50, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $28, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $42, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $56, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -848(BX)
	PSLLQ $20, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $30, X2
	POR X2, X1
	MOVOU X1, -864(BX)
	PSLLQ $34, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -880(BX)
	PSLLQ $48, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -896(BX)
	PSLLQ $62, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $26, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $40, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $54, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -960(BX)
	PSLLQ $18, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -976(BX)
	PSLLQ $32, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -992(BX)
	PSLLQ $46, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1008(BX)
	PSLLQ $60, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	PSLLQ $24, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -1040(BX)
	PSLLQ $38, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $52, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -1072(BX)
	PSLLQ $16, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $34, X2
	POR X2, X1
	MOVOU X1, -1088(BX)
	PSLLQ $30, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1104(BX)
	PSLLQ $44, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -1120(BX)
	PSLLQ $58, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1136(BX)
	PSLLQ $22, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1152(BX)
	PSLLQ $36, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -1168(BX)
	PSLLQ $50, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $14, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $28, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $42, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $56, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $20, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $30, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $34, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $48, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $62, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $26, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $40, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $54, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -1360(BX)
	PSLLQ $18, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $32, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $46, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $60, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	POR X2, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $24, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $38, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $52, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -1472(BX)
	PSLLQ $16, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $34, X2
	POR X2, X1
	MOVOU X1, -1488(BX)
	PSLLQ $30, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1504(BX)
	PSLLQ $44, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -1520(BX)
	PSLLQ $58, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $22, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1552(BX)
	PSLLQ $36, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -1568(BX)
	PSLLQ $50, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1584(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_51(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_51(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1616, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $26, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $39, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $52, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -48(BX)
	PSLLQ $14, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $27, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $40, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $53, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $15, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $28, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $41, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $54, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $16, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $29, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $17, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $30, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $43, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $56, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $18, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $31, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $44, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $57, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $19, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $45, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $58, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $20, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $33, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $46, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $59, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $21, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $34, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $47, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $60, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $22, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $35, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $61, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $23, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $36, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $49, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $62, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $24, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $37, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $50, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $63, X4
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $25, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $38, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $51, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $13, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $26, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $39, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $52, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -864(BX)
	PSLLQ $14, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -880(BX)
	PSLLQ $27, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -896(BX)
	PSLLQ $40, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $53, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $15, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $28, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $41, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $54, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $16, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -1008(BX)
	PSLLQ $29, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -1024(BX)
	PSLLQ $42, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $55, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $17, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $30, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $43, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $56, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $18, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $31, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $44, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $57, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $19, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $45, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $58, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $20, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $33, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $46, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $59, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $21, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $34, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $47, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $60, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $22, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $35, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $48, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -1424(BX)
	PSLLQ $61, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $23, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $36, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $49, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $62, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	POR X2, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -1504(BX)
	PSLLQ $24, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -1520(BX)
	PSLLQ $37, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -1536(BX)
	PSLLQ $50, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $63, X4
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $12, X3
	POR X3, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -1568(BX)
	PSLLQ $25, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -1584(BX)
	PSLLQ $38, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -1600(BX)
	PSLLQ $51, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1616(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_52(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_52(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1648, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $24, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $36, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $48, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $60, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $20, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $32, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $44, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $56, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $16, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $28, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $40, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	PSLLQ $24, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -224(BX)
	PSLLQ $36, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $48, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $60, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -272(BX)
	PSLLQ $20, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -288(BX)
	PSLLQ $32, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -304(BX)
	PSLLQ $44, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -320(BX)
	PSLLQ $56, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $16, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $28, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $52, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $24, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $36, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $48, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $60, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $20, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $32, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $44, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $16, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $40, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $52, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $24, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $36, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $48, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $60, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $20, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $32, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $44, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $56, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $16, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $28, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $40, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $52, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $24, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $36, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $48, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $60, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -896(BX)
	PSLLQ $20, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -912(BX)
	PSLLQ $32, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -928(BX)
	PSLLQ $44, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -944(BX)
	PSLLQ $56, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $16, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $28, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	PSLLQ $40, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1008(BX)
	PSLLQ $52, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $24, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $36, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $48, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $60, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $20, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $32, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $44, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $56, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $16, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $28, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $40, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $52, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1248(BX)
	PSLLQ $24, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1264(BX)
	PSLLQ $36, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1280(BX)
	PSLLQ $48, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1296(BX)
	PSLLQ $60, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -1312(BX)
	PSLLQ $20, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1328(BX)
	PSLLQ $32, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -1344(BX)
	PSLLQ $44, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1360(BX)
	PSLLQ $56, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1376(BX)
	PSLLQ $16, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1392(BX)
	PSLLQ $28, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1408(BX)
	PSLLQ $40, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1424(BX)
	PSLLQ $52, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1440(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $12, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $24, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $36, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $48, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $60, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $44, X2
	POR X2, X1
	MOVOU X1, -1520(BX)
	PSLLQ $20, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1536(BX)
	PSLLQ $32, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $20, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $44, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $56, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1584(BX)
	PSLLQ $16, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1600(BX)
	PSLLQ $28, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1616(BX)
	PSLLQ $40, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1632(BX)
	PSLLQ $52, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_53(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_53(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1680, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $22, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $33, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $44, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $55, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -64(BX)
	PSLLQ $13, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $24, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $35, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $46, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $57, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $15, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $26, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $37, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $59, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $17, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $28, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $39, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $50, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $61, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $19, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $30, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $41, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $52, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $63, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $21, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $43, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $54, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $12, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $23, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $34, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $45, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $56, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $14, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $25, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $36, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $47, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $58, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $16, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $27, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $38, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $49, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $60, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $18, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $29, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $40, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $51, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $62, X1
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $20, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $31, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $42, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $53, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $11, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $22, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $33, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $44, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $55, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -912(BX)
	PSLLQ $13, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -928(BX)
	PSLLQ $24, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -944(BX)
	PSLLQ $35, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -960(BX)
	PSLLQ $46, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $7, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $57, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $15, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $26, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $37, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $48, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $59, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $17, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $28, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $39, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $50, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $61, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $19, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $30, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $41, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $52, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $63, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $10, X3
	POR X3, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $21, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $43, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $10, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $54, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $12, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $23, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $34, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $45, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $56, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $14, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $25, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $36, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -1424(BX)
	PSLLQ $47, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -1440(BX)
	PSLLQ $58, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $16, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $27, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $38, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $49, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $60, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -1536(BX)
	PSLLQ $18, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $29, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $40, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $51, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $62, X1
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	POR X2, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1616(BX)
	PSLLQ $20, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -1632(BX)
	PSLLQ $31, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	PSLLQ $42, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -1664(BX)
	PSLLQ $53, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_54(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_54(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1712, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $20, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $30, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $40, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $50, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $60, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -80(BX)
	PSLLQ $16, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $26, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $46, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $56, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $12, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $22, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $42, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $52, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $18, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $28, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $38, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $48, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $58, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $14, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $24, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $34, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $44, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $20, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $30, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $40, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $50, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $60, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -512(BX)
	PSLLQ $16, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -528(BX)
	PSLLQ $26, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -544(BX)
	PSLLQ $36, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -560(BX)
	PSLLQ $46, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -576(BX)
	PSLLQ $56, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $12, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $22, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $42, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $52, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $62, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $18, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $28, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $38, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $48, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $58, X4
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $14, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $24, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $34, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $54, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $20, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $30, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $40, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $50, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $60, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -944(BX)
	PSLLQ $16, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -960(BX)
	PSLLQ $26, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -976(BX)
	PSLLQ $36, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -992(BX)
	PSLLQ $46, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1008(BX)
	PSLLQ $56, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	PSLLQ $12, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1040(BX)
	PSLLQ $22, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $32, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1072(BX)
	PSLLQ $42, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1088(BX)
	PSLLQ $52, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -1104(BX)
	PSLLQ $62, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -1120(BX)
	PSLLQ $18, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1136(BX)
	PSLLQ $28, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1152(BX)
	PSLLQ $38, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1168(BX)
	PSLLQ $48, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -1184(BX)
	PSLLQ $58, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -1200(BX)
	PSLLQ $14, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1216(BX)
	PSLLQ $24, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1232(BX)
	PSLLQ $34, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1248(BX)
	PSLLQ $44, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1264(BX)
	PSLLQ $54, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1280(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $10, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $20, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $30, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $40, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $50, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $60, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $16, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $26, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $36, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $18, X2
	POR X2, X1
	MOVOU X1, -1424(BX)
	PSLLQ $46, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1440(BX)
	PSLLQ $56, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $12, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $22, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $32, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $42, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $52, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $62, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $46, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $18, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $28, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $38, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $48, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $6, X2
	POR X2, X1
	MOVOU X1, -1616(BX)
	PSLLQ $58, X4
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -1632(BX)
	PSLLQ $14, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	PSLLQ $24, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1664(BX)
	PSLLQ $34, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $44, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $54, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_55(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_55(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1744, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $18, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $27, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $36, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $45, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $54, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $63, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -96(BX)
	PSLLQ $17, X4
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -112(BX)
	PSLLQ $26, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $35, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $53, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $62, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $16, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $25, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $34, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $43, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $52, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $61, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $49, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $15, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $24, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $33, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $42, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $51, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $60, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $14, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $23, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $41, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $50, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $59, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $13, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $22, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $31, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $40, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $49, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $58, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $12, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $21, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $30, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $39, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $57, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $11, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $20, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $29, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $38, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $47, X4
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $56, X1
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $10, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $19, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $28, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $37, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $46, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $55, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $9, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $18, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $27, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $36, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $45, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $54, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $63, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $8, X3
	POR X3, X1
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -976(BX)
	PSLLQ $17, X4
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -992(BX)
	PSLLQ $26, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -1008(BX)
	PSLLQ $35, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1024(BX)
	PSLLQ $44, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $53, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $62, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	POR X2, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $16, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $25, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $34, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $43, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	PSLLQ $52, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $61, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $49, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $15, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $40, X3
	POR X3, X4
	MOVOU X4, -1184(BX)
	PSLLQ $24, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -1200(BX)
	PSLLQ $33, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $22, X3
	POR X3, X4
	MOVOU X4, -1216(BX)
	PSLLQ $42, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $51, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $60, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $14, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $23, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $41, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $50, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $59, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -1360(BX)
	PSLLQ $13, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $42, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $22, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $31, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $24, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $40, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $15, X2
	POR X2, X1
	MOVOU X1, -1424(BX)
	PSLLQ $49, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -1440(BX)
	PSLLQ $58, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $12, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $21, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $30, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $39, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $48, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $57, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $11, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $20, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $29, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $38, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -1616(BX)
	PSLLQ $47, X4
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1632(BX)
	PSLLQ $56, X1
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	PSLLQ $10, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1664(BX)
	PSLLQ $19, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $28, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $37, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $46, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $55, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_56(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_56(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1776, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $16, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $24, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $32, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $40, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $48, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $56, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -112(BX)
	PSLLQ $16, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -128(BX)
	PSLLQ $24, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -144(BX)
	PSLLQ $32, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -160(BX)
	PSLLQ $40, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -176(BX)
	PSLLQ $48, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -192(BX)
	PSLLQ $56, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -208(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $16, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $24, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $32, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $40, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $48, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $56, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $16, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $24, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $32, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $40, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $56, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $16, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $24, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $32, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $40, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $48, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $56, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $16, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $24, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $32, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $40, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $48, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $56, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $16, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $24, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $32, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $40, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $48, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $56, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $16, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $24, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $32, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $40, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $48, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $56, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $16, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $24, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $32, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $40, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $48, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $56, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $16, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $24, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $32, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $40, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $48, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $56, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1120(BX)
	PSLLQ $16, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1136(BX)
	PSLLQ $24, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1152(BX)
	PSLLQ $32, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1168(BX)
	PSLLQ $40, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	PSLLQ $48, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1200(BX)
	PSLLQ $56, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1216(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $16, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $24, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $32, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $40, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $48, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $56, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1344(BX)
	PSLLQ $16, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1360(BX)
	PSLLQ $24, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1376(BX)
	PSLLQ $32, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1392(BX)
	PSLLQ $40, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1408(BX)
	PSLLQ $48, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1424(BX)
	PSLLQ $56, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1440(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $16, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $24, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $32, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $40, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $48, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $56, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1552(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1568(BX)
	PSLLQ $16, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1584(BX)
	PSLLQ $24, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1600(BX)
	PSLLQ $32, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1616(BX)
	PSLLQ $40, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1632(BX)
	PSLLQ $48, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1648(BX)
	PSLLQ $56, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1664(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $8, X2
	MOVO X2, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $16, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $40, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $24, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $32, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $24, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $40, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $48, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $8, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $56, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_57(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_57(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1808, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $14, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $21, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $28, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $35, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $42, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $49, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $56, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $63, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -128(BX)
	PSLLQ $13, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $20, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $27, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $34, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $41, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $48, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $55, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $62, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $12, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $19, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $26, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $33, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $40, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $47, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $54, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $61, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $11, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $18, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $25, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $39, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $46, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $53, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $60, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $10, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $17, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $24, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $31, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $38, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $45, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $52, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $59, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $55, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $9, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $16, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $23, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $34, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $30, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $37, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $44, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $51, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -752(BX)
	PSLLQ $58, X1
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $8, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $15, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $22, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $29, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $36, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $43, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $50, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $57, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $7, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $14, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $21, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $28, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $35, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $42, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $49, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $56, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $63, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $6, X3
	POR X3, X1
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -1040(BX)
	PSLLQ $13, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1056(BX)
	PSLLQ $20, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $37, X2
	POR X2, X1
	MOVOU X1, -1072(BX)
	PSLLQ $27, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $30, X3
	POR X3, X4
	MOVOU X4, -1088(BX)
	PSLLQ $34, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -1104(BX)
	PSLLQ $41, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $48, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $9, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $55, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $62, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	POR X2, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $12, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $19, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $26, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $33, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $40, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $47, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $54, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $61, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $11, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -1312(BX)
	PSLLQ $18, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $39, X2
	POR X2, X1
	MOVOU X1, -1328(BX)
	PSLLQ $25, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1344(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $25, X2
	POR X2, X1
	MOVOU X1, -1360(BX)
	PSLLQ $39, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $46, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $53, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $4, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $60, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $10, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $17, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $24, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $31, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $38, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $45, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $52, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $59, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $55, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $9, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $16, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $23, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $34, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $30, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $27, X2
	POR X2, X1
	MOVOU X1, -1616(BX)
	PSLLQ $37, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1632(BX)
	PSLLQ $44, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -1648(BX)
	PSLLQ $51, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -1664(BX)
	PSLLQ $58, X1
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $8, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $15, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $22, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $29, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $36, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $43, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $50, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $57, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_58(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_58(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1840, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $12, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $18, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $24, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $30, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $36, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $42, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $48, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $54, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $60, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -144(BX)
	PSLLQ $8, X1
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $50, X2
	POR X2, X1
	MOVOU X1, -160(BX)
	PSLLQ $14, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $20, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $26, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $32, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $38, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $44, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $50, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $56, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $62, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $10, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $16, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $22, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $28, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $34, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $40, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $46, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $52, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	PSLLQ $12, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -480(BX)
	PSLLQ $18, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $24, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $30, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $36, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $42, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $48, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $54, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $60, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -608(BX)
	PSLLQ $8, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $50, X2
	POR X2, X1
	MOVOU X1, -624(BX)
	PSLLQ $14, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -640(BX)
	PSLLQ $20, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -656(BX)
	PSLLQ $26, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -672(BX)
	PSLLQ $32, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -688(BX)
	PSLLQ $38, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -704(BX)
	PSLLQ $44, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -720(BX)
	PSLLQ $50, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -736(BX)
	PSLLQ $56, X1
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -752(BX)
	PSLLQ $62, X4
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $10, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $16, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $22, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $28, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $34, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $40, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $46, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $52, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $58, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $12, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $18, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $24, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $30, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	PSLLQ $36, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1008(BX)
	PSLLQ $42, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	PSLLQ $48, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1040(BX)
	PSLLQ $54, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $60, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -1072(BX)
	PSLLQ $8, X1
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $50, X2
	POR X2, X1
	MOVOU X1, -1088(BX)
	PSLLQ $14, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1104(BX)
	PSLLQ $20, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -1120(BX)
	PSLLQ $26, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1136(BX)
	PSLLQ $32, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1152(BX)
	PSLLQ $38, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1168(BX)
	PSLLQ $44, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -1184(BX)
	PSLLQ $50, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1200(BX)
	PSLLQ $56, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -1216(BX)
	PSLLQ $62, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -1232(BX)
	PSLLQ $10, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1248(BX)
	PSLLQ $16, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1264(BX)
	PSLLQ $22, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1280(BX)
	PSLLQ $28, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1296(BX)
	PSLLQ $34, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1312(BX)
	PSLLQ $40, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -1328(BX)
	PSLLQ $46, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1344(BX)
	PSLLQ $52, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -1360(BX)
	PSLLQ $58, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1376(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $6, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $12, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $18, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $24, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $30, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $36, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $42, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $48, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $54, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $60, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	POR X2, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -1536(BX)
	PSLLQ $8, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $50, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $14, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $20, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $38, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $26, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $32, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $26, X2
	POR X2, X1
	MOVOU X1, -1616(BX)
	PSLLQ $38, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1632(BX)
	PSLLQ $44, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $14, X2
	POR X2, X1
	MOVOU X1, -1648(BX)
	PSLLQ $50, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1664(BX)
	PSLLQ $56, X1
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $2, X2
	POR X2, X1
	MOVOU X1, -1680(BX)
	PSLLQ $62, X4
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $10, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $16, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $22, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $28, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $34, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $40, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $46, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	PSLLQ $52, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -1824(BX)
	PSLLQ $58, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1840(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_59(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_59(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1872, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $10, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $15, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $20, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $25, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $30, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $35, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $40, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $45, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $50, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $55, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $60, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $58, X3
	POR X3, X4
	MOVOU X4, -176(BX)
	PSLLQ $6, X1
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -192(BX)
	PSLLQ $11, X4
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -208(BX)
	PSLLQ $16, X1
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -224(BX)
	PSLLQ $21, X4
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -240(BX)
	PSLLQ $26, X1
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -256(BX)
	PSLLQ $31, X4
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -272(BX)
	PSLLQ $36, X1
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -288(BX)
	PSLLQ $41, X4
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -304(BX)
	PSLLQ $46, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $51, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $56, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $61, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $7, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $12, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $17, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $22, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $27, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $37, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $42, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $47, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $52, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $57, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $62, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $8, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $13, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $18, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $23, X4
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $28, X1
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -640(BX)
	PSLLQ $33, X4
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -656(BX)
	PSLLQ $38, X1
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -672(BX)
	PSLLQ $43, X4
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -688(BX)
	PSLLQ $48, X1
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -704(BX)
	PSLLQ $53, X4
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -720(BX)
	PSLLQ $58, X1
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -736(BX)
	PSLLQ $63, X4
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $9, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $14, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $19, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $24, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $29, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $34, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $39, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $44, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $49, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $54, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $59, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $5, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $10, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $15, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $20, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $25, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $30, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $35, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $40, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $45, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $50, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $55, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $60, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X4
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $58, X3
	POR X3, X4
	MOVOU X4, -1120(BX)
	PSLLQ $6, X1
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -1136(BX)
	PSLLQ $11, X4
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $48, X3
	POR X3, X4
	MOVOU X4, -1152(BX)
	PSLLQ $16, X1
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $43, X2
	POR X2, X1
	MOVOU X1, -1168(BX)
	PSLLQ $21, X4
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -1184(BX)
	PSLLQ $26, X1
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $33, X2
	POR X2, X1
	MOVOU X1, -1200(BX)
	PSLLQ $31, X4
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $28, X3
	POR X3, X4
	MOVOU X4, -1216(BX)
	PSLLQ $36, X1
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -1232(BX)
	PSLLQ $41, X4
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $18, X3
	POR X3, X4
	MOVOU X4, -1248(BX)
	PSLLQ $46, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $13, X2
	POR X2, X1
	MOVOU X1, -1264(BX)
	PSLLQ $51, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1280(BX)
	PSLLQ $56, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $3, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $61, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $7, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $12, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $17, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $22, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -1376(BX)
	PSLLQ $27, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $37, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $42, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $47, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $52, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $57, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $62, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	POR X2, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -1504(BX)
	PSLLQ $8, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $51, X2
	POR X2, X1
	MOVOU X1, -1520(BX)
	PSLLQ $13, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $46, X3
	POR X3, X4
	MOVOU X4, -1536(BX)
	PSLLQ $18, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $23, X4
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $36, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $28, X1
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $31, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $33, X4
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $38, X1
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $21, X2
	POR X2, X1
	MOVOU X1, -1616(BX)
	PSLLQ $43, X4
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $16, X3
	POR X3, X4
	MOVOU X4, -1632(BX)
	PSLLQ $48, X1
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1648(BX)
	PSLLQ $53, X4
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $6, X3
	POR X3, X4
	MOVOU X4, -1664(BX)
	PSLLQ $58, X1
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $1, X2
	POR X2, X1
	MOVOU X1, -1680(BX)
	PSLLQ $63, X4
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $4, X3
	POR X3, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $9, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $14, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $19, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $24, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $29, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $34, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $39, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	PSLLQ $44, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1824(BX)
	PSLLQ $49, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -1840(BX)
	PSLLQ $54, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1856(BX)
	PSLLQ $59, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1872(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_60(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_60(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1904, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $8, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $12, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $16, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $20, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $24, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $28, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $32, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $36, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $40, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $44, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $48, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $52, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $56, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $60, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -240(BX)
	PSLLQ $8, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -256(BX)
	PSLLQ $12, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -272(BX)
	PSLLQ $16, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -288(BX)
	PSLLQ $20, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -304(BX)
	PSLLQ $24, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -320(BX)
	PSLLQ $28, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -336(BX)
	PSLLQ $32, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -352(BX)
	PSLLQ $36, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -368(BX)
	PSLLQ $40, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -384(BX)
	PSLLQ $44, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -400(BX)
	PSLLQ $48, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -416(BX)
	PSLLQ $52, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -432(BX)
	PSLLQ $56, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -448(BX)
	PSLLQ $60, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -464(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $8, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $12, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $16, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $20, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $24, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $28, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $32, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $36, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $44, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $48, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $52, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $56, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $60, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $8, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $12, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $16, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $20, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $24, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $28, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $32, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $36, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $40, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $44, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $48, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $52, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $60, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $8, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $12, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	PSLLQ $16, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -1008(BX)
	PSLLQ $20, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	PSLLQ $24, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1040(BX)
	PSLLQ $28, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $32, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1072(BX)
	PSLLQ $36, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1088(BX)
	PSLLQ $40, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1104(BX)
	PSLLQ $44, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1120(BX)
	PSLLQ $48, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1136(BX)
	PSLLQ $52, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1152(BX)
	PSLLQ $56, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1168(BX)
	PSLLQ $60, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $8, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $12, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $16, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $20, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $24, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $28, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $32, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $36, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $40, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $44, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $48, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1376(BX)
	PSLLQ $52, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $56, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $60, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1440(BX)
	PSLLQ $8, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -1456(BX)
	PSLLQ $12, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1472(BX)
	PSLLQ $16, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -1488(BX)
	PSLLQ $20, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1504(BX)
	PSLLQ $24, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1520(BX)
	PSLLQ $28, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1536(BX)
	PSLLQ $32, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1552(BX)
	PSLLQ $36, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1568(BX)
	PSLLQ $40, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1584(BX)
	PSLLQ $44, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1600(BX)
	PSLLQ $48, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1616(BX)
	PSLLQ $52, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1632(BX)
	PSLLQ $56, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1648(BX)
	PSLLQ $60, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1664(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $4, X2
	MOVO X2, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $8, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $52, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $12, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $16, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $44, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $20, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $24, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $36, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $28, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $32, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $28, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $36, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	PSLLQ $40, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $20, X2
	POR X2, X4
	MOVOU X4, -1824(BX)
	PSLLQ $44, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1840(BX)
	PSLLQ $48, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $12, X2
	POR X2, X4
	MOVOU X4, -1856(BX)
	PSLLQ $52, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1872(BX)
	PSLLQ $56, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $4, X2
	POR X2, X4
	MOVOU X4, -1888(BX)
	PSLLQ $60, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1904(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_61(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_61(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1936, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $58, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $6, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $9, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $12, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $15, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $18, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $21, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $24, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $27, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $30, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $33, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $36, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $39, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $42, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $45, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $48, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $51, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $54, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $57, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $60, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $63, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $59, X2
	POR X2, X1
	MOVOU X1, -320(BX)
	PSLLQ $5, X4
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -336(BX)
	PSLLQ $8, X1
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -352(BX)
	PSLLQ $11, X4
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -368(BX)
	PSLLQ $14, X1
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -384(BX)
	PSLLQ $17, X4
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -400(BX)
	PSLLQ $20, X1
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -416(BX)
	PSLLQ $23, X4
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -432(BX)
	PSLLQ $26, X1
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -448(BX)
	PSLLQ $29, X4
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -464(BX)
	PSLLQ $32, X1
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -480(BX)
	PSLLQ $35, X4
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -496(BX)
	PSLLQ $38, X1
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -512(BX)
	PSLLQ $41, X4
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -528(BX)
	PSLLQ $44, X1
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -544(BX)
	PSLLQ $47, X4
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -560(BX)
	PSLLQ $50, X1
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -576(BX)
	PSLLQ $53, X4
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -592(BX)
	PSLLQ $56, X1
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -608(BX)
	PSLLQ $59, X4
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -624(BX)
	PSLLQ $62, X1
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $4, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $7, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $10, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $51, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $13, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $16, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $19, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $22, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $25, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $28, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $31, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $34, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $37, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $40, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $43, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $46, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $49, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $52, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $55, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $58, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $61, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $3, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $58, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	PSLLQ $6, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -992(BX)
	PSLLQ $9, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $12, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $15, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $18, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $21, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $24, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $27, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $30, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $33, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	PSLLQ $36, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $39, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $42, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $45, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $48, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $51, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $54, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $57, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $60, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $63, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $2, X3
	POR X3, X1
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $59, X2
	POR X2, X1
	MOVOU X1, -1296(BX)
	PSLLQ $5, X4
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $56, X3
	POR X3, X4
	MOVOU X4, -1312(BX)
	PSLLQ $8, X1
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $53, X2
	POR X2, X1
	MOVOU X1, -1328(BX)
	PSLLQ $11, X4
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $50, X3
	POR X3, X4
	MOVOU X4, -1344(BX)
	PSLLQ $14, X1
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $47, X2
	POR X2, X1
	MOVOU X1, -1360(BX)
	PSLLQ $17, X4
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $44, X3
	POR X3, X4
	MOVOU X4, -1376(BX)
	PSLLQ $20, X1
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $41, X2
	POR X2, X1
	MOVOU X1, -1392(BX)
	PSLLQ $23, X4
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $38, X3
	POR X3, X4
	MOVOU X4, -1408(BX)
	PSLLQ $26, X1
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $35, X2
	POR X2, X1
	MOVOU X1, -1424(BX)
	PSLLQ $29, X4
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $32, X3
	POR X3, X4
	MOVOU X4, -1440(BX)
	PSLLQ $32, X1
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $29, X2
	POR X2, X1
	MOVOU X1, -1456(BX)
	PSLLQ $35, X4
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $26, X3
	POR X3, X4
	MOVOU X4, -1472(BX)
	PSLLQ $38, X1
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $23, X2
	POR X2, X1
	MOVOU X1, -1488(BX)
	PSLLQ $41, X4
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $20, X3
	POR X3, X4
	MOVOU X4, -1504(BX)
	PSLLQ $44, X1
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $17, X2
	POR X2, X1
	MOVOU X1, -1520(BX)
	PSLLQ $47, X4
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $14, X3
	POR X3, X4
	MOVOU X4, -1536(BX)
	PSLLQ $50, X1
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $11, X2
	POR X2, X1
	MOVOU X1, -1552(BX)
	PSLLQ $53, X4
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $8, X3
	POR X3, X4
	MOVOU X4, -1568(BX)
	PSLLQ $56, X1
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X4
	PSRLQ $5, X2
	POR X2, X1
	MOVOU X1, -1584(BX)
	PSLLQ $59, X4
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X1
	PSRLQ $2, X3
	POR X3, X4
	MOVOU X4, -1600(BX)
	PSLLQ $62, X1
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	POR X2, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -1616(BX)
	PSLLQ $4, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -1632(BX)
	PSLLQ $7, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	PSLLQ $10, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $51, X2
	POR X2, X4
	MOVOU X4, -1664(BX)
	PSLLQ $13, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $16, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $19, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $22, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $25, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $28, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $31, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $34, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $37, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	PSLLQ $40, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1824(BX)
	PSLLQ $43, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -1840(BX)
	PSLLQ $46, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1856(BX)
	PSLLQ $49, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1872(BX)
	PSLLQ $52, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -1888(BX)
	PSLLQ $55, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -1904(BX)
	PSLLQ $58, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -1920(BX)
	PSLLQ $61, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1936(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_62(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_62(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $1968, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $4, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $58, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $6, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $8, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $10, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $12, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $14, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $16, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $18, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $20, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $22, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $24, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $26, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $28, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $30, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $32, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $34, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $36, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $38, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $40, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $42, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $44, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $46, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $48, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $50, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $52, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $54, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $56, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $58, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $60, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $62, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	MOVO X2, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -496(BX)
	PSLLQ $4, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $58, X2
	POR X2, X4
	MOVOU X4, -512(BX)
	PSLLQ $6, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -528(BX)
	PSLLQ $8, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -544(BX)
	PSLLQ $10, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -560(BX)
	PSLLQ $12, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -576(BX)
	PSLLQ $14, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -592(BX)
	PSLLQ $16, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -608(BX)
	PSLLQ $18, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -624(BX)
	PSLLQ $20, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -640(BX)
	PSLLQ $22, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -656(BX)
	PSLLQ $24, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -672(BX)
	PSLLQ $26, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -688(BX)
	PSLLQ $28, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -704(BX)
	PSLLQ $30, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -720(BX)
	PSLLQ $32, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -736(BX)
	PSLLQ $34, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -752(BX)
	PSLLQ $36, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -768(BX)
	PSLLQ $38, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -784(BX)
	PSLLQ $40, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -800(BX)
	PSLLQ $42, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -816(BX)
	PSLLQ $44, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -832(BX)
	PSLLQ $46, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -848(BX)
	PSLLQ $48, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -864(BX)
	PSLLQ $50, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -880(BX)
	PSLLQ $52, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -896(BX)
	PSLLQ $54, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -912(BX)
	PSLLQ $56, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -928(BX)
	PSLLQ $58, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -944(BX)
	PSLLQ $60, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -960(BX)
	PSLLQ $62, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -976(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	PSLLQ $4, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $58, X2
	POR X2, X4
	MOVOU X4, -1008(BX)
	PSLLQ $6, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1024(BX)
	PSLLQ $8, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -1040(BX)
	PSLLQ $10, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1056(BX)
	PSLLQ $12, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -1072(BX)
	PSLLQ $14, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1088(BX)
	PSLLQ $16, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -1104(BX)
	PSLLQ $18, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1120(BX)
	PSLLQ $20, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1136(BX)
	PSLLQ $22, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1152(BX)
	PSLLQ $24, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -1168(BX)
	PSLLQ $26, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1184(BX)
	PSLLQ $28, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -1200(BX)
	PSLLQ $30, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1216(BX)
	PSLLQ $32, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1232(BX)
	PSLLQ $34, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1248(BX)
	PSLLQ $36, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -1264(BX)
	PSLLQ $38, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1280(BX)
	PSLLQ $40, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1296(BX)
	PSLLQ $42, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1312(BX)
	PSLLQ $44, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -1328(BX)
	PSLLQ $46, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1344(BX)
	PSLLQ $48, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -1360(BX)
	PSLLQ $50, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1376(BX)
	PSLLQ $52, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1392(BX)
	PSLLQ $54, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1408(BX)
	PSLLQ $56, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -1424(BX)
	PSLLQ $58, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1440(BX)
	PSLLQ $60, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -1456(BX)
	PSLLQ $62, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1472(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $2, X2
	MOVO X2, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $4, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $58, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $6, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $8, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $54, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $10, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1552(BX)
	PSLLQ $12, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $50, X2
	POR X2, X4
	MOVOU X4, -1568(BX)
	PSLLQ $14, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1584(BX)
	PSLLQ $16, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $46, X2
	POR X2, X4
	MOVOU X4, -1600(BX)
	PSLLQ $18, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1616(BX)
	PSLLQ $20, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $42, X2
	POR X2, X4
	MOVOU X4, -1632(BX)
	PSLLQ $22, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	PSLLQ $24, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $38, X2
	POR X2, X4
	MOVOU X4, -1664(BX)
	PSLLQ $26, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $28, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $34, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $30, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $32, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $30, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $34, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $36, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $26, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $38, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $40, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $22, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $42, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	PSLLQ $44, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $18, X2
	POR X2, X4
	MOVOU X4, -1824(BX)
	PSLLQ $46, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1840(BX)
	PSLLQ $48, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $14, X2
	POR X2, X4
	MOVOU X4, -1856(BX)
	PSLLQ $50, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1872(BX)
	PSLLQ $52, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $10, X2
	POR X2, X4
	MOVOU X4, -1888(BX)
	PSLLQ $54, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1904(BX)
	PSLLQ $56, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $6, X2
	POR X2, X4
	MOVOU X4, -1920(BX)
	PSLLQ $58, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1936(BX)
	PSLLQ $60, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $2, X2
	POR X2, X4
	MOVOU X4, -1952(BX)
	PSLLQ $62, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -1968(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_63(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_63(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $2000, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	MOVO X2, X1
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $62, X3
	POR X3, X1
	MOVOU X1, 0(BX)
	PSLLQ $2, X4
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $61, X2
	POR X2, X4
	MOVOU X4, -16(BX)
	PSLLQ $3, X1
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -32(BX)
	PSLLQ $4, X4
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $59, X2
	POR X2, X4
	MOVOU X4, -48(BX)
	PSLLQ $5, X1
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $58, X3
	POR X3, X1
	MOVOU X1, -64(BX)
	PSLLQ $6, X4
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -80(BX)
	PSLLQ $7, X1
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -96(BX)
	PSLLQ $8, X4
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -112(BX)
	PSLLQ $9, X1
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -128(BX)
	PSLLQ $10, X4
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $53, X2
	POR X2, X4
	MOVOU X4, -144(BX)
	PSLLQ $11, X1
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -160(BX)
	PSLLQ $12, X4
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $51, X2
	POR X2, X4
	MOVOU X4, -176(BX)
	PSLLQ $13, X1
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -192(BX)
	PSLLQ $14, X4
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -208(BX)
	PSLLQ $15, X1
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -224(BX)
	PSLLQ $16, X4
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -240(BX)
	PSLLQ $17, X1
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -256(BX)
	PSLLQ $18, X4
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -272(BX)
	PSLLQ $19, X1
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -288(BX)
	PSLLQ $20, X4
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -304(BX)
	PSLLQ $21, X1
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -320(BX)
	PSLLQ $22, X4
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -336(BX)
	PSLLQ $23, X1
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -352(BX)
	PSLLQ $24, X4
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -368(BX)
	PSLLQ $25, X1
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -384(BX)
	PSLLQ $26, X4
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -400(BX)
	PSLLQ $27, X1
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -416(BX)
	PSLLQ $28, X4
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -432(BX)
	PSLLQ $29, X1
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -448(BX)
	PSLLQ $30, X4
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -464(BX)
	PSLLQ $31, X1
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -480(BX)
	PSLLQ $32, X4
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -496(BX)
	PSLLQ $33, X1
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -512(BX)
	PSLLQ $34, X4
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -528(BX)
	PSLLQ $35, X1
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -544(BX)
	PSLLQ $36, X4
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -560(BX)
	PSLLQ $37, X1
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -576(BX)
	PSLLQ $38, X4
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -592(BX)
	PSLLQ $39, X1
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -608(BX)
	PSLLQ $40, X4
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -624(BX)
	PSLLQ $41, X1
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -640(BX)
	PSLLQ $42, X4
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -656(BX)
	PSLLQ $43, X1
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -672(BX)
	PSLLQ $44, X4
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -688(BX)
	PSLLQ $45, X1
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -704(BX)
	PSLLQ $46, X4
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -720(BX)
	PSLLQ $47, X1
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -736(BX)
	PSLLQ $48, X4
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -752(BX)
	PSLLQ $49, X1
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -768(BX)
	PSLLQ $50, X4
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -784(BX)
	PSLLQ $51, X1
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -800(BX)
	PSLLQ $52, X4
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -816(BX)
	PSLLQ $53, X1
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -832(BX)
	PSLLQ $54, X4
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -848(BX)
	PSLLQ $55, X1
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -864(BX)
	PSLLQ $56, X4
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -880(BX)
	PSLLQ $57, X1
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -896(BX)
	PSLLQ $58, X4
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -912(BX)
	PSLLQ $59, X1
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -928(BX)
	PSLLQ $60, X4
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -944(BX)
	PSLLQ $61, X1
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -960(BX)
	PSLLQ $62, X4
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -976(BX)
	PSLLQ $63, X1
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -992(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $1, X2
	MOVO X2, X1
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $62, X3
	POR X3, X1
	MOVOU X1, -1008(BX)
	PSLLQ $2, X4
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $61, X2
	POR X2, X4
	MOVOU X4, -1024(BX)
	PSLLQ $3, X1
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $60, X3
	POR X3, X1
	MOVOU X1, -1040(BX)
	PSLLQ $4, X4
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $59, X2
	POR X2, X4
	MOVOU X4, -1056(BX)
	PSLLQ $5, X1
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $58, X3
	POR X3, X1
	MOVOU X1, -1072(BX)
	PSLLQ $6, X4
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $57, X2
	POR X2, X4
	MOVOU X4, -1088(BX)
	PSLLQ $7, X1
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $56, X3
	POR X3, X1
	MOVOU X1, -1104(BX)
	PSLLQ $8, X4
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $55, X2
	POR X2, X4
	MOVOU X4, -1120(BX)
	PSLLQ $9, X1
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $54, X3
	POR X3, X1
	MOVOU X1, -1136(BX)
	PSLLQ $10, X4
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $53, X2
	POR X2, X4
	MOVOU X4, -1152(BX)
	PSLLQ $11, X1
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $52, X3
	POR X3, X1
	MOVOU X1, -1168(BX)
	PSLLQ $12, X4
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $51, X2
	POR X2, X4
	MOVOU X4, -1184(BX)
	PSLLQ $13, X1
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $50, X3
	POR X3, X1
	MOVOU X1, -1200(BX)
	PSLLQ $14, X4
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $49, X2
	POR X2, X4
	MOVOU X4, -1216(BX)
	PSLLQ $15, X1
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $48, X3
	POR X3, X1
	MOVOU X1, -1232(BX)
	PSLLQ $16, X4
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $47, X2
	POR X2, X4
	MOVOU X4, -1248(BX)
	PSLLQ $17, X1
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $46, X3
	POR X3, X1
	MOVOU X1, -1264(BX)
	PSLLQ $18, X4
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $45, X2
	POR X2, X4
	MOVOU X4, -1280(BX)
	PSLLQ $19, X1
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $44, X3
	POR X3, X1
	MOVOU X1, -1296(BX)
	PSLLQ $20, X4
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $43, X2
	POR X2, X4
	MOVOU X4, -1312(BX)
	PSLLQ $21, X1
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $42, X3
	POR X3, X1
	MOVOU X1, -1328(BX)
	PSLLQ $22, X4
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $41, X2
	POR X2, X4
	MOVOU X4, -1344(BX)
	PSLLQ $23, X1
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $40, X3
	POR X3, X1
	MOVOU X1, -1360(BX)
	PSLLQ $24, X4
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $39, X2
	POR X2, X4
	MOVOU X4, -1376(BX)
	PSLLQ $25, X1
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $38, X3
	POR X3, X1
	MOVOU X1, -1392(BX)
	PSLLQ $26, X4
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $37, X2
	POR X2, X4
	MOVOU X4, -1408(BX)
	PSLLQ $27, X1
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $36, X3
	POR X3, X1
	MOVOU X1, -1424(BX)
	PSLLQ $28, X4
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $35, X2
	POR X2, X4
	MOVOU X4, -1440(BX)
	PSLLQ $29, X1
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $34, X3
	POR X3, X1
	MOVOU X1, -1456(BX)
	PSLLQ $30, X4
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $33, X2
	POR X2, X4
	MOVOU X4, -1472(BX)
	PSLLQ $31, X1
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $32, X3
	POR X3, X1
	MOVOU X1, -1488(BX)
	PSLLQ $32, X4
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $31, X2
	POR X2, X4
	MOVOU X4, -1504(BX)
	PSLLQ $33, X1
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $30, X3
	POR X3, X1
	MOVOU X1, -1520(BX)
	PSLLQ $34, X4
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $29, X2
	POR X2, X4
	MOVOU X4, -1536(BX)
	PSLLQ $35, X1
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $28, X3
	POR X3, X1
	MOVOU X1, -1552(BX)
	PSLLQ $36, X4
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $27, X2
	POR X2, X4
	MOVOU X4, -1568(BX)
	PSLLQ $37, X1
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $26, X3
	POR X3, X1
	MOVOU X1, -1584(BX)
	PSLLQ $38, X4
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $25, X2
	POR X2, X4
	MOVOU X4, -1600(BX)
	PSLLQ $39, X1
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $24, X3
	POR X3, X1
	MOVOU X1, -1616(BX)
	PSLLQ $40, X4
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $23, X2
	POR X2, X4
	MOVOU X4, -1632(BX)
	PSLLQ $41, X1
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $22, X3
	POR X3, X1
	MOVOU X1, -1648(BX)
	PSLLQ $42, X4
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $21, X2
	POR X2, X4
	MOVOU X4, -1664(BX)
	PSLLQ $43, X1
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $20, X3
	POR X3, X1
	MOVOU X1, -1680(BX)
	PSLLQ $44, X4
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $19, X2
	POR X2, X4
	MOVOU X4, -1696(BX)
	PSLLQ $45, X1
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $18, X3
	POR X3, X1
	MOVOU X1, -1712(BX)
	PSLLQ $46, X4
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $17, X2
	POR X2, X4
	MOVOU X4, -1728(BX)
	PSLLQ $47, X1
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $16, X3
	POR X3, X1
	MOVOU X1, -1744(BX)
	PSLLQ $48, X4
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $15, X2
	POR X2, X4
	MOVOU X4, -1760(BX)
	PSLLQ $49, X1
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $14, X3
	POR X3, X1
	MOVOU X1, -1776(BX)
	PSLLQ $50, X4
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $13, X2
	POR X2, X4
	MOVOU X4, -1792(BX)
	PSLLQ $51, X1
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $12, X3
	POR X3, X1
	MOVOU X1, -1808(BX)
	PSLLQ $52, X4
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $11, X2
	POR X2, X4
	MOVOU X4, -1824(BX)
	PSLLQ $53, X1
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $10, X3
	POR X3, X1
	MOVOU X1, -1840(BX)
	PSLLQ $54, X4
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $9, X2
	POR X2, X4
	MOVOU X4, -1856(BX)
	PSLLQ $55, X1
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $8, X3
	POR X3, X1
	MOVOU X1, -1872(BX)
	PSLLQ $56, X4
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $7, X2
	POR X2, X4
	MOVOU X4, -1888(BX)
	PSLLQ $57, X1
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $6, X3
	POR X3, X1
	MOVOU X1, -1904(BX)
	PSLLQ $58, X4
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $5, X2
	POR X2, X4
	MOVOU X4, -1920(BX)
	PSLLQ $59, X1
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $4, X3
	POR X3, X1
	MOVOU X1, -1936(BX)
	PSLLQ $60, X4
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $3, X2
	POR X2, X4
	MOVOU X4, -1952(BX)
	PSLLQ $61, X1
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	MOVOU X3, X4
	PSRLQ $2, X3
	POR X3, X1
	MOVOU X1, -1968(BX)
	PSLLQ $62, X4
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	MOVOU X2, X1
	PSRLQ $1, X2
	POR X2, X4
	MOVOU X4, -1984(BX)
	PSLLQ $63, X1
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	POR X3, X1
	MOVOU X1, -2000(BX)
	MOVOU X0, 0(CX)
	RET

// func dpack256_64(in *uint64, out *uint8, seed *uint64)
TEXT ·dpack256_64(SB),4,$0-24
	MOVQ in+0(FP), AX
	MOVQ out+8(FP), BX
	MOVQ seed+16(FP), CX
	ADDQ $2032, AX
	ADDQ $2032, BX
	MOVOU 0(AX), X0
	MOVOU 0(AX), X2
	MOVOU -16(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, 0(BX)
	MOVOU -32(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -16(BX)
	MOVOU -48(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -32(BX)
	MOVOU -64(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -48(BX)
	MOVOU -80(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -64(BX)
	MOVOU -96(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -80(BX)
	MOVOU -112(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -96(BX)
	MOVOU -128(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -112(BX)
	MOVOU -144(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -128(BX)
	MOVOU -160(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -144(BX)
	MOVOU -176(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -160(BX)
	MOVOU -192(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -176(BX)
	MOVOU -208(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -192(BX)
	MOVOU -224(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -208(BX)
	MOVOU -240(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -224(BX)
	MOVOU -256(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -240(BX)
	MOVOU -272(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -256(BX)
	MOVOU -288(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -272(BX)
	MOVOU -304(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -288(BX)
	MOVOU -320(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -304(BX)
	MOVOU -336(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -320(BX)
	MOVOU -352(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -336(BX)
	MOVOU -368(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -352(BX)
	MOVOU -384(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -368(BX)
	MOVOU -400(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -384(BX)
	MOVOU -416(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -400(BX)
	MOVOU -432(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -416(BX)
	MOVOU -448(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -432(BX)
	MOVOU -464(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -448(BX)
	MOVOU -480(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -464(BX)
	MOVOU -496(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -480(BX)
	MOVOU -512(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -496(BX)
	MOVOU -528(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -512(BX)
	MOVOU -544(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -528(BX)
	MOVOU -560(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -544(BX)
	MOVOU -576(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -560(BX)
	MOVOU -592(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -576(BX)
	MOVOU -608(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -592(BX)
	MOVOU -624(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -608(BX)
	MOVOU -640(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -624(BX)
	MOVOU -656(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -640(BX)
	MOVOU -672(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -656(BX)
	MOVOU -688(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -672(BX)
	MOVOU -704(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -688(BX)
	MOVOU -720(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -704(BX)
	MOVOU -736(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -720(BX)
	MOVOU -752(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -736(BX)
	MOVOU -768(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -752(BX)
	MOVOU -784(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -768(BX)
	MOVOU -800(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -784(BX)
	MOVOU -816(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -800(BX)
	MOVOU -832(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -816(BX)
	MOVOU -848(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -832(BX)
	MOVOU -864(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -848(BX)
	MOVOU -880(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -864(BX)
	MOVOU -896(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -880(BX)
	MOVOU -912(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -896(BX)
	MOVOU -928(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -912(BX)
	MOVOU -944(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -928(BX)
	MOVOU -960(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -944(BX)
	MOVOU -976(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -960(BX)
	MOVOU -992(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -976(BX)
	MOVOU -1008(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -992(BX)
	MOVOU -1024(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1008(BX)
	MOVOU -1040(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1024(BX)
	MOVOU -1056(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1040(BX)
	MOVOU -1072(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1056(BX)
	MOVOU -1088(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1072(BX)
	MOVOU -1104(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1088(BX)
	MOVOU -1120(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1104(BX)
	MOVOU -1136(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1120(BX)
	MOVOU -1152(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1136(BX)
	MOVOU -1168(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1152(BX)
	MOVOU -1184(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1168(BX)
	MOVOU -1200(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1184(BX)
	MOVOU -1216(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1200(BX)
	MOVOU -1232(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1216(BX)
	MOVOU -1248(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1232(BX)
	MOVOU -1264(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1248(BX)
	MOVOU -1280(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1264(BX)
	MOVOU -1296(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1280(BX)
	MOVOU -1312(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1296(BX)
	MOVOU -1328(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1312(BX)
	MOVOU -1344(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1328(BX)
	MOVOU -1360(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1344(BX)
	MOVOU -1376(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1360(BX)
	MOVOU -1392(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1376(BX)
	MOVOU -1408(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1392(BX)
	MOVOU -1424(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1408(BX)
	MOVOU -1440(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1424(BX)
	MOVOU -1456(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1440(BX)
	MOVOU -1472(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1456(BX)
	MOVOU -1488(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1472(BX)
	MOVOU -1504(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1488(BX)
	MOVOU -1520(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1504(BX)
	MOVOU -1536(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1520(BX)
	MOVOU -1552(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1536(BX)
	MOVOU -1568(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1552(BX)
	MOVOU -1584(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1568(BX)
	MOVOU -1600(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1584(BX)
	MOVOU -1616(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1600(BX)
	MOVOU -1632(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1616(BX)
	MOVOU -1648(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1632(BX)
	MOVOU -1664(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1648(BX)
	MOVOU -1680(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1664(BX)
	MOVOU -1696(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1680(BX)
	MOVOU -1712(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1696(BX)
	MOVOU -1728(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1712(BX)
	MOVOU -1744(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1728(BX)
	MOVOU -1760(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1744(BX)
	MOVOU -1776(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1760(BX)
	MOVOU -1792(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1776(BX)
	MOVOU -1808(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1792(BX)
	MOVOU -1824(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1808(BX)
	MOVOU -1840(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1824(BX)
	MOVOU -1856(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1840(BX)
	MOVOU -1872(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1856(BX)
	MOVOU -1888(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1872(BX)
	MOVOU -1904(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1888(BX)
	MOVOU -1920(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1904(BX)
	MOVOU -1936(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1920(BX)
	MOVOU -1952(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1936(BX)
	MOVOU -1968(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1952(BX)
	MOVOU -1984(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -1968(BX)
	MOVOU -2000(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -1984(BX)
	MOVOU -2016(AX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -2000(BX)
	MOVOU -2032(AX), X3
	PSUBQ X3, X2
	PSLLQ $0, X2
	MOVO X2, X1
	MOVOU X1, -2016(BX)
	MOVOU 0(CX), X2
	PSUBQ X2, X3
	PSLLQ $0, X3
	MOVO X3, X1
	MOVOU X1, -2032(BX)
	MOVOU X0, 0(CX)
	RET
