2 (** [simplify p] removes unnecessary casts in the Clight program [p].
4 Example: [(char) ((int)x + (int)y)] where [x] and [y] are of type [char]
5 will be transformed into [x + y]. Primitive operations are thus supposed to
6 be polymorphic, but working only on homogene types. *)
8 val simplify : Clight.program -> Clight.program