15/16
* Register allocation makes scheduling harder by creating extra dependencies between instructions
* Less aggressive register allocation may be desirable
* Some processors allocate and schedule dynamically
* Reverse engineering is used to extract source code and specifications from executable code
* Existing copyright legislation may permit limited reverse engineering for interoperability purposes