testDecoderARM d f s a = 
  do let f = armDecode
     rs <- fmap (take 100 . randoms) getStdGen
     let ws = map fromIntegral (rs :: [Int]) 
     insns <- disassemble "/Users/pumpkin/summon-arm-toolchain/sources/src/binutils/objdump" ["-b", "binary", "-m", "arm"] ws
     let ours = map f ws
     let tests = zipWith4 (\off w o u -> testCase (printf "0x%08x: 0x%08x %s" off w u) (ualMatches off o u)) [0,4..] ws ours insns
     return $ testGroup ("ARM decoder") tests
testDecoderARM d f s a = 
  do let f = armDecode
     rs <- fmap (take 100 . randoms) getStdGen
     let ws = map fromIntegral (rs :: [Int]) 
     insns <- disassemble "/Users/pumpkin/summon-arm-toolchain/sources/src/binutils/objdump" ["-b", "binary", "-m", "arm"] ws
     let ours = map f ws
     let tests = zipWith4 (\off w o u -> testCase (printf "0x%08x: 0x%08x %s" off w u) (ualMatches off o u)) [0,4..] ws ours insns
     return $ testGroup ("ARM decoder") tests
testDecoderARM d f s a = 
  do let f = armDecode
     rs <- fmap (take 100 . randoms) getStdGen
     let ws = map fromIntegral (rs :: [Int]) 
     insns <- disassemble "/Users/pumpkin/summon-arm-toolchain/sources/src/binutils/objdump" ["-b", "binary", "-m", "arm"] ws
     let ours = map f ws
     let tests = zipWith4 (\off w o u -> testCase (printf "0x%08x: 0x%08x %s" off w u) (ualMatches off o u)) [0,4..] ws ours insns
     return $ testGroup ("ARM decoder") tests