{
    let a := caller()
    let b := address()
    if b { pop(b) b := a }
    let c := b
}
// ----
// rematerialiser
// {
//     let a := caller()
//     let b := address()
//     if address()
//     {
//         pop(address())
//         b := caller()
//     }
//     let c := b
// }