INORDER = i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 ;
OUTORDER = Idle o0 o1 o2 o3 o4 o5 o6 o7 ;
ni0 = ! i0 ;
ni1 = ! i1;
ni2 = ! i2;
ni3 = ! i3;
ni4 = ! i4;
ni5 = ! i5;
ni6 = ! i6;
ni7 = ! i7;
ni8 = ! i8;

a = ni0 * i1 * ni2 * i3;
b = ni1 * i2 * ni3 * i4;
c = ni2 * i3 * ni4 * i5 * ! a;
d = ni3 * i4 * ni5 * i6 * ! b;
e = i0 * ni4 * ni5 * i6 * ni7 * i8;
fp = ni6 * i7 * ni8 * i9;
f = fp * ni2 * ni3;
g = fp * i2 * i3;
Idle = fp * ni4 * a * i5;
k = a + b;
l = c + d;
m = k + l;
n = f + g;

o0 = l + n;
o1 = b + d + g;
o2 = ((o1 + c) * i0) + (a * i4);
o3 = e + f + (k * i5) + (l * i1);
o4 = g + (d * i2) + (e * i2) + (f * i0) + ((k + c) * i6);
o5 = (m * i7) + (e * i1) + (n* i1);
o6 = (m * i8) + (e * i3) + (n * i4);
o7 = (n * i5) + ((m + e) * i9);