Skip to content

Core Lint error when compiling GHC HEAD

Compile GHC HEAD (1f4d2ef7) with the following command:

$ hadrian/build --flavour=perf+debug_info+lint --docs=none -j _build/stage1/compiler/build/GHC/Stg/Utils.o

This will result in a Core Lint error:

| Run Ghc CompileHs Stage1: compiler/GHC/Stg/Utils.hs => _build/stage1/compiler/build/GHC/Stg/Utils.o
Command line: _build/stage0/bin/ghc -Wall -Wcompat -fdiagnostics-color=never -dynamic-too -hisuf hi -osuf o -hcsuf hc -static -hide-all-packages -no-user-package-db '-package-env -' '-package-db _build/stage1/inplace/package.conf.d' '-this-unit-id ghc-9.11-inplace' '-this-package-name ghc' '-package-id array-0.5.6.0-inplace' '-package-id base-4.20.0.0-inplace' '-package-id binary-0.8.9.1-inplace' '-package-id bytestring-0.12.1.0-inplace' '-package-id containers-0.7-inplace' '-package-id deepseq-1.5.0.0-inplace' '-package-id directory-1.3.8.4-inplace' '-package-id exceptions-0.10.7-inplace' '-package-id filepath-1.5.2.0-inplace' '-package-id ghc-boot-9.11-inplace' '-package-id ghc-boot-th-9.11-inplace' '-package-id ghc-heap-9.11-inplace' '-package-id ghci-9.11-inplace' '-package-id hpc-0.7.0.1-inplace' '-package-id os-string-2.0.2.2-inplace' '-package-id process-1.6.18.0-inplace' '-package-id semaphore-compat-1.0.0-inplace' '-package-id stm-2.5.3.0-inplace' '-package-id time-1.14-inplace' '-package-id transformers-0.6.1.1-inplace' '-package-id unix-2.8.5.1-inplace' -i -i/tmp/ghc/_build/stage1/compiler/build -i/tmp/ghc/_build/stage1/compiler/build/autogen -i/tmp/ghc/compiler -Irts/include -I_build/stage1/compiler/build -I_build/stage1/compiler/build/. -Icompiler/. -I/tmp/ghc/libraries/process/include -I/tmp/ghc/_build/stage1/libraries/process/build/include -I/tmp/ghc/libraries/directory -I/tmp/ghc/_build/stage1/libraries/directory/build -I/tmp/ghc/libraries/unix/include -I/tmp/ghc/_build/stage1/libraries/unix/build/include -I/tmp/ghc/libraries/time/lib/include -I/tmp/ghc/_build/stage1/libraries/time/build/lib/include -I/tmp/ghc/libraries/containers/containers/include -I/tmp/ghc/_build/stage1/libraries/containers/containers/build/include -I/tmp/ghc/libraries/bytestring/include -I/tmp/ghc/_build/stage1/libraries/bytestring/build/include -I/tmp/ghc/libraries/ghc-internal/include -I/tmp/ghc/_build/stage1/libraries/ghc-internal/build/include -I/tmp/ghc/libraries/ghc-bignum/include/ -I/tmp/ghc/_build/stage1/libraries/ghc-bignum/build/include/ -I/tmp/ghc/rts/include -I/tmp/ghc/_build/stage1/rts/build/include -optP-include -optP_build/stage1/compiler/build/autogen/cabal_macros.h -optc--target=x86_64-unknown-linux -optc-Qunused-arguments -optP-DHAVE_INTERNAL_INTERPRETER -optP-DCAN_LOAD_DLL -outputdir _build/stage1/compiler/build -Wall -Wno-name-shadowing -Wnoncanonical-monad-instances -Wnoncanonical-monoid-instances -XGHC2021 -XNoImplicitPrelude -XMonoLocalBinds -no-global-package-db -package-db=/tmp/ghc/_build/stage1/inplace/package.conf.d -ghcversion-file=rts/include/ghcversion.h -ghcversion-file=rts/include/ghcversion.h -Wnoncanonical-monad-instances -optc-Wno-unknown-pragmas -c compiler/GHC/Stg/Utils.hs -o _build/stage1/compiler/build/GHC/Stg/Utils.o -fsplit-sections -O -H64m -O2 -dlint -g3 -haddock -Winvalid-haddock -Wno-deprecated-flags -Wcpp-undef
===> Command failed with error code: 1
*** Core Lint errors : in result of SpecConstr ***
compiler/GHC/Stg/Utils.hs:53:30: warning:
    Non-local Id binder fUNTyCon1
    In the RHS of mkStgAltTypeFromStgAlts :: forall (p :: StgPass).
                                             Id -> [GenStgAlt p] -> AltType
    In the body of lambda with binder p_a4Qr :: StgPass
    In the body of lambda with binder bndr_X1 :: Id
    In the body of lambda with binder alts_X2 :: [GenStgAlt p_a4Qr]
    In the body of a let with binder bndr_ty_s7bT :: Kind
    In the body of a let with binder $j_s7jU :: AltType
    In a case alternative: (False)
    In a case alternative: (False)
    In a case alternative: (: rep_a4wD :: PrimRep,
                              ds_d5jh :: [PrimRep])
    In a case alternative: ([])
    In a case alternative: (BoxedRep bx_a6Cm :: (# (# #) | Levity #))
    In the body of a let with binder inner_ty_a6MD :: Type
    In the body of lambda with binder sc_sbBV :: Word64#
    In the body of lambda with binder sc_sbBW :: Name
    In the body of lambda with binder sc_sbBX :: [VarBndr
                                                    Var TyConBndrVis]
    In the body of lambda with binder sc_sbBY :: Type
    In the body of lambda with binder sc_sbBZ :: Bool
    In the body of lambda with binder sc_sbC0 :: [Var]
    In the body of lambda with binder sc_sbC1 :: Type
    In the body of lambda with binder sc_sbC2 :: Int
    In the body of lambda with binder sc_sbC3 :: Type
    In the body of lambda with binder sc_sbC4 :: [Role]
    Substitution: <InScope = {p_a4Qr}
                   IdSubst   = []
                   TvSubst   = [a4Qr :-> p_a4Qr]
                   CvSubst   = []>
*** Offending Program ***
mkUnarisedId
  :: forall (m :: * -> *).
     MonadUnique m =>
     FastString -> NvUnaryType -> m Id
[LclIdX,
 Arity=3,
 Str=<SP(SP(A,SC(S,C(1,L)),A,LC(S,L)),A,L,A)><L><L>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [0 0 0] 50 0}]
mkUnarisedId
  = \ (@(m_a4Sp :: * -> *))
      ($dMonadUnique_a4Sq [Dmd=SP(SP(A,SC(S,C(1,L)),A,LC(S,L)),A,L,A)]
         :: MonadUnique m_a4Sp)
      (s_a3Sx :: FastString)
      (t_a3Sy :: NvUnaryType) ->
      src<compiler/GHC/Stg/Utils.hs:37:1-41>
      mkSysLocalM
        @m_a4Sp
        $dMonadUnique_a4Sq
        (src<compiler/GHC/Stg/Utils.hs:37:32> s_a3Sx)
        (src<compiler/GHC/Stg/Utils.hs:37:34-39> $bManyTy)
        (src<compiler/GHC/Stg/Utils.hs:37:41> t_a3Sy)

lvl_s7c2 :: Id -> [Id] -> [Id]
[LclId,
 Arity=2,
 Str=<L><L>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True)}]
lvl_s7c2
  = \ (ds_a6rH :: Id) (ds1_a6rI :: [Id]) ->
      src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:244:34-36>
      : @Id ds_a6rH ds1_a6rI

mkUnarisedIds
  :: forall (m :: * -> *).
     MonadUnique m =>
     FastString -> [NvUnaryType] -> m [Id]
[LclIdX,
 Arity=3,
 Str=<SP(SP(SP(A,LC(1,L),A,LC(S,C(1,C(1,L))),A,A),LC(S,C(1,L)),A,LC(S,L)),A,L,A)><L><SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [30 0 0] 280 0}]
