Optimized IR: /******************************************************* * WARNING * * Solidity to Yul compilation is still EXPERIMENTAL * * It can result in LOSS OF FUNDS or worse * * !USE AT YOUR OWN RISK! * *******************************************************/ object "Arraysum_34" { code { { mstore(64, 128) if callvalue() { revert(0, 0) } let _1 := datasize("Arraysum_34_deployed") codecopy(0, dataoffset("Arraysum_34_deployed"), _1) return(0, _1) } } object "Arraysum_34_deployed" { code { { mstore(64, 128) if iszero(lt(calldatasize(), 4)) { let _1 := 0 if eq(0x81d73423, shr(224, calldataload(_1))) { if callvalue() { revert(_1, _1) } if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) } let var_sum := _1 let var_i := _1 let _2 := sload(_1) for { } lt(var_i, _2) { if eq(var_i, not(0)) { panic_error_0x11() } var_i := add(var_i, 1) } { mstore(_1, _1) var_sum := checked_add_uint256(var_sum, sload(add(keccak256(_1, 0x20), var_i))) } let memPos := mload(64) return(memPos, sub(abi_encode_uint256(memPos, var_sum), memPos)) } } revert(0, 0) } function abi_encode_uint256(headStart, value0) -> tail { tail := add(headStart, 32) mstore(headStart, value0) } function checked_add_uint256(x, y) -> sum { if gt(x, not(y)) { panic_error_0x11() } sum := add(x, y) } function panic_error_0x11() { mstore(0, shl(224, 0x4e487b71)) mstore(4, 0x11) revert(0, 0x24) } } } }