class  | 
RewriteAlgebraicSimplificationDynamic | 
 Rule: Algebraic Simplifications. 
 | 
class  | 
RewriteAlgebraicSimplificationStatic | 
 Rule: Algebraic Simplifications. 
 | 
class  | 
RewriteBlockSizeAndReblock | 
 Rule: BlockSizeAndReblock. 
 | 
class  | 
RewriteCommonSubexpressionElimination | 
 Rule: CommonSubexpressionElimination. 
 | 
class  | 
RewriteConstantFolding | 
 Rule: Constant Folding. 
 | 
class  | 
RewriteElementwiseMultChainOptimization | 
 Prerequisite: RewriteCommonSubexpressionElimination must run before this rule. 
 | 
class  | 
RewriteGPUSpecificOps | 
  | 
class  | 
RewriteIndexingVectorization | 
 Rule: Indexing vectorization. 
 | 
class  | 
RewriteInjectSparkPReadCheckpointing | 
 Rule: Inject checkpointing on reading in data in all cases where the operand is used in more than one operation. 
 | 
class  | 
RewriteMatrixMultChainOptimization | 
 Rule: Determine the optimal order of execution for a chain of
 matrix multiplications 
 
 Solution: Classic Dynamic Programming
 Approach: Currently, the approach based only on matrix dimensions
 Goal: To reduce the number of computations in the run-time
 (map-reduce) layer 
 | 
class  | 
RewriteMatrixMultChainOptimizationSparse | 
 Rule: Determine the optimal order of execution for a chain of
 matrix multiplications 
 
 Solution: Classic Dynamic Programming
 Approach: Currently, the approach based only on matrix dimensions
 and sparsity estimates using the MNC sketch
 Goal: To reduce the number of computations in the run-time
 (map-reduce) layer 
 | 
class  | 
RewriteMatrixMultChainOptimizationTranspose | 
 Rule: Determine the optimal order of execution for a chain of
 matrix multiplications  
 Solution: Classic Dynamic Programming  
 Approach: Currently, the approach based only on matrix dimensions  
 Goal: To reduce the number of computations in the run-time
 (map-reduce) layer 
 | 
class  | 
RewriteNonScalarPrint | 
  | 
class  | 
RewriteRemovePersistentReadWrite | 
 This rewrite is a custom rewrite for JMLC in order to replace all persistent reads
 and writes with transient reads and writes from the symbol table. 
 | 
class  | 
RewriteRemoveReadAfterWrite | 
 Rule: RemoveReadAfterWrite. 
 | 
class  | 
RewriteRemoveUnnecessaryCasts | 
 Rule: RemoveUnnecessaryCasts. 
 |