Previously, we'd only recognize bitreversals or byteswaps where the generated value starts off as zero:
int2_t b = 0; if (a & 1) b |= 2; if (a & 2) b |= 1; return b;
But with not much work we can also support starting the generated value as the reversal value:
int2_t b = a; if (a & 1) b |= 2; if (a & 2) b |= 1; return b;
Why is there no else if A->Provider && IsIdentityTransform(A->Provenance)) here?