third :: [Int] -> Int -- testing 360 combinations of argument values -- pruning with 14/25 rules -- 2 candidates of size 1 -- 1 candidates of size 2 -- 1 candidates of size 3 -- 4 candidates of size 4 -- tested 6 candidates third xs = head (tail (tail xs)) product :: [Int] -> Int -- testing 360 combinations of argument values -- pruning with 14/25 rules -- 2 candidates of size 1 -- 1 candidates of size 2 -- 1 candidates of size 3 -- 2 candidates of size 4 -- 10 candidates of size 5 -- tested 12 candidates product [] = 1 product (x:xs) = x * product xs product :: [Int] -> Int -- testing 360 combinations of argument values -- pruning with 15/26 rules -- 2 candidates of size 1 -- 1 candidates of size 2 -- 1 candidates of size 3 -- 5 candidates of size 4 -- tested 8 candidates product xs = foldr (*) 1 xs