The trip from source to final executable is fairly complex. It's not uncommon for 7 layers or more of processing to pass over the code as it makes its way from human-readable source to lexical token streams to abstract syntax trees and on down the line.
As part of this process, a lot of things get pushed up, pulled down, shifted around, created and destroyed. Temporary variables are one of the prime targets. So don't try to optimize code based on temporary variable usage - it's pointless.
The only exception I'll make is that if you are running with optimization switched off, some artifacts may remain to assist a debugger when it wants to print those intermediate values. However, if performance at the code level is critical,
you should turn optimization on.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.