{
    let c
    let d
    c := calldataload(0)
    // This assignment will be overwritten in all branches and thus can be removed.
    d := 1
    if c {
        d := 2
    }
    d := 3
    mstore(0, d)
}
// ----
// step: unusedAssignEliminator
//
// {
//     let c
//     let d
//     c := calldataload(0)
//     if c { }
//     d := 3
//     mstore(0, d)
// }
