
======= viair_subobject_optimization/input.sol:C =======
EVM assembly:
    /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
  0x80
  jumpi(tag_7, callvalue)
  0x1f
  bytecodeSize
  codesize
  dup2
  swap1
  sub
  swap2
  dup3
  add
  not(0x1f)
  and
  dup4
  add
  swap2
  sub(shl(0x40, 0x01), 0x01)
  dup4
  gt
  dup5
  dup5
  lt
  or
  tag_3
  jumpi
  dup1
  dup5
  swap3
  0x20
  swap5
  0x40
  mstore
  dup4
  codecopy
  dup2
  add
  sub
  slt
  tag_7
  jumpi
  mload
  sub(shl(0x48, 0x01), 0xbe)
    /* "viair_subobject_optimization/input.sol":620:645  x == 0xFFFFFFFFFFFFFFFF42 */
  eq
    /* "viair_subobject_optimization/input.sol":616:661  if (x == 0xFFFFFFFFFFFFFFFF42)... */
  tag_7
  jumpi
    /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
  mload(0x40)
  dataSize(sub_0)
  swap1
  dup2
  dataOffset(sub_0)
  dup3
  codecopy
  return
    /* "viair_subobject_optimization/input.sol":616:661  if (x == 0xFFFFFFFFFFFFFFFF42)... */
tag_7:
  0x00
    /* "viair_subobject_optimization/input.sol":653:661  revert() */
  dup1
  revert
    /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
tag_3:
  mstore(0x00, shl(0xe0, 0x4e487b71))
  mstore(0x04, 0x41)
  revert(0x00, 0x24)
stop

sub_0: assembly {
        /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
      0x00
      dup1
      revert

    auxdata: <AUXDATA REMOVED>
}


======= viair_subobject_optimization/input.sol:D =======
EVM assembly:
    /* "viair_subobject_optimization/input.sol":669:772  contract D {... */
  0x80
  dup1
  0x40
  mstore
  jumpi(tag_1, callvalue)
  dataSize(sub_0)
  swap1
  dup2
  dataOffset(sub_0)
  dup3
  codecopy
  return
tag_1:
  0x00
  dup1
  revert
stop

sub_0: assembly {
        /* "viair_subobject_optimization/input.sol":669:772  contract D {... */
      0x80
      jumpi(tag_1, iszero(lt(calldatasize, 0x04)))
      0x00
      dup1
      revert
    tag_1:
      jumpi(tag_3, eq(0x26121ff0, shr(0xe0, calldataload(0x00))))
      0x00
      dup1
      revert
    tag_3:
      jumpi(tag_7, callvalue)
      jumpi(tag_7, slt(add(not(0x03), calldatasize), 0x00))
        /* "viair_subobject_optimization/input.sol":745:765  type(C).creationCode */
      dataSize(sub_0)
      swap1
        /* "viair_subobject_optimization/input.sol":669:772  contract D {... */
      0x3f
      dup3
      add
      not(0x1f)
      and
      dup2
      add
      swap1
      0xffffffffffffffff
      dup3
      gt
      dup2
      dup4
      lt
      or
      tag_9
      jumpi
      0x40
      swap2
      dup3
      mstore
        /* "viair_subobject_optimization/input.sol":745:765  type(C).creationCode */
      dup3
      dup2
      mstore
      0x20
      dup2
      add
      swap3
      dataOffset(sub_0)
      dup5
      codecopy
        /* "viair_subobject_optimization/input.sol":669:772  contract D {... */
      dup2
      mload
      swap3
      dup4
      swap2
        /* "viair_subobject_optimization/input.sol":745:765  type(C).creationCode */
      0x20
        /* "viair_subobject_optimization/input.sol":669:772  contract D {... */
      dup4
      mstore
      mload
      dup1
      swap2
      dup2
        /* "viair_subobject_optimization/input.sol":745:765  type(C).creationCode */
      0x20
        /* "viair_subobject_optimization/input.sol":669:772  contract D {... */
      dup6
      add
      mstore
      dup5
      dup5
      add
      mcopy
      0x00
      dup3
      dup3
      add
      dup5
      add
      mstore
      0x1f
      add
      not(0x1f)
      and
      dup2
      add
      sub
      add
      swap1
      return
    tag_9:
      mstore(0x00, shl(0xe0, 0x4e487b71))
      mstore(0x04, 0x41)
      revert(0x00, 0x24)
    tag_7:
      0x00
      dup1
      revert
    stop

    sub_0: assembly {
            /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
          0x80
          jumpi(tag_7, callvalue)
          0x1f
          bytecodeSize
          codesize
          dup2
          swap1
          sub
          swap2
          dup3
          add
          not(0x1f)
          and
          dup4
          add
          swap2
          sub(shl(0x40, 0x01), 0x01)
          dup4
          gt
          dup5
          dup5
          lt
          or
          tag_3
          jumpi
          dup1
          dup5
          swap3
          0x20
          swap5
          0x40
          mstore
          dup4
          codecopy
          dup2
          add
          sub
          slt
          tag_7
          jumpi
          mload
          sub(shl(0x48, 0x01), 0xbe)
            /* "viair_subobject_optimization/input.sol":620:645  x == 0xFFFFFFFFFFFFFFFF42 */
          eq
            /* "viair_subobject_optimization/input.sol":616:661  if (x == 0xFFFFFFFFFFFFFFFF42)... */
          tag_7
          jumpi
            /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
          mload(0x40)
          dataSize(sub_0)
          swap1
          dup2
          dataOffset(sub_0)
          dup3
          codecopy
          return
            /* "viair_subobject_optimization/input.sol":616:661  if (x == 0xFFFFFFFFFFFFFFFF42)... */
        tag_7:
          0x00
            /* "viair_subobject_optimization/input.sol":653:661  revert() */
          dup1
          revert
            /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
        tag_3:
          mstore(0x00, shl(0xe0, 0x4e487b71))
          mstore(0x04, 0x41)
          revert(0x00, 0x24)
        stop

        sub_0: assembly {
                /* "viair_subobject_optimization/input.sol":61:668  contract C {... */
              0x00
              dup1
              revert

            auxdata: <AUXDATA REMOVED>
        }
    }

    auxdata: <AUXDATA REMOVED>
}
