comefrom: <gouthampradhan>bit_manipulation_DivideTwoIntegers_1.java
code: public int divide(int dividend, int divisor) {
      if (divisor == 0) return Integer.MAX_VALUE;
      else if (dividend == Integer.MIN_VALUE && divisor == -1) return Integer.MAX_VALUE;
      else if (divisor == 1) return dividend;
      boolean isNegative = ((dividend < 0 && divisor > 0) || (dividend > 0 && divisor < 0));
      dividend = (dividend < 0) ? -dividend : dividend;
      divisor = (divisor < 0) ? -divisor : divisor;
      int sum, result = 0;
      while (true) {
        int d1 = divisor;
        sum = 0;
        if (dividend - d1 == 0) {
          sum += 1;
          result += sum;
          break;
        }
        if (dividend - d1 < 0) break;
        while (dividend - (d1 << 1) > 0) {
          d1 <<= 1;
          sum += 1;
        }
        result += (1 << sum);
        dividend = dividend - d1;
      }
      return isNegative ? -result : result;
    }
masked: public int sample_funcname ( int var_0 , int var_1 ) {
    if ( var_1 == 0 ) return Integer . MAX_VALUE ;
    else if ( var_0 == Integer . MIN_VALUE && var_1 == - 1 ) return Integer . MAX_VALUE ;
    else if ( var_1 == 1 ) return var_0 ;
    boolean var_8 = ( ( var_0 < 0 && var_1 > 0 ) || ( var_0 > 0 && var_1 < 0 ) ) ;
    var_0 = ( var_0 < 0 ) ? - var_0 : var_0 ;
    var_1 = ( var_1 < 0 ) ? - var_1 : var_1 ;
    int var_9 , var_10 = 0 ;
    while ( true ) {
      int var_11 = var_1 ;
      var_9 = 0 ;
      if ( var_0 - var_11 == 0 ) {
        var_9 += 1 ;
        var_10 += var_9 ;
        break ;
      }
      if ( var_0 - var_11 < 0 ) break ;
      while ( var_0 - ( var_11 << 1 ) > 0 ) {
        var_11 <<= 1 ;
        var_9 += 1 ;
      }
      var_10 += ( 1 << var_9 ) ;
      var_0 = var_0 - var_11 ;
    }
    return var_8 ? - var_10 : var_10 ;
  }
  