An aside: array syntax and cache.
“Array syntax” style of parallel programming evolved to support SIMD and vector processors.
Direct transcription may lead to poor use of cache on modern microprocessors.
On modern computers, memory access costs typically dominate over costs of arithmetic.
Compiler may have to work hard to fuse sequences of array assignments into loops with good locality… un-vectorizing!