{-# 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.Cost.Raw 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.Cost.Base

import Data.SatInt (fromSatInt)
import Data.Functor.Identity (Identity, runIdentity)
import PlutusCore.Evaluation.Machine.ExBudget (ExBudget(..))
import PlutusCore.Evaluation.Machine.ExMemory (ExCPU(..), ExMemory(..))
import PlutusCore.Evaluation.Machine.ExBudgetingDefaults (defaultCekMachineCostsForTesting)
import UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts (CekMachineCostsBase(..))
import PlutusCore.Evaluation.Machine.CostingFun.SimpleJSON
-- Cost.Raw.HCekMachineCosts
type T_HCekMachineCosts_4 = CekMachineCostsBase Identity
d_HCekMachineCosts_4 :: a
d_HCekMachineCosts_4
  = [Char] -> a
forall a. HasCallStack => [Char] -> a
error
      [Char]
"MAlonzo Runtime Error: postulate evaluated: Cost.Raw.HCekMachineCosts"
-- Cost.Raw.HExBudget
type T_HExBudget_6 = ExBudget
d_HExBudget_6 :: a
d_HExBudget_6
  = [Char] -> a
forall a. HasCallStack => [Char] -> a
error
      [Char]
"MAlonzo Runtime Error: postulate evaluated: Cost.Raw.HExBudget"
-- Cost.Raw.getCekStartupCost
d_getCekStartupCost_8 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekStartupCost_8 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekStartupCost_8 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekStartupCost
-- Cost.Raw.getCekVarCost
d_getCekVarCost_10 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekVarCost_10 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekVarCost_10 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekVarCost
-- Cost.Raw.getCekConstCost
d_getCekConstCost_12 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekConstCost_12 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekConstCost_12 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekConstCost
-- Cost.Raw.getCekLamCost
d_getCekLamCost_14 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekLamCost_14 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekLamCost_14 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekLamCost
-- Cost.Raw.getCekDelayCost
d_getCekDelayCost_16 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekDelayCost_16 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekDelayCost_16 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekDelayCost
-- Cost.Raw.getCekForceCost
d_getCekForceCost_18 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekForceCost_18 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekForceCost_18 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekForceCost
-- Cost.Raw.getCekApplyCost
d_getCekApplyCost_20 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekApplyCost_20 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekApplyCost_20 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekApplyCost
-- Cost.Raw.getCekBuiltinCost
d_getCekBuiltinCost_22 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekBuiltinCost_22 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekBuiltinCost_22 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekBuiltinCost
-- Cost.Raw.getCekConstrCost
d_getCekConstrCost_24 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekConstrCost_24 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekConstrCost_24 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekConstrCost
-- Cost.Raw.getCekCaseCost
d_getCekCaseCost_26 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekCaseCost_26 :: T_HCekMachineCosts_4 -> T_HExBudget_6
d_getCekCaseCost_26 = Identity T_HExBudget_6 -> T_HExBudget_6
forall a. Identity a -> a
runIdentity (Identity T_HExBudget_6 -> T_HExBudget_6)
-> (T_HCekMachineCosts_4 -> Identity T_HExBudget_6)
-> T_HCekMachineCosts_4
-> T_HExBudget_6
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HCekMachineCosts_4 -> Identity T_HExBudget_6
forall (f :: * -> *). CekMachineCostsBase f -> f T_HExBudget_6
cekCaseCost
-- Cost.Raw.getCPUCost
d_getCPUCost_28 :: T_HExBudget_6 -> Integer
d_getCPUCost_28 :: T_HExBudget_6 -> Integer
d_getCPUCost_28 = SatInt -> Integer
forall a. Num a => SatInt -> a
fromSatInt (SatInt -> Integer)
-> (T_HExBudget_6 -> SatInt) -> T_HExBudget_6 -> Integer
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (\(ExCPU SatInt
x) -> SatInt
x) (ExCPU -> SatInt)
-> (T_HExBudget_6 -> ExCPU) -> T_HExBudget_6 -> SatInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HExBudget_6 -> ExCPU
exBudgetCPU
-- Cost.Raw.getMemoryCost
d_getMemoryCost_30 :: T_HExBudget_6 -> Integer
d_getMemoryCost_30 :: T_HExBudget_6 -> Integer
d_getMemoryCost_30
  = SatInt -> Integer
forall a. Num a => SatInt -> a
fromSatInt (SatInt -> Integer)
-> (T_HExBudget_6 -> SatInt) -> T_HExBudget_6 -> Integer
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (\(ExMemory SatInt
x) -> SatInt
x) (ExMemory -> SatInt)
-> (T_HExBudget_6 -> ExMemory) -> T_HExBudget_6 -> SatInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. T_HExBudget_6 -> ExMemory
exBudgetMemory
-- Cost.Raw.LinearFunction
d_LinearFunction_32 :: ()
d_LinearFunction_32 = ()
type T_LinearFunction_32 = LinearFunction
pattern $mC_mkLinearFunction_42 :: forall {r}.
LinearFunction -> (Integer -> Integer -> r) -> ((# #) -> r) -> r
$bC_mkLinearFunction_42 :: Integer -> Integer -> LinearFunction
C_mkLinearFunction_42 a0 a1 = LinearFunction a0 a1
check_mkLinearFunction_42 ::
  Integer -> Integer -> T_LinearFunction_32
check_mkLinearFunction_42 :: Integer -> Integer -> LinearFunction
check_mkLinearFunction_42 = Integer -> Integer -> LinearFunction
LinearFunction
cover_LinearFunction_32 :: LinearFunction -> ()
cover_LinearFunction_32 :: LinearFunction -> ()
cover_LinearFunction_32 LinearFunction
x
  = case LinearFunction
x of
      LinearFunction Integer
_ Integer
_ -> ()
-- Cost.Raw.LinearFunction.intercept
d_intercept_38 :: T_LinearFunction_32 -> Integer
d_intercept_38 :: LinearFunction -> Integer
d_intercept_38 LinearFunction
v0
  = case LinearFunction -> LinearFunction
forall a b. a -> b
coe LinearFunction
v0 of
      C_mkLinearFunction_42 Integer
v1 Integer
v2 -> Integer -> Integer
forall a b. a -> b
coe Integer
v1
      LinearFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.LinearFunction.slope
d_slope_40 :: T_LinearFunction_32 -> Integer
d_slope_40 :: LinearFunction -> Integer
d_slope_40 LinearFunction
v0
  = case LinearFunction -> LinearFunction
forall a b. a -> b
coe LinearFunction
v0 of
      C_mkLinearFunction_42 Integer
v1 Integer
v2 -> Integer -> Integer
forall a b. a -> b
coe Integer
v2
      LinearFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.OneVariableQuadraticFunction
d_OneVariableQuadraticFunction_44 :: ()
d_OneVariableQuadraticFunction_44 = ()
type T_OneVariableQuadraticFunction_44 =
  OneVariableQuadraticFunction
pattern $mC_mkOneVariableQuadraticFunction_58 :: forall {r}.
OneVariableQuadraticFunction
-> (Integer -> Integer -> Integer -> r) -> ((# #) -> r) -> r
$bC_mkOneVariableQuadraticFunction_58 :: Integer -> Integer -> Integer -> OneVariableQuadraticFunction
C_mkOneVariableQuadraticFunction_58 a0 a1 a2 = OneVariableQuadraticFunction a0 a1 a2
check_mkOneVariableQuadraticFunction_58 ::
  Integer -> Integer -> Integer -> T_OneVariableQuadraticFunction_44
check_mkOneVariableQuadraticFunction_58 :: Integer -> Integer -> Integer -> OneVariableQuadraticFunction
check_mkOneVariableQuadraticFunction_58
  = Integer -> Integer -> Integer -> OneVariableQuadraticFunction
OneVariableQuadraticFunction
cover_OneVariableQuadraticFunction_44 ::
  OneVariableQuadraticFunction -> ()
cover_OneVariableQuadraticFunction_44 :: OneVariableQuadraticFunction -> ()
cover_OneVariableQuadraticFunction_44 OneVariableQuadraticFunction
x
  = case OneVariableQuadraticFunction
x of
      OneVariableQuadraticFunction Integer
_ Integer
_ Integer
_ -> ()
-- Cost.Raw.OneVariableQuadraticFunction.coeff0
d_coeff0_52 :: T_OneVariableQuadraticFunction_44 -> Integer
d_coeff0_52 :: OneVariableQuadraticFunction -> Integer
d_coeff0_52 OneVariableQuadraticFunction
v0
  = case OneVariableQuadraticFunction -> OneVariableQuadraticFunction
forall a b. a -> b
coe OneVariableQuadraticFunction
v0 of
      C_mkOneVariableQuadraticFunction_58 Integer
v1 Integer
v2 Integer
v3 -> Integer -> Integer
forall a b. a -> b
coe Integer
v1
      OneVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.OneVariableQuadraticFunction.coeff1
d_coeff1_54 :: T_OneVariableQuadraticFunction_44 -> Integer
d_coeff1_54 :: OneVariableQuadraticFunction -> Integer
d_coeff1_54 OneVariableQuadraticFunction
v0
  = case OneVariableQuadraticFunction -> OneVariableQuadraticFunction
forall a b. a -> b
coe OneVariableQuadraticFunction
v0 of
      C_mkOneVariableQuadraticFunction_58 Integer
v1 Integer
v2 Integer
v3 -> Integer -> Integer
forall a b. a -> b
coe Integer
v2
      OneVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.OneVariableQuadraticFunction.coeff2
d_coeff2_56 :: T_OneVariableQuadraticFunction_44 -> Integer
d_coeff2_56 :: OneVariableQuadraticFunction -> Integer
d_coeff2_56 OneVariableQuadraticFunction
v0
  = case OneVariableQuadraticFunction -> OneVariableQuadraticFunction
forall a b. a -> b
coe OneVariableQuadraticFunction
v0 of
      C_mkOneVariableQuadraticFunction_58 Integer
v1 Integer
v2 Integer
v3 -> Integer -> Integer
forall a b. a -> b
coe Integer
v3
      OneVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableLinearFunction
d_TwoVariableLinearFunction_60 :: ()
d_TwoVariableLinearFunction_60 = ()
type T_TwoVariableLinearFunction_60 = TwoVariableLinearFunction
pattern $mC_mkTwoVariableLinearFunction_74 :: forall {r}.
TwoVariableLinearFunction
-> (Integer -> Integer -> Integer -> r) -> ((# #) -> r) -> r
$bC_mkTwoVariableLinearFunction_74 :: Integer -> Integer -> Integer -> TwoVariableLinearFunction
C_mkTwoVariableLinearFunction_74 a0 a1 a2 = TwoVariableLinearFunction a0 a1 a2
check_mkTwoVariableLinearFunction_74 ::
  Integer -> Integer -> Integer -> T_TwoVariableLinearFunction_60
check_mkTwoVariableLinearFunction_74 :: Integer -> Integer -> Integer -> TwoVariableLinearFunction
check_mkTwoVariableLinearFunction_74 = Integer -> Integer -> Integer -> TwoVariableLinearFunction
TwoVariableLinearFunction
cover_TwoVariableLinearFunction_60 ::
  TwoVariableLinearFunction -> ()
cover_TwoVariableLinearFunction_60 :: TwoVariableLinearFunction -> ()
cover_TwoVariableLinearFunction_60 TwoVariableLinearFunction
x
  = case TwoVariableLinearFunction
x of
      TwoVariableLinearFunction Integer
_ Integer
_ Integer
_ -> ()
-- Cost.Raw.TwoVariableLinearFunction.intercept
d_intercept_68 :: T_TwoVariableLinearFunction_60 -> Integer
d_intercept_68 :: TwoVariableLinearFunction -> Integer
d_intercept_68 TwoVariableLinearFunction
v0
  = case TwoVariableLinearFunction -> TwoVariableLinearFunction
forall a b. a -> b
coe TwoVariableLinearFunction
v0 of
      C_mkTwoVariableLinearFunction_74 Integer
v1 Integer
v2 Integer
v3 -> Integer -> Integer
forall a b. a -> b
coe Integer
v1
      TwoVariableLinearFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableLinearFunction.slope1
d_slope1_70 :: T_TwoVariableLinearFunction_60 -> Integer
d_slope1_70 :: TwoVariableLinearFunction -> Integer
d_slope1_70 TwoVariableLinearFunction
v0
  = case TwoVariableLinearFunction -> TwoVariableLinearFunction
forall a b. a -> b
coe TwoVariableLinearFunction
v0 of
      C_mkTwoVariableLinearFunction_74 Integer
v1 Integer
v2 Integer
v3 -> Integer -> Integer
forall a b. a -> b
coe Integer
v2
      TwoVariableLinearFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableLinearFunction.slope2
d_slope2_72 :: T_TwoVariableLinearFunction_60 -> Integer
d_slope2_72 :: TwoVariableLinearFunction -> Integer
d_slope2_72 TwoVariableLinearFunction
v0
  = case TwoVariableLinearFunction -> TwoVariableLinearFunction
forall a b. a -> b
coe TwoVariableLinearFunction
v0 of
      C_mkTwoVariableLinearFunction_74 Integer
v1 Integer
v2 Integer
v3 -> Integer -> Integer
forall a b. a -> b
coe Integer
v3
      TwoVariableLinearFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction
d_TwoVariableQuadraticFunction_76 :: ()
d_TwoVariableQuadraticFunction_76 = ()
type T_TwoVariableQuadraticFunction_76 =
  TwoVariableQuadraticFunction
pattern $mC_mkTwoVariableQuadraticFunction_106 :: forall {r}.
TwoVariableQuadraticFunction
-> (Integer
    -> Integer
    -> Integer
    -> Integer
    -> Integer
    -> Integer
    -> Integer
    -> r)
-> ((# #) -> r)
-> r
$bC_mkTwoVariableQuadraticFunction_106 :: Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> TwoVariableQuadraticFunction
C_mkTwoVariableQuadraticFunction_106 a0 a1 a2 a3 a4 a5 a6 = TwoVariableQuadraticFunction a0 a1 a2 a3 a4 a5 a6
check_mkTwoVariableQuadraticFunction_106 ::
  Integer ->
  Integer ->
  Integer ->
  Integer ->
  Integer -> Integer -> Integer -> T_TwoVariableQuadraticFunction_76
check_mkTwoVariableQuadraticFunction_106 :: Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> TwoVariableQuadraticFunction
check_mkTwoVariableQuadraticFunction_106
  = Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> TwoVariableQuadraticFunction
TwoVariableQuadraticFunction
cover_TwoVariableQuadraticFunction_76 ::
  TwoVariableQuadraticFunction -> ()
cover_TwoVariableQuadraticFunction_76 :: TwoVariableQuadraticFunction -> ()
cover_TwoVariableQuadraticFunction_76 TwoVariableQuadraticFunction
x
  = case TwoVariableQuadraticFunction
x of
      TwoVariableQuadraticFunction Integer
_ Integer
_ Integer
_ Integer
_ Integer
_ Integer
_ Integer
_ -> ()
-- Cost.Raw.TwoVariableQuadraticFunction.minimum
d_minimum_92 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_minimum_92 :: TwoVariableQuadraticFunction -> Integer
d_minimum_92 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v1
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction.coeff00
d_coeff00_94 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_coeff00_94 :: TwoVariableQuadraticFunction -> Integer
d_coeff00_94 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v2
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction.coeff10
d_coeff10_96 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_coeff10_96 :: TwoVariableQuadraticFunction -> Integer
d_coeff10_96 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v3
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction.coeff01
d_coeff01_98 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_coeff01_98 :: TwoVariableQuadraticFunction -> Integer
d_coeff01_98 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v4
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction.coeff20
d_coeff20_100 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_coeff20_100 :: TwoVariableQuadraticFunction -> Integer
d_coeff20_100 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v5
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction.coeff11
d_coeff11_102 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_coeff11_102 :: TwoVariableQuadraticFunction -> Integer
d_coeff11_102 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v6
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.TwoVariableQuadraticFunction.coeff02
d_coeff02_104 :: T_TwoVariableQuadraticFunction_76 -> Integer
d_coeff02_104 :: TwoVariableQuadraticFunction -> Integer
d_coeff02_104 TwoVariableQuadraticFunction
v0
  = case TwoVariableQuadraticFunction -> TwoVariableQuadraticFunction
forall a b. a -> b
coe TwoVariableQuadraticFunction
v0 of
      C_mkTwoVariableQuadraticFunction_106 Integer
v1 Integer
v2 Integer
v3 Integer
v4 Integer
v5 Integer
v6 Integer
v7 -> Integer -> Integer
forall a b. a -> b
coe Integer
v7
      TwoVariableQuadraticFunction
_ -> Integer
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.RawModel
d_RawModel_108 :: ()
d_RawModel_108 = ()
type T_RawModel_108 = Model
pattern $mC_ConstantCost_110 :: forall {r}. Model -> (Integer -> r) -> ((# #) -> r) -> r
$bC_ConstantCost_110 :: Integer -> Model
C_ConstantCost_110 a0 = ConstantCost a0
pattern $mC_AddedSizes_112 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_AddedSizes_112 :: LinearFunction -> Model
C_AddedSizes_112 a0 = AddedSizes a0
pattern $mC_MultipliedSizes_114 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_MultipliedSizes_114 :: LinearFunction -> Model
C_MultipliedSizes_114 a0 = MultipliedSizes a0
pattern $mC_MinSize_116 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_MinSize_116 :: LinearFunction -> Model
C_MinSize_116 a0 = MinSize a0
pattern $mC_MaxSize_118 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_MaxSize_118 :: LinearFunction -> Model
C_MaxSize_118 a0 = MaxSize a0
pattern $mC_LinearInX_120 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_LinearInX_120 :: LinearFunction -> Model
C_LinearInX_120 a0 = LinearInX a0
pattern $mC_LinearInY_122 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_LinearInY_122 :: LinearFunction -> Model
C_LinearInY_122 a0 = LinearInY a0
pattern $mC_LinearInZ_124 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_LinearInZ_124 :: LinearFunction -> Model
C_LinearInZ_124 a0 = LinearInZ a0
pattern $mC_LiteralInYOrLinearInZ_126 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_LiteralInYOrLinearInZ_126 :: LinearFunction -> Model
C_LiteralInYOrLinearInZ_126 a0 = LiteralInYOrLinearInZ a0
pattern $mC_LinearInMaxYZ_128 :: forall {r}. Model -> (LinearFunction -> r) -> ((# #) -> r) -> r
$bC_LinearInMaxYZ_128 :: LinearFunction -> Model
C_LinearInMaxYZ_128 a0 = LinearInMaxYZ a0
pattern $mC_LinearInYAndZ_130 :: forall {r}.
Model -> (TwoVariableLinearFunction -> r) -> ((# #) -> r) -> r
$bC_LinearInYAndZ_130 :: TwoVariableLinearFunction -> Model
C_LinearInYAndZ_130 a0 = LinearInYAndZ a0
pattern $mC_QuadraticInY_132 :: forall {r}.
Model -> (OneVariableQuadraticFunction -> r) -> ((# #) -> r) -> r
$bC_QuadraticInY_132 :: OneVariableQuadraticFunction -> Model
C_QuadraticInY_132 a0 = QuadraticInY a0
pattern $mC_QuadraticInZ_134 :: forall {r}.
Model -> (OneVariableQuadraticFunction -> r) -> ((# #) -> r) -> r
$bC_QuadraticInZ_134 :: OneVariableQuadraticFunction -> Model
C_QuadraticInZ_134 a0 = QuadraticInZ a0
pattern $mC_QuadraticInXAndY_136 :: forall {r}.
Model -> (TwoVariableQuadraticFunction -> r) -> ((# #) -> r) -> r
$bC_QuadraticInXAndY_136 :: TwoVariableQuadraticFunction -> Model
C_QuadraticInXAndY_136 a0 = QuadraticInXAndY a0
pattern $mC_SubtractedSizes_138 :: forall {r}.
Model -> (LinearFunction -> Integer -> r) -> ((# #) -> r) -> r
$bC_SubtractedSizes_138 :: LinearFunction -> Integer -> Model
C_SubtractedSizes_138 a0 a1 = SubtractedSizes a0 a1
pattern $mC_ConstAboveDiagonal_140 :: forall {r}. Model -> (Integer -> Model -> r) -> ((# #) -> r) -> r
$bC_ConstAboveDiagonal_140 :: Integer -> Model -> Model
C_ConstAboveDiagonal_140 a0 a1 = ConstAboveDiagonal a0 a1
pattern $mC_ConstBelowDiagonal_142 :: forall {r}. Model -> (Integer -> Model -> r) -> ((# #) -> r) -> r
$bC_ConstBelowDiagonal_142 :: Integer -> Model -> Model
C_ConstBelowDiagonal_142 a0 a1 = ConstBelowDiagonal a0 a1
pattern $mC_ConstOffDiagonal_144 :: forall {r}. Model -> (Integer -> Model -> r) -> ((# #) -> r) -> r
$bC_ConstOffDiagonal_144 :: Integer -> Model -> Model
C_ConstOffDiagonal_144 a0 a1 = ConstOffDiagonal a0 a1
check_ConstantCost_110 :: Integer -> T_RawModel_108
check_ConstantCost_110 :: Integer -> Model
check_ConstantCost_110 = Integer -> Model
ConstantCost
check_AddedSizes_112 :: T_LinearFunction_32 -> T_RawModel_108
check_AddedSizes_112 :: LinearFunction -> Model
check_AddedSizes_112 = LinearFunction -> Model
AddedSizes
check_MultipliedSizes_114 :: T_LinearFunction_32 -> T_RawModel_108
check_MultipliedSizes_114 :: LinearFunction -> Model
check_MultipliedSizes_114 = LinearFunction -> Model
MultipliedSizes
check_MinSize_116 :: T_LinearFunction_32 -> T_RawModel_108
check_MinSize_116 :: LinearFunction -> Model
check_MinSize_116 = LinearFunction -> Model
MinSize
check_MaxSize_118 :: T_LinearFunction_32 -> T_RawModel_108
check_MaxSize_118 :: LinearFunction -> Model
check_MaxSize_118 = LinearFunction -> Model
MaxSize
check_LinearInX_120 :: T_LinearFunction_32 -> T_RawModel_108
check_LinearInX_120 :: LinearFunction -> Model
check_LinearInX_120 = LinearFunction -> Model
LinearInX
check_LinearInY_122 :: T_LinearFunction_32 -> T_RawModel_108
check_LinearInY_122 :: LinearFunction -> Model
check_LinearInY_122 = LinearFunction -> Model
LinearInY
check_LinearInZ_124 :: T_LinearFunction_32 -> T_RawModel_108
check_LinearInZ_124 :: LinearFunction -> Model
check_LinearInZ_124 = LinearFunction -> Model
LinearInZ
check_LiteralInYOrLinearInZ_126 ::
  T_LinearFunction_32 -> T_RawModel_108
check_LiteralInYOrLinearInZ_126 :: LinearFunction -> Model
check_LiteralInYOrLinearInZ_126 = LinearFunction -> Model
LiteralInYOrLinearInZ
check_LinearInMaxYZ_128 :: T_LinearFunction_32 -> T_RawModel_108
check_LinearInMaxYZ_128 :: LinearFunction -> Model
check_LinearInMaxYZ_128 = LinearFunction -> Model
LinearInMaxYZ
check_LinearInYAndZ_130 ::
  T_TwoVariableLinearFunction_60 -> T_RawModel_108
check_LinearInYAndZ_130 :: TwoVariableLinearFunction -> Model
check_LinearInYAndZ_130 = TwoVariableLinearFunction -> Model
LinearInYAndZ
check_QuadraticInY_132 ::
  T_OneVariableQuadraticFunction_44 -> T_RawModel_108
check_QuadraticInY_132 :: OneVariableQuadraticFunction -> Model
check_QuadraticInY_132 = OneVariableQuadraticFunction -> Model
QuadraticInY
check_QuadraticInZ_134 ::
  T_OneVariableQuadraticFunction_44 -> T_RawModel_108
check_QuadraticInZ_134 :: OneVariableQuadraticFunction -> Model
check_QuadraticInZ_134 = OneVariableQuadraticFunction -> Model
QuadraticInZ
check_QuadraticInXAndY_136 ::
  T_TwoVariableQuadraticFunction_76 -> T_RawModel_108
check_QuadraticInXAndY_136 :: TwoVariableQuadraticFunction -> Model
check_QuadraticInXAndY_136 = TwoVariableQuadraticFunction -> Model
QuadraticInXAndY
check_SubtractedSizes_138 ::
  T_LinearFunction_32 -> Integer -> T_RawModel_108
check_SubtractedSizes_138 :: LinearFunction -> Integer -> Model
check_SubtractedSizes_138 = LinearFunction -> Integer -> Model
SubtractedSizes
check_ConstAboveDiagonal_140 ::
  Integer -> T_RawModel_108 -> T_RawModel_108
check_ConstAboveDiagonal_140 :: Integer -> Model -> Model
check_ConstAboveDiagonal_140 = Integer -> Model -> Model
ConstAboveDiagonal
check_ConstBelowDiagonal_142 ::
  Integer -> T_RawModel_108 -> T_RawModel_108
check_ConstBelowDiagonal_142 :: Integer -> Model -> Model
check_ConstBelowDiagonal_142 = Integer -> Model -> Model
ConstBelowDiagonal
check_ConstOffDiagonal_144 ::
  Integer -> T_RawModel_108 -> T_RawModel_108
check_ConstOffDiagonal_144 :: Integer -> Model -> Model
check_ConstOffDiagonal_144 = Integer -> Model -> Model
ConstOffDiagonal
cover_RawModel_108 :: Model -> ()
cover_RawModel_108 :: Model -> ()
cover_RawModel_108 Model
x
  = case Model
x of
      ConstantCost Integer
_ -> ()
      AddedSizes LinearFunction
_ -> ()
      MultipliedSizes LinearFunction
_ -> ()
      MinSize LinearFunction
_ -> ()
      MaxSize LinearFunction
_ -> ()
      LinearInX LinearFunction
_ -> ()
      LinearInY LinearFunction
_ -> ()
      LinearInZ LinearFunction
_ -> ()
      LiteralInYOrLinearInZ LinearFunction
_ -> ()
      LinearInMaxYZ LinearFunction
_ -> ()
      LinearInYAndZ TwoVariableLinearFunction
_ -> ()
      QuadraticInY OneVariableQuadraticFunction
_ -> ()
      QuadraticInZ OneVariableQuadraticFunction
_ -> ()
      QuadraticInXAndY TwoVariableQuadraticFunction
_ -> ()
      SubtractedSizes LinearFunction
_ Integer
_ -> ()
      ConstAboveDiagonal Integer
_ Model
_ -> ()
      ConstBelowDiagonal Integer
_ Model
_ -> ()
      ConstOffDiagonal Integer
_ Model
_ -> ()
-- Cost.Raw.CpuAndMemoryModel
d_CpuAndMemoryModel_146 :: ()
d_CpuAndMemoryModel_146 = ()
type T_CpuAndMemoryModel_146 = CpuAndMemoryModel
pattern $mC_mkCpuAndMemoryModel_156 :: forall {r}.
CpuAndMemoryModel -> (Model -> Model -> r) -> ((# #) -> r) -> r
$bC_mkCpuAndMemoryModel_156 :: Model -> Model -> CpuAndMemoryModel
C_mkCpuAndMemoryModel_156 a0 a1 = CpuAndMemoryModel a0 a1
check_mkCpuAndMemoryModel_156 ::
  T_RawModel_108 -> T_RawModel_108 -> T_CpuAndMemoryModel_146
check_mkCpuAndMemoryModel_156 :: Model -> Model -> CpuAndMemoryModel
check_mkCpuAndMemoryModel_156 = Model -> Model -> CpuAndMemoryModel
CpuAndMemoryModel
cover_CpuAndMemoryModel_146 :: CpuAndMemoryModel -> ()
cover_CpuAndMemoryModel_146 :: CpuAndMemoryModel -> ()
cover_CpuAndMemoryModel_146 CpuAndMemoryModel
x
  = case CpuAndMemoryModel
x of
      CpuAndMemoryModel Model
_ Model
_ -> ()
-- Cost.Raw.CpuAndMemoryModel.cpuModel
d_cpuModel_152 :: T_CpuAndMemoryModel_146 -> T_RawModel_108
d_cpuModel_152 :: CpuAndMemoryModel -> Model
d_cpuModel_152 CpuAndMemoryModel
v0
  = case CpuAndMemoryModel -> CpuAndMemoryModel
forall a b. a -> b
coe CpuAndMemoryModel
v0 of
      C_mkCpuAndMemoryModel_156 Model
v1 Model
v2 -> Model -> Model
forall a b. a -> b
coe Model
v1
      CpuAndMemoryModel
_ -> Model
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.CpuAndMemoryModel.memoryModel
d_memoryModel_154 :: T_CpuAndMemoryModel_146 -> T_RawModel_108
d_memoryModel_154 :: CpuAndMemoryModel -> Model
d_memoryModel_154 CpuAndMemoryModel
v0
  = case CpuAndMemoryModel -> CpuAndMemoryModel
forall a b. a -> b
coe CpuAndMemoryModel
v0 of
      C_mkCpuAndMemoryModel_156 Model
v1 Model
v2 -> Model -> Model
forall a b. a -> b
coe Model
v2
      CpuAndMemoryModel
_ -> Model
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Cost.Raw.BuiltinCostMap
d_BuiltinCostMap_158 :: ()
d_BuiltinCostMap_158 :: ()
d_BuiltinCostMap_158 = ()
forall a. a
erased
-- Cost.Raw.RawCostModel
d_RawCostModel_160 :: ()
d_RawCostModel_160 :: ()
d_RawCostModel_160 = ()
forall a. a
erased