/guava/android/guava/src/com/google/common/math/BigIntegerMath.java
checkRoundingUnnecessary( x.pow( 2).equals( sqrtFloor) ) ;
checkRoundingUnnecessary ( sqrtFloor.pow ( 2 ) .equals ( x ) ) ;
if (fitsInLong(x)) { return BigInteger.valueOf(LongMath.sqrt(x.longValue(), mode)); } BigInteger sqrtFloor = sqrtFloor(x); switch (mode) { case UNNECESSARY: <extra_id_0> case FLOOR: case DOWN: return sqrtFloor; case CEILING: case UP: int sqrtFloorInt = sqrtFloor.intValue();