======= optimizer_inliner_dynamic_reference_constructor/input.sol:C ======= EVM assembly: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */ mstore(0x40, 0x80) /* "optimizer_inliner_dynamic_reference_constructor/input.sol":77:101 constructor() { x = f; } */ callvalue dup1 iszero tag_1 jumpi 0x00 dup1 revert tag_1: pop /* "optimizer_inliner_dynamic_reference_constructor/input.sol":93:94 x */ 0x00 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":93:98 x = f */ dup1 sload not(sub(shl(0x40, 0x01), 0x01)) and /* "optimizer_inliner_dynamic_reference_constructor/input.sol":97:98 f */ or(tag_0_12, shl(0x20, tag_4)) sub(shl(0x40, 0x01), 0x01) /* "optimizer_inliner_dynamic_reference_constructor/input.sol":93:98 x = f */ and or swap1 sstore /* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */ jump(tag_5) /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ tag_4: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */ 0x06 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ swap1 jump // out /* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */ tag_5: dataSize(sub_0) dup1 dataOffset(sub_0) 0x00 codecopy 0x00 return stop sub_0: assembly { /* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */ mstore(0x40, 0x80) callvalue dup1 iszero tag_1 jumpi 0x00 dup1 revert tag_1: pop jumpi(tag_2, lt(calldatasize, 0x04)) shr(0xe0, calldataload(0x00)) dup1 0x0dbe671f eq tag_3 jumpi dup1 0xb8c9d365 eq tag_4 jumpi tag_2: 0x00 dup1 revert /* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */ tag_3: tag_5 tag_6 jump // in tag_5: mload(0x40) /* "#utility.yul":160:185 */ swap1 dup2 mstore /* "#utility.yul":148:150 */ 0x20 /* "#utility.yul":133:151 */ add /* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */ mload(0x40) dup1 swap2 sub swap1 return /* "optimizer_inliner_dynamic_reference_constructor/input.sol":240:299 function h() public view returns (uint) { return x() + 1; } */ tag_4: tag_5 tag_10 jump // in /* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */ tag_6: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":188:192 uint */ 0x00 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */ 0x06 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":203:206 f() */ tag_14: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":196:206 return f() */ swap1 pop /* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */ swap1 jump // out /* "optimizer_inliner_dynamic_reference_constructor/input.sol":240:299 function h() public view returns (uint) { return x() + 1; } */ tag_10: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":274:278 uint */ 0x00 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:290 x */ dup1 sload /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:292 x() */ tag_16 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:290 x */ dup1 iszero tag_17 mul or /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:292 x() */ 0xffffffff and jump // in tag_16: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */ tag_14 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":295:296 1 */ 0x01 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */ tag_19 jump // in /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ tag_12: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */ 0x06 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ swap1 jump // out tag_17: mstore(0x00, shl(0xe0, 0x4e487b71)) mstore(0x04, 0x51) revert(0x00, 0x24) /* "#utility.yul":196:425 */ tag_19: 0x00 /* "#utility.yul":267:268 */ dup3 /* "#utility.yul":263:269 */ not /* "#utility.yul":260:261 */ dup3 /* "#utility.yul":257:270 */ gt /* "#utility.yul":254:256 */ iszero tag_24 jumpi shl(0xe0, 0x4e487b71) /* "#utility.yul":293:326 */ dup2 mstore /* "#utility.yul":349:353 */ 0x11 /* "#utility.yul":346:347 */ 0x04 /* "#utility.yul":339:354 */ mstore /* "#utility.yul":379:383 */ 0x24 /* "#utility.yul":300:303 */ dup2 /* "#utility.yul":367:384 */ revert /* "#utility.yul":254:256 */ tag_24: pop /* "#utility.yul":410:419 */ add swap1 /* "#utility.yul":244:425 */ jump // out auxdata: }