The final example is a model of the crc16 which is often built into data communications hardware.
crc16 =. monad define bcc =. 16 $ 0 while. 0 ~: $ y. do. ser_quo =. (1 {. bcc) ~: 1 {. y. bcc =. (0 { bcc),(ser_quo ~: 1 { bcc),(2 3 4 5 6 7 8 9 10 11 12 13 { bcc),(ser_quo ~: 14 { bcc),15 { bcc bcc =. (1 }. bcc), ser_quo y. =. 1 }. y. end. bcc )
msg =: 1 1 0 1 0 1 1 0 1 1 0 0 0 0 crc16 msg 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 crc16 msg,crc16 msg 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0