mkUnarisedIds
  = \ (@(m_a4SB :: * -> *))
      ($dMonadUnique_a4SC [Dmd=SP(SP(SP(A,LC(1,L),A,LC(S,C(1,C(1,L))),A,A),LC(S,C(1,L)),A,LC(S,L)),A,L,A)]
         :: MonadUnique m_a4SB)
      (eta_B0 :: FastString)
      (eta_B1 [Dmd=SL] :: [NvUnaryType]) ->
      let {
        $dMonad_s7bP [Dmd=SP(SP(A,LC(S,L),A,LC(S,C(S,C(S,L))),A,A),A,A,A)]
          :: Monad m_a4SB
        [LclId]
        $dMonad_s7bP = $p1MonadUnique @m_a4SB $dMonadUnique_a4SC } in
      let {
        $dApplicative_s7bR [Dmd=SP(A,LC(S,L),A,LC(S,C(S,C(S,L))),A,A)]
          :: Applicative m_a4SB
        [LclId]
        $dApplicative_s7bR = $p1Monad @m_a4SB $dMonad_s7bP } in
      let {
        z_a7kc :: m_a4SB [Id]
        [LclId]
        z_a7kc
          = src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:243:36-44>
            pure
              @m_a4SB
              $dApplicative_s7bR
              @[Id]
              ((src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:243:42-43>
                [])
                 @Id) } in
      letrec {
        go1_a7ke [Occ=LoopBreaker] :: [NvUnaryType] -> m_a4SB [Id]
        [LclId, Arity=1, Str=<SL>]
        go1_a7ke
          = \ (ds_a7kf [Dmd=SL] :: [NvUnaryType]) ->
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1792,13)-(1793,35)>
              case ds_a7kf of {
                [] ->
                  src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
                  z_a7kc;
                : y_a7ki [Dmd=S] ys_a7kj [Dmd=S] ->
                  src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
                  src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:243:29-34>
                  src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:244:13-45>
                  src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:244:27-45>
                  liftA2
                    @m_a4SB
                    $dApplicative_s7bR
                    @Id
                    @[Id]
                    @[Id]
                    lvl_s7c2
                    (src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:244:38-42>
                     src<compiler/GHC/Stg/Utils.hs:34:29-45>
                     src<compiler/GHC/Stg/Utils.hs:37:1-41>
                     mkSysLocalM
                       @m_a4SB
                       $dMonadUnique_a4SC
                       (src<compiler/GHC/Stg/Utils.hs:37:32>
                        src<compiler/GHC/Stg/Utils.hs:34:43-44> eta_B0)
                       (src<compiler/GHC/Stg/Utils.hs:37:34-39> $bManyTy)
                       (src<compiler/GHC/Stg/Utils.hs:37:41>
                        src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:244:41>
                        src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25>
                        y_a7ki))
                    (src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:244:44-45>
                     src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
                     go1_a7ke ys_a7kj)
              }; } in
      src<compiler/GHC/Stg/Utils.hs:34:1-49>
      src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:241:10-23>
      src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:160:5-19>
      src<libraries/ghc-internal/src/GHC/Internal/Data/Traversable.hs:(243,5)-(244,45)>
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
      go1_a7ke eta_B1

lvl_s7c4 :: Int
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 10 10}]
lvl_s7c4
  = src<libraries/ghc-internal/src/GHC/Internal/List.hs:298:1-13>
    src<libraries/ghc-internal/src/GHC/Internal/Base.hs:2105:1-28>
    I# 0#

lvl_s7c5 :: AltType
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 10 10}]
lvl_s7c5
  = MultiValAlt
      (src<compiler/GHC/Stg/Utils.hs:68:32-49>
       src<libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:702:5-25>
       src<compiler/GHC/Stg/Utils.hs:58:10-18> lvl_s7c4)

poly_$j_sbBx :: forall (p :: StgPass). [GenStgAlt p] -> AltType
[LclId,
 Arity=1,
 Str=<SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [0] 90 30}]
poly_$j_sbBx
  = \ (@(p_a4Qr :: StgPass))
      (data_alts_Xa [Dmd=SL, OS=OneShot] :: [GenStgAlt p_a4Qr]) ->
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:13-15>
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
      case map
             @(GenStgAlt p_a4Qr)
             @AltCon
             ((src<compiler/GHC/Stg/Utils.hs:84:32-38> alt_con) @p_a4Qr)
             data_alts_Xa
      of {
        [] ->
          src<compiler/GHC/Stg/Utils.hs:86:11-19>
          src<compiler/GHC/Stg/Utils.hs:(87,17)-(88,23)>
          src<compiler/GHC/Utils/Panic/Plain.hs:(139,1)-(142,10)>
          src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
          src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt;
        : ds_d5jz [Dmd=S] _ [Occ=Dead, Dmd=B] ->
          case ds_d5jz of {
            __DEFAULT ->
              src<compiler/GHC/Stg/Utils.hs:86:11-19>
              src<compiler/GHC/Stg/Utils.hs:(87,17)-(88,23)>
              src<compiler/GHC/Utils/Panic/Plain.hs:(139,1)-(142,10)>
              src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
              src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt;
            DataAlt con_a4wx [Dmd=S] ->
              src<compiler/GHC/Stg/Utils.hs:85:17-41>
              AlgAlt
                (src<compiler/GHC/Stg/Utils.hs:85:24-41>
                 src<compiler/GHC/Core/DataCon.hs:1274:1-25>
                 src<compiler/GHC/Core/DataCon.hs:547:9-18>
                 case con_a4wx of
                 { MkData ds1_a75y [Dmd=B] ds2_a75E [Dmd=B] ds3_a75F [Dmd=B]
                          ds4_a75G [Dmd=B] ds5_a75H [Dmd=B] ds6_a75I [Dmd=B] ds7_a75J [Dmd=B]
                          ds8_a7aH [Dmd=B] ds9_a7aI [Dmd=B] ds10_a7aJ [Dmd=B]
                          ds11_a7aK [Dmd=B] ds12_a7aL [Dmd=B] ds13_a7aM [Dmd=B]
                          ds14_a7aN [Dmd=B] ds15_a7aO [Dmd=B] ds16_a7aP [Dmd=B]
                          ds17_a7aQ [Dmd=B] ds18_a7aR [Dmd=B] ds19_a7aS [Dmd=B]
                          ds20_a7aT [Dmd=S] ds21_a7aU [Dmd=B] ds22_a7aV [Dmd=B]
                          ds23_a7aW [Dmd=B] ->
                 src<compiler/GHC/Core/DataCon.hs:547:9-18> ds20_a7aT
                 })
          }
      }

lvl_sbBy :: forall (p :: StgPass). AltType
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=False, ConLike=False, WorkFree=False, Expandable=False,
         Guidance=IF_ARGS [] 90 30}]
lvl_sbBy
  = \ (@(p_a4Qr :: StgPass)) ->
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:13-15>
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
      case map
             @(GenStgAlt p_a4Qr)
             @AltCon
             ((src<compiler/GHC/Stg/Utils.hs:84:32-38> alt_con) @p_a4Qr)
             ([] @(GenStgAlt p_a4Qr))
      of {
        [] ->
          src<compiler/GHC/Stg/Utils.hs:86:11-19>
          src<compiler/GHC/Stg/Utils.hs:(87,17)-(88,23)>
          src<compiler/GHC/Utils/Panic/Plain.hs:(139,1)-(142,10)>
          src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
          src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt;
        : ds_d5jz [Dmd=S] _ [Occ=Dead, Dmd=B] ->
          case ds_d5jz of {
            __DEFAULT ->
              src<compiler/GHC/Stg/Utils.hs:86:11-19>
              src<compiler/GHC/Stg/Utils.hs:(87,17)-(88,23)>
              src<compiler/GHC/Utils/Panic/Plain.hs:(139,1)-(142,10)>
              src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
              src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt;
            DataAlt con_a4wx [Dmd=S] ->
              src<compiler/GHC/Stg/Utils.hs:85:17-41>
              AlgAlt
                (src<compiler/GHC/Stg/Utils.hs:85:24-41>
                 src<compiler/GHC/Core/DataCon.hs:1274:1-25>
                 src<compiler/GHC/Core/DataCon.hs:547:9-18>
                 case con_a4wx of
                 { MkData ds1_a75y [Dmd=B] ds2_a75E [Dmd=B] ds3_a75F [Dmd=B]
                          ds4_a75G [Dmd=B] ds5_a75H [Dmd=B] ds6_a75I [Dmd=B] ds7_a75J [Dmd=B]
                          ds8_a7aH [Dmd=B] ds9_a7aI [Dmd=B] ds10_a7aJ [Dmd=B]
                          ds11_a7aK [Dmd=B] ds12_a7aL [Dmd=B] ds13_a7aM [Dmd=B]
                          ds14_a7aN [Dmd=B] ds15_a7aO [Dmd=B] ds16_a7aP [Dmd=B]
                          ds17_a7aQ [Dmd=B] ds18_a7aR [Dmd=B] ds19_a7aS [Dmd=B]
                          ds20_a7aT [Dmd=S] ds21_a7aU [Dmd=B] ds22_a7aV [Dmd=B]
                          ds23_a7aW [Dmd=B] ->
                 src<compiler/GHC/Core/DataCon.hs:547:9-18> ds20_a7aT
                 })
          }
      }

mkStgAltTypeFromStgAlts
  :: forall (p :: StgPass). Id -> [GenStgAlt p] -> AltType
[LclIdX,
 Arity=2,
 Str=<SL><L>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=NEVER}]
