fn mul(a: u8, b: u8) u8
fn mul(a: u8, b: u8) u8 { @setEvalBranchQuota(30000); var i: u8 = a; var j: u9 = b; var s: u9 = 0; while (i > 0) : (i >>= 1) { if (i & 1 != 0) { s ^= j; } j *= 2; if (j & 0x100 != 0) { j ^= poly; } } return @as(u8, @truncate(s)); }