return TRAP_REDUCED;
return DefUseEffect.TRAP_REDUCED;
  private static byte boundsCheck(OPT_Instruction s) {    if (CF_FIELDS) {      OPT_Operand ref = BoundsCheck.getRef(s);      OPT_Operand index = BoundsCheck.getIndex(s);      if (ref.isNullConstant()) {        Trap.mutate(s, TRAP, NullCheck.getClearGuardResult(s),                    OPT_TrapCodeOperand.NullPtr());        return TRAP_REDUCED;      } else if(index.isIntConstant()) {        int indexAsInt = index.asIntConstant().value;        if (indexAsInt < 0) {          Trap.mutate(s, TRAP, BoundsCheck.getClearGuardResult(s), OPT_TrapCodeOperand.ArrayBounds());          return TRAP_REDUCED;        } else if(ref.isConstant()) {          int refLength = Array.getLength(ref.asObjectConstant().value);          if(indexAsInt < refLength) {            Move.mutate(s, GUARD_MOVE, BoundsCheck.getClearGuardResult(s),                        BoundsCheck.getClearGuard(s));            return MOVE_REDUCED;          }          else {            Trap.mutate(s, TRAP, BoundsCheck.getClearGuardResult(s), OPT_TrapCodeOperand.ArrayBounds());            return TRAP_REDUCED;          }        }      }    }    return UNCHANGED;  }