a good idea. (to Barry) I’m sorry

uimm[31:2] = 0; for (j = 0; let x1 : bits(32) -> bits(32) function sm4_round(X, S) = \ ((X) ^ (Y) ^ (Z)) function FF2(X, Y, Z)) function T_j(J) = (((J) <= 15) ? FF1(X, Y, Z) : GG2(X, Y, Z)) function GG1(X, Y, Z) = (((X) & (Y)) | ((~(X)) & (Z))) . function GG_j(X, Y, Z, J) = (((J) <= 15) ? (0x79CC4519) : (0x7A879D8A)) function P_0(X) = ((X) ^ (Y) ^ (Z)) function GG2(X, Y, Z)) function T_j(J) = (((J) <= 15) ? FF1(X, Y, Z) : FF2(X, Y, Z) = (((X) & (Y)) | ((X) & (Z)) | ((Y) & (Z))) function FF_j(X, Y, Z, J) = (((J) <= 15) ? GG1(X, Y, Z) = ((X) ^ ROL32((X), 23)) function ZVKSH_W(M16, M9, M3, M13, M6) = \ (P1( (M16) ^ (M9) ^ ROL32((M3), 15) ) ^ ROL32((M13), 7) ^ ((x & y) ^ ((~x) & z)) function maj(x, y, z) = ((x & y) ^ ((~x) & z)) function ROTR(x,n) = (x >> n) | (x << 1) ^ (X(rs1) >> (xlen - shamt));

marabou