Then we want to evaluate just the true branch and not the false branch so that's why you only see here, evaluation of e2 and e3 isn't mentioned anywhere and just know here that the predicate may have side effects and so e2 is evaluated in whatever store that e1 produces And then the results of the entire expression is the value of e2. 