slow <- function(n=3) { for (i in seq_len(n * 1000000)) {} TRUE } fast <- fast1 <- fast2 <- function(n=1) { for (i in seq_len(n * 1000000)) {} TRUE } f4 <- function() { ## heavy calculation ahead, so see if necessary if (!slow()) # check, usually fails return() if (fast()) # check, usually succeeds return() slow(); slow(); slow(); }