mem :: Int -> Tree -> Bool -- testing 360 combinations of argument values -- pruning with 20/30 rules -- looking through 1 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 8 candidates of size 4 -- looking through 0 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 0 candidates of size 7 -- looking through 60 candidates of size 8 -- looking through 120 candidates of size 9 -- looking through 0 candidates of size 10 -- looking through 452 candidates of size 11 -- looking through 424 candidates of size 12 -- tested 707 candidates mem x Leaf = False mem x (Node t1 y t2) = mem x t1 || (x == y || mem x t2) mem :: Int -> Tree -> Bool -- testing 360 combinations of argument values -- pruning with 1/2 rules -- looking through 2 candidates of size 1 -- looking through 1 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 4 candidates of size 4 -- looking through 0 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 6 candidates of size 7 -- looking through 24 candidates of size 8 -- looking through 0 candidates of size 9 -- looking through 192 candidates of size 10 -- looking through 0 candidates of size 11 -- looking through 384 candidates of size 12 -- tested 375 candidates mem x Leaf = False mem x (Node t1 y t2) = case x `compare` y of LT -> mem x t1; EQ -> True; GT -> mem x t2 insert :: Int -> Tree -> Tree -- testing 360 combinations of argument values -- pruning with 6/7 rules -- looking through 2 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 10 candidates of size 4 -- looking through 21 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 118 candidates of size 7 -- looking through 239 candidates of size 8 -- looking through 216 candidates of size 9 -- looking through 2204 candidates of size 10 -- looking through 3651 candidates of size 11 -- looking through 8280 candidates of size 12 -- tested 14743 candidates cannot conjure before :: Int -> Tree -> Tree -- pruning with 5/6 rules -- looking through 2 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 10 candidates of size 4 -- looking through 21 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 118 candidates of size 7 -- looking through 239 candidates of size 8 -- looking through 216 candidates of size 9 -- looking through 2204 candidates of size 10 -- looking through 3651 candidates of size 11 -- looking through 8280 candidates of size 12 -- tested 14743 candidates cannot conjure before :: Int -> Tree -> Tree -- pruning with 2/4 rules -- looking through 2 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 10 candidates of size 4 -- looking through 21 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 94 candidates of size 7 -- looking through 287 candidates of size 8 -- looking through 72 candidates of size 9 -- looking through 1784 candidates of size 10 -- looking through 5103 candidates of size 11 -- looking through 3312 candidates of size 12 -- tested 10687 candidates cannot conjure beyond :: Int -> Tree -> Tree -- pruning with 2/4 rules -- looking through 2 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 10 candidates of size 4 -- looking through 21 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 94 candidates of size 7 -- looking through 287 candidates of size 8 -- looking through 72 candidates of size 9 -- looking through 1784 candidates of size 10 -- looking through 5103 candidates of size 11 -- looking through 3312 candidates of size 12 -- tested 10687 candidates cannot conjure union :: Tree -> Tree -> Tree -- testing 360 combinations of argument values -- pruning with 6/8 rules -- looking through 3 candidates of size 1 -- looking through 11 candidates of size 2 -- looking through 40 candidates of size 3 -- looking through 84 candidates of size 4 -- looking through 784 candidates of size 5 -- looking through 1032 candidates of size 6 -- looking through 8368 candidates of size 7 -- looking through 24890 candidates of size 8 -- looking through 75535 candidates of size 9 -- tested 110747 candidates cannot conjure