{-# 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.Data.Parity.Base 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.Algebra.Bundles.Raw
import qualified MAlonzo.Code.Data.Sign.Base

-- Data.Parity.Base.Parity
d_Parity_6 :: ()
d_Parity_6 = ()
data T_Parity_6 = C_0ℙ_8 | C_1ℙ_10
-- Data.Parity.Base._⁻¹
d__'8315''185'_12 :: T_Parity_6 -> T_Parity_6
d__'8315''185'_12 :: T_Parity_6 -> T_Parity_6
d__'8315''185'_12 T_Parity_6
v0
  = case T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v0 of
      T_Parity_6
C_0ℙ_8 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
C_1ℙ_10
      T_Parity_6
C_1ℙ_10 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
C_0ℙ_8
      T_Parity_6
_ -> T_Parity_6
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Data.Parity.Base._+_
d__'43'__14 :: T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14 :: T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14 T_Parity_6
v0 T_Parity_6
v1
  = case T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v0 of
      T_Parity_6
C_0ℙ_8 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v1
      T_Parity_6
C_1ℙ_10 -> (T_Parity_6 -> T_Parity_6) -> Any -> T_Parity_6
forall a b. a -> b
coe T_Parity_6 -> T_Parity_6
d__'8315''185'_12 (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
v1)
      T_Parity_6
_ -> T_Parity_6
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Data.Parity.Base._*_
d__'42'__20 :: T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'42'__20 :: T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'42'__20 T_Parity_6
v0 T_Parity_6
v1
  = case T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v0 of
      T_Parity_6
C_0ℙ_8 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v0
      T_Parity_6
C_1ℙ_10 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v1
      T_Parity_6
_ -> T_Parity_6
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Data.Parity.Base.+-rawMagma
d_'43''45'rawMagma_26 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawMagma_36
d_'43''45'rawMagma_26 :: T_RawMagma_36
d_'43''45'rawMagma_26
  = ((Any -> Any -> Any) -> T_RawMagma_36)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6) -> T_RawMagma_36
forall a b. a -> b
coe
      (Any -> Any -> Any) -> T_RawMagma_36
MAlonzo.Code.Algebra.Bundles.Raw.C_RawMagma'46'constructor_341
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14
-- Data.Parity.Base.+-0-rawMonoid
d_'43''45'0'45'rawMonoid_28 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawMonoid_64
d_'43''45'0'45'rawMonoid_28 :: T_RawMonoid_64
d_'43''45'0'45'rawMonoid_28
  = ((Any -> Any -> Any) -> Any -> T_RawMonoid_64)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> Any
-> T_RawMonoid_64
forall a b. a -> b
coe
      (Any -> Any -> Any) -> Any -> T_RawMonoid_64
MAlonzo.Code.Algebra.Bundles.Raw.C_RawMonoid'46'constructor_745
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14 (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
C_0ℙ_8)
-- Data.Parity.Base.+-0-rawGroup
d_'43''45'0'45'rawGroup_30 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawGroup_96
d_'43''45'0'45'rawGroup_30 :: T_RawGroup_96
d_'43''45'0'45'rawGroup_30
  = ((Any -> Any -> Any) -> Any -> (Any -> Any) -> T_RawGroup_96)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> Any
-> (T_Parity_6 -> T_Parity_6)
-> T_RawGroup_96
forall a b. a -> b
coe
      (Any -> Any -> Any) -> Any -> (Any -> Any) -> T_RawGroup_96
MAlonzo.Code.Algebra.Bundles.Raw.C_RawGroup'46'constructor_1207
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14 (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
C_0ℙ_8) T_Parity_6 -> T_Parity_6
d__'8315''185'_12
-- Data.Parity.Base.*-rawMagma
d_'42''45'rawMagma_32 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawMagma_36
d_'42''45'rawMagma_32 :: T_RawMagma_36
d_'42''45'rawMagma_32
  = ((Any -> Any -> Any) -> T_RawMagma_36)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6) -> T_RawMagma_36
forall a b. a -> b
coe
      (Any -> Any -> Any) -> T_RawMagma_36
