Before revision:  Compilers are designed today to use fixed-cost models that rely on heuristics to make vectorization decisions on loops.
After revision:  Compilers are designed today to use fixed-cost models that are based on heuristics to make vectorization decisions on loops.