1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, causes the processor to determine coverage of a metal layer mosaic, the determining coverage comprising: applying a tile pattern formed of multiple tiles on one layer of multiple layers of an integrated circuit design; identifying one tile of the tile pattern that violates at least one first design rule, wherein the one tile covers a first geographic area; in response to the violation of the first design rule, removing the one violating tile of the tile pattern and generating and applying a sub-tile pattern to the first geographic area, wherein the sub-tile pattern comprises a plurality of sub-tiles that together cover the first geographic area, and wherein each sub-tile covers a second geographic area that is smaller than the first geographic area and wherein within the first geographic area, a first sub-tile of the plurality of sub-tiles has a different orientation than a second sub-tile of the plurality of sub-tiles; identifying one of the sub-tiles of the sub-tile pattern that violates at least one second design rule; and in response to the violation of the second design rule, removing the one violating sub-tile of the sub-tile pattern and generating and applying a deep-sub-tile pattern to the second geographic area, wherein the deep-sub-tile pattern comprises a plurality of deep-sub-tiles that together cover the second geographic area, and wherein each deep-sub-tile covers a third geographic area that is smaller than the second geographic area.