library(gmp) tupper <- function(x, y) { yd17 <- as.bigz(y) %/% 17 ym17 <- as.bigz(y) %% 17 as.integer(1/2 < as.bigz(as.bigq(yd17)*as.bigq((2^(-17*as.bigz(x)-ym17)))) %% 2) } tupper.gen <- function(xs=0:105, ys=0:16, n= as.bigq("960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719")) { dat <- `names<-`(expand.grid(xs, ys), c("x", "y")) dat$v <- mapply(function(x, y) tupper(x, y+n), dat$x, dat$y) dat } tupdat <- tupper.gen() pdf("tupper.pdf", width=7, height=2) par(pch=20) par(pin=c(5,1)) plot(-tupdat$x[tupdat$v==1], -tupdat$y[tupdat$v==1], xlab="", ylab="") dev.off()