======= 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; } */ jumpi(tag_2, iszero(callvalue)) tag_2 tag_3 jump // in tag_2: /* "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_14, shl(0x20, tag_6)) 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_9) /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ tag_6: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */ 0x06 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ jump // out /* "#utility.yul":14:141 */ tag_3: /* "#utility.yul":75:85 */ 0x4e487b71 /* "#utility.yul":70:73 */ 0xe0 /* "#utility.yul":66:86 */ shl /* "#utility.yul":63:64 */ 0x00 /* "#utility.yul":56:87 */ mstore /* "#utility.yul":106:110 */ 0x02 /* "#utility.yul":103:104 */ 0x04 /* "#utility.yul":96:111 */ mstore /* "#utility.yul":130:134 */ 0x24 /* "#utility.yul":127:128 */ 0x00 /* "#utility.yul":120:135 */ revert /* "#utility.yul":46:141 */ tag_9: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */ 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) jumpi(tag_2, iszero(callvalue)) tag_2 tag_3 jump // in tag_2: jumpi(tag_4, lt(calldatasize, 0x04)) shr(0xe0, calldataload(0x00)) dup1 0x0dbe671f eq tag_5 jumpi dup1 0xb8c9d365 eq tag_6 jumpi tag_4: 0x00 dup1 revert /* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */ tag_5: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */ 0x06 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */ tag_7: 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_6: tag_7 tag_12 jump // in /* "optimizer_inliner_dynamic_reference_constructor/input.sol":203:206 f() */ tag_16: /* "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_12: /* "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_18 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:290 x */ dup1 iszero tag_19 mul or /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:292 x() */ 0xffffffff and jump // in tag_18: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */ tag_16 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":295:296 1 */ 0x01 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */ tag_21 jump // in /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ tag_14: /* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */ 0x06 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ jump // out tag_19: tag_23 tag_24 jump // in tag_23: jump // out /* "#utility.yul":196:421 */ tag_21: /* "#utility.yul":236:239 */ 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_28 jumpi /* "#utility.yul":312:322 */ 0x4e487b71 /* "#utility.yul":307:310 */ 0xe0 /* "#utility.yul":303:323 */ shl /* "#utility.yul":300:301 */ 0x00 /* "#utility.yul":293:324 */ mstore /* "#utility.yul":347:351 */ 0x11 /* "#utility.yul":344:345 */ 0x04 /* "#utility.yul":337:352 */ mstore /* "#utility.yul":375:379 */ 0x24 /* "#utility.yul":372:373 */ 0x00 /* "#utility.yul":365:380 */ revert /* "#utility.yul":254:256 */ tag_28: pop /* "#utility.yul":406:415 */ add swap1 /* "#utility.yul":244:421 */ jump // out /* "#utility.yul":426:553 */ tag_3: /* "#utility.yul":487:497 */ 0x4e487b71 /* "#utility.yul":482:485 */ 0xe0 /* "#utility.yul":478:498 */ shl /* "#utility.yul":475:476 */ 0x00 /* "#utility.yul":468:499 */ mstore /* "#utility.yul":518:522 */ 0x02 /* "#utility.yul":515:516 */ 0x04 /* "#utility.yul":508:523 */ mstore /* "#utility.yul":542:546 */ 0x24 /* "#utility.yul":539:540 */ 0x00 /* "#utility.yul":532:547 */ revert /* "#utility.yul":558:685 */ tag_24: /* "#utility.yul":619:629 */ 0x4e487b71 /* "#utility.yul":614:617 */ 0xe0 /* "#utility.yul":610:630 */ shl /* "#utility.yul":607:608 */ 0x00 /* "#utility.yul":600:631 */ mstore /* "#utility.yul":650:654 */ 0x51 /* "#utility.yul":647:648 */ 0x04 /* "#utility.yul":640:655 */ mstore /* "#utility.yul":674:678 */ 0x24 /* "#utility.yul":671:672 */ 0x00 /* "#utility.yul":664:679 */ revert auxdata: }