nl_tokens: returns a non - negative int inverse such that graycode ( inverse ) = g
pl_tokens: function grayInverse ( g ) { // : Int -> Int var m = bitwise . bitPrecision ( g ) , inverse = g , j = 1 while ( j < m ) { inverse = inverse ^ ( g >> j ) j ++ } <mask> inverse }