{-# 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.Function.Strict 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.Equality
import qualified MAlonzo.Code.Agda.Builtin.Strict
import qualified MAlonzo.Code.Agda.Primitive

-- Function.Strict._$!_
d__'36''33'__20 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () -> (AgdaAny -> ()) -> (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
d__'36''33'__20 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> (AgdaAny -> T_Level_18)
-> (AgdaAny -> AgdaAny)
-> AgdaAny
-> AgdaAny
d__'36''33'__20 ~T_Level_18
v0 ~T_Level_18
v1 ~T_Level_18
v2 ~AgdaAny -> T_Level_18
v3 AgdaAny -> AgdaAny
v4 AgdaAny
v5 = (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33'__20 AgdaAny -> AgdaAny
v4 AgdaAny
v5
du__'36''33'__20 :: (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33'__20 :: (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33'__20 AgdaAny -> AgdaAny
v0 AgdaAny
v1 = (AgdaAny -> AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny -> AgdaAny -> AgdaAny
forall a b. a -> b -> b
seq (AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny
v1) ((AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny -> AgdaAny
v0 AgdaAny
v1)
-- Function.Strict._!|>_
d__'33''124''62'__34 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () -> (AgdaAny -> ()) -> AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
d__'33''124''62'__34 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> (AgdaAny -> T_Level_18)
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> AgdaAny
d__'33''124''62'__34 ~T_Level_18
v0 ~T_Level_18
v1 ~T_Level_18
v2 ~AgdaAny -> T_Level_18
v3 AgdaAny
v4 AgdaAny -> AgdaAny
v5
  = AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62'__34 AgdaAny
v4 AgdaAny -> AgdaAny
v5
du__'33''124''62'__34 :: AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62'__34 :: AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62'__34 AgdaAny
v0 AgdaAny -> AgdaAny
v1
  = ((AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny)
-> AgdaAny -> AgdaAny -> AgdaAny
forall a b. a -> b
coe (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33'__20 ((AgdaAny -> AgdaAny) -> AgdaAny
forall a b. a -> b
coe AgdaAny -> AgdaAny
v1) (AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny
v0)
-- Function.Strict.seq
d_seq_36 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () -> AgdaAny -> AgdaAny -> AgdaAny
d_seq_36 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> AgdaAny
-> AgdaAny
d_seq_36 ~T_Level_18
v0 ~T_Level_18
v1 ~T_Level_18
v2 ~T_Level_18
v3 AgdaAny
v4 AgdaAny
v5 = AgdaAny -> AgdaAny -> AgdaAny
du_seq_36 AgdaAny
v4 AgdaAny
v5
du_seq_36 :: AgdaAny -> AgdaAny -> AgdaAny
du_seq_36 :: AgdaAny -> AgdaAny -> AgdaAny
du_seq_36 AgdaAny
v0 AgdaAny
v1 = (AgdaAny -> AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny -> AgdaAny -> AgdaAny
forall a b. a -> b -> b
seq (AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny
v0) (AgdaAny -> AgdaAny
forall a b. a -> b
coe AgdaAny
v1)
-- Function.Strict.seq-≡
d_seq'45''8801'_48 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  AgdaAny ->
  AgdaAny -> MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12
d_seq'45''8801'_48 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> AgdaAny
-> T__'8801'__12
d_seq'45''8801'_48 = T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> AgdaAny
-> T__'8801'__12
forall a. a
erased
-- Function.Strict.force′
d_force'8242'_56 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () -> AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
d_force'8242'_56 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> AgdaAny
d_force'8242'_56 T_Level_18
v0 ~T_Level_18
v1 T_Level_18
v2 ~T_Level_18
v3 = T_Level_18
-> T_Level_18 -> AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du_force'8242'_56 T_Level_18
v0 T_Level_18
v2
du_force'8242'_56 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du_force'8242'_56 :: T_Level_18
-> T_Level_18 -> AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du_force'8242'_56 T_Level_18
v0 T_Level_18
v1
  = (AgdaAny
 -> AgdaAny
 -> AgdaAny
 -> AgdaAny
 -> AgdaAny
 -> (AgdaAny -> AgdaAny)
 -> AgdaAny)
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> AgdaAny
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> AgdaAny
forall a b. a -> b
coe
      AgdaAny
-> AgdaAny
-> AgdaAny
-> AgdaAny
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> AgdaAny
forall {p1} {p2} {p3} {p4} {a} {b}.
p1 -> p2 -> p3 -> p4 -> a -> (a -> b) -> b
MAlonzo.Code.Agda.Builtin.Strict.d_primForce_18 T_Level_18
v0 T_Level_18
v1 AgdaAny
forall a. a
erased AgdaAny
forall a. a
erased
-- Function.Strict.force′-≡
d_force'8242''45''8801'_62 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  AgdaAny ->
  (AgdaAny -> AgdaAny) ->
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12
d_force'8242''45''8801'_62 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> T__'8801'__12
d_force'8242''45''8801'_62 = T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> T__'8801'__12
forall a. a
erased
-- Function.Strict._$!′_
d__'36''33''8242'__64 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () -> (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
d__'36''33''8242'__64 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> (AgdaAny -> AgdaAny)
-> AgdaAny
-> AgdaAny
d__'36''33''8242'__64 ~T_Level_18
v0 ~T_Level_18
v1 ~T_Level_18
v2 ~T_Level_18
v3 = (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33''8242'__64
du__'36''33''8242'__64 ::
  (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33''8242'__64 :: (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33''8242'__64 = ((AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny)
-> (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
forall a b. a -> b
coe (AgdaAny -> AgdaAny) -> AgdaAny -> AgdaAny
du__'36''33'__20
-- Function.Strict._!|>′_
d__'33''124''62''8242'__66 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () -> AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
d__'33''124''62''8242'__66 :: T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> AgdaAny
-> (AgdaAny -> AgdaAny)
-> AgdaAny
d__'33''124''62''8242'__66 ~T_Level_18
v0 ~T_Level_18
v1 ~T_Level_18
v2 ~T_Level_18
v3
  = AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62''8242'__66
du__'33''124''62''8242'__66 ::
  AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62''8242'__66 :: AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62''8242'__66 = (AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny)
-> AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
forall a b. a -> b
coe AgdaAny -> (AgdaAny -> AgdaAny) -> AgdaAny
du__'33''124''62'__34