nl_tokens: Returns the product of { @code a } and { @code b } provided the result fits into an { @code int } .
pl_tokens: public static int safeMultiply ( int a , int b ) { if ( a == 0 || b == 0 ) { return 0 ; } long <mask> = a < 0 == b < 0 ? Integer . MAX_VALUE : Integer . MIN_VALUE ; if ( ( b > 0 && b > max / a ) || ( b < 0 && b < max / a ) ) { throw new ArithmeticException ( "Int overflow: " + a + " * " + b ) ; } return a * b ; }