{
    let a := 1
    let b := 2
    switch number()
    case 1 { b := a }
    default { let x := a let y := b b := a }
    pop(add(a, b))
}
// ----
// step: rematerialiser
//
// {
//     let a := 1
//     let b := 2
//     switch number()
//     case 1 { b := 1 }
//     default {
//         let x := 1
//         let y := b
//         b := 1
//     }
//     pop(add(1, b))
// }
