negate :: Int -> Int -- testing 4 combinations of argument values -- pruning with 64/99 rules -- 4 candidates of size 1 -- 0 candidates of size 2 -- 5 candidates of size 3 -- tested 8 candidates negate x = 0 - x abs :: Int -> Int -- testing 4 combinations of argument values -- pruning with 64/99 rules -- 4 candidates of size 1 -- 0 candidates of size 2 -- 5 candidates of size 3 -- 0 candidates of size 4 -- 19 candidates of size 5 -- 48 candidates of size 6 -- 109 candidates of size 7 -- 253 candidates of size 8 -- tested 249 candidates abs x | 0 < x = x | otherwise = 0 - x signum :: Int -> Int -- testing 7 combinations of argument values -- pruning with 64/99 rules -- 4 candidates of size 1 -- 0 candidates of size 2 -- 5 candidates of size 3 -- 0 candidates of size 4 -- 19 candidates of size 5 -- 48 candidates of size 6 -- 97 candidates of size 7 -- tested 163 candidates signum 0 = 0 signum x | x < 0 = -1 | otherwise = 1 compare :: Int -> Int -> Ordering -- testing 9 combinations of argument values -- pruning with 5/6 rules -- 3 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 0 candidates of size 4 -- 0 candidates of size 5 -- 18 candidates of size 6 -- 0 candidates of size 7 -- 0 candidates of size 8 -- 0 candidates of size 9 -- 0 candidates of size 10 -- 162 candidates of size 11 -- tested 31 candidates compare x y | x == y = EQ | x < y = LT | otherwise = GT min :: Int -> Int -> Int -> Int -- testing 6 combinations of argument values -- pruning with 4/4 rules -- 3 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 0 candidates of size 4 -- 0 candidates of size 5 -- 36 candidates of size 6 -- 0 candidates of size 7 -- 0 candidates of size 8 -- 0 candidates of size 9 -- 0 candidates of size 10 -- 2592 candidates of size 11 -- 0 candidates of size 12 -- 0 candidates of size 13 -- 0 candidates of size 14 -- 0 candidates of size 15 -- 248400 candidates of size 16 -- tested 49553 candidates min x y z = if x <= y then if x <= z then x else z else if y <= z then y else z max :: Int -> Int -> Int -> Int -- testing 6 combinations of argument values -- pruning with 4/4 rules -- 3 candidates of size 1 -- 0 candidates of size 2 -- 0 candidates of size 3 -- 0 candidates of size 4 -- 0 candidates of size 5 -- 36 candidates of size 6 -- 0 candidates of size 7 -- 0 candidates of size 8 -- 0 candidates of size 9 -- 0 candidates of size 10 -- 2592 candidates of size 11 -- 0 candidates of size 12 -- 0 candidates of size 13 -- 0 candidates of size 14 -- 0 candidates of size 15 -- 248400 candidates of size 16 -- tested 50103 candidates max x y z = if x <= y then if y <= z then z else y else if x <= z then z else x