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)

Uses (22)

Used by (1)