anchor.diff:  Range _0_instruction = createInstructionRange(0);
   
   checkAndRange(Range one, Range two, lower, upper) {
  -  if (lower is num) lower = new IntValue(lower);
  -  if (upper is num) upper = new IntValue(upper);
  -  Range range = new Range(lower, upper);
  +  if (lower is num) lower = info.newIntValue(lower);
  +  if (upper is num) upper = info.newIntValue(upper);
  +  Range range = info.newRange(lower, upper);
     Expect.equals(range, one & two);
   }
   
  
positive.code: 
    checkAndRange(nFF, FF, 1, 1);
    checkAndRange(nFF, FA, 0, 0);
    checkAndRange(nFF, nFF, -0xFF, -0xFF);
    checkAndRange(nFF, length, 0, length.upper);
    checkAndRange(nFF, _FA_FF, 0, 0xFF);
    checkAndRange(nFF, _0_FF, 0, 0xFF);
  
negative.code: 
  import "../../../lib/compiler/implementation/ssa/ssa.dart";
  import "../../../lib/compiler/implementation/dart2jslib.dart";
  import "../../../lib/compiler/implementation/js_backend/js_backend.dart";
  
  ValueRangeInfo info = new ValueRangeInfo(const JavaScriptConstantSystem());
  
  Value instructionValue = info.newInstructionValue(new HReturn(null));
  Value lengthValue = info.newLengthValue(new HReturn(null));
  
  Range createSingleRange(Value value) => info.newRange(value, value);
  Range createSingleIntRange(int value) => createSingleRange(info.newIntValue(value));
  Range createSingleInstructionRange() => createSingleRange(instructionValue);
  Range createSingleLengthRange() => createSingleRange(lengthValue);
  Range createIntRange(int lower, int upper) {
    return info.newRange(info.newIntValue(lower), info.newIntValue(upper));
  }
  Range createLengthRange(int lower) {
    return info.newRange(info.newIntValue(lower), lengthValue);
  }
  Range createInstructionRange(int lower) {
    return info.newRange(info.newIntValue(lower), instructionValue);
  }
  
  Range instruction = createSingleInstructionRange();
  