mkStgAltTypeFromStgAlts
  = \ (@(p_a4Qr :: StgPass))
      (bndr_X1 [Dmd=SL] :: Id)
      (alts_X2 :: [GenStgAlt p_a4Qr]) ->
      let {
        bndr_ty_s7bT [Dmd=SL] :: Kind
        [LclId]
        bndr_ty_s7bT = varType bndr_X1 } in
      join {
        $j_s7jU :: AltType
        [LclId[JoinId(0)(Nothing)]]
        $j_s7jU
          = src<compiler/GHC/Stg/Utils.hs:55:5-34>
            MultiValAlt
              (src<compiler/GHC/Stg/Utils.hs:55:17-34>
               src<libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:702:5-25>
               src<compiler/GHC/Stg/Utils.hs:71:4-34>
               src<compiler/GHC/Stg/Utils.hs:71:16-34>
               case $wlenAcc @PrimRep ($wtypePrimRep bndr_ty_s7bT) 0# of ww1_a7k2
               { __DEFAULT ->
               I# ww1_a7k2
               }) } in
      src<compiler/GHC/Stg/Utils.hs:70:16-26>
      src<compiler/GHC/Types/Id.hs:206:1-23>
      src<compiler/GHC/Stg/Utils.hs:(53,1)-(90,57)>
      src<libraries/ghc-prim/GHC/Classes.hs:(625,1)-(626,28)>
      case isUnboxedTupleType bndr_ty_s7bT of {
        False ->
          src<libraries/ghc-prim/GHC/Classes.hs:626:28>
          src<compiler/GHC/Stg/Utils.hs:54:35-58>
          case isUnboxedSumType bndr_ty_s7bT of {
            False ->
              src<compiler/GHC/Stg/Utils.hs:57:5-13>
              src<compiler/GHC/Stg/Utils.hs:(58,5)-(68,49)>
              src<compiler/GHC/Stg/Utils.hs:71:4-34>
              src<compiler/GHC/Stg/Utils.hs:71:16-34>
              case $wtypePrimRep bndr_ty_s7bT of wild_X4 {
                [] -> src<compiler/GHC/Stg/Utils.hs:68:20-49> lvl_s7c5;
                : rep_a4wD ds_d5jh [Dmd=SL] ->
                  case ds_d5jh of {
                    [] ->
                      src<compiler/GHC/Stg/Utils.hs:59:15-28>
                      src<compiler/GHC/Core/TyCon.hs:(1636,1)-(1637,31)>
                      case rep_a4wD of wild_a6Cg {
                        __DEFAULT ->
                          src<compiler/GHC/Core/TyCon.hs:1637:27-31>
                          src<compiler/GHC/Stg/Utils.hs:67:20-34>
                          PrimAlt (src<compiler/GHC/Stg/Utils.hs:67:28-34> wild_a6Cg);
                        BoxedRep bx_a6Cm [Dmd=B] ->
                          let {
                            inner_ty_a6MD [Dmd=SL] :: Type
                            [LclId]
                            inner_ty_a6MD = countConRepArgs_go1 bndr_ty_s7bT } in
                          join {
                            $s$j_sbCA
                              :: Word64#
                                 -> Name
                                 -> [VarBndr Var TyConBndrVis]
                                 -> Type
                                 -> Bool
                                 -> [Var]
                                 -> Type
                                 -> Int
                                 -> Type
                                 -> [Role]
                                 -> AltType
                            [LclId[JoinId(10)(Just [])],
                             Arity=10,
                             Str=<L><L><L><L><L><L><L><L><L><L>]
                            $s$j_sbCA (sc_sbBV :: Word64#)
                                      (sc_sbBW :: Name)
                                      (sc_sbBX :: [VarBndr Var TyConBndrVis])
                                      (sc_sbBY :: Type)
                                      (sc_sbBZ :: Bool)
                                      (sc_sbC0 :: [Var])
                                      (sc_sbC1 :: Type)
                                      (sc_sbC2 :: Int)
                                      (sc_sbC3 :: Type)
                                      (sc_sbC4 :: [Role])
                              = case sc_sbBW of sc_sbBW { __DEFAULT ->
                                case fUNTyCon1 of fUNTyCon1 { __DEFAULT ->
                                src<compiler/GHC/Stg/Utils.hs:62:15-32>
                                src<compiler/GHC/Core/TyCon.hs:(1960,1)-(1962,31)>
                                src<compiler/GHC/Core/TyCon.hs:1961:49-55>
                                src<compiler/GHC/Core/TyCon.hs:1962:5-13>
                                src<compiler/GHC/Core/TyCon.hs:1962:27-31>
                                src<compiler/GHC/Stg/Utils.hs:63:15-27>
                                src<compiler/GHC/Core/TyCon.hs:(1973,1)-(1975,34)>
                                src<compiler/GHC/Stg/Utils.hs:64:15-23>
                                src<compiler/GHC/Stg/Utils.hs:(64,37)-(65,43)>
                                src<compiler/GHC/Utils/Panic.hs:(322,1)-(325,10)>
                                src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
                                src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt
                                }
                                } } in
                          join {
                            $s$j_sbCB
                              :: Word64#
                                 -> Name
                                 -> [VarBndr Var TyConBndrVis]
                                 -> Type
                                 -> Bool
                                 -> [Var]
                                 -> Type
                                 -> Int
                                 -> Type
                                 -> [Role]
                                 -> AltType
                            [LclId[JoinId(10)(Just [])],
                             Arity=10,
                             Str=<L><L><L><L><L><L><L><L><L><L>]
                            $s$j_sbCB (sc_sbC5 :: Word64#)
                                      (sc_sbC6 :: Name)
                                      (sc_sbC7 :: [VarBndr Var TyConBndrVis])
                                      (sc_sbC8 :: Type)
                                      (sc_sbC9 :: Bool)
                                      (sc_sbCa :: [Var])
                                      (sc_sbCb :: Type)
                                      (sc_sbCc :: Int)
                                      (sc_sbCd :: Type)
                                      (sc_sbCe :: [Role])
                              = case sc_sbC6 of sc_sbC6 { __DEFAULT ->
                                case tcArrowTyCon1 of tcArrowTyCon1 { __DEFAULT ->
                                src<compiler/GHC/Stg/Utils.hs:62:15-32>
                                src<compiler/GHC/Core/TyCon.hs:(1960,1)-(1962,31)>
                                src<compiler/GHC/Core/TyCon.hs:1961:49-55>
                                src<compiler/GHC/Core/TyCon.hs:1962:5-13>
                                src<compiler/GHC/Core/TyCon.hs:1962:27-31>
                                src<compiler/GHC/Stg/Utils.hs:63:15-27>
                                src<compiler/GHC/Core/TyCon.hs:(1973,1)-(1975,34)>
                                src<compiler/GHC/Stg/Utils.hs:64:15-23>
                                src<compiler/GHC/Stg/Utils.hs:(64,37)-(65,43)>
                                src<compiler/GHC/Utils/Panic.hs:(322,1)-(325,10)>
                                src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
                                src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt
                                }
                                } } in
                          join {
                            $s$j_sbCC
                              :: Word64#
                                 -> Name
                                 -> [VarBndr Var TyConBndrVis]
                                 -> Type
                                 -> Bool
                                 -> [Var]
                                 -> Type
                                 -> Int
                                 -> Type
                                 -> [Role]
                                 -> AltType
                            [LclId[JoinId(10)(Just [])],
                             Arity=10,
                             Str=<L><L><L><L><L><L><L><L><L><L>]
                            $s$j_sbCC (sc_sbCf :: Word64#)
                                      (sc_sbCg :: Name)
                                      (sc_sbCh :: [VarBndr Var TyConBndrVis])
                                      (sc_sbCi :: Type)
                                      (sc_sbCj :: Bool)
                                      (sc_sbCk :: [Var])
                                      (sc_sbCl :: Type)
                                      (sc_sbCm :: Int)
                                      (sc_sbCn :: Type)
                                      (sc_sbCo :: [Role])
                              = case sc_sbCg of sc_sbCg { __DEFAULT ->
                                case ctArrowTyCon1 of ctArrowTyCon1 { __DEFAULT ->
                                src<compiler/GHC/Stg/Utils.hs:62:15-32>
                                src<compiler/GHC/Core/TyCon.hs:(1960,1)-(1962,31)>
                                src<compiler/GHC/Core/TyCon.hs:1961:49-55>
                                src<compiler/GHC/Core/TyCon.hs:1962:5-13>
                                src<compiler/GHC/Core/TyCon.hs:1962:27-31>
                                src<compiler/GHC/Stg/Utils.hs:63:15-27>
                                src<compiler/GHC/Core/TyCon.hs:(1973,1)-(1975,34)>
                                src<compiler/GHC/Stg/Utils.hs:64:15-23>
                                src<compiler/GHC/Stg/Utils.hs:(64,37)-(65,43)>
                                src<compiler/GHC/Utils/Panic.hs:(322,1)-(325,10)>
                                src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
                                src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt
                                }
                                } } in
                          join {
                            $j_s7hO :: TyCon -> AltType
                            [LclId[JoinId(1)(Nothing)],
                             Arity=1,
                             Str=<SL>,
                             RULES: "SC:$j0"
                                        forall (sc_sbBV :: Word64#)
                                               (sc_sbBW :: Name)
                                               (sc_sbBX :: [VarBndr Var TyConBndrVis])
                                               (sc_sbBY :: Type)
                                               (sc_sbBZ :: Bool)
                                               (sc_sbC0 :: [Var])
                                               (sc_sbC1 :: Type)
                                               (sc_sbC2 :: Int)
                                               (sc_sbC3 :: Type)
                                               (sc_sbC4 :: [Role]).
                                          $j_s7hO (TyCon
                                                     sc_sbBV
                                                     sc_sbBW
                                                     sc_sbBX
                                                     sc_sbBY
                                                     sc_sbBZ
                                                     sc_sbC0
                                                     sc_sbC1
                                                     sc_sbC2
                                                     sc_sbC3
                                                     sc_sbC4
                                                     fUNTyCon1)
                                          = jump $s$j_sbCA
                                              sc_sbBV
                                              sc_sbBW
                                              sc_sbBX
                                              sc_sbBY
                                              sc_sbBZ
                                              sc_sbC0
                                              sc_sbC1
                                              sc_sbC2
                                              sc_sbC3
                                              sc_sbC4
                                    "SC:$j1"
                                        forall (sc_sbC5 :: Word64#)
                                               (sc_sbC6 :: Name)
                                               (sc_sbC7 :: [VarBndr Var TyConBndrVis])
                                               (sc_sbC8 :: Type)
                                               (sc_sbC9 :: Bool)
                                               (sc_sbCa :: [Var])
                                               (sc_sbCb :: Type)
                                               (sc_sbCc :: Int)
                                               (sc_sbCd :: Type)
                                               (sc_sbCe :: [Role]).
                                          $j_s7hO (TyCon
                                                     sc_sbC5
                                                     sc_sbC6
                                                     sc_sbC7
                                                     sc_sbC8
                                                     sc_sbC9
                                                     sc_sbCa
                                                     sc_sbCb
                                                     sc_sbCc
                                                     sc_sbCd
                                                     sc_sbCe
                                                     tcArrowTyCon1)
                                          = jump $s$j_sbCB
                                              sc_sbC5
                                              sc_sbC6
                                              sc_sbC7
                                              sc_sbC8
                                              sc_sbC9
                                              sc_sbCa
                                              sc_sbCb
                                              sc_sbCc
                                              sc_sbCd
                                              sc_sbCe
                                    "SC:$j2"
                                        forall (sc_sbCf :: Word64#)
                                               (sc_sbCg :: Name)
                                               (sc_sbCh :: [VarBndr Var TyConBndrVis])
                                               (sc_sbCi :: Type)
                                               (sc_sbCj :: Bool)
                                               (sc_sbCk :: [Var])
                                               (sc_sbCl :: Type)
                                               (sc_sbCm :: Int)
                                               (sc_sbCn :: Type)
                                               (sc_sbCo :: [Role]).
                                          $j_s7hO (TyCon
                                                     sc_sbCf
                                                     sc_sbCg
                                                     sc_sbCh
                                                     sc_sbCi
                                                     sc_sbCj
                                                     sc_sbCk
                                                     sc_sbCl
                                                     sc_sbCm
                                                     sc_sbCn
                                                     sc_sbCo
                                                     ctArrowTyCon1)
                                          = jump $s$j_sbCC
                                              sc_sbCf
                                              sc_sbCg
                                              sc_sbCh
                                              sc_sbCi
                                              sc_sbCj
                                              sc_sbCk
                                              sc_sbCl
                                              sc_sbCm
                                              sc_sbCn
                                              sc_sbCo]
                            $j_s7hO (tc_a4wE [Dmd=SL, OS=OneShot] :: TyCon)
                              = src<compiler/GHC/Stg/Utils.hs:62:15-32>
                                src<compiler/GHC/Core/TyCon.hs:(1960,1)-(1962,31)>
                                case tc_a4wE of wild_a6S8
                                { TyCon bx_a6S9 ds1_a6Sa ds2_a6Sb ds3_a6Sc ds4_a6Sd ds5_a6Se
                                        ds6_a6Sf ds7_a6Sg ds8_a6Sh ds9_a6Si ds10_a6Sj [Dmd=SL] ->
                                src<compiler/GHC/Core/TyCon.hs:1961:49-55>
                                case ds10_a6Sj of {
                                  __DEFAULT ->
                                    src<compiler/GHC/Core/TyCon.hs:1962:5-13>
                                    src<compiler/GHC/Core/TyCon.hs:1962:27-31>
                                    src<compiler/GHC/Stg/Utils.hs:63:15-27>
                                    src<compiler/GHC/Core/TyCon.hs:(1973,1)-(1975,34)>
                                    src<compiler/GHC/Stg/Utils.hs:64:15-23>
                                    src<compiler/GHC/Stg/Utils.hs:(64,37)-(65,43)>
                                    src<compiler/GHC/Utils/Panic.hs:(322,1)-(325,10)>
                                    src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
                                    src<compiler/GHC/Utils/Constants.hs:36:1-17> PolyAlt;
                                  AlgTyCon ds11_a6Sm [Dmd=B] ds12_a6ZX [Dmd=B] ds13_a6ZY [Dmd=B]
                                           ds14_a6ZZ [Dmd=S] ds15_a700 [Dmd=B] ds16_a74o [Dmd=B] ->
                                    case ds14_a6ZZ of {
                                      __DEFAULT ->
                                        src<compiler/GHC/Core/TyCon.hs:1962:5-13>
                                        src<compiler/GHC/Core/TyCon.hs:1962:27-31>
                                        src<compiler/GHC/Stg/Utils.hs:63:15-27>
                                        src<compiler/GHC/Core/TyCon.hs:(1973,1)-(1975,34)>
                                        src<compiler/GHC/Stg/Utils.hs:63:37-45>
                                        AlgAlt (src<compiler/GHC/Stg/Utils.hs:63:44-45> wild_a6S8);
                                      AbstractTyCon ->
                                        src<compiler/GHC/Core/TyCon.hs:1961:59-62>
                                        src<compiler/GHC/Stg/Utils.hs:62:37-57>
                                        src<compiler/GHC/Stg/Utils.hs:(83,4)-(90,57)>
                                        src<compiler/GHC/Stg/Utils.hs:84:32-52>
                                        src<libraries/ghc-internal/src/GHC/Internal/Data/Functor.hs:102:1-12>
                                        src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1734:5-14>
                                        src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
                                        src<compiler/GHC/Stg/Utils.hs:90:39-57>
                                        src<compiler/GHC/Stg/Utils.hs:(47,1)-(50,70)>
                                        case alts_X2 of wild_X9 {
                                          [] ->
                                            (src<compiler/GHC/Stg/Utils.hs:50:56-70> lvl_sbBy)
                                              @p_a4Qr;
                                          : ds_d5iI [Dmd=SL] alts_a441 ->
                                            case ds_d5iI of
                                            { GenStgAlt ds_d5iJ [Dmd=S] ds_d5iK [Dmd=B]
                                                        ds_d5iL [Dmd=B] ->
                                            case ds_d5iJ of {
                                              __DEFAULT ->
                                                src<compiler/GHC/Stg/Utils.hs:50:56-70>
                                                poly_$j_sbBx @p_a4Qr wild_X9;
                                              DEFAULT ->
                                                src<compiler/GHC/Stg/Utils.hs:49:56-91>
                                                src<compiler/GHC/Utils/Panic/Plain.hs:(139,1)-(142,10)>
                                                src<libraries/ghc-prim/GHC/Classes.hs:(620,1)-(621,32)>
                                                src<compiler/GHC/Utils/Constants.hs:36:1-17>
                                                poly_$j_sbBx @p_a4Qr alts_a441
                                            }
                                            }
                                        }
                                    }
                                }
                                } } in
                          join {
                            $j2_s7bV :: TyCon -> AltType
                            [LclId[JoinId(1)(Nothing)], Arity=1, Str=<SL>]
                            $j2_s7bV (tc_a6Cq [Dmd=SL, OS=OneShot] :: TyCon)
                              = src<compiler/GHC/Core/Type.hs:1626:27-33>
                                jump $j_s7hO tc_a6Cq } in
                          join {
                            $j3_s7bX :: FunTyFlag -> AltType
                            [LclId[JoinId(1)(Nothing)], Arity=1, Str=<SL>]
                            $j3_s7bX (ds_a6Cw [Dmd=SL, OS=OneShot] :: FunTyFlag)
                              = src<compiler/GHC/Core/Type.hs:1627:27-50>
                                src<compiler/GHC/Builtin/Types/Prim.hs:(619,1)-(622,37)>
                                case ds_a6Cw of {
                                  FTF_T_T ->
                                    src<compiler/GHC/Builtin/Types/Prim.hs:619:26-33>
                                    jump $j_s7hO fUNTyCon;
                                  FTF_T_C ->
                                    src<compiler/GHC/Builtin/Types/Prim.hs:620:26-37>
                                    jump $j_s7hO tcArrowTyCon;
                                  FTF_C_T ->
                                    src<compiler/GHC/Builtin/Types/Prim.hs:621:26-37>
                                    jump $j_s7hO ctArrowTyCon;
                                  FTF_C_C ->
                                    src<compiler/GHC/Builtin/Types/Prim.hs:622:26-37>
                                    jump $j_s7hO ccArrowTyCon
                                } } in
                          src<compiler/GHC/Core/TyCon.hs:1636:27-30>
                          src<compiler/GHC/Stg/Utils.hs:(60,9)-(66,43)>
                          src<compiler/GHC/Core/Type.hs:(1625,1)-(1628,33)>
                          src<compiler/GHC/Core/Type.hs:(395,1)-(397,20)>
                          src<compiler/GHC/Types/RepType.hs:98:16-20>
                          src<compiler/GHC/Types/RepType.hs:(91,1)-(112,15)>
                          case topNormaliseTypeX
                                 @()
                                 countConRepArgs1
                                 (src<compiler/GHC/Types/RepType.hs:93:36-42>
                                  src<libraries/ghc-internal/src/GHC/Internal/Base.hs:781:10-18>
                                  src<libraries/ghc-internal/src/GHC/Internal/Base.hs:694:9-22>
                                  $fMonoidUnit_$c<>)
                                 inner_ty_a6MD
                          of {
                            Nothing ->
                              src<compiler/GHC/Types/RepType.hs:95:5-13>
                              src<compiler/GHC/Types/RepType.hs:96:5-12>
                              case inner_ty_a6MD of wild_a6LQ {
                                __DEFAULT ->
                                  src<compiler/GHC/Core/Type.hs:397:19-20>
                                  src<compiler/GHC/Core/Type.hs:1628:27-33>
                                  src<compiler/GHC/Stg/Utils.hs:66:37-43> PolyAlt;
                                TyConApp tc_a6LV [Dmd=SL] ds_a6LW ->
                                  src<compiler/GHC/Core/Type.hs:396:5-25>
                                  src<compiler/GHC/Core/TyCon.hs:(2102,1)-(2104,38)>
                                  case tc_a6LV of wild1_a6LY
                                  { TyCon bx_a6LZ ds1_a6M0 ds2_a6M1 ds3_a6M2 ds4_a6M3 ds5_a6M4
                                          ds6_a6M5 ds7_a6M6 ds8_a6M7 ds9_a6M8 ds10_a6M9 [Dmd=SL] ->
                                  src<compiler/GHC/Core/TyCon.hs:2103:24-30>
                                  case ds10_a6M9 of {
                                    __DEFAULT ->
                                      src<compiler/GHC/Core/TyCon.hs:2104:5-13>
                                      src<compiler/GHC/Core/TyCon.hs:2104:34-38>
                                      src<compiler/GHC/Core/Type.hs:397:19-20>
                                      jump $j2_s7bV wild1_a6LY;
                                    SynonymTyCon ds11_a6Mc [Dmd=B] ds12_a6Md [Dmd=B]
                                                 ds13_a6Me [Dmd=B] ds14_a6Mf [Dmd=B]
                                                 ds15_a6Mg [Dmd=B] ->
                                      src<compiler/GHC/Core/TyCon.hs:2103:34-37>
                                      src<compiler/GHC/Core/Type.hs:396:29-45>
                                      case core_full_view wild_a6LQ of {
                                        __DEFAULT ->
                                          src<compiler/GHC/Core/Type.hs:1628:27-33>
                                          src<compiler/GHC/Stg/Utils.hs:66:37-43> PolyAlt;
                                        TyConApp tc1_a6Mj [Dmd=S] _ [Occ=Dead, Dmd=B] ->
                                          jump $j2_s7bV tc1_a6Mj;
                                        FunTy ds16_a6Mm [Dmd=S] _ [Occ=Dead, Dmd=B]
                                              _ [Occ=Dead, Dmd=B] _ [Occ=Dead, Dmd=B] ->
                                          jump $j3_s7bX ds16_a6Mm
                                      }
                                  }
                                  };
                                FunTy ds_a6Mr [Dmd=S] ds1_a6Ms [Dmd=B] ds2_a6Mt [Dmd=B]
                                      ds3_a6Mu [Dmd=B] ->
                                  src<compiler/GHC/Core/Type.hs:397:19-20> jump $j3_s7bX ds_a6Mr
                              };
                            Just ds_a6S1 [Dmd=S!P(B,S)] ->
                              case ds_a6S1 of { (ds1_a6S4 [Dmd=A], unwrapped_a6S5 [Dmd=SL]) ->
                              src<compiler/GHC/Types/RepType.hs:94:5-13>
                              case unwrapped_a6S5 of wild_a6LQ {
                                __DEFAULT ->
                                  src<compiler/GHC/Core/Type.hs:397:19-20>
                                  src<compiler/GHC/Core/Type.hs:1628:27-33>
                                  src<compiler/GHC/Stg/Utils.hs:66:37-43> PolyAlt;
                                TyConApp tc_a6LV [Dmd=SL] ds_a6LW ->
                                  src<compiler/GHC/Core/Type.hs:396:5-25>
                                  src<compiler/GHC/Core/TyCon.hs:(2102,1)-(2104,38)>
                                  case tc_a6LV of wild1_a6LY
                                  { TyCon bx_a6LZ ds1_a6M0 ds2_a6M1 ds3_a6M2 ds4_a6M3 ds5_a6M4
                                          ds6_a6M5 ds7_a6M6 ds8_a6M7 ds9_a6M8 ds10_a6M9 [Dmd=SL] ->
                                  src<compiler/GHC/Core/TyCon.hs:2103:24-30>
                                  case ds10_a6M9 of {
                                    __DEFAULT ->
                                      src<compiler/GHC/Core/TyCon.hs:2104:5-13>
                                      src<compiler/GHC/Core/TyCon.hs:2104:34-38>
                                      src<compiler/GHC/Core/Type.hs:397:19-20>
                                      jump $j2_s7bV wild1_a6LY;
                                    SynonymTyCon ds11_a6Mc [Dmd=B] ds12_a6Md [Dmd=B]
                                                 ds13_a6Me [Dmd=B] ds14_a6Mf [Dmd=B]
                                                 ds15_a6Mg [Dmd=B] ->
                                      src<compiler/GHC/Core/TyCon.hs:2103:34-37>
                                      src<compiler/GHC/Core/Type.hs:396:29-45>
                                      case core_full_view wild_a6LQ of {
                                        __DEFAULT ->
                                          src<compiler/GHC/Core/Type.hs:1628:27-33>
                                          src<compiler/GHC/Stg/Utils.hs:66:37-43> PolyAlt;
                                        TyConApp tc1_a6Mj [Dmd=S] _ [Occ=Dead, Dmd=B] ->
                                          jump $j2_s7bV tc1_a6Mj;
                                        FunTy ds16_a6Mm [Dmd=S] _ [Occ=Dead, Dmd=B]
                                              _ [Occ=Dead, Dmd=B] _ [Occ=Dead, Dmd=B] ->
                                          jump $j3_s7bX ds16_a6Mm
                                      }
                                  }
                                  };
                                FunTy ds_a6Mr [Dmd=S] ds1_a6Ms [Dmd=B] ds2_a6Mt [Dmd=B]
                                      ds3_a6Mu [Dmd=B] ->
                                  src<compiler/GHC/Core/Type.hs:397:19-20> jump $j3_s7bX ds_a6Mr
                              }
                              }
                          }
                      };
                    : ipv_s6Ce [Dmd=B] ipv_s7aY [Dmd=B] ->
                      src<compiler/GHC/Stg/Utils.hs:68:20-49>
                      MultiValAlt
                        (src<compiler/GHC/Stg/Utils.hs:68:32-49>
                         src<libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:702:5-25>
                         src<compiler/GHC/Stg/Utils.hs:58:10-18>
                         case $wlenAcc @PrimRep wild_X4 0# of ww1_a7k2 { __DEFAULT ->
                         I# ww1_a7k2
                         })
                  }
              };
            True -> jump $j_s7jU
          };
        True ->
          src<libraries/ghc-prim/GHC/Classes.hs:625:28-31> jump $j_s7jU
      }

Rec {
poly_go1_sbBA [Occ=LoopBreaker]
  :: forall (a :: StgPass). [(Id, GenStgRhs a)] -> [Id]
[LclId,
 Arity=1,
 Str=<SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [30] 60 20}]
poly_go1_sbBA
  = \ (@(a_sbAi :: StgPass))
      (ds_a7kf [Dmd=SL] :: [(Id, GenStgRhs a_sbAi)]) ->
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1792,13)-(1793,35)>
      case ds_a7kf of {
        [] ->
          (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
           src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18> [])
            @Id;
        : y_a7ki [Dmd=S!P(S,B)] ys_a7kj [Dmd=S] ->
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
          case y_a7ki of { (binder_a4wN, ds_d5bV [Dmd=A]) ->
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:13-15>
          : @Id
            (src<compiler/GHC/Stg/Utils.hs:94:35-40> binder_a4wN)
            (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
             poly_go1_sbBA @a_sbAi ys_a7kj)
          }
      }
end Rec }

$wbindersOf_sbAp [InlPrag=[2]]
  :: forall (a :: StgPass).
     (BinderP a ~# Id) =>
     GenStgBinding a -> [Id]
[LclId[StrictWorker([])],
 Arity=2,
 Str=<SL><SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [0 40] 50 10}]
$wbindersOf_sbAp
  = \ (@(a_sbAi :: StgPass))
      (ww_sbAl :: BinderP a_sbAi ~# Id)
      (eta_sbAn [Dmd=SL] :: GenStgBinding a_sbAi) ->
      src<compiler/GHC/Stg/Utils.hs:(93,1)-(94,64)>
      case eta_sbAn of {
        StgNonRec binder_a4wL [Dmd=S] ds_d5bW [Dmd=B] ->
          src<compiler/GHC/Stg/Utils.hs:93:34-41>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
          : @Id
            (src<compiler/GHC/Stg/Utils.hs:93:35-40>
             binder_a4wL `cast` (Sub ww_sbAl :: BinderP a_sbAi ~R# Id))
            ((src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
              [])
               @Id);
        StgRec pairs_a4wM [Dmd=S] ->
          src<compiler/GHC/Stg/Utils.hs:94:34-64>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
          poly_go1_sbBA
            @a_sbAi
            (pairs_a4wM
             `cast` (([((,) (Sub ww_sbAl) <GenStgRhs a_sbAi>_R)_R])_R
                     :: [(BinderP a_sbAi, GenStgRhs a_sbAi)]
                        ~R# [(Id, GenStgRhs a_sbAi)]))
      }

bindersOf [InlPrag=[2]]
  :: forall (a :: StgPass).
     (BinderP a ~ Id) =>
     GenStgBinding a -> [Id]
[LclIdX,
 Arity=2,
 Str=<S!P(SL)><SL>,
 Unf=Unf{Src=StableSystem, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
         Tmpl= \ (@(a_sbAi :: StgPass))
                 ($d~_sbAj [Occ=Once1!, Dmd=S!P(SL)] :: BinderP a_sbAi ~ Id)
                 (eta_sbAn [Occ=Once1, Dmd=SL] :: GenStgBinding a_sbAi) ->
                 case $d~_sbAj of { Eq# ww_sbAl ->
                 $wbindersOf_sbAp
                   @a_sbAi @~(ww_sbAl :: BinderP a_sbAi ~# Id) eta_sbAn
                 }}]
bindersOf
  = \ (@(a_sbAi :: StgPass))
      ($d~_sbAj [Dmd=S!P(SL)] :: BinderP a_sbAi ~ Id)
      (eta_sbAn [Dmd=SL] :: GenStgBinding a_sbAi) ->
      case $d~_sbAj of { Eq# ww_sbAl ->
      $wbindersOf_sbAp
        @a_sbAi @~(ww_sbAl :: BinderP a_sbAi ~# Id) eta_sbAn
      }

$wbindersOfTop_sbAB [InlPrag=[2]]
  :: forall (a :: StgPass).
     (BinderP a ~# Id) =>
     GenStgTopBinding a -> [Id]
[LclId[StrictWorker([])],
 Arity=2,
 Str=<SL><SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [0 40] 80 20}]
$wbindersOfTop_sbAB
  = \ (@(a_sbAu :: StgPass))
      (ww_sbAx :: BinderP a_sbAu ~# Id)
      (eta_sbAz [Dmd=SL] :: GenStgTopBinding a_sbAu) ->
      src<compiler/GHC/Stg/Utils.hs:(101,1)-(102,50)>
      case eta_sbAz of {
        StgTopLifted bind_a4wR [Dmd=S] ->
          src<compiler/GHC/Stg/Utils.hs:101:36-49>
          src<compiler/GHC/Stg/Utils.hs:(93,1)-(94,64)>
          case bind_a4wR of {
            StgNonRec binder_a4wL [Dmd=S] ds_d5bW [Dmd=B] ->
              src<compiler/GHC/Stg/Utils.hs:93:34-41>
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
              : @Id
                (src<compiler/GHC/Stg/Utils.hs:93:35-40>
                 binder_a4wL `cast` (Sub ww_sbAx :: BinderP a_sbAu ~R# Id))
                ((src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
                  [])
                   @Id);
            StgRec pairs_a4wM [Dmd=S] ->
              src<compiler/GHC/Stg/Utils.hs:94:34-64>
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
              poly_go1_sbBA
                @a_sbAu
                (pairs_a4wM
                 `cast` (([((,) (Sub ww_sbAx) <GenStgRhs a_sbAu>_R)_R])_R
                         :: [(BinderP a_sbAu, GenStgRhs a_sbAu)]
                            ~R# [(Id, GenStgRhs a_sbAu)]))
          };
        StgTopStringLit binder_a4wS [Dmd=S] ds_d5c7 [Dmd=B] ->
          src<compiler/GHC/Stg/Utils.hs:102:43-50>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
          : @Id
            (src<compiler/GHC/Stg/Utils.hs:102:44-49> binder_a4wS)
            ((src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
              [])
               @Id)
      }

bindersOfTop [InlPrag=[2]]
  :: forall (a :: StgPass).
     (BinderP a ~ Id) =>
     GenStgTopBinding a -> [Id]
[LclIdX,
 Arity=2,
 Str=<S!P(SL)><SL>,
 Unf=Unf{Src=StableSystem, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
         Tmpl= \ (@(a_sbAu :: StgPass))
                 ($d~_sbAv [Occ=Once1!, Dmd=S!P(SL)] :: BinderP a_sbAu ~ Id)
                 (eta_sbAz [Occ=Once1, Dmd=SL] :: GenStgTopBinding a_sbAu) ->
                 case $d~_sbAv of { Eq# ww_sbAx ->
                 $wbindersOfTop_sbAB
                   @a_sbAu @~(ww_sbAx :: BinderP a_sbAu ~# Id) eta_sbAz
                 }}]
bindersOfTop
  = \ (@(a_sbAu :: StgPass))
      ($d~_sbAv [Dmd=S!P(SL)] :: BinderP a_sbAu ~ Id)
      (eta_sbAz [Dmd=SL] :: GenStgTopBinding a_sbAu) ->
      case $d~_sbAv of { Eq# ww_sbAx ->
      $wbindersOfTop_sbAB
        @a_sbAu @~(ww_sbAx :: BinderP a_sbAu ~# Id) eta_sbAz
      }

$wbindersOfTopBinds_sbAQ [InlPrag=[2]]
  :: forall (a :: StgPass).
     (BinderP a ~# Id) =>
     [GenStgTopBinding a] -> [Id]
[LclId[StrictWorker([])],
 Arity=2,
 Str=<SL><SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [0 0] 290 0}]
$wbindersOfTopBinds_sbAQ
  = \ (@(a_sbAJ :: StgPass))
      (ww_sbAM :: BinderP a_sbAJ ~# Id)
      (eta_sbAO [Dmd=SL] :: [GenStgTopBinding a_sbAJ]) ->
      letrec {
        go1_a7ke [Occ=LoopBreaker] :: [GenStgTopBinding a_sbAJ] -> [Id]
        [LclId, Arity=1, Str=<SL>]
        go1_a7ke
          = \ (ds_a7kf [Dmd=SL] :: [GenStgTopBinding a_sbAJ]) ->
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1792,13)-(1793,35)>
              case ds_a7kf of {
                [] ->
                  (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
                   src<compiler/GHC/Stg/Utils.hs:107:55-56> [])
                    @Id;
                : y_a7ki [Dmd=S] ys_a7kj [Dmd=S] ->
                  src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
                  src<compiler/GHC/Stg/Utils.hs:107:33-53>
                  src<libraries/ghc-internal/src/GHC/Internal/Base.hs:2172:1-23>
                  src<compiler/GHC/Stg/Utils.hs:(101,1)-(102,50)>
                  case y_a7ki of {
                    StgTopLifted bind_a4wR [Dmd=S] ->
                      src<compiler/GHC/Stg/Utils.hs:101:36-49>
                      src<compiler/GHC/Stg/Utils.hs:(93,1)-(94,64)>
                      case bind_a4wR of {
                        StgNonRec binder_a4wL [Dmd=S] ds_d5bW [Dmd=B] ->
                          src<compiler/GHC/Stg/Utils.hs:93:34-41>
                          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
                          ++_$s++
                            @Var
                            (binder_a4wL `cast` (Sub ww_sbAM :: BinderP a_sbAJ ~R# Id))
                            ((src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
                              [])
                               @Id)
                            (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
                             go1_a7ke ys_a7kj);
                        StgRec pairs_a4wM [Dmd=S] ->
                          src<compiler/GHC/Stg/Utils.hs:94:34-64>
                          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
                          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
                          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
                          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
                          ++
                            @Id
                            (poly_go1_sbBA
                               @a_sbAJ
                               (pairs_a4wM
                                `cast` (([((,) (Sub ww_sbAM) <GenStgRhs a_sbAJ>_R)_R])_R
                                        :: [(BinderP a_sbAJ, GenStgRhs a_sbAJ)]
                                           ~R# [(Id, GenStgRhs a_sbAJ)])))
                            (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
                             go1_a7ke ys_a7kj)
                      };
                    StgTopStringLit binder_a4wS [Dmd=S] ds_d5c7 [Dmd=B] ->
                      src<compiler/GHC/Stg/Utils.hs:102:43-50>
                      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
                      ++_$s++
                        @Var
                        binder_a4wS
                        ((src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
                          [])
                           @Id)
                        (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
                         go1_a7ke ys_a7kj)
                  }
              }; } in
      src<compiler/GHC/Stg/Utils.hs:107:1-62>
      src<libraries/ghc-internal/src/GHC/Internal/Data/Foldable.hs:697:5-24>
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
      go1_a7ke eta_sbAO

bindersOfTopBinds [InlPrag=[2]]
  :: forall (a :: StgPass).
     (BinderP a ~ Id) =>
     [GenStgTopBinding a] -> [Id]
[LclIdX,
 Arity=2,
 Str=<S!P(SL)><SL>,
 Unf=Unf{Src=StableSystem, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
         Tmpl= \ (@(a_sbAJ :: StgPass))
                 ($d~_sbAK [Occ=Once1!, Dmd=S!P(SL)] :: BinderP a_sbAJ ~ Id)
                 (eta_sbAO [Occ=Once1, Dmd=SL] :: [GenStgTopBinding a_sbAJ]) ->
                 case $d~_sbAK of { Eq# ww_sbAM ->
                 $wbindersOfTopBinds_sbAQ
                   @a_sbAJ @~(ww_sbAM :: BinderP a_sbAJ ~# Id) eta_sbAO
                 }}]
bindersOfTopBinds
  = \ (@(a_sbAJ :: StgPass))
      ($d~_sbAK [Dmd=S!P(SL)] :: BinderP a_sbAJ ~ Id)
      (eta_sbAO [Dmd=SL] :: [GenStgTopBinding a_sbAJ]) ->
      case $d~_sbAK of { Eq# ww_sbAM ->
      $wbindersOfTopBinds_sbAQ
        @a_sbAJ @~(ww_sbAM :: BinderP a_sbAJ ~# Id) eta_sbAO
      }

Rec {
poly_go1_sbBG [Occ=LoopBreaker]
  :: forall (a :: StgPass). [(BinderP a, GenStgRhs a)] -> [BinderP a]
[LclId,
 Arity=1,
 Str=<SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [30] 60 20}]
poly_go1_sbBG
  = \ (@(a_a4Kf :: StgPass))
      (ds_a7kf [Dmd=SL] :: [(BinderP a_a4Kf, GenStgRhs a_a4Kf)]) ->
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1792,13)-(1793,35)>
      case ds_a7kf of {
        [] ->
          (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
           src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18> [])
            @(BinderP a_a4Kf);
        : y_a7ki [Dmd=S!P(S,B)] ys_a7kj [Dmd=S] ->
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
          case y_a7ki of { (binder_a4wQ, ds_d5bF [Dmd=A]) ->
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:13-15>
          : @(BinderP a_a4Kf)
            (src<compiler/GHC/Stg/Utils.hs:98:36-41> binder_a4wQ)
            (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
             poly_go1_sbBG @a_a4Kf ys_a7kj)
          }
      }
end Rec }

bindersOfX :: forall (a :: StgPass). GenStgBinding a -> [BinderP a]
[LclIdX,
 Arity=1,
 Str=<SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [40] 50 10}]
bindersOfX
  = \ (@(a_a4Kf :: StgPass))
      (ds_d5bu [Dmd=SL] :: GenStgBinding a_a4Kf) ->
      src<compiler/GHC/Stg/Utils.hs:(97,1)-(98,65)>
      case ds_d5bu of {
        StgNonRec binder_a4wO [Dmd=S] ds_d5bG [Dmd=B] ->
          src<compiler/GHC/Stg/Utils.hs:97:35-42>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
          : @(BinderP a_a4Kf)
            (src<compiler/GHC/Stg/Utils.hs:97:36-41> binder_a4wO)
            ((src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18>
              [])
               @(BinderP a_a4Kf));
        StgRec pairs_a4wP [Dmd=S] ->
          src<compiler/GHC/Stg/Utils.hs:98:35-65>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
          poly_go1_sbBG @a_a4Kf pairs_a4wP
      }

Rec {
idArgs [Occ=LoopBreaker] :: [StgArg] -> [Id]
[LclIdX,
 Arity=1,
 Str=<SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [30] 90 20}]
idArgs
  = \ (ds_a7kf [Dmd=SL] :: [StgArg]) ->
      src<compiler/GHC/Stg/Utils.hs:110:1-39>
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:1-18>
      src<libraries/ghc-internal/src/GHC/Internal/Base.hs:(1790,1)-(1793,35)>
      case ds_a7kf of {
        [] ->
          (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1792:25>
           src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:17-18> [])
            @Id;
        : y_a7ki [Dmd=S] ys_a7kj [Dmd=S] ->
          src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:25-35>
          case y_a7ki of {
            StgVarArg v_a4wZ [Dmd=S] ->
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1813:13-15>
              : @Id
                (src<compiler/GHC/Stg/Utils.hs:110:16> v_a4wZ)
                (src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
                 idArgs ys_a7kj);
            StgLitArg ipv_s7bC [Dmd=B] ->
              src<libraries/ghc-internal/src/GHC/Internal/Base.hs:1793:31-35>
              idArgs ys_a7kj
          }
      }
end Rec }

$wstripStgTicksTop_sbBe [InlPrag=[2]]
  :: forall (p :: StgPass).
     (StgTickish -> Bool)
     -> GenStgExpr p -> (# [StgTickish], GenStgExpr p #)
[LclId[StrictWorker([])],
 Arity=2,
 Str=<LC(S,L)><SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [60 0] 170 0}]
$wstripStgTicksTop_sbBe
  = \ (@(p_sbB9 :: StgPass))
      (p_sbBa [Dmd=LC(S,L)] :: StgTickish -> Bool)
      (eta_sbBb [Dmd=SL] :: GenStgExpr p_sbB9) ->
      joinrec {
        $sgo_sbCM
          :: GenStgExpr p_sbB9
             -> GenTickish 'TickishPassStg
             -> [GenTickish 'TickishPassStg]
             -> (# [StgTickish], GenStgExpr p_sbB9 #)
        [LclId[JoinId(3)(Just [])], Arity=3, Str=<SL><L><L>]
        $sgo_sbCM (sc_sbCL [Dmd=SL] :: GenStgExpr p_sbB9)
                  (sc_sbCJ :: GenTickish 'TickishPassStg)
                  (sc_sbCK :: [GenTickish 'TickishPassStg])
          = src<compiler/GHC/Stg/Utils.hs:(115,10)-(118,56)>
            case sc_sbCL of wild_X1 {
              __DEFAULT ->
                src<compiler/GHC/Stg/Utils.hs:118:38-56>
                (# src<compiler/GHC/Stg/Utils.hs:118:39-48>
                   src<libraries/ghc-internal/src/GHC/Internal/List.hs:(1365,1)-(1368,31)>
                   reverse1
                     @StgTickish
                     (: @StgTickish sc_sbCJ sc_sbCK)
                     ((src<libraries/ghc-internal/src/GHC/Internal/List.hs:1365:20-21>
                       [])
                        @StgTickish),
                   src<compiler/GHC/Stg/Utils.hs:118:51-55> wild_X1 #);
              StgTick t_a4x3 e_a4x4 ->
                src<compiler/GHC/Stg/Utils.hs:115:32-34>
                case p_sbBa (src<compiler/GHC/Stg/Utils.hs:115:34> t_a4x3) of {
                  False ->
                    src<compiler/GHC/Stg/Utils.hs:118:38-56>
                    (# src<compiler/GHC/Stg/Utils.hs:118:39-48>
                       src<libraries/ghc-internal/src/GHC/Internal/List.hs:(1365,1)-(1368,31)>
                       reverse1
                         @StgTickish
                         (: @StgTickish sc_sbCJ sc_sbCK)
                         ((src<libraries/ghc-internal/src/GHC/Internal/List.hs:1365:20-21>
                           [])
                            @StgTickish),
                       src<compiler/GHC/Stg/Utils.hs:118:51-55> wild_X1 #);
                  True ->
                    src<compiler/GHC/Stg/Utils.hs:115:38-48>
                    jump go_s7bZ
                      (src<compiler/GHC/Stg/Utils.hs:115:41-46>
                       : @StgTickish
                         (src<compiler/GHC/Stg/Utils.hs:115:42> t_a4x3)
                         (src<compiler/GHC/Stg/Utils.hs:115:44-45>
                          : @StgTickish sc_sbCJ sc_sbCK))
                      e_a4x4
                }
            };
        $sgo_sbCI
          :: GenStgExpr p_sbB9 -> (# [StgTickish], GenStgExpr p_sbB9 #)
        [LclId[JoinId(1)(Just [])], Arity=1, Str=<SL>]
        $sgo_sbCI (sc_sbCH [Dmd=SL] :: GenStgExpr p_sbB9)
          = src<compiler/GHC/Stg/Utils.hs:(115,10)-(118,56)>
            case sc_sbCH of wild_X1 {
              __DEFAULT ->
                src<compiler/GHC/Stg/Utils.hs:117:38-48>
                (# (src<compiler/GHC/Stg/Utils.hs:117:39-40> []) @StgTickish,
                   src<compiler/GHC/Stg/Utils.hs:117:43-47> wild_X1 #);
              StgTick t_a4x3 e_a4x4 ->
                src<compiler/GHC/Stg/Utils.hs:115:32-34>
                case p_sbBa (src<compiler/GHC/Stg/Utils.hs:115:34> t_a4x3) of {
                  False ->
                    src<compiler/GHC/Stg/Utils.hs:117:38-48>
                    (# (src<compiler/GHC/Stg/Utils.hs:117:39-40> []) @StgTickish,
                       src<compiler/GHC/Stg/Utils.hs:117:43-47> wild_X1 #);
                  True ->
                    src<compiler/GHC/Stg/Utils.hs:115:38-48>
                    jump go_s7bZ
                      (src<compiler/GHC/Stg/Utils.hs:115:41-46>
                       : @StgTickish
                         (src<compiler/GHC/Stg/Utils.hs:115:42> t_a4x3)
                         (src<compiler/GHC/Stg/Utils.hs:115:44-45> [] @StgTickish))
                      e_a4x4
                }
            };
        go_s7bZ [Occ=LoopBreaker]
          :: [StgTickish]
             -> GenStgExpr p_sbB9 -> (# [StgTickish], GenStgExpr p_sbB9 #)
        [LclId[JoinId(2)(Nothing)],
         Arity=2,
         Str=<L><SL>,
         RULES: "SC:go1"
                    forall (sc_sbCL :: GenStgExpr p_sbB9)
                           (sc_sbCJ :: GenTickish 'TickishPassStg)
                           (sc_sbCK :: [GenTickish 'TickishPassStg]).
                      go_s7bZ (: @StgTickish sc_sbCJ sc_sbCK) sc_sbCL
                      = jump $sgo_sbCM sc_sbCL sc_sbCJ sc_sbCK
                "SC:go0"
                    forall (sc_sbCH :: GenStgExpr p_sbB9).
                      go_s7bZ ([] @StgTickish) sc_sbCH
                      = jump $sgo_sbCI sc_sbCH]
        go_s7bZ (ts_a4x2 :: [StgTickish])
                (ds_d5b6 [Dmd=SL] :: GenStgExpr p_sbB9)
          = src<compiler/GHC/Stg/Utils.hs:(115,10)-(118,56)>
            case ds_d5b6 of wild_X1 {
              __DEFAULT ->
                case ts_a4x2 of wild_X2 {
                  [] ->
                    src<compiler/GHC/Stg/Utils.hs:117:38-48>
                    (# (src<compiler/GHC/Stg/Utils.hs:117:39-40> []) @StgTickish,
                       src<compiler/GHC/Stg/Utils.hs:117:43-47> wild_X1 #);
                  : ipv_s7bE ipv_s7bF ->
                    src<compiler/GHC/Stg/Utils.hs:118:38-56>
                    (# src<compiler/GHC/Stg/Utils.hs:118:39-48>
                       src<libraries/ghc-internal/src/GHC/Internal/List.hs:(1365,1)-(1368,31)>
                       reverse1
                         @StgTickish
                         wild_X2
                         ((src<libraries/ghc-internal/src/GHC/Internal/List.hs:1365:20-21>
                           [])
                            @StgTickish),
                       src<compiler/GHC/Stg/Utils.hs:118:51-55> wild_X1 #)
                };
              StgTick t_a4x3 e_a4x4 ->
                src<compiler/GHC/Stg/Utils.hs:115:32-34>
                case p_sbBa (src<compiler/GHC/Stg/Utils.hs:115:34> t_a4x3) of {
                  False ->
                    case ts_a4x2 of wild_X3 {
                      [] ->
                        src<compiler/GHC/Stg/Utils.hs:117:38-48>
                        (# (src<compiler/GHC/Stg/Utils.hs:117:39-40> []) @StgTickish,
                           src<compiler/GHC/Stg/Utils.hs:117:43-47> wild_X1 #);
                      : ipv_s7bE ipv_s7bF ->
                        src<compiler/GHC/Stg/Utils.hs:118:38-56>
                        (# src<compiler/GHC/Stg/Utils.hs:118:39-48>
                           src<libraries/ghc-internal/src/GHC/Internal/List.hs:(1365,1)-(1368,31)>
                           reverse1
                             @StgTickish
                             wild_X3
                             ((src<libraries/ghc-internal/src/GHC/Internal/List.hs:1365:20-21>
                               [])
                                @StgTickish),
                           src<compiler/GHC/Stg/Utils.hs:118:51-55> wild_X1 #)
                    };
                  True ->
                    src<compiler/GHC/Stg/Utils.hs:115:38-48>
                    jump go_s7bZ
                      (src<compiler/GHC/Stg/Utils.hs:115:41-46>
                       : @StgTickish
                         (src<compiler/GHC/Stg/Utils.hs:115:42> t_a4x3)
                         (src<compiler/GHC/Stg/Utils.hs:115:44-45> ts_a4x2))
                      e_a4x4
                }
            }; } in
      src<compiler/GHC/Stg/Utils.hs:(114,1)-(118,56)>
      jump go_s7bZ
        ((src<compiler/GHC/Stg/Utils.hs:114:25-26> []) @StgTickish)
        eta_sbBb

stripStgTicksTop [InlPrag=[2]]
  :: forall (p :: StgPass).
     (StgTickish -> Bool)
     -> GenStgExpr p -> ([StgTickish], GenStgExpr p)
[LclIdX,
 Arity=2,
 Str=<LC(S,L)><SL>,
 Cpr=1,
 Unf=Unf{Src=StableSystem, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
         Tmpl= \ (@(p_sbB9 :: StgPass))
                 (p_sbBa [Occ=Once1, Dmd=LC(S,L)] :: StgTickish -> Bool)
                 (eta_sbBb [Occ=Once1, Dmd=SL] :: GenStgExpr p_sbB9) ->
                 case $wstripStgTicksTop_sbBe @p_sbB9 p_sbBa eta_sbBb of
                 { (# ww_sbBn [Occ=Once1], ww_sbBo [Occ=Once1] #) ->
                 (ww_sbBn, ww_sbBo)
                 }}]
stripStgTicksTop
  = \ (@(p_sbB9 :: StgPass))
      (p_sbBa [Dmd=LC(S,L)] :: StgTickish -> Bool)
      (eta_sbBb [Dmd=SL] :: GenStgExpr p_sbB9) ->
      case $wstripStgTicksTop_sbBe @p_sbB9 p_sbBa eta_sbBb of
      { (# ww_sbBn, ww_sbBo #) ->
      (ww_sbBn, ww_sbBo)
      }

stripStgTicksTopE
  :: forall (p :: StgPass).
     (StgTickish -> Bool) -> GenStgExpr p -> GenStgExpr p
[LclIdX,
 Arity=2,
 Str=<LC(S,L)><SL>,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [60 0] 60 0}]
stripStgTicksTopE
  = \ (@(p_a4IW :: StgPass))
      (p_a4yl [Dmd=LC(S,L)] :: StgTickish -> Bool)
      (eta_B0 [Dmd=SL] :: GenStgExpr p_a4IW) ->
      joinrec {
        go_s7c1 [Occ=LoopBreaker] :: GenStgExpr p_a4IW -> GenStgExpr p_a4IW
        [LclId[JoinId(1)(Nothing)], Arity=1, Str=<SL>]
        go_s7c1 (ds_d4VF [Dmd=SL] :: GenStgExpr p_a4IW)
          = src<compiler/GHC/Stg/Utils.hs:(123,10)-(124,39)>
            case ds_d4VF of wild_X1 {
              __DEFAULT -> src<compiler/GHC/Stg/Utils.hs:124:35-39> wild_X1;
              StgTick t_a4yn e_a4yo ->
                src<compiler/GHC/Stg/Utils.hs:123:29-31>
                case p_a4yl (src<compiler/GHC/Stg/Utils.hs:123:31> t_a4yn) of {
                  False -> src<compiler/GHC/Stg/Utils.hs:124:35-39> wild_X1;
                  True ->
                    src<compiler/GHC/Stg/Utils.hs:123:35-38> jump go_s7c1 e_a4yo
                }
            }; } in
      src<compiler/GHC/Stg/Utils.hs:(122,1)-(124,39)> jump go_s7c1 eta_B0

$trModule_s7bK :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 50 0}]
$trModule_s7bK = "ghc-9.11-inplace"#

$trModule_s7bL :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 10 10}]
$trModule_s7bL = TrNameS $trModule_s7bK

$trModule_s7bM :: Addr#
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 50 0}]
$trModule_s7bM = "GHC.Stg.Utils"#

$trModule_s7bN :: TrName
[LclId,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 10 10}]
$trModule_s7bN = TrNameS $trModule_s7bM

$trModule :: Module
[LclIdX,
 Unf=Unf{Src=<vanilla>, TopLvl=True,
         Value=True, ConLike=True, WorkFree=True, Expandable=True,
         Guidance=IF_ARGS [] 10 10}]
$trModule = Module $trModule_s7bL $trModule_s7bN

*** End of Offense ***
<no location info>: error: 
Compilation had errors



Command failed
Build failed.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information