is.prime <- function(n) {
	if (length(n) != 1) stop("invalid argument")
	n <- trunc(n)

	if (n == 2) return(TRUE)
	if (n == 1 || n %% 2 == 0) return(FALSE)
	m <- 3
	while (m * m <= n) {
		if (n %% m == 0) return(FALSE)
		m <- m + 2
	}
	TRUE
}

is.prime(982451653)
is.prime(55827317081)
