• Compilation steps
    • Parse into tree form
    • Check for errors
    • Constant fold
    • Handle derivatives
    • Hardware optimization
    • Eliminate dead code
    • Allocate
    • Generate passes