[<<][rtl][>>][..]

Sun May 12 15:33:17 EDT 2019

## Loop algebra

What are the operations?
- fuse / split
- project / inject (eliminate)
- hoisting
- interchange
Where deforestation is a combination of fusion and elimination.
I think that's pretty much it. Here are some more:
https://en.wikipedia.org/wiki/Loop_optimization
There are the (bi-directional) operations in the notation developed
above, in "reductive" order.
- FUSE
i:
Bi <- Ai
i:
Ci <- Bi
=>
i:
Bi <- Ai
Ci <- Bi
- ELIMINATE:
i:
Ci <- Ai Bi
Di <- Ci Ci
=>
i:
C <- Ai Bi
Di <- C C
- HOIST
i:
C <- A B
Ei <- C Di
=>
C <- A B
i:
Ei <- C Di
- INTERCHANGE
i:
j:
Cij <- Aij Bij
=>
j:
i:
Cij <- Aij Bij

[Reply][About]

[<<][rtl][>>][..]