Maybe, but also irrelevant to the discussion because whether you write mat[b * A + a] by hand or mat[b][a] and let the compiler frontend expand then makes no difference to the optimizer.
You missed the point.
Those two representations are equivalent, yes. But that's not what flattening loops mean.
You missed the point.
Those two representations are equivalent, yes. But that's not what flattening loops mean.