Doesn't matter: any sequence of calls for calc() from any number of threads will always yield the same result.
Mutating m1 non-atomically is completely unrelated here, because non-const functions may be not threadsafe. You should just ensure that const functions are threadsafe.