gcd :: Int -> Int -> Int
-- testing 11 combinations of argument values
-- pruning with 0/0 rules
-- 3 candidates of size 1
-- 6 candidates of size 2
-- 11 candidates of size 3
-- 50 candidates of size 4
-- 98 candidates of size 5
-- 330 candidates of size 6
-- tested 172 candidates
gcd x 0  =  x
gcd x y  =  gcd y (x `mod` y)

