(module ;; 0-64 reserved for param block (memory (export "memory") 10 1000) (func (export "blake2b_init") (param $ptr i32) (param $outlen i32) ;; setup param block (expect memory to be cleared) ;; b array: 0-128 (i64.store (get_local $ptr) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 8)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 16)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 24)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 32)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 40)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 48)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 56)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 64)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 72)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 80)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 88)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 96)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 104)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 112)) (i64.const 0)) (i64.store (i32.add (get_local $ptr) (i32.const 120)) (i64.const 0)) ;; h array: 128-192, (8 * i64) ;; TODO: support xor against param block and stuff, for now just xor against length (i64.store (i32.add (get_local $ptr) (i32.const 128)) (i64.xor (i64.const 0x6a09e667f3bcc908) (i64.load (i32.const 0)))) (i64.store (i32.add (get_local $ptr) (i32.const 136)) (i64.xor (i64.const 0xbb67ae8584caa73b) (i64.load (i32.const 8)))) (i64.store (i32.add (get_local $ptr) (i32.const 144)) (i64.xor (i64.const 0x3c6ef372fe94f82b) (i64.load (i32.const 16)))) (i64.store (i32.add (get_local $ptr) (i32.const 152)) (i64.xor (i64.const 0xa54ff53a5f1d36f1) (i64.load (i32.const 24)))) (i64.store (i32.add (get_local $ptr) (i32.const 160)) (i64.xor (i64.const 0x510e527fade682d1) (i64.load (i32.const 32)))) (i64.store (i32.add (get_local $ptr) (i32.const 168)) (i64.xor (i64.const 0x9b05688c2b3e6c1f) (i64.load (i32.const 40)))) (i64.store (i32.add (get_local $ptr) (i32.const 176)) (i64.xor (i64.const 0x1f83d9abfb41bd6b) (i64.load (i32.const 48)))) (i64.store (i32.add (get_local $ptr) (i32.const 184)) (i64.xor (i64.const 0x5be0cd19137e2179) (i64.load (i32.const 56)))) ;; t int.64: 192-200 (i64.store (i32.add (get_local $ptr) (i32.const 192)) (i64.const 0)) ;; c int.64: 200-208 (i64.store (i32.add (get_local $ptr) (i32.const 200)) (i64.const 0)) ;; f int.64: 208-216 (i64.store (i32.add (get_local $ptr) (i32.const 208)) (i64.const 0)) ) (func (export "blake2b_update") (param $ctx i32) (param $input i32) (param $input_end i32) (local $t i32) (local $c i32) (local $i i32) ;; load ctx.t, ctx.c (set_local $t (i32.add (get_local $ctx) (i32.const 192))) (set_local $c (i32.add (get_local $ctx) (i32.const 200))) ;; i = ctx.c (set_local $i (i32.wrap/i64 (i64.load (get_local $c)))) (block $end (loop $start (br_if $end (i32.eq (get_local $input) (get_local $input_end))) (if (i32.eq (get_local $i) (i32.const 128)) (then (i64.store (get_local $t) (i64.add (i64.load (get_local $t)) (i64.extend_u/i32 (get_local $i)))) (set_local $i (i32.const 0)) get_local $ctx call $blake2b_compress ) ) (i32.store8 (i32.add (get_local $ctx) (get_local $i)) (i32.load8_u (get_local $input))) (set_local $i (i32.add (get_local $i) (i32.const 1))) (set_local $input (i32.add (get_local $input) (i32.const 1))) (br $start) ) ) (i64.store (get_local $c) (i64.extend_u/i32 (get_local $i))) ) (func (export "blake2b_final") (param $ctx i32) (local $t i32) (local $c i32) (local $i i32) ;; load ctx.t, ctx.c (set_local $t (i32.add (get_local $ctx) (i32.const 192))) (set_local $c (i32.add (get_local $ctx) (i32.const 200))) ;; ctx.t += ctx.c (i64.store (get_local $t) (i64.add (i64.load (get_local $t)) (i64.load (get_local $c)))) ;; set ctx.f to last_block (i64.store (i32.add (get_local $ctx) (i32.const 208)) (i64.const 0xffffffffffffffff)) ;; i = ctx.c (set_local $i (i32.wrap/i64 (i64.load (get_local $c)))) ;; zero out remaining, i..128 (block $end (loop $start (br_if $end (i32.eq (get_local $i) (i32.const 128))) (i32.store8 (i32.add (get_local $ctx) (get_local $i)) (i32.const 0)) (set_local $i (i32.add (get_local $i) (i32.const 1))) (br $start) ) ) ;; ctx.c = i (for good meassure) (i64.store (get_local $c) (i64.extend_u/i32 (get_local $i))) get_local $ctx call $blake2b_compress ) (func $blake2b_compress (export "blake2b_compress") (param $ctx i32) (local $v0 i64) (local $v1 i64) (local $v2 i64) (local $v3 i64) (local $v4 i64) (local $v5 i64) (local $v6 i64) (local $v7 i64) (local $v8 i64) (local $v9 i64) (local $v10 i64) (local $v11 i64) (local $v12 i64) (local $v13 i64) (local $v14 i64) (local $v15 i64) (local $m0 i64) (local $m1 i64) (local $m2 i64) (local $m3 i64) (local $m4 i64) (local $m5 i64) (local $m6 i64) (local $m7 i64) (local $m8 i64) (local $m9 i64) (local $m10 i64) (local $m11 i64) (local $m12 i64) (local $m13 i64) (local $m14 i64) (local $m15 i64) (local $h0 i32) (local $h1 i32) (local $h2 i32) (local $h3 i32) (local $h4 i32) (local $h5 i32) (local $h6 i32) (local $h7 i32) (local $h8 i32) ;; set h ptrs (set_local $h0 (i32.add (get_local $ctx) (i32.const 128))) (set_local $h1 (i32.add (get_local $ctx) (i32.const 136))) (set_local $h2 (i32.add (get_local $ctx) (i32.const 144))) (set_local $h3 (i32.add (get_local $ctx) (i32.const 152))) (set_local $h4 (i32.add (get_local $ctx) (i32.const 160))) (set_local $h5 (i32.add (get_local $ctx) (i32.const 168))) (set_local $h6 (i32.add (get_local $ctx) (i32.const 176))) (set_local $h7 (i32.add (get_local $ctx) (i32.const 184))) ;; set v[0-8] to ctx.h[0-8] (set_local $v0 (i64.load (get_local $h0))) (set_local $v1 (i64.load (get_local $h1))) (set_local $v2 (i64.load (get_local $h2))) (set_local $v3 (i64.load (get_local $h3))) (set_local $v4 (i64.load (get_local $h4))) (set_local $v5 (i64.load (get_local $h5))) (set_local $v6 (i64.load (get_local $h6))) (set_local $v7 (i64.load (get_local $h7))) ;; set v[8-16] to init vectors (set_local $v8 (i64.const 0x6a09e667f3bcc908)) (set_local $v9 (i64.const 0xbb67ae8584caa73b)) (set_local $v10 (i64.const 0x3c6ef372fe94f82b)) (set_local $v11 (i64.const 0xa54ff53a5f1d36f1)) (set_local $v12 (i64.const 0x510e527fade682d1)) (set_local $v13 (i64.const 0x9b05688c2b3e6c1f)) (set_local $v14 (i64.const 0x1f83d9abfb41bd6b)) (set_local $v15 (i64.const 0x5be0cd19137e2179)) ;; set m[0-16] to ctx[0-128] (set_local $m0 (i64.load (get_local $ctx))) (set_local $m1 (i64.load (i32.add (get_local $ctx) (i32.const 8)))) (set_local $m2 (i64.load (i32.add (get_local $ctx) (i32.const 16)))) (set_local $m3 (i64.load (i32.add (get_local $ctx) (i32.const 24)))) (set_local $m4 (i64.load (i32.add (get_local $ctx) (i32.const 32)))) (set_local $m5 (i64.load (i32.add (get_local $ctx) (i32.const 40)))) (set_local $m6 (i64.load (i32.add (get_local $ctx) (i32.const 48)))) (set_local $m7 (i64.load (i32.add (get_local $ctx) (i32.const 56)))) (set_local $m8 (i64.load (i32.add (get_local $ctx) (i32.const 64)))) (set_local $m9 (i64.load (i32.add (get_local $ctx) (i32.const 72)))) (set_local $m10 (i64.load (i32.add (get_local $ctx) (i32.const 80)))) (set_local $m11 (i64.load (i32.add (get_local $ctx) (i32.const 88)))) (set_local $m12 (i64.load (i32.add (get_local $ctx) (i32.const 96)))) (set_local $m13 (i64.load (i32.add (get_local $ctx) (i32.const 104)))) (set_local $m14 (i64.load (i32.add (get_local $ctx) (i32.const 112)))) (set_local $m15 (i64.load (i32.add (get_local $ctx) (i32.const 120)))) ;; v12 = v12 ^ ctx.t (set_local $v12 (i64.xor (get_local $v12) (i64.load (i32.add (get_local $ctx) (i32.const 192))) ) ) ;; v14 = v14 ^ ctx.f (set_local $v14 (i64.xor (get_local $v14) (i64.load (i32.add (get_local $ctx) (i32.const 208))) ) ) ;; ROUNDS GENERATED BY `node generate-rounds.js` ;; ROUND(0) ;; G(0, 0) ;; $v0 = $v0 + $v4 + $m0 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m0)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m1 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m1)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(0, 1) ;; $v1 = $v1 + $v5 + $m2 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m2)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m3 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m3)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(0, 2) ;; $v2 = $v2 + $v6 + $m4 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m4)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m5 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m5)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(0, 3) ;; $v3 = $v3 + $v7 + $m6 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m6)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m7 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m7)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(0, 4) ;; $v0 = $v0 + $v5 + $m8 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m8)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m9 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m9)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(0, 5) ;; $v1 = $v1 + $v6 + $m10 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m10)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m11 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m11)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(0, 6) ;; $v2 = $v2 + $v7 + $m12 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m12)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m13 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m13)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(0, 7) ;; $v3 = $v3 + $v4 + $m14 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m14)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m15 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m15)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(1) ;; G(1, 0) ;; $v0 = $v0 + $v4 + $m14 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m14)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m10 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m10)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(1, 1) ;; $v1 = $v1 + $v5 + $m4 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m4)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m8 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m8)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(1, 2) ;; $v2 = $v2 + $v6 + $m9 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m9)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m15 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m15)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(1, 3) ;; $v3 = $v3 + $v7 + $m13 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m13)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m6 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m6)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(1, 4) ;; $v0 = $v0 + $v5 + $m1 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m1)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m12 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m12)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(1, 5) ;; $v1 = $v1 + $v6 + $m0 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m0)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m2 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m2)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(1, 6) ;; $v2 = $v2 + $v7 + $m11 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m11)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m7 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m7)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(1, 7) ;; $v3 = $v3 + $v4 + $m5 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m5)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m3 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m3)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(2) ;; G(2, 0) ;; $v0 = $v0 + $v4 + $m11 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m11)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m8 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m8)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(2, 1) ;; $v1 = $v1 + $v5 + $m12 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m12)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m0 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m0)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(2, 2) ;; $v2 = $v2 + $v6 + $m5 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m5)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m2 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m2)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(2, 3) ;; $v3 = $v3 + $v7 + $m15 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m15)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m13 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m13)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(2, 4) ;; $v0 = $v0 + $v5 + $m10 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m10)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m14 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m14)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(2, 5) ;; $v1 = $v1 + $v6 + $m3 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m3)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m6 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m6)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(2, 6) ;; $v2 = $v2 + $v7 + $m7 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m7)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m1 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m1)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(2, 7) ;; $v3 = $v3 + $v4 + $m9 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m9)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m4 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m4)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(3) ;; G(3, 0) ;; $v0 = $v0 + $v4 + $m7 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m7)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m9 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m9)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(3, 1) ;; $v1 = $v1 + $v5 + $m3 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m3)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m1 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m1)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(3, 2) ;; $v2 = $v2 + $v6 + $m13 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m13)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m12 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m12)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(3, 3) ;; $v3 = $v3 + $v7 + $m11 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m11)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m14 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m14)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(3, 4) ;; $v0 = $v0 + $v5 + $m2 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m2)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m6 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m6)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(3, 5) ;; $v1 = $v1 + $v6 + $m5 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m5)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m10 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m10)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(3, 6) ;; $v2 = $v2 + $v7 + $m4 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m4)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m0 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m0)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(3, 7) ;; $v3 = $v3 + $v4 + $m15 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m15)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m8 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m8)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(4) ;; G(4, 0) ;; $v0 = $v0 + $v4 + $m9 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m9)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m0 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m0)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(4, 1) ;; $v1 = $v1 + $v5 + $m5 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m5)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m7 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m7)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(4, 2) ;; $v2 = $v2 + $v6 + $m2 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m2)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m4 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m4)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(4, 3) ;; $v3 = $v3 + $v7 + $m10 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m10)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m15 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m15)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(4, 4) ;; $v0 = $v0 + $v5 + $m14 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m14)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m1 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m1)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(4, 5) ;; $v1 = $v1 + $v6 + $m11 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m11)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m12 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m12)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(4, 6) ;; $v2 = $v2 + $v7 + $m6 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m6)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m8 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m8)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(4, 7) ;; $v3 = $v3 + $v4 + $m3 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m3)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m13 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m13)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(5) ;; G(5, 0) ;; $v0 = $v0 + $v4 + $m2 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m2)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m12 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m12)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(5, 1) ;; $v1 = $v1 + $v5 + $m6 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m6)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m10 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m10)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(5, 2) ;; $v2 = $v2 + $v6 + $m0 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m0)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m11 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m11)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(5, 3) ;; $v3 = $v3 + $v7 + $m8 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m8)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m3 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m3)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(5, 4) ;; $v0 = $v0 + $v5 + $m4 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m4)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m13 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m13)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(5, 5) ;; $v1 = $v1 + $v6 + $m7 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m7)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m5 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m5)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(5, 6) ;; $v2 = $v2 + $v7 + $m15 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m15)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m14 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m14)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(5, 7) ;; $v3 = $v3 + $v4 + $m1 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m1)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m9 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m9)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(6) ;; G(6, 0) ;; $v0 = $v0 + $v4 + $m12 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m12)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m5 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m5)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(6, 1) ;; $v1 = $v1 + $v5 + $m1 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m1)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m15 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m15)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(6, 2) ;; $v2 = $v2 + $v6 + $m14 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m14)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m13 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m13)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(6, 3) ;; $v3 = $v3 + $v7 + $m4 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m4)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m10 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m10)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(6, 4) ;; $v0 = $v0 + $v5 + $m0 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m0)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m7 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m7)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(6, 5) ;; $v1 = $v1 + $v6 + $m6 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m6)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m3 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m3)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(6, 6) ;; $v2 = $v2 + $v7 + $m9 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m9)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m2 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m2)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(6, 7) ;; $v3 = $v3 + $v4 + $m8 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m8)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m11 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m11)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(7) ;; G(7, 0) ;; $v0 = $v0 + $v4 + $m13 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m13)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m11 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m11)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(7, 1) ;; $v1 = $v1 + $v5 + $m7 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m7)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m14 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m14)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(7, 2) ;; $v2 = $v2 + $v6 + $m12 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m12)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m1 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m1)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(7, 3) ;; $v3 = $v3 + $v7 + $m3 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m3)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m9 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m9)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(7, 4) ;; $v0 = $v0 + $v5 + $m5 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m5)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m0 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m0)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(7, 5) ;; $v1 = $v1 + $v6 + $m15 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m15)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m4 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m4)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(7, 6) ;; $v2 = $v2 + $v7 + $m8 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m8)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m6 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m6)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(7, 7) ;; $v3 = $v3 + $v4 + $m2 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m2)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m10 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m10)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(8) ;; G(8, 0) ;; $v0 = $v0 + $v4 + $m6 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m6)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m15 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m15)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(8, 1) ;; $v1 = $v1 + $v5 + $m14 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m14)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m9 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m9)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(8, 2) ;; $v2 = $v2 + $v6 + $m11 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m11)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m3 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m3)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(8, 3) ;; $v3 = $v3 + $v7 + $m0 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m0)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m8 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m8)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(8, 4) ;; $v0 = $v0 + $v5 + $m12 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m12)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m2 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m2)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(8, 5) ;; $v1 = $v1 + $v6 + $m13 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m13)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m7 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m7)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(8, 6) ;; $v2 = $v2 + $v7 + $m1 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m1)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m4 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m4)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(8, 7) ;; $v3 = $v3 + $v4 + $m10 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m10)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m5 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m5)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(9) ;; G(9, 0) ;; $v0 = $v0 + $v4 + $m10 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m10)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m2 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m2)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(9, 1) ;; $v1 = $v1 + $v5 + $m8 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m8)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m4 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m4)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(9, 2) ;; $v2 = $v2 + $v6 + $m7 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m7)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m6 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m6)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(9, 3) ;; $v3 = $v3 + $v7 + $m1 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m1)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m5 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m5)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(9, 4) ;; $v0 = $v0 + $v5 + $m15 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m15)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m11 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m11)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(9, 5) ;; $v1 = $v1 + $v6 + $m9 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m9)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m14 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m14)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(9, 6) ;; $v2 = $v2 + $v7 + $m3 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m3)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m12 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m12)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(9, 7) ;; $v3 = $v3 + $v4 + $m13 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m13)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m0 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m0)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(10) ;; G(10, 0) ;; $v0 = $v0 + $v4 + $m0 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m0)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m1 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m1)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(10, 1) ;; $v1 = $v1 + $v5 + $m2 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m2)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m3 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m3)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(10, 2) ;; $v2 = $v2 + $v6 + $m4 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m4)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m5 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m5)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(10, 3) ;; $v3 = $v3 + $v7 + $m6 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m6)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m7 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m7)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(10, 4) ;; $v0 = $v0 + $v5 + $m8 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m8)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m9 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m9)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(10, 5) ;; $v1 = $v1 + $v6 + $m10 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m10)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m11 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m11)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(10, 6) ;; $v2 = $v2 + $v7 + $m12 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m12)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m13 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m13)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(10, 7) ;; $v3 = $v3 + $v4 + $m14 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m14)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m15 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m15)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; ROUND(11) ;; G(11, 0) ;; $v0 = $v0 + $v4 + $m14 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m14)))) ;; $v12 = rotr64($v12 ^ $v0, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 32))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 24))) ;; $v0 = $v0 + $v4 + $m10 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v4) (get_local $m10)))) ;; $v12 = rotr64($v12 ^ $v0, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v0)) (i64.const 16))) ;; $v8 = $v8 + $v12 (set_local $v8 (i64.add (get_local $v8) (get_local $v12))) ;; $v4 = rotr64($v4 ^ $v8, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v8)) (i64.const 63))) ;; G(11, 1) ;; $v1 = $v1 + $v5 + $m4 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m4)))) ;; $v13 = rotr64($v13 ^ $v1, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 32))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 24))) ;; $v1 = $v1 + $v5 + $m8 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v5) (get_local $m8)))) ;; $v13 = rotr64($v13 ^ $v1, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v1)) (i64.const 16))) ;; $v9 = $v9 + $v13 (set_local $v9 (i64.add (get_local $v9) (get_local $v13))) ;; $v5 = rotr64($v5 ^ $v9, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v9)) (i64.const 63))) ;; G(11, 2) ;; $v2 = $v2 + $v6 + $m9 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m9)))) ;; $v14 = rotr64($v14 ^ $v2, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 32))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 24))) ;; $v2 = $v2 + $v6 + $m15 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v6) (get_local $m15)))) ;; $v14 = rotr64($v14 ^ $v2, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v2)) (i64.const 16))) ;; $v10 = $v10 + $v14 (set_local $v10 (i64.add (get_local $v10) (get_local $v14))) ;; $v6 = rotr64($v6 ^ $v10, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v10)) (i64.const 63))) ;; G(11, 3) ;; $v3 = $v3 + $v7 + $m13 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m13)))) ;; $v15 = rotr64($v15 ^ $v3, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 32))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 24))) ;; $v3 = $v3 + $v7 + $m6 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v7) (get_local $m6)))) ;; $v15 = rotr64($v15 ^ $v3, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v3)) (i64.const 16))) ;; $v11 = $v11 + $v15 (set_local $v11 (i64.add (get_local $v11) (get_local $v15))) ;; $v7 = rotr64($v7 ^ $v11, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v11)) (i64.const 63))) ;; G(11, 4) ;; $v0 = $v0 + $v5 + $m1 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m1)))) ;; $v15 = rotr64($v15 ^ $v0, 32) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 32))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 24) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 24))) ;; $v0 = $v0 + $v5 + $m12 (set_local $v0 (i64.add (get_local $v0) (i64.add (get_local $v5) (get_local $m12)))) ;; $v15 = rotr64($v15 ^ $v0, 16) (set_local $v15 (i64.rotr (i64.xor (get_local $v15) (get_local $v0)) (i64.const 16))) ;; $v10 = $v10 + $v15 (set_local $v10 (i64.add (get_local $v10) (get_local $v15))) ;; $v5 = rotr64($v5 ^ $v10, 63) (set_local $v5 (i64.rotr (i64.xor (get_local $v5) (get_local $v10)) (i64.const 63))) ;; G(11, 5) ;; $v1 = $v1 + $v6 + $m0 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m0)))) ;; $v12 = rotr64($v12 ^ $v1, 32) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 32))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 24) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 24))) ;; $v1 = $v1 + $v6 + $m2 (set_local $v1 (i64.add (get_local $v1) (i64.add (get_local $v6) (get_local $m2)))) ;; $v12 = rotr64($v12 ^ $v1, 16) (set_local $v12 (i64.rotr (i64.xor (get_local $v12) (get_local $v1)) (i64.const 16))) ;; $v11 = $v11 + $v12 (set_local $v11 (i64.add (get_local $v11) (get_local $v12))) ;; $v6 = rotr64($v6 ^ $v11, 63) (set_local $v6 (i64.rotr (i64.xor (get_local $v6) (get_local $v11)) (i64.const 63))) ;; G(11, 6) ;; $v2 = $v2 + $v7 + $m11 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m11)))) ;; $v13 = rotr64($v13 ^ $v2, 32) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 32))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 24) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 24))) ;; $v2 = $v2 + $v7 + $m7 (set_local $v2 (i64.add (get_local $v2) (i64.add (get_local $v7) (get_local $m7)))) ;; $v13 = rotr64($v13 ^ $v2, 16) (set_local $v13 (i64.rotr (i64.xor (get_local $v13) (get_local $v2)) (i64.const 16))) ;; $v8 = $v8 + $v13 (set_local $v8 (i64.add (get_local $v8) (get_local $v13))) ;; $v7 = rotr64($v7 ^ $v8, 63) (set_local $v7 (i64.rotr (i64.xor (get_local $v7) (get_local $v8)) (i64.const 63))) ;; G(11, 7) ;; $v3 = $v3 + $v4 + $m5 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m5)))) ;; $v14 = rotr64($v14 ^ $v3, 32) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 32))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 24) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 24))) ;; $v3 = $v3 + $v4 + $m3 (set_local $v3 (i64.add (get_local $v3) (i64.add (get_local $v4) (get_local $m3)))) ;; $v14 = rotr64($v14 ^ $v3, 16) (set_local $v14 (i64.rotr (i64.xor (get_local $v14) (get_local $v3)) (i64.const 16))) ;; $v9 = $v9 + $v14 (set_local $v9 (i64.add (get_local $v9) (get_local $v14))) ;; $v4 = rotr64($v4 ^ $v9, 63) (set_local $v4 (i64.rotr (i64.xor (get_local $v4) (get_local $v9)) (i64.const 63))) ;; END OF GENERATED CODE (i64.store (get_local $h0) (i64.xor (i64.load (get_local $h0)) (i64.xor (get_local $v0) (get_local $v8) ) ) ) (i64.store (get_local $h1) (i64.xor (i64.load (get_local $h1)) (i64.xor (get_local $v1) (get_local $v9) ) ) ) (i64.store (get_local $h2) (i64.xor (i64.load (get_local $h2)) (i64.xor (get_local $v2) (get_local $v10) ) ) ) (i64.store (get_local $h3) (i64.xor (i64.load (get_local $h3)) (i64.xor (get_local $v3) (get_local $v11) ) ) ) (i64.store (get_local $h4) (i64.xor (i64.load (get_local $h4)) (i64.xor (get_local $v4) (get_local $v12) ) ) ) (i64.store (get_local $h5) (i64.xor (i64.load (get_local $h5)) (i64.xor (get_local $v5) (get_local $v13) ) ) ) (i64.store (get_local $h6) (i64.xor (i64.load (get_local $h6)) (i64.xor (get_local $v6) (get_local $v14) ) ) ) (i64.store (get_local $h7) (i64.xor (i64.load (get_local $h7)) (i64.xor (get_local $v7) (get_local $v15) ) ) ) ) )