// output of ./demo/bits/gray-demo.cc:
// Description:
//% Binary Gray code.

arg 1: 5 == n  [Number of bits]  default=5
   k:      bin(k)       g(k)     g^-1(k)     g(2*k)   g(2*k+1)    diff(g(k),g(k-1))
   0:      .......    .......    .......    .......    ......1    ....... .    {  }
   1:      ......1    ......1    ......1    .....11    .....1.    ......+ 1    { 0 }
   2:      .....1.    .....11    .....11    ....11.    ....111    .....+1 .    { 0, 1 }
   3:      .....11    .....1.    .....1.    ....1.1    ....1..    .....1- 1    { 1 }
   4:      ....1..    ....11.    ....111    ...11..    ...11.1    ....+1. .    { 1, 2 }
   5:      ....1.1    ....111    ....11.    ...1111    ...111.    ....11+ 1    { 0, 1, 2 }
   6:      ....11.    ....1.1    ....1..    ...1.1.    ...1.11    ....1-1 .    { 0, 2 }
   7:      ....111    ....1..    ....1.1    ...1..1    ...1...    ....1.- 1    { 2 }
   8:      ...1...    ...11..    ...1111    ..11...    ..11..1    ...+1.. .    { 2, 3 }
   9:      ...1..1    ...11.1    ...111.    ..11.11    ..11.1.    ...11.+ 1    { 0, 2, 3 }
  10:      ...1.1.    ...1111    ...11..    ..1111.    ..11111    ...11+1 .    { 0, 1, 2, 3 }
  11:      ...1.11    ...111.    ...11.1    ..111.1    ..111..    ...111- 1    { 1, 2, 3 }
  12:      ...11..    ...1.1.    ...1...    ..1.1..    ..1.1.1    ...1-1. .    { 1, 3 }
  13:      ...11.1    ...1.11    ...1..1    ..1.111    ..1.11.    ...1.1+ 1    { 0, 1, 3 }
  14:      ...111.    ...1..1    ...1.11    ..1..1.    ..1..11    ...1.-1 .    { 0, 3 }
  15:      ...1111    ...1...    ...1.1.    ..1...1    ..1....    ...1..- 1    { 3 }
  16:      ..1....    ..11...    ..11111    .11....    .11...1    ..+1... .    { 3, 4 }
  17:      ..1...1    ..11..1    ..1111.    .11..11    .11..1.    ..11..+ 1    { 0, 3, 4 }
  18:      ..1..1.    ..11.11    ..111..    .11.11.    .11.111    ..11.+1 .    { 0, 1, 3, 4 }
  19:      ..1..11    ..11.1.    ..111.1    .11.1.1    .11.1..    ..11.1- 1    { 1, 3, 4 }
  20:      ..1.1..    ..1111.    ..11...    .1111..    .1111.1    ..11+1. .    { 1, 2, 3, 4 }
  21:      ..1.1.1    ..11111    ..11..1    .111111    .11111.    ..1111+ 1    { 0, 1, 2, 3, 4 }
  22:      ..1.11.    ..111.1    ..11.11    .111.1.    .111.11    ..111-1 .    { 0, 2, 3, 4 }
  23:      ..1.111    ..111..    ..11.1.    .111..1    .111...    ..111.- 1    { 2, 3, 4 }
  24:      ..11...    ..1.1..    ..1....    .1.1...    .1.1..1    ..1-1.. .    { 2, 4 }
  25:      ..11..1    ..1.1.1    ..1...1    .1.1.11    .1.1.1.    ..1.1.+ 1    { 0, 2, 4 }
  26:      ..11.1.    ..1.111    ..1..11    .1.111.    .1.1111    ..1.1+1 .    { 0, 1, 2, 4 }
  27:      ..11.11    ..1.11.    ..1..1.    .1.11.1    .1.11..    ..1.11- 1    { 1, 2, 4 }
  28:      ..111..    ..1..1.    ..1.111    .1..1..    .1..1.1    ..1.-1. .    { 1, 4 }
  29:      ..111.1    ..1..11    ..1.11.    .1..111    .1..11.    ..1..1+ 1    { 0, 1, 4 }
  30:      ..1111.    ..1...1    ..1.1..    .1...1.    .1...11    ..1..-1 .    { 0, 4 }
  31:      ..11111    ..1....    ..1.1.1    .1....1    .1.....    ..1...- 1    { 4 }
