

	q[ 0] = (+ h[ 5] - h[ 7] + h[10] + h[13] + h[14]);
	q[ 1] = (+ h[ 6] - h[ 8] + h[11] + h[14] - h[15]);
	q[ 2] = (+ h[ 7] + h[ 9] - h[12] + h[15] + h[ 0]);
	q[ 3] = (+ h[ 8] - h[10] + h[13] + h[ 0] - h[ 1]);
	q[ 4] = (+ h[ 9] - h[11] - h[14] + h[ 1] + h[ 2]);
	q[ 5] = (+ h[10] - h[12] + h[15] - h[ 2] + h[ 3]);
	q[ 6] = (- h[11] + h[13] - h[ 0] - h[ 3] + h[ 4]);
	q[ 7] = (- h[12] - h[14] + h[ 1] - h[ 4] - h[ 5]);
	q[ 8] = (+ h[13] - h[15] + h[ 2] - h[ 5] - h[ 6]);
	q[ 9] = (+ h[14] + h[ 0] - h[ 3] + h[ 6] - h[ 7]);
	q[10] = (+ h[15] - h[ 1] - h[ 4] - h[ 7] + h[ 8]);
	q[11] = (- h[ 0] - h[ 2] - h[ 5] + h[ 8] + h[ 9]);
	q[12] = (+ h[ 1] + h[ 3] - h[ 6] - h[ 9] + h[10]);
	q[13] = (+ h[ 2] + h[ 4] + h[ 7] + h[10] + h[11]);
	q[14] = (+ h[ 3] - h[ 5] + h[ 8] - h[11] - h[12]);
	q[15] = (- h[ 4] - h[ 6] - h[ 9] + h[12] + h[13]);

##########################################################

1 := -
0 := +


     +---------- 0x0311
     | +-------- 0xDDB3
     | | +------ 0x2A79
     | | | +---- 0x07AA
     | | | | +-- 0x51C2
     | | | | |
---------------
 0:  0 1 0 0 0  + - + + +
 1:  0 1 0 0 1  + - + + -
 2:  0 0 1 0 0  + + - + +
 3:  0 1 0 0 1  + - + + -
---------------
 4:  0 1 1 0 0  + - - + +
 5:  0 1 0 1 0  + - + - +
 6:  1 0 1 1 0  - + - - +
 7:  1 1 0 1 1  - - + - -
---------------
 8:  0 1 0 1 1  + - + - -
 9:  0 0 1 0 1  + + - + -
10:  0 1 1 1 0  + - - - +
11:  1 1 1 0 0  - - - + +
---------------
12:  0 0 1 1 0  + + - - +
13:  0 0 0 0 0  + + + + +
14:  0 1 0 1 1  + - + - -
15:  1 1 1 0 0  - - - + +
---------------
     | | | | |
     | | | | +-- 0x438A
     | | | +---- 0x55E0
     | | +------ 0x9E54
     | +-------- 0xCDBB
     +---------- 0x88C0

####################################################

















