gps1 :: [Int] -> Maybe Int -- testing 4 combinations of argument values -- pruning with 11/21 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 1 candidates of size 4 -- looking through 0 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 1 candidates of size 7 -- looking through 0 candidates of size 8 -- looking through 1 candidates of size 9 -- looking through 2 candidates of size 10 -- tested 5 candidates gps1 xs = findIndex (0 >) (map (foldr (+) 0) (tail (inits xs))) gps1 :: [Int] -> Maybe Int -- testing 4 combinations of argument values -- pruning with 11/21 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 1 candidates of size 4 -- looking through 1 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 1 candidates of size 7 -- looking through 4 candidates of size 8 -- tested 6 candidates gps1 xs = findIndex (0 >) (map sum (tail (inits xs))) gps1 :: Int -> [Int] -> Int -- testing 6 combinations of argument values -- pruning with 8/9 rules -- looking through 4 candidates of size 1 -- looking through 24 candidates of size 2 -- looking through 75 candidates of size 3 -- looking through 216 candidates of size 4 -- tested 319 candidates cannot conjure gps2 :: Double -> Double -> Int -> Double -- testing 5 combinations of argument values -- pruning with 2/6 rules -- looking through 2 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 18 candidates of size 3 -- looking through 66 candidates of size 4 -- looking through 316 candidates of size 5 -- looking through 1376 candidates of size 6 -- tested 1780 candidates cannot conjure gps3 :: [Char] -> Int -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- tested 0 candidates cannot conjure gps4 :: [Char] -> [Char] -- pruning with 13/21 rules -- looking through 2 candidates of size 1 -- looking through 3 candidates of size 2 -- looking through 8 candidates of size 3 -- looking through 20 candidates of size 4 -- looking through 51 candidates of size 5 -- looking through 119 candidates of size 6 -- tested 203 candidates cannot conjure gps5 :: Int -> [Int] -- testing 6 combinations of argument values -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- tested 0 candidates cannot conjure tell :: [Int] -> Int -> [Int] -- pruning with 0/0 rules -- looking through 2 candidates of size 1 -- looking through 1 candidates of size 2 -- looking through 2 candidates of size 3 -- looking through 6 candidates of size 4 -- looking through 6 candidates of size 5 -- looking through 39 candidates of size 6 -- looking through 26 candidates of size 7 -- looking through 328 candidates of size 8 -- looking through 134 candidates of size 9 -- looking through 3229 candidates of size 10 -- tested 783 candidates tell [] x = [] tell (x:xs) y = y `div` x:tell xs (y `mod` x) gps5 :: Int -> [Int] -- testing 6 combinations of argument values -- pruning with 0/0 rules -- looking through 1 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 1 candidates of size 3 -- tested 2 candidates gps5 x = tell [25,10,5,1] x gps5 :: Int -> [Int] -- testing 6 combinations of argument values -- pruning with 12/12 rules -- looking through 1 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 5 candidates of size 3 -- looking through 9 candidates of size 4 -- looking through 45 candidates of size 5 -- looking through 82 candidates of size 6 -- looking through 428 candidates of size 7 -- looking through 882 candidates of size 8 -- looking through 4350 candidates of size 9 -- looking through 9232 candidates of size 10 -- looking through 43847 candidates of size 11 -- tested 32290 candidates gps5 x = tell [25,10,5,1] x gps6 :: [Int] -> Int -- testing 360 combinations of argument values -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- looking through 1 candidates of size 2 -- tested 1 candidates cannot conjure gps7 :: Integer -> Integer -> Ratio Integer -- testing 6 combinations of argument values -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- tested 0 candidates cannot conjure gps8 :: Int -> [Int] -> (Int,Int) -- testing 3 combinations of argument values -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- tested 0 candidates cannot conjure gps9 :: Int -> [Char] -- testing 7 combinations of argument values -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- tested 0 candidates cannot conjure gps10 :: [Int] -> Int -- testing 7 combinations of argument values -- pruning with 67/100 rules -- looking through 4 candidates of size 1 -- looking through 16 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 68 candidates of size 4 -- looking through 80 candidates of size 5 -- looking through 980 candidates of size 6 -- looking through 1428 candidates of size 7 -- looking through 17324 candidates of size 8 -- looking through 30724 candidates of size 9 -- tested 25024 candidates gps10 [] = 0 gps10 (x:xs) = gps10 xs + (x `div` 3 - 2) gcd :: Int -> Int -> Int -- testing 11 combinations of argument values -- pruning with 0/0 rules -- looking through 3 candidates of size 1 -- looking through 6 candidates of size 2 -- looking through 11 candidates of size 3 -- looking through 50 candidates of size 4 -- looking through 98 candidates of size 5 -- looking through 344 candidates of size 6 -- tested 173 candidates gcd x 0 = x gcd x y = gcd y (x `mod` y) gps12 :: [Char] -> [Char] -> [Int] -- testing 5 combinations of argument values -- pruning with 1/2 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 0 candidates of size 4 -- looking through 4 candidates of size 5 -- tested 3 candidates gps12 cs ds = findIndices (ds `isPrefixOf`) (tails cs) gps13_leaders :: [Int] -> [Int] -- testing 4 combinations of argument values -- pruning with 5/5 rules -- looking through 2 candidates of size 1 -- looking through 1 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 2 candidates of size 4 -- looking through 1 candidates of size 5 -- looking through 2 candidates of size 6 -- looking through 1 candidates of size 7 -- looking through 4 candidates of size 8 -- looking through 7 candidates of size 9 -- looking through 21 candidates of size 10 -- looking through 34 candidates of size 11 -- looking through 67 candidates of size 12 -- tested 82 candidates gps13_leaders [] = [] gps13_leaders (x:xs) = if all (x >) xs then x:gps13_leaders xs else gps13_leaders xs gps14_luhn :: [Int] -> Int -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- tested 0 candidates cannot conjure gps15_mastermind :: () -> () -- pruning with 0/1 rules -- looking through 1 candidates of size 1 -- tested 1 candidates gps15_mastermind u = u gps16_middle :: [Char] -> [Char] -- testing 7 combinations of argument values -- pruning with 10/11 rules -- looking through 2 candidates of size 1 -- looking through 3 candidates of size 2 -- looking through 6 candidates of size 3 -- looking through 10 candidates of size 4 -- looking through 19 candidates of size 5 -- looking through 32 candidates of size 6 -- looking through 59 candidates of size 7 -- looking through 124 candidates of size 8 -- looking through 305 candidates of size 9 -- looking through 822 candidates of size 10 -- looking through 2276 candidates of size 11 -- looking through 6273 candidates of size 12 -- tested 3956 candidates gps16_middle "" = "" gps16_middle (c:cs) = if length cs <= 1 then c:cs else gps16_middle (init cs) gps17_pds :: [Int] -> Int -- testing 5 combinations of argument values -- pruning with 29/40 rules -- looking through 1 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 1 candidates of size 3 -- looking through 1 candidates of size 4 -- looking through 3 candidates of size 5 -- tested 8 candidates cannot conjure gps18_price :: [Double] -> [Double] -> Double -- testing 4 combinations of argument values -- pruning with 26/35 rules -- looking through 2 candidates of size 1 -- looking through 8 candidates of size 2 -- looking through 32 candidates of size 3 -- looking through 74 candidates of size 4 -- looking through 433 candidates of size 5 -- looking through 1218 candidates of size 6 -- tested 1767 candidates cannot conjure gps19_snowday :: Int -> Double -> Double -> Double -> Double -- testing 7 combinations of argument values -- pruning with 6/19 rules -- looking through 3 candidates of size 1 -- looking through 6 candidates of size 2 -- looking through 27 candidates of size 3 -- looking through 138 candidates of size 4 -- looking through 435 candidates of size 5 -- looking through 2715 candidates of size 6 -- tested 3324 candidates cannot conjure gps20 :: [Char] -> Bool -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- tested 0 candidates cannot conjure spin :: [Char] -> [Char] -- pruning with 6/6 rules -- reasoning produced 1 incorrect properties, please re-run with more tests for faster results -- looking through 1 candidates of size 1 -- looking through 1 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 0 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 4 candidates of size 8 -- tested 3 candidates spin cs = if length cs >= 5 then reverse cs else cs gps21_spinwords :: [Char] -> [Char] -- pruning with 16/16 rules -- reasoning produced 2 incorrect properties, please re-run with more tests for faster results -- looking through 1 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 2 candidates of size 3 -- looking through 3 candidates of size 4 -- looking through 5 candidates of size 5 -- tested 12 candidates gps21_spinwords cs = unwords (map spin (words cs)) digits :: Int -> [Int] -- testing 5 combinations of argument values -- pruning with 7/7 rules -- looking through 1 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 2 candidates of size 3 -- looking through 3 candidates of size 4 -- looking through 11 candidates of size 5 -- looking through 13 candidates of size 6 -- looking through 91 candidates of size 7 -- looking through 104 candidates of size 8 -- looking through 850 candidates of size 9 -- looking through 923 candidates of size 10 -- looking through 8902 candidates of size 11 -- looking through 9662 candidates of size 12 -- tested 20562 candidates cannot conjure gps22 :: Int -> [Char] -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- tested 0 candidates cannot conjure gps23 :: [Char] -> [Char] -> [Char] -> [Char] -- pruning with 0/0 rules -- looking through 3 candidates of size 1 -- looking through 12 candidates of size 2 -- looking through 33 candidates of size 3 -- looking through 36 candidates of size 4 -- looking through 127 candidates of size 5 -- looking through 507 candidates of size 6 -- looking through 839 candidates of size 7 -- looking through 784 candidates of size 8 -- looking through 600 candidates of size 9 -- looking through 2722 candidates of size 10 -- looking through 5292 candidates of size 11 -- looking through 2832 candidates of size 12 -- tested 13787 candidates cannot conjure gps24 :: [Char] -> Twitter -- pruning with 4/8 rules -- reasoning produced 4 incorrect properties, please re-run with more tests for faster results -- looking through 2 candidates of size 1 -- looking through 3 candidates of size 2 -- looking through 6 candidates of size 3 -- looking through 6 candidates of size 4 -- looking through 3 candidates of size 5 -- looking through 5 candidates of size 6 -- looking through 10 candidates of size 7 -- looking through 48 candidates of size 8 -- looking through 134 candidates of size 9 -- looking through 224 candidates of size 10 -- looking through 314 candidates of size 11 -- looking through 479 candidates of size 12 -- tested 908 candidates gps24 "" = Empty gps24 (c:cs) = if 140 > length cs then Tweet (length (c:cs)) else TooMany gps25 :: [Double] -> [Double] -> Double -- testing 6 combinations of argument values -- pruning with 31/59 rules -- looking through 2 candidates of size 1 -- looking through 9 candidates of size 2 -- looking through 49 candidates of size 3 -- looking through 200 candidates of size 4 -- looking through 1104 candidates of size 5 -- looking through 5170 candidates of size 6 -- tested 6534 candidates cannot conjure