duplicated some patterns for in[lc] to deal with de[lc] extra rule for adi 2 to deal with source1 cleverly