R. Alan Monroe wrote:
How does a C command that gets compiled to a CPU's MUL instruction differ in any way from a Fortran command that also gets compiled to that same CPU's same MUL instruction?
Fortran has various rules that prevent aliasing, i.e. having two different names for the same thing. This allows the compiler to perform various optimisations that can't safely be performed in C, where you can get aliasing of just about anything using pointers. Various arcane anti-aliasing rules have been introduced into recent versions of C, but there's still a lot more room for aliasing than there is in Fortran. -- Greg