def comm16.bits
bend-osdev-gf@0.1.1.0 · PROOF.bend:7481
import bend-osdev-gf@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-gf@0.1.1.0/gfm.bend as M
7481def comm16.bits(+a0: Bool, +a1: Bool, +a2: Bool, +a3: Bool, +b0: Bool, +b1: Bool, +b2: Bool, +b3: Bool) -> {M.gfm.mul.raw(M.Gfm.gf16(), U32{WCon{a0, WCon{a1, WCon{a2, WCon{a3, Word.zero(28n)}}}}}, U32{WCon{b0, WCon{b1, WCon{b2, WCon{b3, Word.zero(28n)}}}}}) == M.gfm.mul.raw(M.Gfm.gf16(), U32{WCon{b0, WCon{b1, WCon{b2, WCon{b3, Word.zero(28n)}}}}}, U32{WCon{a0, WCon{a1, WCon{a2, WCon{a3, Word.zero(28n)}}}}}) : U32}:
7482 match a0:
7483 case True{}:
7484 match a1:
7485 case True{}:
7486 match a2:
7487 case True{}:
7488 match a3:
7489 case True{}:
7490 comm16.s1111(b0, b1, b2, b3)
7491 case False{}:
7492 comm16.s1110(b0, b1, b2, b3)
7493 case False{}:
7494 match a3:
7495 case True{}:
7496 comm16.s1101(b0, b1, b2, b3)
7497 case False{}:
7498 comm16.s1100(b0, b1, b2, b3)
7499 case False{}:
7500 match a2:
7501 case True{}:
7502 match a3:
7503 case True{}:
7504 comm16.s1011(b0, b1, b2, b3)
7505 case False{}:
7506 comm16.s1010(b0, b1, b2, b3)
7507 case False{}:
7508 match a3:
7509 case True{}:
7510 comm16.s1001(b0, b1, b2, b3)
7511 case False{}:
7512 comm16.s1000(b0, b1, b2, b3)
7513 case False{}:
7514 match a1:
7515 case True{}:
7516 match a2:
7517 case True{}:
7518 match a3:
7519 case True{}:
7520 comm16.s0111(b0, b1, b2, b3)
7521 case False{}:
7522 comm16.s0110(b0, b1, b2, b3)
7523 case False{}:
7524 match a3:
7525 case True{}:
7526 comm16.s0101(b0, b1, b2, b3)
7527 case False{}:
7528 comm16.s0100(b0, b1, b2, b3)
7529 case False{}:
7530 match a2:
7531 case True{}:
7532 match a3:
7533 case True{}:
7534 comm16.s0011(b0, b1, b2, b3)
7535 case False{}:
7536 comm16.s0010(b0, b1, b2, b3)
7537 case False{}:
7538 match a3:
7539 case True{}:
7540 comm16.s0001(b0, b1, b2, b3)
7541 case False{}:
7542 comm16.s0000(b0, b1, b2, b3)