BLAS and LAPACK numerical libraries, along with image codecs like libjpeg-turbo, mark their hot-loop pointer parameters __restrict__ specifically because without it the compiler must conservatively reload from memory on every iteration, blocking the auto-vectorization that turns a scalar loop into AVX code processing 8 floats per instruction. This is also exactly the guarantee Rust's borrow checker enforces at the language level by construction, which is why safe Rust code vectorizes as well as hand-annotated C without needing this keyword at all.