Sm3.hs.sm3.rounds: def of bend-osdev-hashes@0.1.0.0 Import: import bend-osdev-hashes@0.1.0.0/sm3.bend as Sm3 Lines 37-545 of bend-osdev-hashes@0.1.0.0/sm3.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&start_line=37&end_line=545 import Base import bend-osdev-hashes@0.1.0.0/hashes.bend as Hs # BEGIN GENERATED by gen/rounds.py: sm3 def hs.sm3.rounds(x: Hs.HsW16, cv: Hs.HsW8) -> Hs.HsW8: match x cv: case Hs.HsW16{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15} Hs.HsW8{+a0, +b0, +c0, +d0, +e0, +f0, +g0, +h0}: # rounds 0 to 15 +v1 = Hs.hs.rotl(a0, 12n) +v2 = Hs.hs.rotl(U32.add(U32.add(v1, e0), 2043430169), 7n) +v3 = U32.add(U32.add(U32.add(hs.sm3.ff0(a0, b0, c0), d0), U32.xor(v2, v1)), U32.xor(x0, x4)) +v4 = U32.add(U32.add(U32.add(hs.sm3.gg0(e0, f0, g0), h0), v2), x0) +v5 = Hs.hs.rotl(b0, 9n) +v6 = Hs.hs.rotl(f0, 19n) +v7 = hs.sm3.p0(v4) +v8 = Hs.hs.rotl(v3, 12n) +v9 = Hs.hs.rotl(U32.add(U32.add(v8, v7), 4086860338), 7n) +v10 = U32.add(U32.add(U32.add(hs.sm3.ff0(v3, a0, v5), c0), U32.xor(v9, v8)), U32.xor(x1, x5)) +v11 = U32.add(U32.add(U32.add(hs.sm3.gg0(v7, e0, v6), g0), v9), x1) +v12 = Hs.hs.rotl(a0, 9n) +v13 = Hs.hs.rotl(e0, 19n) +v14 = hs.sm3.p0(v11) +v15 = Hs.hs.rotl(v10, 12n) +v16 = Hs.hs.rotl(U32.add(U32.add(v15, v14), 3878753381), 7n) +v17 = U32.add(U32.add(U32.add(hs.sm3.ff0(v10, v3, v12), v5), U32.xor(v16, v15)), U32.xor(x2, x6)) +v18 = U32.add(U32.add(U32.add(hs.sm3.gg0(v14, v7, v13), v6), v16), x2) +v19 = Hs.hs.rotl(v3, 9n) +v20 = Hs.hs.rotl(v7, 19n) +v21 = hs.sm3.p0(v18) +v22 = Hs.hs.rotl(v17, 12n) +v23 = Hs.hs.rotl(U32.add(U32.add(v22, v21), 3462539467), 7n) +v24 = U32.add(U32.add(U32.add(hs.sm3.ff0(v17, v10, v19), v12), U32.xor(v23, v22)), U32.xor(x3, x7)) +v25 = U32.add(U32.add(U32.add(hs.sm3.gg0(v21, v14, v20), v13), v23), x3) +v26 = Hs.hs.rotl(v10, 9n) +v27 = Hs.hs.rotl(v14, 19n) +v28 = hs.sm3.p0(v25) +v29 = Hs.hs.rotl(v24, 12n) +v30 = Hs.hs.rotl(U32.add(U32.add(v29, v28), 2630111639), 7n) +v31 = U32.add(U32.add(U32.add(hs.sm3.ff0(v24, v17, v26), v19), U32.xor(v30, v29)), U32.xor(x4, x8)) +v32 = U32.add(U32.add(U32.add(hs.sm3.gg0(v28, v21, v27), v20), v30), x4) +v33 = Hs.hs.rotl(v17, 9n) +v34 = Hs.hs.rotl(v21, 19n) +v35 = hs.sm3.p0(v32) +v36 = Hs.hs.rotl(v31, 12n) +v37 = Hs.hs.rotl(U32.add(U32.add(v36, v35), 965255983), 7n) +v38 = U32.add(U32.add(U32.add(hs.sm3.ff0(v31, v24, v33), v26), U32.xor(v37, v36)), U32.xor(x5, x9)) +v39 = U32.add(U32.add(U32.add(hs.sm3.gg0(v35, v28, v34), v27), v37), x5) +v40 = Hs.hs.rotl(v24, 9n) +v41 = Hs.hs.rotl(v28, 19n) +v42 = hs.sm3.p0(v39) +v43 = Hs.hs.rotl(v38, 12n) +v44 = Hs.hs.rotl(U32.add(U32.add(v43, v42), 1930511966), 7n) +v45 = U32.add(U32.add(U32.add(hs.sm3.ff0(v38, v31, v40), v33), U32.xor(v44, v43)), U32.xor(x6, x10)) +v46 = U32.add(U32.add(U32.add(hs.sm3.gg0(v42, v35, v41), v34), v44), x6) +v47 = Hs.hs.rotl(v31, 9n) +v48 = Hs.hs.rotl(v35, 19n) +v49 = hs.sm3.p0(v46) +v50 = Hs.hs.rotl(v45, 12n) +v51 = Hs.hs.rotl(U32.add(U32.add(v50, v49), 3861023932), 7n) +v52 = U32.add(U32.add(U32.add(hs.sm3.ff0(v45, v38, v47), v40), U32.xor(v51, v50)), U32.xor(x7, x11)) +v53 = U32.add(U32.add(U32.add(hs.sm3.gg0(v49, v42, v48), v41), v51), x7) +v54 = Hs.hs.rotl(v38, 9n) +v55 = Hs.hs.rotl(v42, 19n) +v56 = hs.sm3.p0(v53) +v57 = Hs.hs.rotl(v52, 12n) +v58 = Hs.hs.rotl(U32.add(U32.add(v57, v56), 3427080569), 7n) +v59 = U32.add(U32.add(U32.add(hs.sm3.ff0(v52, v45, v54), v47), U32.xor(v58, v57)), U32.xor(x8, x12)) +v60 = U32.add(U32.add(U32.add(hs.sm3.gg0(v56, v49, v55), v48), v58), x8) +v61 = Hs.hs.rotl(v45, 9n) +v62 = Hs.hs.rotl(v49, 19n) +v63 = hs.sm3.p0(v60) +v64 = Hs.hs.rotl(v59, 12n) +v65 = Hs.hs.rotl(U32.add(U32.add(v64, v63), 2559193843), 7n) +v66 = U32.add(U32.add(U32.add(hs.sm3.ff0(v59, v52, v61), v54), U32.xor(v65, v64)), U32.xor(x9, x13)) +v67 = U32.add(U32.add(U32.add(hs.sm3.gg0(v63, v56, v62), v55), v65), x9) +v68 = Hs.hs.rotl(v52, 9n) +v69 = Hs.hs.rotl(v56, 19n) +v70 = hs.sm3.p0(v67) +v71 = Hs.hs.rotl(v66, 12n) +v72 = Hs.hs.rotl(U32.add(U32.add(v71, v70), 823420391), 7n) +v73 = U32.add(U32.add(U32.add(hs.sm3.ff0(v66, v59, v68), v61), U32.xor(v72, v71)), U32.xor(x10, x14)) +v74 = U32.add(U32.add(U32.add(hs.sm3.gg0(v70, v63, v69), v62), v72), x10) +v75 = Hs.hs.rotl(v59, 9n) +v76 = Hs.hs.rotl(v63, 19n) +v77 = hs.sm3.p0(v74) +v78 = Hs.hs.rotl(v73, 12n) +v79 = Hs.hs.rotl(U32.add(U32.add(v78, v77), 1646840782), 7n) +v80 = U32.add(U32.add(U32.add(hs.sm3.ff0(v73, v66, v75), v68), U32.xor(v79, v78)), U32.xor(x11, x15)) +v81 = U32.add(U32.add(U32.add(hs.sm3.gg0(v77, v70, v76), v69), v79), x11) +v82 = Hs.hs.rotl(v66, 9n) +v83 = Hs.hs.rotl(v70, 19n) +v84 = hs.sm3.p0(v81) +w16 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x0, x7), Hs.hs.rotl(x13, 15n))), Hs.hs.rotl(x3, 7n)), x10) +v85 = Hs.hs.rotl(v80, 12n) +v86 = Hs.hs.rotl(U32.add(U32.add(v85, v84), 3293681564), 7n) +v87 = U32.add(U32.add(U32.add(hs.sm3.ff0(v80, v73, v82), v75), U32.xor(v86, v85)), U32.xor(x12, w16)) +v88 = U32.add(U32.add(U32.add(hs.sm3.gg0(v84, v77, v83), v76), v86), x12) +v89 = Hs.hs.rotl(v73, 9n) +v90 = Hs.hs.rotl(v77, 19n) +v91 = hs.sm3.p0(v88) +w17 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x1, x8), Hs.hs.rotl(x14, 15n))), Hs.hs.rotl(x4, 7n)), x11) +v92 = Hs.hs.rotl(v87, 12n) +v93 = Hs.hs.rotl(U32.add(U32.add(v92, v91), 2292395833), 7n) +v94 = U32.add(U32.add(U32.add(hs.sm3.ff0(v87, v80, v89), v82), U32.xor(v93, v92)), U32.xor(x13, w17)) +v95 = U32.add(U32.add(U32.add(hs.sm3.gg0(v91, v84, v90), v83), v93), x13) +v96 = Hs.hs.rotl(v80, 9n) +v97 = Hs.hs.rotl(v84, 19n) +v98 = hs.sm3.p0(v95) +w18 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x2, x9), Hs.hs.rotl(x15, 15n))), Hs.hs.rotl(x5, 7n)), x12) +v99 = Hs.hs.rotl(v94, 12n) +v100 = Hs.hs.rotl(U32.add(U32.add(v99, v98), 289824371), 7n) +v101 = U32.add(U32.add(U32.add(hs.sm3.ff0(v94, v87, v96), v89), U32.xor(v100, v99)), U32.xor(x14, w18)) +v102 = U32.add(U32.add(U32.add(hs.sm3.gg0(v98, v91, v97), v90), v100), x14) +v103 = Hs.hs.rotl(v87, 9n) +v104 = Hs.hs.rotl(v91, 19n) +v105 = hs.sm3.p0(v102) +w19 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x3, x10), Hs.hs.rotl(w16, 15n))), Hs.hs.rotl(x6, 7n)), x13) +v106 = Hs.hs.rotl(v101, 12n) +v107 = Hs.hs.rotl(U32.add(U32.add(v106, v105), 579648742), 7n) +v108 = U32.add(U32.add(U32.add(hs.sm3.ff0(v101, v94, v103), v96), U32.xor(v107, v106)), U32.xor(x15, w19)) +v109 = U32.add(U32.add(U32.add(hs.sm3.gg0(v105, v98, v104), v97), v107), x15) +v110 = Hs.hs.rotl(v94, 9n) +v111 = Hs.hs.rotl(v98, 19n) +v112 = hs.sm3.p0(v109) # rounds 16 to 31 +w20 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x4, x11), Hs.hs.rotl(w17, 15n))), Hs.hs.rotl(x7, 7n)), x14) +v113 = Hs.hs.rotl(v108, 12n) +v114 = Hs.hs.rotl(U32.add(U32.add(v113, v112), 2643098247), 7n) +v115 = U32.add(U32.add(U32.add(hs.sm3.ff1(v108, v101, v110), v103), U32.xor(v114, v113)), U32.xor(w16, w20)) +v116 = U32.add(U32.add(U32.add(hs.sm3.gg1(v112, v105, v111), v104), v114), w16) +v117 = Hs.hs.rotl(v101, 9n) +v118 = Hs.hs.rotl(v105, 19n) +v119 = hs.sm3.p0(v116) +w21 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x5, x12), Hs.hs.rotl(w18, 15n))), Hs.hs.rotl(x8, 7n)), x15) +v120 = Hs.hs.rotl(v115, 12n) +v121 = Hs.hs.rotl(U32.add(U32.add(v120, v119), 991229199), 7n) +v122 = U32.add(U32.add(U32.add(hs.sm3.ff1(v115, v108, v117), v110), U32.xor(v121, v120)), U32.xor(w17, w21)) +v123 = U32.add(U32.add(U32.add(hs.sm3.gg1(v119, v112, v118), v111), v121), w17) +v124 = Hs.hs.rotl(v108, 9n) +v125 = Hs.hs.rotl(v112, 19n) +v126 = hs.sm3.p0(v123) +w22 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x6, x13), Hs.hs.rotl(w19, 15n))), Hs.hs.rotl(x9, 7n)), w16) +v127 = Hs.hs.rotl(v122, 12n) +v128 = Hs.hs.rotl(U32.add(U32.add(v127, v126), 1982458398), 7n) +v129 = U32.add(U32.add(U32.add(hs.sm3.ff1(v122, v115, v124), v117), U32.xor(v128, v127)), U32.xor(w18, w22)) +v130 = U32.add(U32.add(U32.add(hs.sm3.gg1(v126, v119, v125), v118), v128), w18) +v131 = Hs.hs.rotl(v115, 9n) +v132 = Hs.hs.rotl(v119, 19n) +v133 = hs.sm3.p0(v130) +w23 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x7, x14), Hs.hs.rotl(w20, 15n))), Hs.hs.rotl(x10, 7n)), w17) +v134 = Hs.hs.rotl(v129, 12n) +v135 = Hs.hs.rotl(U32.add(U32.add(v134, v133), 3964916796), 7n) +v136 = U32.add(U32.add(U32.add(hs.sm3.ff1(v129, v122, v131), v124), U32.xor(v135, v134)), U32.xor(w19, w23)) +v137 = U32.add(U32.add(U32.add(hs.sm3.gg1(v133, v126, v132), v125), v135), w19) +v138 = Hs.hs.rotl(v122, 9n) +v139 = Hs.hs.rotl(v126, 19n) +v140 = hs.sm3.p0(v137) +w24 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x8, x15), Hs.hs.rotl(w21, 15n))), Hs.hs.rotl(x11, 7n)), w18) +v141 = Hs.hs.rotl(v136, 12n) +v142 = Hs.hs.rotl(U32.add(U32.add(v141, v140), 3634866297), 7n) +v143 = U32.add(U32.add(U32.add(hs.sm3.ff1(v136, v129, v138), v131), U32.xor(v142, v141)), U32.xor(w20, w24)) +v144 = U32.add(U32.add(U32.add(hs.sm3.gg1(v140, v133, v139), v132), v142), w20) +v145 = Hs.hs.rotl(v129, 9n) +v146 = Hs.hs.rotl(v133, 19n) +v147 = hs.sm3.p0(v144) +w25 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x9, w16), Hs.hs.rotl(w22, 15n))), Hs.hs.rotl(x12, 7n)), w19) +v148 = Hs.hs.rotl(v143, 12n) +v149 = Hs.hs.rotl(U32.add(U32.add(v148, v147), 2974765299), 7n) +v150 = U32.add(U32.add(U32.add(hs.sm3.ff1(v143, v136, v145), v138), U32.xor(v149, v148)), U32.xor(w21, w25)) +v151 = U32.add(U32.add(U32.add(hs.sm3.gg1(v147, v140, v146), v139), v149), w21) +v152 = Hs.hs.rotl(v136, 9n) +v153 = Hs.hs.rotl(v140, 19n) +v154 = hs.sm3.p0(v151) +w26 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x10, w17), Hs.hs.rotl(w23, 15n))), Hs.hs.rotl(x13, 7n)), w20) +v155 = Hs.hs.rotl(v150, 12n) +v156 = Hs.hs.rotl(U32.add(U32.add(v155, v154), 1654563303), 7n) +v157 = U32.add(U32.add(U32.add(hs.sm3.ff1(v150, v143, v152), v145), U32.xor(v156, v155)), U32.xor(w22, w26)) +v158 = U32.add(U32.add(U32.add(hs.sm3.gg1(v154, v147, v153), v146), v156), w22) +v159 = Hs.hs.rotl(v143, 9n) +v160 = Hs.hs.rotl(v147, 19n) +v161 = hs.sm3.p0(v158) +w27 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x11, w18), Hs.hs.rotl(w24, 15n))), Hs.hs.rotl(x14, 7n)), w21) +v162 = Hs.hs.rotl(v157, 12n) +v163 = Hs.hs.rotl(U32.add(U32.add(v162, v161), 3309126606), 7n) +v164 = U32.add(U32.add(U32.add(hs.sm3.ff1(v157, v150, v159), v152), U32.xor(v163, v162)), U32.xor(w23, w27)) +v165 = U32.add(U32.add(U32.add(hs.sm3.gg1(v161, v154, v160), v153), v163), w23) +v166 = Hs.hs.rotl(v150, 9n) +v167 = Hs.hs.rotl(v154, 19n) +v168 = hs.sm3.p0(v165) +w28 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x12, w19), Hs.hs.rotl(w25, 15n))), Hs.hs.rotl(x15, 7n)), w22) +v169 = Hs.hs.rotl(v164, 12n) +v170 = Hs.hs.rotl(U32.add(U32.add(v169, v168), 2323285917), 7n) +v171 = U32.add(U32.add(U32.add(hs.sm3.ff1(v164, v157, v166), v159), U32.xor(v170, v169)), U32.xor(w24, w28)) +v172 = U32.add(U32.add(U32.add(hs.sm3.gg1(v168, v161, v167), v160), v170), w24) +v173 = Hs.hs.rotl(v157, 9n) +v174 = Hs.hs.rotl(v161, 19n) +v175 = hs.sm3.p0(v172) +w29 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x13, w20), Hs.hs.rotl(w26, 15n))), Hs.hs.rotl(w16, 7n)), w23) +v176 = Hs.hs.rotl(v171, 12n) +v177 = Hs.hs.rotl(U32.add(U32.add(v176, v175), 351604539), 7n) +v178 = U32.add(U32.add(U32.add(hs.sm3.ff1(v171, v164, v173), v166), U32.xor(v177, v176)), U32.xor(w25, w29)) +v179 = U32.add(U32.add(U32.add(hs.sm3.gg1(v175, v168, v174), v167), v177), w25) +v180 = Hs.hs.rotl(v164, 9n) +v181 = Hs.hs.rotl(v168, 19n) +v182 = hs.sm3.p0(v179) +w30 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x14, w21), Hs.hs.rotl(w27, 15n))), Hs.hs.rotl(w17, 7n)), w24) +v183 = Hs.hs.rotl(v178, 12n) +v184 = Hs.hs.rotl(U32.add(U32.add(v183, v182), 703209078), 7n) +v185 = U32.add(U32.add(U32.add(hs.sm3.ff1(v178, v171, v180), v173), U32.xor(v184, v183)), U32.xor(w26, w30)) +v186 = U32.add(U32.add(U32.add(hs.sm3.gg1(v182, v175, v181), v174), v184), w26) +v187 = Hs.hs.rotl(v171, 9n) +v188 = Hs.hs.rotl(v175, 19n) +v189 = hs.sm3.p0(v186) +w31 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(x15, w22), Hs.hs.rotl(w28, 15n))), Hs.hs.rotl(w18, 7n)), w25) +v190 = Hs.hs.rotl(v185, 12n) +v191 = Hs.hs.rotl(U32.add(U32.add(v190, v189), 1406418156), 7n) +v192 = U32.add(U32.add(U32.add(hs.sm3.ff1(v185, v178, v187), v180), U32.xor(v191, v190)), U32.xor(w27, w31)) +v193 = U32.add(U32.add(U32.add(hs.sm3.gg1(v189, v182, v188), v181), v191), w27) +v194 = Hs.hs.rotl(v178, 9n) +v195 = Hs.hs.rotl(v182, 19n) +v196 = hs.sm3.p0(v193) +w32 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w16, w23), Hs.hs.rotl(w29, 15n))), Hs.hs.rotl(w19, 7n)), w26) +v197 = Hs.hs.rotl(v192, 12n) +v198 = Hs.hs.rotl(U32.add(U32.add(v197, v196), 2812836312), 7n) +v199 = U32.add(U32.add(U32.add(hs.sm3.ff1(v192, v185, v194), v187), U32.xor(v198, v197)), U32.xor(w28, w32)) +v200 = U32.add(U32.add(U32.add(hs.sm3.gg1(v196, v189, v195), v188), v198), w28) +v201 = Hs.hs.rotl(v185, 9n) +v202 = Hs.hs.rotl(v189, 19n) +v203 = hs.sm3.p0(v200) +w33 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w17, w24), Hs.hs.rotl(w30, 15n))), Hs.hs.rotl(w20, 7n)), w27) +v204 = Hs.hs.rotl(v199, 12n) +v205 = Hs.hs.rotl(U32.add(U32.add(v204, v203), 1330705329), 7n) +v206 = U32.add(U32.add(U32.add(hs.sm3.ff1(v199, v192, v201), v194), U32.xor(v205, v204)), U32.xor(w29, w33)) +v207 = U32.add(U32.add(U32.add(hs.sm3.gg1(v203, v196, v202), v195), v205), w29) +v208 = Hs.hs.rotl(v192, 9n) +v209 = Hs.hs.rotl(v196, 19n) +v210 = hs.sm3.p0(v207) +w34 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w18, w25), Hs.hs.rotl(w31, 15n))), Hs.hs.rotl(w21, 7n)), w28) +v211 = Hs.hs.rotl(v206, 12n) +v212 = Hs.hs.rotl(U32.add(U32.add(v211, v210), 2661410658), 7n) +v213 = U32.add(U32.add(U32.add(hs.sm3.ff1(v206, v199, v208), v201), U32.xor(v212, v211)), U32.xor(w30, w34)) +v214 = U32.add(U32.add(U32.add(hs.sm3.gg1(v210, v203, v209), v202), v212), w30) +v215 = Hs.hs.rotl(v199, 9n) +v216 = Hs.hs.rotl(v203, 19n) +v217 = hs.sm3.p0(v214) +w35 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w19, w26), Hs.hs.rotl(w32, 15n))), Hs.hs.rotl(w22, 7n)), w29) +v218 = Hs.hs.rotl(v213, 12n) +v219 = Hs.hs.rotl(U32.add(U32.add(v218, v217), 1027854021), 7n) +v220 = U32.add(U32.add(U32.add(hs.sm3.ff1(v213, v206, v215), v208), U32.xor(v219, v218)), U32.xor(w31, w35)) +v221 = U32.add(U32.add(U32.add(hs.sm3.gg1(v217, v210, v216), v209), v219), w31) +v222 = Hs.hs.rotl(v206, 9n) +v223 = Hs.hs.rotl(v210, 19n) +v224 = hs.sm3.p0(v221) # rounds 32 to 47 +w36 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w20, w27), Hs.hs.rotl(w33, 15n))), Hs.hs.rotl(w23, 7n)), w30) +v225 = Hs.hs.rotl(v220, 12n) +v226 = Hs.hs.rotl(U32.add(U32.add(v225, v224), 2055708042), 7n) +v227 = U32.add(U32.add(U32.add(hs.sm3.ff1(v220, v213, v222), v215), U32.xor(v226, v225)), U32.xor(w32, w36)) +v228 = U32.add(U32.add(U32.add(hs.sm3.gg1(v224, v217, v223), v216), v226), w32) +v229 = Hs.hs.rotl(v213, 9n) +v230 = Hs.hs.rotl(v217, 19n) +v231 = hs.sm3.p0(v228) +w37 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w21, w28), Hs.hs.rotl(w34, 15n))), Hs.hs.rotl(w24, 7n)), w31) +v232 = Hs.hs.rotl(v227, 12n) +v233 = Hs.hs.rotl(U32.add(U32.add(v232, v231), 4111416084), 7n) +v234 = U32.add(U32.add(U32.add(hs.sm3.ff1(v227, v220, v229), v222), U32.xor(v233, v232)), U32.xor(w33, w37)) +v235 = U32.add(U32.add(U32.add(hs.sm3.gg1(v231, v224, v230), v223), v233), w33) +v236 = Hs.hs.rotl(v220, 9n) +v237 = Hs.hs.rotl(v224, 19n) +v238 = hs.sm3.p0(v235) +w38 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w22, w29), Hs.hs.rotl(w35, 15n))), Hs.hs.rotl(w25, 7n)), w32) +v239 = Hs.hs.rotl(v234, 12n) +v240 = Hs.hs.rotl(U32.add(U32.add(v239, v238), 3927864873), 7n) +v241 = U32.add(U32.add(U32.add(hs.sm3.ff1(v234, v227, v236), v229), U32.xor(v240, v239)), U32.xor(w34, w38)) +v242 = U32.add(U32.add(U32.add(hs.sm3.gg1(v238, v231, v237), v230), v240), w34) +v243 = Hs.hs.rotl(v227, 9n) +v244 = Hs.hs.rotl(v231, 19n) +v245 = hs.sm3.p0(v242) +w39 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w23, w30), Hs.hs.rotl(w36, 15n))), Hs.hs.rotl(w26, 7n)), w33) +v246 = Hs.hs.rotl(v241, 12n) +v247 = Hs.hs.rotl(U32.add(U32.add(v246, v245), 3560762451), 7n) +v248 = U32.add(U32.add(U32.add(hs.sm3.ff1(v241, v234, v243), v236), U32.xor(v247, v246)), U32.xor(w35, w39)) +v249 = U32.add(U32.add(U32.add(hs.sm3.gg1(v245, v238, v244), v237), v247), w35) +v250 = Hs.hs.rotl(v234, 9n) +v251 = Hs.hs.rotl(v238, 19n) +v252 = hs.sm3.p0(v249) +w40 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w24, w31), Hs.hs.rotl(w37, 15n))), Hs.hs.rotl(w27, 7n)), w34) +v253 = Hs.hs.rotl(v248, 12n) +v254 = Hs.hs.rotl(U32.add(U32.add(v253, v252), 2826557607), 7n) +v255 = U32.add(U32.add(U32.add(hs.sm3.ff1(v248, v241, v250), v243), U32.xor(v254, v253)), U32.xor(w36, w40)) +v256 = U32.add(U32.add(U32.add(hs.sm3.gg1(v252, v245, v251), v244), v254), w36) +v257 = Hs.hs.rotl(v241, 9n) +v258 = Hs.hs.rotl(v245, 19n) +v259 = hs.sm3.p0(v256) +w41 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w25, w32), Hs.hs.rotl(w38, 15n))), Hs.hs.rotl(w28, 7n)), w35) +v260 = Hs.hs.rotl(v255, 12n) +v261 = Hs.hs.rotl(U32.add(U32.add(v260, v259), 1358147919), 7n) +v262 = U32.add(U32.add(U32.add(hs.sm3.ff1(v255, v248, v257), v250), U32.xor(v261, v260)), U32.xor(w37, w41)) +v263 = U32.add(U32.add(U32.add(hs.sm3.gg1(v259, v252, v258), v251), v261), w37) +v264 = Hs.hs.rotl(v248, 9n) +v265 = Hs.hs.rotl(v252, 19n) +v266 = hs.sm3.p0(v263) +w42 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w26, w33), Hs.hs.rotl(w39, 15n))), Hs.hs.rotl(w29, 7n)), w36) +v267 = Hs.hs.rotl(v262, 12n) +v268 = Hs.hs.rotl(U32.add(U32.add(v267, v266), 2716295838), 7n) +v269 = U32.add(U32.add(U32.add(hs.sm3.ff1(v262, v255, v264), v257), U32.xor(v268, v267)), U32.xor(w38, w42)) +v270 = U32.add(U32.add(U32.add(hs.sm3.gg1(v266, v259, v265), v258), v268), w38) +v271 = Hs.hs.rotl(v255, 9n) +v272 = Hs.hs.rotl(v259, 19n) +v273 = hs.sm3.p0(v270) +w43 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w27, w34), Hs.hs.rotl(w40, 15n))), Hs.hs.rotl(w30, 7n)), w37) +v274 = Hs.hs.rotl(v269, 12n) +v275 = Hs.hs.rotl(U32.add(U32.add(v274, v273), 1137624381), 7n) +v276 = U32.add(U32.add(U32.add(hs.sm3.ff1(v269, v262, v271), v264), U32.xor(v275, v274)), U32.xor(w39, w43)) +v277 = U32.add(U32.add(U32.add(hs.sm3.gg1(v273, v266, v272), v265), v275), w39) +v278 = Hs.hs.rotl(v262, 9n) +v279 = Hs.hs.rotl(v266, 19n) +v280 = hs.sm3.p0(v277) +w44 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w28, w35), Hs.hs.rotl(w41, 15n))), Hs.hs.rotl(w31, 7n)), w38) +v281 = Hs.hs.rotl(v276, 12n) +v282 = Hs.hs.rotl(U32.add(U32.add(v281, v280), 2275248762), 7n) +v283 = U32.add(U32.add(U32.add(hs.sm3.ff1(v276, v269, v278), v271), U32.xor(v282, v281)), U32.xor(w40, w44)) +v284 = U32.add(U32.add(U32.add(hs.sm3.gg1(v280, v273, v279), v272), v282), w40) +v285 = Hs.hs.rotl(v269, 9n) +v286 = Hs.hs.rotl(v273, 19n) +v287 = hs.sm3.p0(v284) +w45 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w29, w36), Hs.hs.rotl(w42, 15n))), Hs.hs.rotl(w32, 7n)), w39) +v288 = Hs.hs.rotl(v283, 12n) +v289 = Hs.hs.rotl(U32.add(U32.add(v288, v287), 255530229), 7n) +v290 = U32.add(U32.add(U32.add(hs.sm3.ff1(v283, v276, v285), v278), U32.xor(v289, v288)), U32.xor(w41, w45)) +v291 = U32.add(U32.add(U32.add(hs.sm3.gg1(v287, v280, v286), v279), v289), w41) +v292 = Hs.hs.rotl(v276, 9n) +v293 = Hs.hs.rotl(v280, 19n) +v294 = hs.sm3.p0(v291) +w46 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w30, w37), Hs.hs.rotl(w43, 15n))), Hs.hs.rotl(w33, 7n)), w40) +v295 = Hs.hs.rotl(v290, 12n) +v296 = Hs.hs.rotl(U32.add(U32.add(v295, v294), 511060458), 7n) +v297 = U32.add(U32.add(U32.add(hs.sm3.ff1(v290, v283, v292), v285), U32.xor(v296, v295)), U32.xor(w42, w46)) +v298 = U32.add(U32.add(U32.add(hs.sm3.gg1(v294, v287, v293), v286), v296), w42) +v299 = Hs.hs.rotl(v283, 9n) +v300 = Hs.hs.rotl(v287, 19n) +v301 = hs.sm3.p0(v298) +w47 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w31, w38), Hs.hs.rotl(w44, 15n))), Hs.hs.rotl(w34, 7n)), w41) +v302 = Hs.hs.rotl(v297, 12n) +v303 = Hs.hs.rotl(U32.add(U32.add(v302, v301), 1022120916), 7n) +v304 = U32.add(U32.add(U32.add(hs.sm3.ff1(v297, v290, v299), v292), U32.xor(v303, v302)), U32.xor(w43, w47)) +v305 = U32.add(U32.add(U32.add(hs.sm3.gg1(v301, v294, v300), v293), v303), w43) +v306 = Hs.hs.rotl(v290, 9n) +v307 = Hs.hs.rotl(v294, 19n) +v308 = hs.sm3.p0(v305) +w48 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w32, w39), Hs.hs.rotl(w45, 15n))), Hs.hs.rotl(w35, 7n)), w42) +v309 = Hs.hs.rotl(v304, 12n) +v310 = Hs.hs.rotl(U32.add(U32.add(v309, v308), 2044241832), 7n) +v311 = U32.add(U32.add(U32.add(hs.sm3.ff1(v304, v297, v306), v299), U32.xor(v310, v309)), U32.xor(w44, w48)) +v312 = U32.add(U32.add(U32.add(hs.sm3.gg1(v308, v301, v307), v300), v310), w44) +v313 = Hs.hs.rotl(v297, 9n) +v314 = Hs.hs.rotl(v301, 19n) +v315 = hs.sm3.p0(v312) +w49 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w33, w40), Hs.hs.rotl(w46, 15n))), Hs.hs.rotl(w36, 7n)), w43) +v316 = Hs.hs.rotl(v311, 12n) +v317 = Hs.hs.rotl(U32.add(U32.add(v316, v315), 4088483664), 7n) +v318 = U32.add(U32.add(U32.add(hs.sm3.ff1(v311, v304, v313), v306), U32.xor(v317, v316)), U32.xor(w45, w49)) +v319 = U32.add(U32.add(U32.add(hs.sm3.gg1(v315, v308, v314), v307), v317), w45) +v320 = Hs.hs.rotl(v304, 9n) +v321 = Hs.hs.rotl(v308, 19n) +v322 = hs.sm3.p0(v319) +w50 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w34, w41), Hs.hs.rotl(w47, 15n))), Hs.hs.rotl(w37, 7n)), w44) +v323 = Hs.hs.rotl(v318, 12n) +v324 = Hs.hs.rotl(U32.add(U32.add(v323, v322), 3882000033), 7n) +v325 = U32.add(U32.add(U32.add(hs.sm3.ff1(v318, v311, v320), v313), U32.xor(v324, v323)), U32.xor(w46, w50)) +v326 = U32.add(U32.add(U32.add(hs.sm3.gg1(v322, v315, v321), v314), v324), w46) +v327 = Hs.hs.rotl(v311, 9n) +v328 = Hs.hs.rotl(v315, 19n) +v329 = hs.sm3.p0(v326) +w51 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w35, w42), Hs.hs.rotl(w48, 15n))), Hs.hs.rotl(w38, 7n)), w45) +v330 = Hs.hs.rotl(v325, 12n) +v331 = Hs.hs.rotl(U32.add(U32.add(v330, v329), 3469032771), 7n) +v332 = U32.add(U32.add(U32.add(hs.sm3.ff1(v325, v318, v327), v320), U32.xor(v331, v330)), U32.xor(w47, w51)) +v333 = U32.add(U32.add(U32.add(hs.sm3.gg1(v329, v322, v328), v321), v331), w47) +v334 = Hs.hs.rotl(v318, 9n) +v335 = Hs.hs.rotl(v322, 19n) +v336 = hs.sm3.p0(v333) # rounds 48 to 63 +w52 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w36, w43), Hs.hs.rotl(w49, 15n))), Hs.hs.rotl(w39, 7n)), w46) +v337 = Hs.hs.rotl(v332, 12n) +v338 = Hs.hs.rotl(U32.add(U32.add(v337, v336), 2643098247), 7n) +v339 = U32.add(U32.add(U32.add(hs.sm3.ff1(v332, v325, v334), v327), U32.xor(v338, v337)), U32.xor(w48, w52)) +v340 = U32.add(U32.add(U32.add(hs.sm3.gg1(v336, v329, v335), v328), v338), w48) +v341 = Hs.hs.rotl(v325, 9n) +v342 = Hs.hs.rotl(v329, 19n) +v343 = hs.sm3.p0(v340) +w53 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w37, w44), Hs.hs.rotl(w50, 15n))), Hs.hs.rotl(w40, 7n)), w47) +v344 = Hs.hs.rotl(v339, 12n) +v345 = Hs.hs.rotl(U32.add(U32.add(v344, v343), 991229199), 7n) +v346 = U32.add(U32.add(U32.add(hs.sm3.ff1(v339, v332, v341), v334), U32.xor(v345, v344)), U32.xor(w49, w53)) +v347 = U32.add(U32.add(U32.add(hs.sm3.gg1(v343, v336, v342), v335), v345), w49) +v348 = Hs.hs.rotl(v332, 9n) +v349 = Hs.hs.rotl(v336, 19n) +v350 = hs.sm3.p0(v347) +w54 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w38, w45), Hs.hs.rotl(w51, 15n))), Hs.hs.rotl(w41, 7n)), w48) +v351 = Hs.hs.rotl(v346, 12n) +v352 = Hs.hs.rotl(U32.add(U32.add(v351, v350), 1982458398), 7n) +v353 = U32.add(U32.add(U32.add(hs.sm3.ff1(v346, v339, v348), v341), U32.xor(v352, v351)), U32.xor(w50, w54)) +v354 = U32.add(U32.add(U32.add(hs.sm3.gg1(v350, v343, v349), v342), v352), w50) +v355 = Hs.hs.rotl(v339, 9n) +v356 = Hs.hs.rotl(v343, 19n) +v357 = hs.sm3.p0(v354) +w55 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w39, w46), Hs.hs.rotl(w52, 15n))), Hs.hs.rotl(w42, 7n)), w49) +v358 = Hs.hs.rotl(v353, 12n) +v359 = Hs.hs.rotl(U32.add(U32.add(v358, v357), 3964916796), 7n) +v360 = U32.add(U32.add(U32.add(hs.sm3.ff1(v353, v346, v355), v348), U32.xor(v359, v358)), U32.xor(w51, w55)) +v361 = U32.add(U32.add(U32.add(hs.sm3.gg1(v357, v350, v356), v349), v359), w51) +v362 = Hs.hs.rotl(v346, 9n) +v363 = Hs.hs.rotl(v350, 19n) +v364 = hs.sm3.p0(v361) +w56 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w40, w47), Hs.hs.rotl(w53, 15n))), Hs.hs.rotl(w43, 7n)), w50) +v365 = Hs.hs.rotl(v360, 12n) +v366 = Hs.hs.rotl(U32.add(U32.add(v365, v364), 3634866297), 7n) +v367 = U32.add(U32.add(U32.add(hs.sm3.ff1(v360, v353, v362), v355), U32.xor(v366, v365)), U32.xor(w52, w56)) +v368 = U32.add(U32.add(U32.add(hs.sm3.gg1(v364, v357, v363), v356), v366), w52) +v369 = Hs.hs.rotl(v353, 9n) +v370 = Hs.hs.rotl(v357, 19n) +v371 = hs.sm3.p0(v368) +w57 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w41, w48), Hs.hs.rotl(w54, 15n))), Hs.hs.rotl(w44, 7n)), w51) +v372 = Hs.hs.rotl(v367, 12n) +v373 = Hs.hs.rotl(U32.add(U32.add(v372, v371), 2974765299), 7n) +v374 = U32.add(U32.add(U32.add(hs.sm3.ff1(v367, v360, v369), v362), U32.xor(v373, v372)), U32.xor(w53, w57)) +v375 = U32.add(U32.add(U32.add(hs.sm3.gg1(v371, v364, v370), v363), v373), w53) +v376 = Hs.hs.rotl(v360, 9n) +v377 = Hs.hs.rotl(v364, 19n) +v378 = hs.sm3.p0(v375) +w58 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w42, w49), Hs.hs.rotl(w55, 15n))), Hs.hs.rotl(w45, 7n)), w52) +v379 = Hs.hs.rotl(v374, 12n) +v380 = Hs.hs.rotl(U32.add(U32.add(v379, v378), 1654563303), 7n) +v381 = U32.add(U32.add(U32.add(hs.sm3.ff1(v374, v367, v376), v369), U32.xor(v380, v379)), U32.xor(w54, w58)) +v382 = U32.add(U32.add(U32.add(hs.sm3.gg1(v378, v371, v377), v370), v380), w54) +v383 = Hs.hs.rotl(v367, 9n) +v384 = Hs.hs.rotl(v371, 19n) +v385 = hs.sm3.p0(v382) +w59 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w43, w50), Hs.hs.rotl(w56, 15n))), Hs.hs.rotl(w46, 7n)), w53) +v386 = Hs.hs.rotl(v381, 12n) +v387 = Hs.hs.rotl(U32.add(U32.add(v386, v385), 3309126606), 7n) +v388 = U32.add(U32.add(U32.add(hs.sm3.ff1(v381, v374, v383), v376), U32.xor(v387, v386)), U32.xor(w55, w59)) +v389 = U32.add(U32.add(U32.add(hs.sm3.gg1(v385, v378, v384), v377), v387), w55) +v390 = Hs.hs.rotl(v374, 9n) +v391 = Hs.hs.rotl(v378, 19n) +v392 = hs.sm3.p0(v389) +w60 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w44, w51), Hs.hs.rotl(w57, 15n))), Hs.hs.rotl(w47, 7n)), w54) +v393 = Hs.hs.rotl(v388, 12n) +v394 = Hs.hs.rotl(U32.add(U32.add(v393, v392), 2323285917), 7n) +v395 = U32.add(U32.add(U32.add(hs.sm3.ff1(v388, v381, v390), v383), U32.xor(v394, v393)), U32.xor(w56, w60)) +v396 = U32.add(U32.add(U32.add(hs.sm3.gg1(v392, v385, v391), v384), v394), w56) +v397 = Hs.hs.rotl(v381, 9n) +v398 = Hs.hs.rotl(v385, 19n) +v399 = hs.sm3.p0(v396) +w61 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w45, w52), Hs.hs.rotl(w58, 15n))), Hs.hs.rotl(w48, 7n)), w55) +v400 = Hs.hs.rotl(v395, 12n) +v401 = Hs.hs.rotl(U32.add(U32.add(v400, v399), 351604539), 7n) +v402 = U32.add(U32.add(U32.add(hs.sm3.ff1(v395, v388, v397), v390), U32.xor(v401, v400)), U32.xor(w57, w61)) +v403 = U32.add(U32.add(U32.add(hs.sm3.gg1(v399, v392, v398), v391), v401), w57) +v404 = Hs.hs.rotl(v388, 9n) +v405 = Hs.hs.rotl(v392, 19n) +v406 = hs.sm3.p0(v403) +w62 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w46, w53), Hs.hs.rotl(w59, 15n))), Hs.hs.rotl(w49, 7n)), w56) +v407 = Hs.hs.rotl(v402, 12n) +v408 = Hs.hs.rotl(U32.add(U32.add(v407, v406), 703209078), 7n) +v409 = U32.add(U32.add(U32.add(hs.sm3.ff1(v402, v395, v404), v397), U32.xor(v408, v407)), U32.xor(w58, w62)) +v410 = U32.add(U32.add(U32.add(hs.sm3.gg1(v406, v399, v405), v398), v408), w58) +v411 = Hs.hs.rotl(v395, 9n) +v412 = Hs.hs.rotl(v399, 19n) +v413 = hs.sm3.p0(v410) +w63 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w47, w54), Hs.hs.rotl(w60, 15n))), Hs.hs.rotl(w50, 7n)), w57) +v414 = Hs.hs.rotl(v409, 12n) +v415 = Hs.hs.rotl(U32.add(U32.add(v414, v413), 1406418156), 7n) +v416 = U32.add(U32.add(U32.add(hs.sm3.ff1(v409, v402, v411), v404), U32.xor(v415, v414)), U32.xor(w59, w63)) +v417 = U32.add(U32.add(U32.add(hs.sm3.gg1(v413, v406, v412), v405), v415), w59) +v418 = Hs.hs.rotl(v402, 9n) +v419 = Hs.hs.rotl(v406, 19n) +v420 = hs.sm3.p0(v417) +w64 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w48, w55), Hs.hs.rotl(w61, 15n))), Hs.hs.rotl(w51, 7n)), w58) +v421 = Hs.hs.rotl(v416, 12n) +v422 = Hs.hs.rotl(U32.add(U32.add(v421, v420), 2812836312), 7n) +v423 = U32.add(U32.add(U32.add(hs.sm3.ff1(v416, v409, v418), v411), U32.xor(v422, v421)), U32.xor(w60, w64)) +v424 = U32.add(U32.add(U32.add(hs.sm3.gg1(v420, v413, v419), v412), v422), w60) +v425 = Hs.hs.rotl(v409, 9n) +v426 = Hs.hs.rotl(v413, 19n) +v427 = hs.sm3.p0(v424) +w65 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w49, w56), Hs.hs.rotl(w62, 15n))), Hs.hs.rotl(w52, 7n)), w59) +v428 = Hs.hs.rotl(v423, 12n) +v429 = Hs.hs.rotl(U32.add(U32.add(v428, v427), 1330705329), 7n) +v430 = U32.add(U32.add(U32.add(hs.sm3.ff1(v423, v416, v425), v418), U32.xor(v429, v428)), U32.xor(w61, w65)) +v431 = U32.add(U32.add(U32.add(hs.sm3.gg1(v427, v420, v426), v419), v429), w61) +v432 = Hs.hs.rotl(v416, 9n) +v433 = Hs.hs.rotl(v420, 19n) +v434 = hs.sm3.p0(v431) +w66 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w50, w57), Hs.hs.rotl(w63, 15n))), Hs.hs.rotl(w53, 7n)), w60) +v435 = Hs.hs.rotl(v430, 12n) +v436 = Hs.hs.rotl(U32.add(U32.add(v435, v434), 2661410658), 7n) +v437 = U32.add(U32.add(U32.add(hs.sm3.ff1(v430, v423, v432), v425), U32.xor(v436, v435)), U32.xor(w62, w66)) +v438 = U32.add(U32.add(U32.add(hs.sm3.gg1(v434, v427, v433), v426), v436), w62) +v439 = Hs.hs.rotl(v423, 9n) +v440 = Hs.hs.rotl(v427, 19n) +v441 = hs.sm3.p0(v438) +w67 = U32.xor(U32.xor(hs.sm3.p1(U32.xor(U32.xor(w51, w58), Hs.hs.rotl(w64, 15n))), Hs.hs.rotl(w54, 7n)), w61) +v442 = Hs.hs.rotl(v437, 12n) +v443 = Hs.hs.rotl(U32.add(U32.add(v442, v441), 1027854021), 7n) +v444 = U32.add(U32.add(U32.add(hs.sm3.ff1(v437, v430, v439), v432), U32.xor(v443, v442)), U32.xor(w63, w67)) +v445 = U32.add(U32.add(U32.add(hs.sm3.gg1(v441, v434, v440), v433), v443), w63) +v446 = Hs.hs.rotl(v430, 9n) +v447 = Hs.hs.rotl(v434, 19n) +v448 = hs.sm3.p0(v445) Hs.HsW8{U32.xor(a0, v444), U32.xor(b0, v437), U32.xor(c0, v446), U32.xor(d0, v439), U32.xor(e0, v448), U32.xor(f0, v441), U32.xor(g0, v447), U32.xor(h0, v440)} Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.xor https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=HsW16 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=HsW8 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=hs.rotl https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&name=hs.sm3.ff0 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&name=hs.sm3.ff1 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&name=hs.sm3.gg0 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&name=hs.sm3.gg1 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&name=hs.sm3.p0 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/sm3.bend&name=hs.sm3.p1