This document discusses partial redundancy elimination, which aims to minimize redundant expression evaluations by identifying partially redundant expressions and inserting computations to make them fully redundant so they can be eliminated. It describes partial redundancy as occurring when an expression is evaluated along at least one path to a program point but not all paths. The document outlines the key steps of partial redundancy elimination as inserting computations to make partially redundant expressions fully redundant, then eliminating the redundant expressions. It also discusses some challenges around identifying candidate expressions and safe insertion points.