{-# OPTIONS_GHC -cpp -XMagicHash #-}
{- For Hugs, use the option -F"cpp -P -traditional" -}

{- IMPORTANT: If you change this file, make sure that running [cp
   Extraction_Haskell_String_12258.out Extraction_Haskell_String_12258.hs &&
   ghc -o test Extraction_Haskell_String_12258.hs] succeeds -}

module Main where

import qualified Prelude

#ifdef __GLASGOW_HASKELL__
import qualified GHC.Base
#if __GLASGOW_HASKELL__ >= 900
import qualified GHC.Exts
#endif
#else
-- HUGS
import qualified IOExts
#endif

#ifdef __GLASGOW_HASKELL__
unsafeCoerce :: a -> b
#if __GLASGOW_HASKELL__ >= 900
unsafeCoerce = GHC.Exts.unsafeCoerce#
#else
unsafeCoerce = GHC.Base.unsafeCoerce#
#endif
#else
-- HUGS
unsafeCoerce :: a -> b
unsafeCoerce = IOExts.unsafeCoerce
#endif

#ifdef __GLASGOW_HASKELL__
type Any = GHC.Base.Any
#else
-- HUGS
type Any = ()
#endif

data Output_type_code =
   Ascii_dec
 | Ascii_eqb
 | String_dec
 | String_eqb
 | Byte_eqb
 | Byte_eq_dec

type Output_type = Any

output :: Output_type_code -> Output_type
output c =
  case c of {
   Ascii_dec ->
    unsafeCoerce
      ((Prelude.==) :: Prelude.Char -> Prelude.Char -> Prelude.Bool);
   Ascii_eqb ->
    unsafeCoerce
      ((Prelude.==) :: Prelude.Char -> Prelude.Char -> Prelude.Bool);
   String_dec ->
    unsafeCoerce
      ((Prelude.==) :: Prelude.String -> Prelude.String -> Prelude.Bool);
   String_eqb ->
    unsafeCoerce
      ((Prelude.==) :: Prelude.String -> Prelude.String -> Prelude.Bool);
   Byte_eqb ->
    unsafeCoerce
      ((Prelude.==) :: Prelude.Char -> Prelude.Char -> Prelude.Bool);
   Byte_eq_dec ->
    unsafeCoerce
      ((Prelude.==) :: Prelude.Char -> Prelude.Char -> Prelude.Bool)}

type Coq__IO a = GHC.Base.IO a

main :: GHC.Base.IO ()
main =
   ((Prelude.>>=) (GHC.Base.return output) (\_ -> GHC.Base.return ()))


