\(input :: inp) ->
  let !(#
         initBuffer,
         initPos,
         readMore,
         readNext,
         append
         #) =
          let next buf pos =
                let !( Data.Text.Unsafe.Iter
                         c
                         d
                       ) = Symantic.Parser.Machine.Input.Text.Buffer.iter buf pos
                 in (# c, pos GHC.Num.+ d #)
              more buf pos = pos GHC.Classes.< Symantic.Parser.Machine.Input.Text.Buffer.length buf
              append = Symantic.Parser.Machine.Input.Text.Buffer.pappend
           in (#
                Symantic.Parser.Machine.Input.Text.Buffer.buffer input,
                0,
                more,
                next,
                append
              #)
      finalRet = \_farInp _farExp v _inp _buf _end -> Symantic.Parser.Machine.Generate.returnST GHC.Base.$ Symantic.Parser.Machine.Generate.ResultDone v
      finalRaise :: Symantic.Parser.Machine.Generate.ForallOnException inp =
        Symantic.Parser.Machine.Generate.ForallOnException GHC.Base.$
          ( \(!exn) _failInp (!farInp) (!farExp) buf end ->
              Symantic.Parser.Machine.Generate.returnST GHC.Base.$
                Symantic.Parser.Machine.Generate.ResultError
                  Symantic.Parser.Machine.Generate.ParsingError
                    { Symantic.Parser.Machine.Generate.parsingErrorOffset = Symantic.Parser.Machine.Input.position farInp,
                      Symantic.Parser.Machine.Generate.parsingErrorException = exn,
                      Symantic.Parser.Machine.Generate.parsingErrorUnexpected =
                        if readMore buf farInp
                          then
                            GHC.Maybe.Just
                              ( let (#
                                      c,
                                      _
                                      #) = readNext buf farInp
                                 in c
                              )
                          else GHC.Maybe.Nothing,
                      Symantic.Parser.Machine.Generate.parsingErrorExpecting =
                        let ( minHoriz,
                              res
                              ) =
                                Data.Set.Internal.foldr
                                  ( \f
                                     ( minH,
                                       acc
                                       ) -> case Symantic.Parser.Grammar.Combinators.unSomeFailure f of
                                        GHC.Maybe.Just (Symantic.Parser.Grammar.Combinators.FailureHorizon h :: Symantic.Parser.Grammar.Combinators.Failure (Symantic.Parser.Grammar.Combinators.CombSatisfiable (Symantic.Parser.Machine.Input.InputToken inp)))
                                          | GHC.Maybe.Just old <- minH ->
                                              ( GHC.Maybe.Just (GHC.Classes.min old h),
                                                acc
                                              )
                                          | GHC.Base.otherwise ->
                                              ( GHC.Maybe.Just h,
                                                acc
                                              )
                                        _ ->
                                          ( minH,
                                            f GHC.Types.: acc
                                          )
                                  )
                                  ( GHC.Maybe.Nothing,
                                    GHC.Types . []
                                  )
                                  farExp
                         in Data.Set.Internal.fromList GHC.Base.$
                              ( case minHoriz of
                                  GHC.Maybe.Just h -> Symantic.Parser.Grammar.Combinators.SomeFailure (Symantic.Parser.Grammar.Combinators.FailureHorizon @(Symantic.Parser.Machine.Input.InputToken inp) h) GHC.Types.: res
                                  GHC.Maybe.Nothing -> res
                              )
                    }
          )
   in let inputToken = Data.Proxy.Proxy :: Data.Proxy.Proxy (Symantic.Parser.Machine.Input.InputToken inp)
       in let partialCont buf =
                let readFail = Symantic.Parser.Machine.Generate.unForallOnException finalRaise
                 in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=4"
                     in if readMore buf ((GHC.Num.+) @GHC.Types.Int 3 initPos)
                          then
                            let name = \(!callerOnReturn) (!callerInput) (!callerBuffer) (!callerEnd) (!callerOnExceptionStackByLabel) ->
                                  let _ = "catch ExceptionFailure checkedHorizon=0"
                                   in let onException =
                                            let _ = "onException"
                                             in \(!_exn) (!failInp) (!farInp) (!farExp) buf end ->
                                                  let _ = "loadInput checkedHorizon=0"
                                                   in let _ = "checkHorizon.noCheck"
                                                       in Data.Map.Strict.Internal.findWithDefault (Symantic.Parser.Machine.Generate.unForallOnException finalRaise) Symantic.Parser.Grammar.Combinators.ExceptionFailure callerOnExceptionStackByLabel Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf end
                                       in let _ = "pushValue"
                                           in let _ = "comment: satisfy ((GHC.Classes.==) 'a')"
                                               in let partialCont buf =
                                                        let readFail = onException
                                                         in let _ = "checkHorizon.newCheck: checkedHorizon=0 minHoriz=4"
                                                             in if readMore buf ((GHC.Num.+) @GHC.Types.Int 3 callerInput)
                                                                  then
                                                                    let _ = "checkToken"
                                                                     in let !(#
                                                                               c,
                                                                               cs
                                                                               #) = readNext buf callerInput
                                                                         in if (GHC.Classes.==) 'a' c
                                                                              then
                                                                                let _ = "lift2Value checkedHorizon=4"
                                                                                 in let _ = "comment: satisfy ((GHC.Classes.==) 'b')"
                                                                                     in let _ = "checkHorizon.oldCheck: checkedHorizon=4"
                                                                                         in let _ = "checkToken"
                                                                                             in let !(#
                                                                                                       c,
                                                                                                       cs
                                                                                                       #) = readNext buf cs
                                                                                                 in if (GHC.Classes.==) 'b' c
                                                                                                      then
                                                                                                        let _ = "lift2Value checkedHorizon=3"
                                                                                                         in let _ = "comment: satisfy ((GHC.Classes.==) 'c')"
                                                                                                             in let _ = "checkHorizon.oldCheck: checkedHorizon=3"
                                                                                                                 in let _ = "checkToken"
                                                                                                                     in let !(#
                                                                                                                               c,
                                                                                                                               cs
                                                                                                                               #) = readNext buf cs
                                                                                                                         in if (GHC.Classes.==) 'c' c
                                                                                                                              then
                                                                                                                                let _ = "lift2Value checkedHorizon=2"
                                                                                                                                 in let _ = "comment: satisfy ((GHC.Classes.==) 'd')"
                                                                                                                                     in let _ = "checkHorizon.oldCheck: checkedHorizon=2"
                                                                                                                                         in let _ = "checkToken"
                                                                                                                                             in let !(#
                                                                                                                                                       c,
                                                                                                                                                       cs
                                                                                                                                                       #) = readNext buf cs
                                                                                                                                                 in if (GHC.Classes.==) 'd' c
                                                                                                                                                      then
                                                                                                                                                        let _ = "lift2Value checkedHorizon=1"
                                                                                                                                                         in let _ = "commit"
                                                                                                                                                             in let _ = "resume"
                                                                                                                                                                 in callerOnReturn
                                                                                                                                                                      initPos
                                                                                                                                                                      Data.Set.Internal.empty
                                                                                                                                                                      ( let _ = "resume.genCode"
                                                                                                                                                                         in (GHC.Types.:) 'a' ((GHC.Types.:) 'b' ((GHC.Types.:) 'c' ((GHC.Types.:) 'd' GHC.Types . [])))
                                                                                                                                                                      )
                                                                                                                                                                      cs
                                                                                                                                                                      buf
                                                                                                                                                                      callerEnd
                                                                                                                                                      else
                                                                                                                                                        let _ = "checkToken.fail"
                                                                                                                                                         in let failExp =
                                                                                                                                                                  Data.Set.Internal.Bin
                                                                                                                                                                    1
                                                                                                                                                                    ( Symantic.Parser.Grammar.Combinators.SomeFailure
                                                                                                                                                                        ( case inputToken of
                                                                                                                                                                            (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureToken 'd'
                                                                                                                                                                        )
                                                                                                                                                                    )
                                                                                                                                                                    Data.Set.Internal.Tip
                                                                                                                                                                    Data.Set.Internal.Tip
                                                                                                                                                             in let (#
                                                                                                                                                                      farInp,
                                                                                                                                                                      farExp
                                                                                                                                                                      #) = case GHC.Classes.compare @GHC.Types.Int initPos cs of
                                                                                                                                                                        GHC.Types.LT ->
                                                                                                                                                                          (#
                                                                                                                                                                            cs,
                                                                                                                                                                            failExp
                                                                                                                                                                          #)
                                                                                                                                                                        GHC.Types.EQ ->
                                                                                                                                                                          (#
                                                                                                                                                                            initPos,
                                                                                                                                                                            failExp GHC.Base.<> Data.Set.Internal.empty
                                                                                                                                                                          #)
                                                                                                                                                                        GHC.Types.GT ->
                                                                                                                                                                          (#
                                                                                                                                                                            initPos,
                                                                                                                                                                            Data.Set.Internal.empty
                                                                                                                                                                          #)
                                                                                                                                                                 in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure cs farInp farExp buf callerEnd
                                                                                                                              else
                                                                                                                                let _ = "checkToken.fail"
                                                                                                                                 in let failExp =
                                                                                                                                          Data.Set.Internal.Bin
                                                                                                                                            1
                                                                                                                                            ( Symantic.Parser.Grammar.Combinators.SomeFailure
                                                                                                                                                ( case inputToken of
                                                                                                                                                    (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureToken 'c'
                                                                                                                                                )
                                                                                                                                            )
                                                                                                                                            Data.Set.Internal.Tip
                                                                                                                                            Data.Set.Internal.Tip
                                                                                                                                     in let (#
                                                                                                                                              farInp,
                                                                                                                                              farExp
                                                                                                                                              #) = case GHC.Classes.compare @GHC.Types.Int initPos cs of
                                                                                                                                                GHC.Types.LT ->
                                                                                                                                                  (#
                                                                                                                                                    cs,
                                                                                                                                                    failExp
                                                                                                                                                  #)
                                                                                                                                                GHC.Types.EQ ->
                                                                                                                                                  (#
                                                                                                                                                    initPos,
                                                                                                                                                    failExp GHC.Base.<> Data.Set.Internal.empty
                                                                                                                                                  #)
                                                                                                                                                GHC.Types.GT ->
                                                                                                                                                  (#
                                                                                                                                                    initPos,
                                                                                                                                                    Data.Set.Internal.empty
                                                                                                                                                  #)
                                                                                                                                         in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure cs farInp farExp buf callerEnd
                                                                                                      else
                                                                                                        let _ = "checkToken.fail"
                                                                                                         in let failExp =
                                                                                                                  Data.Set.Internal.Bin
                                                                                                                    1
                                                                                                                    ( Symantic.Parser.Grammar.Combinators.SomeFailure
                                                                                                                        ( case inputToken of
                                                                                                                            (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureToken 'b'
                                                                                                                        )
                                                                                                                    )
                                                                                                                    Data.Set.Internal.Tip
                                                                                                                    Data.Set.Internal.Tip
                                                                                                             in let (#
                                                                                                                      farInp,
                                                                                                                      farExp
                                                                                                                      #) = case GHC.Classes.compare @GHC.Types.Int initPos cs of
                                                                                                                        GHC.Types.LT ->
                                                                                                                          (#
                                                                                                                            cs,
                                                                                                                            failExp
                                                                                                                          #)
                                                                                                                        GHC.Types.EQ ->
                                                                                                                          (#
                                                                                                                            initPos,
                                                                                                                            failExp GHC.Base.<> Data.Set.Internal.empty
                                                                                                                          #)
                                                                                                                        GHC.Types.GT ->
                                                                                                                          (#
                                                                                                                            initPos,
                                                                                                                            Data.Set.Internal.empty
                                                                                                                          #)
                                                                                                                 in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure cs farInp farExp buf callerEnd
                                                                              else
                                                                                let _ = "checkToken.fail"
                                                                                 in let failExp =
                                                                                          Data.Set.Internal.Bin
                                                                                            1
                                                                                            ( Symantic.Parser.Grammar.Combinators.SomeFailure
                                                                                                ( case inputToken of
                                                                                                    (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureToken 'a'
                                                                                                )
                                                                                            )
                                                                                            Data.Set.Internal.Tip
                                                                                            Data.Set.Internal.Tip
                                                                                     in let (#
                                                                                              farInp,
                                                                                              farExp
                                                                                              #) = case GHC.Classes.compare @GHC.Types.Int initPos callerInput of
                                                                                                GHC.Types.LT ->
                                                                                                  (#
                                                                                                    callerInput,
                                                                                                    failExp
                                                                                                  #)
                                                                                                GHC.Types.EQ ->
                                                                                                  (#
                                                                                                    initPos,
                                                                                                    failExp GHC.Base.<> Data.Set.Internal.empty
                                                                                                  #)
                                                                                                GHC.Types.GT ->
                                                                                                  (#
                                                                                                    initPos,
                                                                                                    Data.Set.Internal.empty
                                                                                                  #)
                                                                                         in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf callerEnd
                                                                  else
                                                                    let _ = "checkHorizon.newCheck.fail"
                                                                     in let noMoreInput =
                                                                              let failExp =
                                                                                    Data.Set.Internal.Bin
                                                                                      1
                                                                                      ( Symantic.Parser.Grammar.Combinators.SomeFailure
                                                                                          ( case inputToken of
                                                                                              (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok' 4
                                                                                          )
                                                                                      )
                                                                                      Data.Set.Internal.Tip
                                                                                      Data.Set.Internal.Tip
                                                                               in let (#
                                                                                        farInp,
                                                                                        farExp
                                                                                        #) = case GHC.Classes.compare @GHC.Types.Int initPos callerInput of
                                                                                          GHC.Types.LT ->
                                                                                            (#
                                                                                              callerInput,
                                                                                              failExp
                                                                                            #)
                                                                                          GHC.Types.EQ ->
                                                                                            (#
                                                                                              initPos,
                                                                                              failExp GHC.Base.<> Data.Set.Internal.empty
                                                                                            #)
                                                                                          GHC.Types.GT ->
                                                                                            (#
                                                                                              initPos,
                                                                                              Data.Set.Internal.empty
                                                                                            #)
                                                                                   in readFail Symantic.Parser.Grammar.Combinators.ExceptionFailure callerInput farInp farExp buf GHC.Types.True
                                                                         in if callerEnd
                                                                              then noMoreInput
                                                                              else
                                                                                Symantic.Parser.Machine.Generate.returnST GHC.Base.$
                                                                                  ( Symantic.Parser.Machine.Generate.ResultPartial GHC.Base.$
                                                                                      ( \newInput ->
                                                                                          if Symantic.Parser.Machine.Input.nullInput newInput
                                                                                            then noMoreInput
                                                                                            else partialCont (append buf newInput)
                                                                                      )
                                                                                  )
                                                   in partialCont callerBuffer
                             in let _ = "pushValue"
                                 in name
                                      ( let _ = "onReturn"
                                         in \farInp farExp v (!inp) buf end ->
                                              let _ = "lift2Value checkedHorizon=0"
                                               in let _ = "pushValue"
                                                   in do
                                                        let dupv = \u -> u
                                                        reg <- GHC.STRef.newSTRef dupv
                                                        let _ = "iter"
                                                         in let onException loopInput =
                                                                  let _ = "onException"
                                                                   in \(!_exn) (!failInp) (!farInp) (!farExp) buf end ->
                                                                        let _ = "comment: raiseAgainIfConsumed"
                                                                         in let _ = "saveInput checkedHorizon=0"
                                                                             in let _ = "lift2Value checkedHorizon=0"
                                                                                 in if (GHC.Classes.==) @GHC.Types.Int loopInput failInp
                                                                                      then
                                                                                        let _ = "choicesBranch checkedHorizon=0"
                                                                                         in do
                                                                                              sr <- GHC.STRef.readSTRef reg
                                                                                              let _ = "pushValue"
                                                                                               in let _ = "lift2Value checkedHorizon=0"
                                                                                                   in let _ = "lift2Value checkedHorizon=0"
                                                                                                       in let _ = "resume"
                                                                                                           in finalRet
                                                                                                                farInp
                                                                                                                farExp
                                                                                                                ( let _ = "resume.genCode"
                                                                                                                   in GHC.Show.show ((GHC.Types.:) v (sr GHC.Types . []))
                                                                                                                )
                                                                                                                failInp
                                                                                                                buf
                                                                                                                end
                                                                                      else
                                                                                        let _ = "choicesBranch.else"
                                                                                         in Symantic.Parser.Machine.Generate.unForallOnException finalRaise Symantic.Parser.Grammar.Combinators.ExceptionFailure failInp farInp farExp buf end
                                                                loop = \_callerOnReturn callerInput callerBuffer callerEnded callerOnExceptionStackByLabel ->
                                                                  let _ = "pushValue"
                                                                   in name
                                                                        ( let _ = "onReturn"
                                                                           in \farInp farExp v (!inp) buf end ->
                                                                                let _ = "lift2Value checkedHorizon=0"
                                                                                 in let _ = "pushValue"
                                                                                     in let _ = "lift2Value checkedHorizon=0"
                                                                                         in do
                                                                                              sr <- GHC.STRef.readSTRef reg
                                                                                              let _ = "lift2Value checkedHorizon=0"
                                                                                               in do
                                                                                                    let dupv = \u -> sr ((GHC.Types.:) v u)
                                                                                                    GHC.STRef.writeSTRef reg dupv
                                                                                                    let _ = "jump"
                                                                                                     in loop (GHC.Err.error "invalid onReturn") inp buf end (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (onException callerInput) Data.Map.Internal.Tip Data.Map.Internal.Tip)
                                                                        )
                                                                        callerInput
                                                                        callerBuffer
                                                                        callerEnded
                                                                        (Data.Map.Internal.Bin 1 Symantic.Parser.Grammar.Combinators.ExceptionFailure (onException callerInput) Data.Map.Internal.Tip Data.Map.Internal.Tip)
                                                             in let _ = "jump"
                                                                 in loop finalRet inp buf end Data.Map.Internal.Tip
                                      )
                                      initPos
                                      buf
                                      GHC.Types.False
                                      Data.Map.Internal.Tip
                          else
                            let _ = "checkHorizon.newCheck.fail"
                             in let noMoreInput =
                                      let failExp =
                                            Data.Set.Internal.Bin
                                              1
                                              ( Symantic.Parser.Grammar.Combinators.SomeFailure
                                                  ( case inputToken of
                                                      (Data.Proxy.Proxy :: Data.Proxy.Proxy tok') -> Symantic.Parser.Grammar.Combinators.FailureHorizon @tok' 4
                                                  )
                                              )
                                              Data.Set.Internal.Tip
                                              Data.Set.Internal.Tip
                                       in let (#
                                                farInp,
                                                farExp
                                                #) = case GHC.Classes.compare @GHC.Types.Int initPos initPos of
                                                  GHC.Types.LT ->
                                                    (#
                                                      initPos,
                                                      failExp
                                                    #)
                                                  GHC.Types.EQ ->
                                                    (#
                                                      initPos,
                                                      failExp GHC.Base.<> Data.Set.Internal.empty
                                                    #)
                                                  GHC.Types.GT ->
                                                    (#
                                                      initPos,
                                                      Data.Set.Internal.empty
                                                    #)
                                           in Symantic.Parser.Machine.Generate.unForallOnException finalRaise Symantic.Parser.Grammar.Combinators.ExceptionFailure initPos farInp farExp buf GHC.Types.True
                                 in if GHC.Types.False
                                      then noMoreInput
                                      else
                                        Symantic.Parser.Machine.Generate.returnST GHC.Base.$
                                          ( Symantic.Parser.Machine.Generate.ResultPartial GHC.Base.$
                                              ( \newInput ->
                                                  if Symantic.Parser.Machine.Input.nullInput newInput
                                                    then noMoreInput
                                                    else partialCont (append buf newInput)
                                              )
                                          )
           in partialCont initBuffer