Pragmas suck. What I want is to explicitly assert the condition:
assert(a+n < b || b+m < a);
(saying that a[0..n] and b[0..m] don't alias) and have the compiler generate code that first tests the condition and generates optimized code given the assumption.