{ // All arguments are constants let x := 2 f(1, x, 3) function f(a, b, c) { sstore(a, b) sstore(b, c) // Prevents getting inlined if calldataload(0) { leave } } } // ---- // step: functionSpecializer // // { // let x := 2 // f_1(x) // function f_1(b_3) // { // let a_4 := 1 // let c_2 := 3 // sstore(a_4, b_3) // sstore(b_3, c_2) // if calldataload(0) { leave } // } // function f(a, b, c) // { // sstore(a, b) // sstore(b, c) // if calldataload(0) { leave } // } // }