propagate loop extraction