bottom :: Int
bottom  =  error "could not reify specification, suggestion: conjureFromSpec"

bottom :: Int
-- pruning with 0/0 rules
-- 1 candidates of size 1
-- tested 1 candidates
bottom  =  undefined

isq :: Bool -> Int -> Int
-- testing 360 combinations of argument values
-- pruning with 56/91 rules
-- 3 candidates of size 1
-- 0 candidates of size 2
-- 3 candidates of size 3
-- 6 candidates of size 4
-- 8 candidates of size 5
-- 48 candidates of size 6
-- 63 candidates of size 7
-- 301 candidates of size 8
-- tested 432 candidates
isq False 0  =  0
isq False x  =  x + 1
isq True 0  =  1
isq True x  =  x * x

(^^^) :: Int -> Int -> Int
-- testing 360 combinations of argument values
-- pruning with 56/91 rules
-- 4 candidates of size 1
-- 0 candidates of size 2
-- 9 candidates of size 3
-- tested 13 candidates
0 ^^^ x  =  x
x ^^^ 0  =  x
x ^^^ y  =  0

(^^^) :: Int -> Int -> Int
-- testing 360 combinations of argument values
-- pruning with 56/91 rules
-- 4 candidates of size 1
-- 0 candidates of size 2
-- 9 candidates of size 3
-- 0 candidates of size 4
-- 39 candidates of size 5
-- 60 candidates of size 6
-- 222 candidates of size 7
-- 996 candidates of size 8
-- 1266 candidates of size 9
-- 11700 candidates of size 10
-- tested 11507 candidates
x ^^^ y  =  if 0 == x * y
            then x + y
            else 0