MAlonzo.Code.Algebra.Bundles.Raw.C_RawMagma'46'constructor_341
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'42'__20
-- Data.Parity.Base.*-1-rawMonoid
d_'42''45'1'45'rawMonoid_34 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawMonoid_64
d_'42''45'1'45'rawMonoid_34 :: T_RawMonoid_64
d_'42''45'1'45'rawMonoid_34
  = ((Any -> Any -> Any) -> Any -> T_RawMonoid_64)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> Any
-> T_RawMonoid_64
forall a b. a -> b
coe
      (Any -> Any -> Any) -> Any -> T_RawMonoid_64
MAlonzo.Code.Algebra.Bundles.Raw.C_RawMonoid'46'constructor_745
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'42'__20 (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
C_1ℙ_10)
-- Data.Parity.Base.+-*-rawNearSemiring
d_'43''45''42''45'rawNearSemiring_36 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawNearSemiring_134
d_'43''45''42''45'rawNearSemiring_36 :: T_RawNearSemiring_134
d_'43''45''42''45'rawNearSemiring_36
  = ((Any -> Any -> Any)
 -> (Any -> Any -> Any) -> Any -> T_RawNearSemiring_134)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> Any
-> T_RawNearSemiring_134
forall a b. a -> b
coe
      (Any -> Any -> Any)
-> (Any -> Any -> Any) -> Any -> T_RawNearSemiring_134
MAlonzo.Code.Algebra.Bundles.Raw.C_RawNearSemiring'46'constructor_1729
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14 T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'42'__20 (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
C_0ℙ_8)
-- Data.Parity.Base.+-*-rawSemiring
d_'43''45''42''45'rawSemiring_38 ::
  MAlonzo.Code.Algebra.Bundles.Raw.T_RawSemiring_174
d_'43''45''42''45'rawSemiring_38 :: T_RawSemiring_174
d_'43''45''42''45'rawSemiring_38
  = ((Any -> Any -> Any)
 -> (Any -> Any -> Any) -> Any -> Any -> T_RawSemiring_174)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> (T_Parity_6 -> T_Parity_6 -> T_Parity_6)
-> Any
-> Any
-> T_RawSemiring_174
forall a b. a -> b
coe
      (Any -> Any -> Any)
-> (Any -> Any -> Any) -> Any -> Any -> T_RawSemiring_174
MAlonzo.Code.Algebra.Bundles.Raw.C_RawSemiring'46'constructor_2353
      T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'43'__14 T_Parity_6 -> T_Parity_6 -> T_Parity_6
d__'42'__20 (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
C_0ℙ_8) (T_Parity_6 -> Any
forall a b. a -> b
coe T_Parity_6
C_1ℙ_10)
-- Data.Parity.Base.toSign
d_toSign_40 :: T_Parity_6 -> MAlonzo.Code.Data.Sign.Base.T_Sign_6
d_toSign_40 :: T_Parity_6 -> T_Sign_6
d_toSign_40 T_Parity_6
v0
  = case T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
v0 of
      T_Parity_6
C_0ℙ_8 -> T_Sign_6 -> T_Sign_6
forall a b. a -> b
coe T_Sign_6
MAlonzo.Code.Data.Sign.Base.C_'43'_10
      T_Parity_6
C_1ℙ_10 -> T_Sign_6 -> T_Sign_6
forall a b. a -> b
coe T_Sign_6
MAlonzo.Code.Data.Sign.Base.C_'45'_8
      T_Parity_6
_ -> T_Sign_6
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Data.Parity.Base.fromSign
d_fromSign_42 :: MAlonzo.Code.Data.Sign.Base.T_Sign_6 -> T_Parity_6
d_fromSign_42 :: T_Sign_6 -> T_Parity_6
d_fromSign_42 T_Sign_6
v0
  = case T_Sign_6 -> T_Sign_6
forall a b. a -> b
coe T_Sign_6
v0 of
      T_Sign_6
MAlonzo.Code.Data.Sign.Base.C_'45'_8 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
C_1ℙ_10
      T_Sign_6
MAlonzo.Code.Data.Sign.Base.C_'43'_10 -> T_Parity_6 -> T_Parity_6
forall a b. a -> b
coe T_Parity_6
C_0ℙ_8
      T_Sign_6
_ -> T_Parity_6
forall a. a
MAlonzo.RTE.mazUnreachableError