    module GHC.Platform.Constants where

    import Prelude
    import Data.Char

    data PlatformConstants = PlatformConstants {
          PlatformConstants -> Int
    pc_CONTROL_GROUP_CONST_291 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_STD_HDR_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_PROF_HDR_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_BLOCK_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_BLOCKS_PER_MBLOCK :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_TICKY_BIN_COUNT :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR2 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR3 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR4 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR5 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR6 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR7 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR8 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR9 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rR10 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rF1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rF2 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rF3 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rF4 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rF5 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rF6 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rD1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rD2 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rD3 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rD4 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rD5 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rD6 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rXMM1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rXMM2 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rXMM3 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rXMM4 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rXMM5 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rXMM6 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rYMM1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rYMM2 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rYMM3 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rYMM4 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rYMM5 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rYMM6 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rZMM1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rZMM2 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rZMM3 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rZMM4 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rZMM5 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rZMM6 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rL1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rSp :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rSpLim :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rHp :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rHpLim :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rCCCS :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rCurrentTSO :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rCurrentNursery :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgRegTable_rHpAlloc :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_stgEagerBlackholeInfo :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_stgGCEnter1 :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_stgGCFun :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_Capability_r :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_bdescr_start :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_bdescr_free :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_bdescr_blocks :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_bdescr_flags :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_CostCentreStack :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_CostCentreStack_mem_alloc :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_REP_CostCentreStack_mem_alloc :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_CostCentreStack_scc_count :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_REP_CostCentreStack_scc_count :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgHeader_ccs :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgHeader_ldvw :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_StgSMPThunkHeader :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgEntCounter_allocs :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_REP_StgEntCounter_allocs :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgEntCounter_allocd :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_REP_StgEntCounter_allocd :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgEntCounter_registeredp :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgEntCounter_link :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgEntCounter_entry_count :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_StgUpdateFrame_NoHdr :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_StgMutArrPtrs_NoHdr :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgMutArrPtrs_ptrs :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgMutArrPtrs_size :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_StgSmallMutArrPtrs_NoHdr :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgSmallMutArrPtrs_ptrs :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_StgArrBytes_NoHdr :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgArrBytes_bytes :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgTSO_alloc_limit :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgTSO_cccs :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgTSO_stackobj :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgStack_sp :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgStack_stack :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgUpdateFrame_updatee :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgFunInfoExtraFwd_arity :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_REP_StgFunInfoExtraFwd_arity :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_SIZEOF_StgFunInfoExtraRev :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_OFFSET_StgFunInfoExtraRev_arity :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_REP_StgFunInfoExtraRev_arity :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_SPEC_SELECTEE_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_SPEC_AP_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MIN_PAYLOAD_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MIN_INTLIKE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_INTLIKE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MIN_CHARLIKE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_CHARLIKE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MUT_ARR_PTRS_CARD_BITS :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Vanilla_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Float_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Double_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Long_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_XMM_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Real_Vanilla_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Real_Float_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Real_Double_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Real_XMM_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_MAX_Real_Long_REG :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_RESERVED_C_STACK_BYTES :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_RESERVED_STACK_WORDS :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_AP_STACK_SPLIM :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_WORD_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_CINT_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_CLONG_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_CLONG_LONG_SIZE :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_BITMAP_BITS_SHIFT :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_TAG_BITS :: {-# UNPACK #-} !Int,
          PlatformConstants -> Int
    pc_LDV_SHIFT :: {-# UNPACK #-} !Int,
          PlatformConstants -> Integer
    pc_ILDV_CREATE_MASK :: !Integer,
          PlatformConstants -> Integer
    pc_ILDV_STATE_CREATE :: !Integer,
          PlatformConstants -> Integer
    pc_ILDV_STATE_USE :: !Integer
      } deriving (Int -> PlatformConstants -> ShowS
    [PlatformConstants] -> ShowS
    PlatformConstants -> String
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [PlatformConstants] -> ShowS
    $cshowList :: [PlatformConstants] -> ShowS
    show :: PlatformConstants -> String
    $cshow :: PlatformConstants -> String
    showsPrec :: Int -> PlatformConstants -> ShowS
    $cshowsPrec :: Int -> PlatformConstants -> ShowS
    Show,ReadPrec [PlatformConstants]
    ReadPrec PlatformConstants
    Int -> ReadS PlatformConstants
    ReadS [PlatformConstants]
    forall a.
    (Int -> ReadS a)
    -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
    readListPrec :: ReadPrec [PlatformConstants]
    $creadListPrec :: ReadPrec [PlatformConstants]
    readPrec :: ReadPrec PlatformConstants
    $creadPrec :: ReadPrec PlatformConstants
    readList :: ReadS [PlatformConstants]
    $creadList :: ReadS [PlatformConstants]
    readsPrec :: Int -> ReadS PlatformConstants
    $creadsPrec :: Int -> ReadS PlatformConstants
    Read,PlatformConstants -> PlatformConstants -> Bool
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: PlatformConstants -> PlatformConstants -> Bool
    $c/= :: PlatformConstants -> PlatformConstants -> Bool
    == :: PlatformConstants -> PlatformConstants -> Bool
    $c== :: PlatformConstants -> PlatformConstants -> Bool
    Eq)

    parseConstantsHeader :: FilePath -> IO PlatformConstants
    parseConstantsHeader :: String -> IO PlatformConstants
    parseConstantsHeader String
    fp = do
      String
    s <- String -> IO String
    readFile String
    fp
      let def :: String
    def = String
    "#define HS_CONSTANTS \""
          find :: String -> ShowS
    find [] String
    xs = String
    xs
          find String
    _  [] = forall a. HasCallStack => String -> a
    error forall a b. (a -> b) -> a -> b
    $ String
    "Couldn't find " forall a. [a] -> [a] -> [a]
    ++ String
    def forall a. [a] -> [a] -> [a]
    ++ String
    " in " forall a. [a] -> [a] -> [a]
    ++ String
    fp
          find (Char
    d:String
    ds) (Char
    x:String
    xs)
            | Char
    d forall a. Eq a => a -> a -> Bool
    == Char
    x    = String -> ShowS
    find String
    ds String
    xs
            | Bool
    otherwise = String -> ShowS
    find String
    def String
    xs

          readVal' :: Bool -> Integer -> String -> [Integer]
          readVal' :: Bool -> Integer -> String -> [Integer]
    readVal' Bool
    n     Integer
    c (Char
    x:String
    xs) = case Char
    x of
            Char
    '"' -> [if Bool
    n then forall a. Num a => a -> a
    negate Integer
    c else Integer
    c]
            Char
    '-' -> Bool -> Integer -> String -> [Integer]
    readVal' Bool
    True Integer
    c String
    xs
            Char
    ',' -> (if Bool
    n then forall a. Num a => a -> a
    negate Integer
    c else Integer
    c) forall a. a -> [a] -> [a]
    : Bool -> Integer -> String -> [Integer]
    readVal' Bool
    False Integer
    0 String
    xs
            Char
    _   -> Bool -> Integer -> String -> [Integer]
    readVal' Bool
    n (Integer
    cforall a. Num a => a -> a -> a
    *Integer
    10 forall a. Num a => a -> a -> a
    + forall a b. (Integral a, Num b) => a -> b
    fromIntegral (Char -> Int
    ord Char
    x forall a. Num a => a -> a -> a
    - Char -> Int
    ord Char
    '0')) String
    xs
          readVal' Bool
    n     Integer
    c []     = [if Bool
    n then forall a. Num a => a -> a
    negate Integer
    c else Integer
    c]

          readVal :: String -> [Integer]
    readVal = Bool -> Integer -> String -> [Integer]
    readVal' Bool
    False Integer
    0

      forall (m :: * -> *) a. Monad m => a -> m a
    return forall a b. (a -> b) -> a -> b
    $! case String -> [Integer]
    readVal (String -> ShowS
    find String
    def String
    s) of
        [Integer
    v0,Integer
    v1,Integer
    v2,Integer
    v3,Integer
    v4,Integer
    v5,Integer
    v6,Integer
    v7,Integer
    v8,Integer
    v9,Integer
    v10,Integer
    v11,Integer
    v12,Integer
    v13,Integer
    v14,Integer
    v15
         ,Integer
    v16,Integer
    v17,Integer
    v18,Integer
    v19,Integer
    v20,Integer
    v21,Integer
    v22,Integer
    v23,Integer
    v24,Integer
    v25,Integer
    v26,Integer
    v27,Integer
    v28,Integer
    v29,Integer
    v30,Integer
    v31
         ,Integer
    v32,Integer
    v33,Integer
    v34,Integer
    v35,Integer
    v36,Integer
    v37,Integer
    v38,Integer
    v39,Integer
    v40,Integer
    v41,Integer
    v42,Integer
    v43,Integer
    v44,Integer
    v45,Integer
    v46,Integer
    v47
         ,Integer
    v48,Integer
    v49,Integer
    v50,Integer
    v51,Integer
    v52,Integer
    v53,Integer
    v54,Integer
    v55,Integer
    v56,Integer
    v57,Integer
    v58,Integer
    v59,Integer
    v60,Integer
    v61,Integer
    v62,Integer
    v63
         ,Integer
    v64,Integer
    v65,Integer
    v66,Integer
    v67,Integer
    v68,Integer
    v69,Integer
    v70,Integer
    v71,Integer
    v72,Integer
    v73,Integer
    v74,Integer
    v75,Integer
    v76,Integer
    v77,Integer
    v78,Integer
    v79
         ,Integer
    v80,Integer
    v81,Integer
    v82,Integer
    v83,Integer
    v84,Integer
    v85,Integer
    v86,Integer
    v87,Integer
    v88,Integer
    v89,Integer
    v90,Integer
    v91,Integer
    v92,Integer
    v93,Integer
    v94,Integer
    v95
         ,Integer
    v96,Integer
    v97,Integer
    v98,Integer
    v99,Integer
    v100,Integer
    v101,Integer
    v102,Integer
    v103,Integer
    v104,Integer
    v105,Integer
    v106,Integer
    v107,Integer
    v108,Integer
    v109,Integer
    v110,Integer
    v111
         ,Integer
    v112,Integer
    v113,Integer
    v114,Integer
    v115,Integer
    v116,Integer
    v117,Integer
    v118,Integer
    v119,Integer
    v120,Integer
    v121,Integer
    v122,Integer
    v123,Integer
    v124,Integer
    v125,Integer
    v126,Integer
    v127
         ] -> PlatformConstants
                { pc_CONTROL_GROUP_CONST_291 :: Int
    pc_CONTROL_GROUP_CONST_291 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v0
                , pc_STD_HDR_SIZE :: Int
    pc_STD_HDR_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v1
                , pc_PROF_HDR_SIZE :: Int
    pc_PROF_HDR_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v2
                , pc_BLOCK_SIZE :: Int
    pc_BLOCK_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v3
                , pc_BLOCKS_PER_MBLOCK :: Int
    pc_BLOCKS_PER_MBLOCK = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v4
                , pc_TICKY_BIN_COUNT :: Int
    pc_TICKY_BIN_COUNT = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v5
                , pc_OFFSET_StgRegTable_rR1 :: Int
    pc_OFFSET_StgRegTable_rR1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v6
                , pc_OFFSET_StgRegTable_rR2 :: Int
    pc_OFFSET_StgRegTable_rR2 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v7
                , pc_OFFSET_StgRegTable_rR3 :: Int
    pc_OFFSET_StgRegTable_rR3 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v8
                , pc_OFFSET_StgRegTable_rR4 :: Int
    pc_OFFSET_StgRegTable_rR4 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v9
                , pc_OFFSET_StgRegTable_rR5 :: Int
    pc_OFFSET_StgRegTable_rR5 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v10
                , pc_OFFSET_StgRegTable_rR6 :: Int
    pc_OFFSET_StgRegTable_rR6 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v11
                , pc_OFFSET_StgRegTable_rR7 :: Int
    pc_OFFSET_StgRegTable_rR7 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v12
                , pc_OFFSET_StgRegTable_rR8 :: Int
    pc_OFFSET_StgRegTable_rR8 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v13
                , pc_OFFSET_StgRegTable_rR9 :: Int
    pc_OFFSET_StgRegTable_rR9 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v14
                , pc_OFFSET_StgRegTable_rR10 :: Int
    pc_OFFSET_StgRegTable_rR10 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v15
                , pc_OFFSET_StgRegTable_rF1 :: Int
    pc_OFFSET_StgRegTable_rF1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v16
                , pc_OFFSET_StgRegTable_rF2 :: Int
    pc_OFFSET_StgRegTable_rF2 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v17
                , pc_OFFSET_StgRegTable_rF3 :: Int
    pc_OFFSET_StgRegTable_rF3 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v18
                , pc_OFFSET_StgRegTable_rF4 :: Int
    pc_OFFSET_StgRegTable_rF4 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v19
                , pc_OFFSET_StgRegTable_rF5 :: Int
    pc_OFFSET_StgRegTable_rF5 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v20
                , pc_OFFSET_StgRegTable_rF6 :: Int
    pc_OFFSET_StgRegTable_rF6 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v21
                , pc_OFFSET_StgRegTable_rD1 :: Int
    pc_OFFSET_StgRegTable_rD1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v22
                , pc_OFFSET_StgRegTable_rD2 :: Int
    pc_OFFSET_StgRegTable_rD2 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v23
                , pc_OFFSET_StgRegTable_rD3 :: Int
    pc_OFFSET_StgRegTable_rD3 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v24
                , pc_OFFSET_StgRegTable_rD4 :: Int
    pc_OFFSET_StgRegTable_rD4 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v25
                , pc_OFFSET_StgRegTable_rD5 :: Int
    pc_OFFSET_StgRegTable_rD5 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v26
                , pc_OFFSET_StgRegTable_rD6 :: Int
    pc_OFFSET_StgRegTable_rD6 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v27
                , pc_OFFSET_StgRegTable_rXMM1 :: Int
    pc_OFFSET_StgRegTable_rXMM1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v28
                , pc_OFFSET_StgRegTable_rXMM2 :: Int
    pc_OFFSET_StgRegTable_rXMM2 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v29
                , pc_OFFSET_StgRegTable_rXMM3 :: Int
    pc_OFFSET_StgRegTable_rXMM3 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v30
                , pc_OFFSET_StgRegTable_rXMM4 :: Int
    pc_OFFSET_StgRegTable_rXMM4 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v31
                , pc_OFFSET_StgRegTable_rXMM5 :: Int
    pc_OFFSET_StgRegTable_rXMM5 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v32
                , pc_OFFSET_StgRegTable_rXMM6 :: Int
    pc_OFFSET_StgRegTable_rXMM6 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v33
                , pc_OFFSET_StgRegTable_rYMM1 :: Int
    pc_OFFSET_StgRegTable_rYMM1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v34
                , pc_OFFSET_StgRegTable_rYMM2 :: Int
    pc_OFFSET_StgRegTable_rYMM2 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v35
                , pc_OFFSET_StgRegTable_rYMM3 :: Int
    pc_OFFSET_StgRegTable_rYMM3 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v36
                , pc_OFFSET_StgRegTable_rYMM4 :: Int
    pc_OFFSET_StgRegTable_rYMM4 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v37
                , pc_OFFSET_StgRegTable_rYMM5 :: Int
    pc_OFFSET_StgRegTable_rYMM5 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v38
                , pc_OFFSET_StgRegTable_rYMM6 :: Int
    pc_OFFSET_StgRegTable_rYMM6 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v39
                , pc_OFFSET_StgRegTable_rZMM1 :: Int
    pc_OFFSET_StgRegTable_rZMM1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v40
                , pc_OFFSET_StgRegTable_rZMM2 :: Int
    pc_OFFSET_StgRegTable_rZMM2 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v41
                , pc_OFFSET_StgRegTable_rZMM3 :: Int
    pc_OFFSET_StgRegTable_rZMM3 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v42
                , pc_OFFSET_StgRegTable_rZMM4 :: Int
    pc_OFFSET_StgRegTable_rZMM4 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v43
                , pc_OFFSET_StgRegTable_rZMM5 :: Int
    pc_OFFSET_StgRegTable_rZMM5 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v44
                , pc_OFFSET_StgRegTable_rZMM6 :: Int
    pc_OFFSET_StgRegTable_rZMM6 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v45
                , pc_OFFSET_StgRegTable_rL1 :: Int
    pc_OFFSET_StgRegTable_rL1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v46
                , pc_OFFSET_StgRegTable_rSp :: Int
    pc_OFFSET_StgRegTable_rSp = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v47
                , pc_OFFSET_StgRegTable_rSpLim :: Int
    pc_OFFSET_StgRegTable_rSpLim = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v48
                , pc_OFFSET_StgRegTable_rHp :: Int
    pc_OFFSET_StgRegTable_rHp = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v49
                , pc_OFFSET_StgRegTable_rHpLim :: Int
    pc_OFFSET_StgRegTable_rHpLim = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v50
                , pc_OFFSET_StgRegTable_rCCCS :: Int
    pc_OFFSET_StgRegTable_rCCCS = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v51
                , pc_OFFSET_StgRegTable_rCurrentTSO :: Int
    pc_OFFSET_StgRegTable_rCurrentTSO = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v52
                , pc_OFFSET_StgRegTable_rCurrentNursery :: Int
    pc_OFFSET_StgRegTable_rCurrentNursery = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v53
                , pc_OFFSET_StgRegTable_rHpAlloc :: Int
    pc_OFFSET_StgRegTable_rHpAlloc = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v54
                , pc_OFFSET_stgEagerBlackholeInfo :: Int
    pc_OFFSET_stgEagerBlackholeInfo = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v55
                , pc_OFFSET_stgGCEnter1 :: Int
    pc_OFFSET_stgGCEnter1 = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v56
                , pc_OFFSET_stgGCFun :: Int
    pc_OFFSET_stgGCFun = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v57
                , pc_OFFSET_Capability_r :: Int
    pc_OFFSET_Capability_r = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v58
                , pc_OFFSET_bdescr_start :: Int
    pc_OFFSET_bdescr_start = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v59
                , pc_OFFSET_bdescr_free :: Int
    pc_OFFSET_bdescr_free = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v60
                , pc_OFFSET_bdescr_blocks :: Int
    pc_OFFSET_bdescr_blocks = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v61
                , pc_OFFSET_bdescr_flags :: Int
    pc_OFFSET_bdescr_flags = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v62
                , pc_SIZEOF_CostCentreStack :: Int
    pc_SIZEOF_CostCentreStack = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v63
                , pc_OFFSET_CostCentreStack_mem_alloc :: Int
    pc_OFFSET_CostCentreStack_mem_alloc = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v64
                , pc_REP_CostCentreStack_mem_alloc :: Int
    pc_REP_CostCentreStack_mem_alloc = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v65
                , pc_OFFSET_CostCentreStack_scc_count :: Int
    pc_OFFSET_CostCentreStack_scc_count = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v66
                , pc_REP_CostCentreStack_scc_count :: Int
    pc_REP_CostCentreStack_scc_count = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v67
                , pc_OFFSET_StgHeader_ccs :: Int
    pc_OFFSET_StgHeader_ccs = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v68
                , pc_OFFSET_StgHeader_ldvw :: Int
    pc_OFFSET_StgHeader_ldvw = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v69
                , pc_SIZEOF_StgSMPThunkHeader :: Int
    pc_SIZEOF_StgSMPThunkHeader = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v70
                , pc_OFFSET_StgEntCounter_allocs :: Int
    pc_OFFSET_StgEntCounter_allocs = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v71
                , pc_REP_StgEntCounter_allocs :: Int
    pc_REP_StgEntCounter_allocs = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v72
                , pc_OFFSET_StgEntCounter_allocd :: Int
    pc_OFFSET_StgEntCounter_allocd = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v73
                , pc_REP_StgEntCounter_allocd :: Int
    pc_REP_StgEntCounter_allocd = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v74
                , pc_OFFSET_StgEntCounter_registeredp :: Int
    pc_OFFSET_StgEntCounter_registeredp = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v75
                , pc_OFFSET_StgEntCounter_link :: Int
    pc_OFFSET_StgEntCounter_link = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v76
                , pc_OFFSET_StgEntCounter_entry_count :: Int
    pc_OFFSET_StgEntCounter_entry_count = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v77
                , pc_SIZEOF_StgUpdateFrame_NoHdr :: Int
    pc_SIZEOF_StgUpdateFrame_NoHdr = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v78
                , pc_SIZEOF_StgMutArrPtrs_NoHdr :: Int
    pc_SIZEOF_StgMutArrPtrs_NoHdr = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v79
                , pc_OFFSET_StgMutArrPtrs_ptrs :: Int
    pc_OFFSET_StgMutArrPtrs_ptrs = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v80
                , pc_OFFSET_StgMutArrPtrs_size :: Int
    pc_OFFSET_StgMutArrPtrs_size = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v81
                , pc_SIZEOF_StgSmallMutArrPtrs_NoHdr :: Int
    pc_SIZEOF_StgSmallMutArrPtrs_NoHdr = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v82
                , pc_OFFSET_StgSmallMutArrPtrs_ptrs :: Int
    pc_OFFSET_StgSmallMutArrPtrs_ptrs = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v83
                , pc_SIZEOF_StgArrBytes_NoHdr :: Int
    pc_SIZEOF_StgArrBytes_NoHdr = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v84
                , pc_OFFSET_StgArrBytes_bytes :: Int
    pc_OFFSET_StgArrBytes_bytes = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v85
                , pc_OFFSET_StgTSO_alloc_limit :: Int
    pc_OFFSET_StgTSO_alloc_limit = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v86
                , pc_OFFSET_StgTSO_cccs :: Int
    pc_OFFSET_StgTSO_cccs = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v87
                , pc_OFFSET_StgTSO_stackobj :: Int
    pc_OFFSET_StgTSO_stackobj = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v88
                , pc_OFFSET_StgStack_sp :: Int
    pc_OFFSET_StgStack_sp = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v89
                , pc_OFFSET_StgStack_stack :: Int
    pc_OFFSET_StgStack_stack = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v90
                , pc_OFFSET_StgUpdateFrame_updatee :: Int
    pc_OFFSET_StgUpdateFrame_updatee = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v91
                , pc_OFFSET_StgFunInfoExtraFwd_arity :: Int
    pc_OFFSET_StgFunInfoExtraFwd_arity = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v92
                , pc_REP_StgFunInfoExtraFwd_arity :: Int
    pc_REP_StgFunInfoExtraFwd_arity = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v93
                , pc_SIZEOF_StgFunInfoExtraRev :: Int
    pc_SIZEOF_StgFunInfoExtraRev = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v94
                , pc_OFFSET_StgFunInfoExtraRev_arity :: Int
    pc_OFFSET_StgFunInfoExtraRev_arity = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v95
                , pc_REP_StgFunInfoExtraRev_arity :: Int
    pc_REP_StgFunInfoExtraRev_arity = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v96
                , pc_MAX_SPEC_SELECTEE_SIZE :: Int
    pc_MAX_SPEC_SELECTEE_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v97
                , pc_MAX_SPEC_AP_SIZE :: Int
    pc_MAX_SPEC_AP_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v98
                , pc_MIN_PAYLOAD_SIZE :: Int
    pc_MIN_PAYLOAD_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v99
                , pc_MIN_INTLIKE :: Int
    pc_MIN_INTLIKE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v100
                , pc_MAX_INTLIKE :: Int
    pc_MAX_INTLIKE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v101
                , pc_MIN_CHARLIKE :: Int
    pc_MIN_CHARLIKE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v102
                , pc_MAX_CHARLIKE :: Int
    pc_MAX_CHARLIKE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v103
                , pc_MUT_ARR_PTRS_CARD_BITS :: Int
    pc_MUT_ARR_PTRS_CARD_BITS = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v104
                , pc_MAX_Vanilla_REG :: Int
    pc_MAX_Vanilla_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v105
                , pc_MAX_Float_REG :: Int
    pc_MAX_Float_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v106
                , pc_MAX_Double_REG :: Int
    pc_MAX_Double_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v107
                , pc_MAX_Long_REG :: Int
    pc_MAX_Long_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v108
                , pc_MAX_XMM_REG :: Int
    pc_MAX_XMM_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v109
                , pc_MAX_Real_Vanilla_REG :: Int
    pc_MAX_Real_Vanilla_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v110
                , pc_MAX_Real_Float_REG :: Int
    pc_MAX_Real_Float_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v111
                , pc_MAX_Real_Double_REG :: Int
    pc_MAX_Real_Double_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v112
                , pc_MAX_Real_XMM_REG :: Int
    pc_MAX_Real_XMM_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v113
                , pc_MAX_Real_Long_REG :: Int
    pc_MAX_Real_Long_REG = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v114
                , pc_RESERVED_C_STACK_BYTES :: Int
    pc_RESERVED_C_STACK_BYTES = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v115
                , pc_RESERVED_STACK_WORDS :: Int
    pc_RESERVED_STACK_WORDS = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v116
                , pc_AP_STACK_SPLIM :: Int
    pc_AP_STACK_SPLIM = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v117
                , pc_WORD_SIZE :: Int
    pc_WORD_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v118
                , pc_CINT_SIZE :: Int
    pc_CINT_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v119
                , pc_CLONG_SIZE :: Int
    pc_CLONG_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v120
                , pc_CLONG_LONG_SIZE :: Int
    pc_CLONG_LONG_SIZE = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v121
                , pc_BITMAP_BITS_SHIFT :: Int
    pc_BITMAP_BITS_SHIFT = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v122
                , pc_TAG_BITS :: Int
    pc_TAG_BITS = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v123
                , pc_LDV_SHIFT :: Int
    pc_LDV_SHIFT = forall a b. (Integral a, Num b) => a -> b
    fromIntegral Integer
    v124
                , pc_ILDV_CREATE_MASK :: Integer
    pc_ILDV_CREATE_MASK = Integer
    v125
                , pc_ILDV_STATE_CREATE :: Integer
    pc_ILDV_STATE_CREATE = Integer
    v126
                , pc_ILDV_STATE_USE :: Integer
    pc_ILDV_STATE_USE = Integer
    v127
                }
        [Integer]
    _ -> forall a. HasCallStack => String -> a
    error String
    "Invalid platform constants"