-- Test suite
testSuite :: SBVTestSuite
testSuite = mkTestSuite $ \goldCheck -> test [
  "crcPolyExist" ~: pgm `goldCheck` "crcPolyExist.gold"
 ]
 where pgm = runSymbolic (True, Nothing) $ do
                p <- exists "poly"
                s <- do sh <- forall "sh"
                        sl <- forall "sl"
                        return (sh, sl)
                r <- do rh <- forall "rh"
                        rl <- forall "rl"
                        return (rh, rl)
                output $ sbvTestBit p 0 &&& crcGood 4 p s r
testSuite :: SBVTestSuite
testSuite = mkTestSuite $ \goldCheck -> test [
  "crcPolyExist" ~: pgm `goldCheck` "crcPolyExist.gold"
 ]
 where pgm = runSymbolic (True, Nothing) $ do
                p <- exists "poly"
                s <- do sh <- forall "sh"
                        sl <- forall "sl"
                        return (sh, sl)
                r <- do rh <- forall "rh"
                        rl <- forall "rl"
                        return (rh, rl)
                output $ sbvTestBit p 0 &&& crcGood 4 p s r
testSuite = mkTestSuite $ \goldCheck -> test [
  "crcPolyExist" ~: pgm `goldCheck` "crcPolyExist.gold"
 ]
 where pgm = runSymbolic (True, Nothing) $ do
                p <- exists "poly"
                s <- do sh <- forall "sh"
                        sl <- forall "sl"
                        return (sh, sl)
                r <- do rh <- forall "rh"
                        rl <- forall "rl"
                        return (rh, rl)
                output $ sbvTestBit p 0 &&& crcGood 4 p s r