add test to not call f again if there's no remainder