f <- function(n) {
evens <- 0
evens2 <- 0
odds <- 0
for (i in seq_len(n)) {
if (i %% 2 == 0) { # same logical as next if condition (can be merged)
evens <- evens + 1
}
if (i %% 2 == 0) {
evens2 <- evens2 + 1 # same as previous if condition (can be merged)
}
if (!(i %% 2 == 0)) { # exact negation as previous if (can be an else)
odds <- odds + 1
}
}
}
f_opt <- function(n) {
evens <- 0
evens2 <- 0
odds <- 0
for (i in seq_len(n)) {
if (i %% 2 == 0) { # merged
evens <- evens + 1
evens2 <- evens2 + 1
} else { # converted to else
odds <- odds + 1
}
}
}
f_c <- cmpfun(f)
f_opt_c <- cmpfun(f_opt)