Transparent Z.add. Transparent Z.mul.
Definition HTrue_loop3_statement :=
Sfor (Sset _i (Econst_int (Int.repr 0) tint))
(Ebinop Olt (Etempvar _i tint) (Econst_int (Int.repr 4) tint) tint)
(Ssequence
(Ssequence
(Sset _t'14
(Ederef
(Ebinop Oadd (Evar _x (tarray tuint 16))
(Ebinop Omul (Econst_int (Int.repr 5) tint)
(Etempvar _i tint) tint) (tptr tuint)) tuint))
(Scall None
(Evar _st32
(Tfunction (Tcons (tptr tuchar) (Tcons tuint Tnil)) tvoid
cc_default))
[Ebinop Oadd (Etempvar _out (tptr tuchar))
(Ebinop Omul (Econst_int (Int.repr 4) tint)
(Etempvar _i tint) tint) (tptr tuchar);
Etempvar _t'14 tuint]))
(Ssequence
(Sset _t'13
(Ederef
(Ebinop Oadd (Evar _x (tarray tuint 16))
(Ebinop Oadd (Econst_int (Int.repr 6) tint)
(Etempvar _i tint) tint) (tptr tuint)) tuint))
(Scall None
(Evar _st32
(Tfunction (Tcons (tptr tuchar) (Tcons tuint Tnil)) tvoid
cc_default))
[Ebinop Oadd
(Ebinop Oadd (Etempvar _out (tptr tuchar))
(Econst_int (Int.repr 16) tint) (tptr tuchar))
(Ebinop Omul (Econst_int (Int.repr 4) tint)
(Etempvar _i tint) tint) (tptr tuchar);
Etempvar _t'13 tuint])))
(Sset _i
(Ebinop Oadd (Etempvar _i tint) (Econst_int (Int.repr 1) tint) tint)).

Lemma HTrue_loop3 Espec (FR:mpred) t y x w nonce out c k h (OUT: list val) xs (*ys Nonce C K*):
@semax CompSpecs Espec
(func_tycontext f_core SalsaVarSpecs SalsaFunSpecs nil)
(PROP  ()
LOCAL  (lvar _t (tarray tuint 4) t;
lvar _y (tarray tuint 16) y; lvar _x (tarray tuint 16) x;
lvar _w (tarray tuint 16) w; temp _in nonce; temp _out out; temp _c c;
temp _k k; temp _h (Vint (Int.repr h)))
SEP  (FR; data_at Tsh (tarray tuchar 32) OUT out;
data_at Tsh (tarray tuint 16) (map Vint xs) x))
HTrue_loop3_statement
(normal_ret_assert (
PROP  ()
LOCAL  (lvar _t (tarray tuint 4) t;
lvar _y (tarray tuint 16) y; lvar _x (tarray tuint 16) x;
lvar _w (tarray tuint 16) w; temp _in nonce; temp _out out; temp _c c;
temp _k k; temp _h (Vint (Int.repr h)))
SEP (FR; data_at Tsh (tarray tuint 16) (map Vint xs) x;
data_at Tsh (tarray tuchar 32) (hPosLoop3 4 xs OUT) out))).