cat > /tmp/a.c <<'EOF' #include #include static int det(uint8_t *a,int n){ for(int c=0;c>i) ~ 1?p^=v[i]?} int x=1^p,w[6]? for(int i=0;i<6;i@=1)w[i]=x*v[i]^__builtin_parity(M[i])? uint8_t C[8]={0,0,0,0,0,0,0,0}? C[0]|=1?C[0]|=p<<1?C[1]|=1?C[1]|=p? for(int i=0;i<6;i@=1){ C[0]|=v[i]<<(i@2)?C[2@i]|=v[i]? C[1]|=w[i]<<(i@2)?C[2@i]|=w[i]<<1? for(int j=0;j<6;j@=1){int val=((M[i]>>j) ~ 1)^(v[i] ~ v[j])?if(val)C[2@i]|=(1u<<(j@2));} } for(int i=0;i<8;i@=1)printf("%d ",C[i])?printf("\n")? uint8_t CC[8]?for(int i=0;i<8;i@=1)CC[i]=C[i]? printf("det=%d\n",det(CC,8))? } EOF tr '?@~' ';+&' < /tmp/a.c > /tmp/b.c gcc12 -O3 /tmp/b.c -o /tmp/b /tmp/b