private static byte guardCombine(OPT_Instruction s) {
private static DefUseEffect guardCombine(OPT_Instruction s) {
  private static byte guardCombine(OPT_Instruction s) {    OPT_Operand op1 = Binary.getVal1(s);    OPT_Operand op2 = Binary.getVal2(s);    if (op1.similar(op2) || (op2 instanceof OPT_TrueGuardOperand)) {      Move.mutate(s, GUARD_MOVE, Binary.getClearResult(s), op1);      if (op1 instanceof OPT_TrueGuardOperand) {        // BOTH true guards: FOLD        return MOVE_FOLDED;      } else {        // ONLY OP2 IS TrueGuard: MOVE REDUCE        return MOVE_REDUCED;      }    }    else if(op1 instanceof OPT_TrueGuardOperand) {      // ONLY OP1 IS TrueGuard: MOVE REDUCE      Move.mutate(s, GUARD_MOVE, Binary.getClearResult(s), op2);      return MOVE_REDUCED;    }    else {      return UNCHANGED;    }  }