Reported by Michael Berg for vectorization optimizations.
In cases like this:
  public static float sumListReduction(float[] a, float[] b, float[] c, float[] d, float total, int process_len)
  {
    for(int i = 0; i < process_len; i++)
    {
      d[i]= (a[i] * b[i]) + (a[i] * c[i]) + (b[i] * c[i]);
    }
    total += d[0];
    total += d[process_len-1];
    return total;
  }
Range check CastII nodes are split through Phis which causes new Phis to be created that are unrelated to the trip Phi and prevent further optimization:
Phi 735    718 43 384 [ 784 384 ] bci = 10 debug_orig =  dump_spec = #int:>=1:www #tripcount debug_idx = 17200735 line = 32 type = int:
Phi 921    718 43 384 [ 727 ] bci = 16 debug_orig =  dump_spec = #int:1..max-1:www debug_idx = 23800921 line = 32 type = int:
ILW=M(prevent optimization)M(some code with loops)H(none)=P3