{
    if calldataload(0)
    {
        f()
    }
    g()

    function f() {
        pop(mload(0))
    }
    function g() {
        if sload(0)
        {
            h()
        }
    }
    function h() {
        switch t()
        case 1 {
            i()
        }
    }
    function t() -> x {
        mstore(0, 1)
    }
    function i() {
        sstore(0, 1)
    }
    function r(a) -> b {
        b := mul(a, 2)
    }
}
// ----
// : writes storage, writes memory
// f: movable apart from effects, can be removed if no msize, reads memory
// g: writes storage, writes memory
// h: writes storage, writes memory
// i: writes storage
// r: movable, movable apart from effects, can be removed, can be removed if no msize
// t: writes memory