def gf128.be.word
import bend-osdev-gf@0.1.1.0/gf128.bend as Gf128import Base
162def gf128.be.word(n: Nat, +x: U32, +a: Gf128, z: Gf128) -> Gf128:
163 match n:
164 case 0n:
165 z
166 case 1n+k:
167 gf128.be.word(k, U32.shl(x), a, Gf128.xor(Gf128.double_be(z), Gf128.and_mask(a, gf128.mask(U32.shrn(x, 31n)))))