{ let a := caller() pop(a) for { } a { pop(a) } { a := address() let c := a } let x := a } // ==== // step: rematerialiser // ---- // { // let a := caller() // pop(caller()) // for { // } // a // { // pop(address()) // } // { // a := address() // let c := address() // } // let x := a // }