{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}

{-# OPTIONS_GHC -Wno-overlapping-patterns #-}

module MAlonzo.Code.IO.Primitive.Core where

import MAlonzo.RTE (coe, erased, AgdaAny, addInt, subInt, mulInt,
                    quotInt, remInt, geqInt, ltInt, eqInt, add64, sub64, mul64, quot64,
                    rem64, lt64, eq64, word64FromNat, word64ToNat)
import qualified MAlonzo.RTE
import qualified Data.Text
import qualified MAlonzo.Code.Agda.Builtin.IO
import qualified MAlonzo.Code.Agda.Primitive

-- IO.Primitive.Core.pure
d_pure_12 ::
  forall xA'46'a.
    forall xA.
      MAlonzo.Code.Agda.Primitive.T_Level_18 ->
      () -> xA -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xA'46'a xA
d_pure_12 :: forall xA'46'a xA.
T_Level_18 -> T_Level_18 -> xA -> T_IO_8 xA'46'a xA
d_pure_12 = \T_Level_18
_ T_Level_18
_ -> xA -> T_IO_8 xA'46'a xA
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return
-- IO.Primitive.Core._>>=_
d__'62''62''61'__14 ::
  forall xA'46'a.
    forall xA.
      forall xB'46'a.
        forall xB.
          MAlonzo.Code.Agda.Primitive.T_Level_18 ->
          () ->
          MAlonzo.Code.Agda.Primitive.T_Level_18 ->
          () ->
          MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xA'46'a xA ->
          (xA -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xB'46'a xB) ->
          MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xB'46'a xB
d__'62''62''61'__14 :: forall xA'46'a xA xB'46'a xB.
T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> T_IO_8 xA'46'a xA
-> (xA -> T_IO_8 xB'46'a xB)
-> T_IO_8 xB'46'a xB
d__'62''62''61'__14 = \T_Level_18
_ T_Level_18
_ T_Level_18
_ T_Level_18
_ -> T_IO_8 xA'46'a xA -> (xA -> T_IO_8 xB'46'a xB) -> T_IO_8 xB'46'a xB
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(>>=)
-- IO.Primitive.Core.return
d_return_16 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  AgdaAny -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny
d_return_16 :: T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
d_return_16 T_Level_18
v0 ~T_Level_18
v1 = T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
du_return_16 T_Level_18
v0
du_return_16 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  AgdaAny -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny
du_return_16 :: T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
du_return_16 T_Level_18
v0 = (T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny)
-> T_Level_18 -> AgdaAny -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
forall a b. a -> b
coe T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
forall xA'46'a xA.
T_Level_18 -> T_Level_18 -> xA -> T_IO_8 xA'46'a xA
d_pure_12 T_Level_18
v0 AgdaAny
forall a. a
erased
-- IO.Primitive.Core._>>_
d__'62''62'__18 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny ->
  MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny ->
  MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny
d__'62''62'__18 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> T_IO_8 AgdaAny AgdaAny
-> T_IO_8 AgdaAny AgdaAny
-> T_IO_8 AgdaAny AgdaAny
d__'62''62'__18 T_Level_18
v0 ~T_Level_18
v1 T_Level_18
v2 ~T_Level_18
v3 T_IO_8 AgdaAny AgdaAny
v4 T_IO_8 AgdaAny AgdaAny
v5 = T_Level_18
-> T_Level_18
-> T_IO_8 AgdaAny AgdaAny
-> T_IO_8 AgdaAny AgdaAny
-> T_IO_8 AgdaAny AgdaAny
du__'62''62'__18 T_Level_18
v0 T_Level_18
v2 T_IO_8 AgdaAny AgdaAny
v4 T_IO_8 AgdaAny AgdaAny
v5
du__'62''62'__18 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny ->
  MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny ->
  MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny
du__'62''62'__18 :: T_Level_18
-> T_Level_18
-> T_IO_8 AgdaAny AgdaAny
-> T_IO_8 AgdaAny AgdaAny
-> T_IO_8 AgdaAny AgdaAny
du__'62''62'__18 T_Level_18
v0 T_Level_18
v1 T_IO_8 AgdaAny AgdaAny
v2 T_IO_8 AgdaAny AgdaAny
v3
  = (T_Level_18
 -> T_Level_18
 -> T_Level_18
 -> T_Level_18
 -> T_IO_8 AgdaAny AgdaAny
 -> (AgdaAny -> T_IO_8 AgdaAny AgdaAny)
 -> T_IO_8 AgdaAny AgdaAny)
-> T_Level_18
-> AgdaAny
-> T_Level_18
-> AgdaAny
-> T_IO_8 AgdaAny AgdaAny
-> (AgdaAny -> T_IO_8 AgdaAny AgdaAny)
-> T_IO_8 AgdaAny AgdaAny
forall a b. a -> b
coe T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> T_IO_8 AgdaAny AgdaAny
-> (AgdaAny -> T_IO_8 AgdaAny AgdaAny)
-> T_IO_8 AgdaAny AgdaAny
forall xA'46'a xA xB'46'a xB.
T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> T_IO_8 xA'46'a xA
-> (xA -> T_IO_8 xB'46'a xB)
-> T_IO_8 xB'46'a xB
d__'62''62''61'__14 T_Level_18
v0 AgdaAny
forall a. a
erased T_Level_18
v1 AgdaAny
forall a. a
erased T_IO_8 AgdaAny AgdaAny
v2 (\ AgdaAny
v4 -> T_IO_8 AgdaAny AgdaAny
v3)