option A.it is constant folding we replace our variable with its constant value
so at compile time it will be execute(internally store in symbol table at the very first stage),so it saves time during runtime
option B.its our one of the loop optimization technique
option C.its part of available expression analysis calling common sub expression elimination
option D.yes in reduction in strength mean basically we replace high complexity operator into less time taking one
ie y=x*2 can be optimized as y=x+x