law mul_wrap

bend-osdev-word64@0.1.1.0 · LAWS_mul.bend:18

import bend-osdev-word64@0.1.1.0/LAWS_mul.bend as LAWSMul
import Base
import bend-osdev-u32@0.1.0.0/u32.bend as U
import bend-osdev-word64@0.1.1.0/word64.bend as W

18law mul_wrap:
19  for +a: W.W64
20  for +b: W.W64
21  {Nat.add(W.W64.to_nat(W.W64.mul(a, b)), U.U32Nat.dbl(64n, U.U32Nat.high(64n, Nat.mul(W.W64.to_nat(a), W.W64.to_nat(b))))) == Nat.mul(W.W64.to_nat(a), W.W64.to_nat(b)) : Nat}

Uses (19)

Used by (2)