======= 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 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ 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: /* "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_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":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 swap1 /* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */ jump // out tag_17: tag_21 tag_22 jump // in tag_21: jump // out /* "#utility.yul":196:418 */ tag_19: /* "#utility.yul":261:270 */ dup1 dup3 add /* "#utility.yul":282:292 */ dup1 dup3 gt /* "#utility.yul":279:412 */ iszero tag_26 jumpi /* "#utility.yul":334:344 */ 0x4e487b71 /* "#utility.yul":329:332 */ 0xe0 /* "#utility.yul":325:345 */ shl /* "#utility.yul":322:323 */ 0x00 /* "#utility.yul":315:346 */ mstore /* "#utility.yul":369:373 */ 0x11 /* "#utility.yul":366:367 */ 0x04 /* "#utility.yul":359:374 */ mstore /* "#utility.yul":397:401 */ 0x24 /* "#utility.yul":394:395 */ 0x00 /* "#utility.yul":387:402 */ revert /* "#utility.yul":279:412 */ tag_26: /* "#utility.yul":196:418 */ swap3 swap2 pop pop jump // out /* "#utility.yul":423:550 */ tag_22: /* "#utility.yul":484:494 */ 0x4e487b71 /* "#utility.yul":479:482 */ 0xe0 /* "#utility.yul":475:495 */ shl /* "#utility.yul":472:473 */ 0x00 /* "#utility.yul":465:496 */ mstore /* "#utility.yul":515:519 */ 0x51 /* "#utility.yul":512:513 */ 0x04 /* "#utility.yul":505:520 */ mstore /* "#utility.yul":539:543 */ 0x24 /* "#utility.yul":536:537 */ 0x00 /* "#utility.yul":529:544 */ revert auxdata: }