diff --git a/plutus-core/changelog.d/20251009_134326_Yuriy.Lazaryev_costing_builtin_value.md b/plutus-core/changelog.d/20251009_134326_Yuriy.Lazaryev_costing_builtin_value.md new file mode 100644 index 00000000000..65ca6532176 --- /dev/null +++ b/plutus-core/changelog.d/20251009_134326_Yuriy.Lazaryev_costing_builtin_value.md @@ -0,0 +1,40 @@ + + + + +### Changed + +- Updated benchmark data and cost model parameters for Value-related builtins (lookupCoin, valueContains, valueData, unValueData) based on fresh benchmark measurements. + + + diff --git a/plutus-core/cost-model/budgeting-bench/Benchmarks/Values.hs b/plutus-core/cost-model/budgeting-bench/Benchmarks/Values.hs new file mode 100644 index 00000000000..09bdc6feb68 --- /dev/null +++ b/plutus-core/cost-model/budgeting-bench/Benchmarks/Values.hs @@ -0,0 +1,358 @@ +{-# LANGUAGE BlockArguments #-} +{-# LANGUAGE ImportQualifiedPost #-} +{-# LANGUAGE NumericUnderscores #-} + +module Benchmarks.Values (makeBenchmarks) where + +import Prelude + +import Common +import Control.Monad (replicateM) +import Criterion.Main (Benchmark) +import Data.ByteString (ByteString) +import PlutusCore (DefaultFun (InsertCoin, LookupCoin, UnValueData, ValueContains, ValueData)) +import PlutusCore.Evaluation.Machine.ExMemoryUsage (LogValueOuterOrMaxInner (..), + ValueOuterOrMaxInner (..), ValueTotalSize (..)) +import PlutusCore.Value (K, Value) +import PlutusCore.Value qualified as Value +import System.Random.Stateful (StatefulGen, StdGen, runStateGen_, uniformByteStringM, uniformRM, + uniformRs) + +---------------------------------------------------------------------------------------------------- +-- Benchmarks -------------------------------------------------------------------------------------- + +makeBenchmarks :: StdGen -> [Benchmark] +makeBenchmarks gen = + [ lookupCoinBenchmark gen + , valueContainsBenchmark gen + , valueDataBenchmark gen + , unValueDataBenchmark gen + ] + +---------------------------------------------------------------------------------------------------- +-- LookupCoin -------------------------------------------------------------------------------------- + +lookupCoinBenchmark :: StdGen -> Benchmark +lookupCoinBenchmark gen = + createThreeTermBuiltinBenchElementwiseWithWrappers + (id, id, LogValueOuterOrMaxInner) -- Wrap Value argument to report outer/max inner size with log + LookupCoin -- the builtin fun + [] -- no type arguments needed (monomorphic builtin) + (lookupCoinArgs gen) -- the argument combos to generate benchmarks for + +lookupCoinArgs :: StdGen -> [(ByteString, ByteString, Value)] +lookupCoinArgs gen = runStateGen_ gen $ \(g :: g) -> do + -- Add search keys to common test values + let testValues = generateTestValues gen + commonWithKeys <- mapM (withSearchKeys g . pure) testValues + + -- Additional tests specific to lookupCoin + let valueSizes = [(100, 10), (500, 20), (1_000, 50), (2_000, 100)] + additionalTests <- + sequence $ + concat + [ -- Value size tests (number of policies × tokens per policy) + [ generateLookupTest g numPolicies tokensPerPolicy + | (numPolicies, tokensPerPolicy) <- valueSizes + ] + , -- Budget-constrained tests (at 30KB limit) + [generateBudgetTest g 30_000] + , -- Additional random tests for parameter spread + replicate 50 (generateRandomLookupTest g) + ] + + pure $ commonWithKeys ++ additionalTests + +-- | Add random search keys to a Value (keys may or may not exist in the Value) +withSearchKeys :: (StatefulGen g m) => g -> m Value -> m (ByteString, ByteString, Value) +withSearchKeys g genValue = do + value <- genValue + key1 <- generateKeyBS g + key2 <- generateKeyBS g + pure (key1, key2, value) + +-- | Generate lookup test with specified parameters +generateLookupTest + :: (StatefulGen g m) + => g + -> Int -- Number of policies + -> Int -- Tokens per policy + -> m (ByteString, ByteString, Value) +generateLookupTest g numPolicies tokensPerPolicy = + withSearchKeys g (generateConstrainedValue numPolicies tokensPerPolicy g) + +-- | Generate budget-constrained test +generateBudgetTest + :: (StatefulGen g m) + => g + -> Int -- Total budget + -> m (ByteString, ByteString, Value) +generateBudgetTest g budget = + withSearchKeys g (generateValueWithBudget budget g) + +-- | Generate random lookup test with varied parameters for better spread +generateRandomLookupTest :: (StatefulGen g m) => g -> m (ByteString, ByteString, Value) +generateRandomLookupTest g = do + numPolicies <- uniformRM (1, 2_000) g + tokensPerPolicy <- uniformRM (1, 1_000) g + withSearchKeys g (generateConstrainedValue numPolicies tokensPerPolicy g) + +---------------------------------------------------------------------------------------------------- +-- ValueContains ----------------------------------------------------------------------------------- + +valueContainsBenchmark :: StdGen -> Benchmark +valueContainsBenchmark gen = + createTwoTermBuiltinBenchElementwiseWithWrappers + (LogValueOuterOrMaxInner, ValueTotalSize) + -- Container: outer/maxInner with log, Contained: totalSize + ValueContains -- the builtin fun + [] -- no type arguments needed (monomorphic builtin) + (valueContainsArgs gen) -- the argument combos to generate benchmarks for + +valueContainsArgs :: StdGen -> [(Value, Value)] +valueContainsArgs gen = runStateGen_ gen \g -> do + let baseValueSizes = [1, 10, 100, 1_000] + sequence $ + concat + [ -- Value size tests with varying sizes + [ generateContainsTest g containerSize containedSize + | containerSize <- baseValueSizes + , containedSize <- baseValueSizes + , containedSize <= containerSize + ] + , -- Budget-constrained tests + [generateContainsBudgetTest g 30_000] + , -- Edge cases + [ generateEmptyContainedTest g containerSize + | containerSize <- [0, 10, 100, 1_000] + ] + , -- Random tests for parameter spread (100 combinations) + replicate 100 (generateRandomContainsTest g) + ] + +-- | Generate valueContains test with specified parameters +generateContainsTest + :: (StatefulGen g m) + => g + -> Int -- Container value size (number of policies) + -> Int -- Contained value size (number of policies) + -> m (Value, Value) +generateContainsTest g containerSize containedSize = do + -- Generate container value + container <- generateConstrainedValue containerSize 10 g + + -- Generate contained as subset of container (for true contains relationship) + let containerList = Value.toList container + containedEntries = take containedSize containerList + + let contained = + Value.fromList $ + [ (policyId, take (containedSize `div` max 1 (length containerList)) tokens) + | (policyId, tokens) <- containedEntries + ] + + pure (container, contained) + +-- | Generate budget-constrained contains test +generateContainsBudgetTest + :: (StatefulGen g m) + => g + -> Int -- Total budget + -> m (Value, Value) +generateContainsBudgetTest g budget = do + container <- generateValueWithBudget budget g + -- Generate smaller contained value (subset) + let containerList = Value.toList container + containedEntries = take (length containerList `div` 2) containerList + pure (container, Value.fromList containedEntries) + +-- | Generate test with empty contained value +generateEmptyContainedTest + :: (StatefulGen g m) + => g + -> Int -- Container size (number of policies) + -> m (Value, Value) +generateEmptyContainedTest g containerSize = do + container <- generateConstrainedValue containerSize 10 g + pure (container, Value.empty) + +-- | Generate random valueContains test with varied parameters for better spread +generateRandomContainsTest :: (StatefulGen g m) => g -> m (Value, Value) +generateRandomContainsTest g = do + -- Generate random parameters with good spread + containerEntries <- uniformRM (1, 5_000) g -- 1-5000 container entries + containedEntries <- uniformRM (1, containerEntries) g -- 1-container count + + -- Generate container value (1 token per policy for flat structure) + container <- generateConstrainedValue containerEntries 1 g + + -- Generate contained as subset of container entries + let containerList = Value.toList container + containedList = take containedEntries containerList + contained = Value.fromList containedList + + pure (container, contained) + +---------------------------------------------------------------------------------------------------- +-- ValueData --------------------------------------------------------------------------------------- + +valueDataBenchmark :: StdGen -> Benchmark +valueDataBenchmark gen = createOneTermBuiltinBench ValueData [] (generateTestValues gen) + +---------------------------------------------------------------------------------------------------- +-- UnValueData ------------------------------------------------------------------------------------- + +unValueDataBenchmark :: StdGen -> Benchmark +unValueDataBenchmark gen = + createOneTermBuiltinBench UnValueData [] (Value.valueData <$> generateTestValues gen) + +-- insertCoin :: ByteString -> ByteString -> Integer -> Value -> Value +---------------------------------------------------------------------------------------------------- +-- InsertCoin -------------------------------------------------------------------------------------- + +insertCoinBenchmark :: StdGen -> Benchmark +insertCoinBenchmark gen = + createFourTermBuiltinBenchElementwiseWithWrappers + (id, id, id, ValueOuterOrMaxInner) -- Wrap Value argument to report outer/max inner size + InsertCoin -- the builtin fun + [] -- no type arguments needed (monomorphic builtin) + (insertCoinArgs gen) -- the argument combos to generate benchmarks for + +insertCoinArgs :: StdGen -> [(ByteString, ByteString, Integer, Value)] +insertCoinArgs gen = runStateGen_ gen $ \(g :: g) -> do + -- Add search keys to common test values + let testValues = generateTestValues gen + commonWithKeys <- mapM (withSearchKeys g . pure) testValues + + -- Additional tests specific to insertCoin + let valueSizes = [(100, 10), (500, 20), (1_000, 50), (2_000, 100)] + additionalTests <- + sequence $ + concat + [ -- Value size tests (number of policies × tokens per policy) + [ generateInsertTest g numPolicies tokensPerPolicy + | (numPolicies, tokensPerPolicy) <- valueSizes + ] + , -- Budget-constrained tests (at 30KB limit) + [generateBudgetTest g 30_000] + , -- Additional random tests for parameter spread + replicate 50 (generateRandomInsertTest g) + ] + + pure $ commonWithKeys ++ additionalTests + +-- | Generate insert test with specified parameters +generateInsertTest + :: (StatefulGen g m) + => g + -> Int -- Number of policies + -> Int -- Tokens per policy + -> m (ByteString, ByteString, Value) +generateInsertTest g numPolicies tokensPerPolicy = + withSearchKeys g (generateConstrainedValue numPolicies tokensPerPolicy g) + +-- | Generate random insert test with varied parameters for better spread +generateRandomInsertTest :: (StatefulGen g m) => g -> m (ByteString, ByteString, Value) +generateRandomInsertTest g = do + numPolicies <- uniformRM (1, 2_000) g + tokensPerPolicy <- uniformRM (1, 1_000) g + withSearchKeys g (generateConstrainedValue numPolicies tokensPerPolicy g) + +---------------------------------------------------------------------------------------------------- +-- Value Generators -------------------------------------------------------------------------------- + +-- | Generate common test values for benchmarking +generateTestValues :: StdGen -> [Value] +generateTestValues gen = runStateGen_ gen \g -> do + let + baseValueSizes :: [Int] + baseValueSizes = take 10 $ uniformRs (1, 1_000) g + + budgets :: [Int] + budgets = take 10 $ uniformRs (1_000, 30_000) g + + numToksPerPolicy :: [Int] + numToksPerPolicy = take 10 $ uniformRs (1, 100) g + + sequence $ + concat + [ -- Empty value as edge case + [pure Value.empty] + , -- Standard value sizes + [ generateConstrainedValue numPolicies tokensPerPolicy g + | numPolicies <- baseValueSizes + , tokensPerPolicy <- numToksPerPolicy + ] + , -- Budget-constrained tests + [ generateValueWithBudget budget g + | budget <- budgets + ] + , -- Random tests for parameter spread (50 combinations) + replicate 50 $ do + numPolicies <- uniformRM (1, 1_000) g + tokensPerPolicy <- uniformRM (1, 500) g + generateConstrainedValue numPolicies tokensPerPolicy g + ] + +-- | Generate constrained Value +generateConstrainedValue + :: (StatefulGen g m) + => Int -- Number of policies + -> Int -- Number of tokens per policy + -> g + -> m Value +generateConstrainedValue numPolicies tokensPerPolicy g = do + policyIds <- replicateM numPolicies (generateKey g) + tokenNames <- replicateM tokensPerPolicy (generateKey g) + + let nestedMap :: [(K, [(K, Integer)])] + nestedMap = + [ ( policyId + , [ (tokenName, genQuantity policyIndex tokenIndex) + | (tokenIndex, tokenName) <- zip [0 ..] tokenNames + ] + ) + | (policyIndex, policyId) <- zip [0 ..] policyIds + ] + pure $ Value.fromList nestedMap + +-- | Generate Value within total size budget +generateValueWithBudget + :: (StatefulGen g m) + => Int -- Target total size budget + -> g + -> m Value +generateValueWithBudget budget g = do + let + keySize = Value.maxKeyLen + overhead = 8 -- bytes per amount + + -- Calculate maximum possible entries with fixed key sizes + bytesPerEntry = keySize + keySize + overhead -- policy + token + amount + maxEntries = budget `div` bytesPerEntry + + -- Simple distribution: try to balance policies and tokens + numPolicies = max 1 (floor (sqrt (fromIntegral maxEntries :: Double))) + tokensPerPolicy = if numPolicies > 0 then maxEntries `div` numPolicies else 0 + + generateConstrainedValue numPolicies tokensPerPolicy g + +---------------------------------------------------------------------------------------------------- +-- Other Generators -------------------------------------------------------------------------------- + +-- | Generate random key (always maxKeyLen bytes for Cardano compliance) +generateKey :: (StatefulGen g m) => g -> m K +generateKey g = do + bs <- uniformByteStringM Value.maxKeyLen g + case Value.k bs of + Just key -> pure key + Nothing -> error "Internal error: maxKeyLen key should always be valid" + +-- | Generate random key as ByteString (for lookup arguments) +generateKeyBS :: (StatefulGen g m) => g -> m ByteString +generateKeyBS = uniformByteStringM Value.maxKeyLen + +-- | Generate positive quantities (1 to 1000000) +genQuantity :: Int -> Int -> Integer +genQuantity policyIndex tokenIndex = + fromIntegral (1 + (policyIndex * 1_000 + tokenIndex) `mod` 1_000_000) diff --git a/plutus-core/cost-model/budgeting-bench/Common.hs b/plutus-core/cost-model/budgeting-bench/Common.hs index 1812fe78731..92766abff5d 100644 --- a/plutus-core/cost-model/budgeting-bench/Common.hs +++ b/plutus-core/cost-model/budgeting-bench/Common.hs @@ -431,3 +431,36 @@ createThreeTermBuiltinBenchWithWrappers (wrapX, wrapY, wrapZ) fun tys xs ys zs = [mkBM x y z | z <- zs] | y <- ys] | x <- xs] where mkBM x y z = benchDefault (showMemoryUsage (wrapZ z)) $ mkApp3 fun tys x y z +{- See Note [Adjusting the memory usage of arguments of costing benchmarks]. -} +createFourTermBuiltinBenchElementwiseWithWrappers + :: ( fun ~ DefaultFun + , uni ~ DefaultUni + , uni `HasTermLevel` a + , uni `HasTermLevel` b + , uni `HasTermLevel` c + , uni `HasTermLevel` d + , ExMemoryUsage a' + , ExMemoryUsage b' + , ExMemoryUsage c' + , ExMemoryUsage d' + , NFData a + , NFData b + , NFData c + , NFData d + ) + => (a -> a', b -> b', c -> c', d -> d') + -> fun + -> [Type tyname uni ()] + -> [(a,b,c,d)] + -> Benchmark +createFourTermBuiltinBenchElementwiseWithWrappers (wrapW, wrapX, wrapY, wrapZ) fun tys inputs = + bgroup (show fun) $ + fmap + (\(w, x, y, z) -> + bgroup (showMemoryUsage $ wrapW w) + [bgroup (showMemoryUsage $ wrapX x) + [bgroup (showMemoryUsage $ wrapY y) [mkBM w x y z]] + ] + ) + inputs + where mkBM w x y z = benchDefault (showMemoryUsage $ wrapZ z) $ mkApp4 fun tys w x y z diff --git a/plutus-core/cost-model/budgeting-bench/Main.hs b/plutus-core/cost-model/budgeting-bench/Main.hs index 51be377f0e8..6c9124f4a38 100644 --- a/plutus-core/cost-model/budgeting-bench/Main.hs +++ b/plutus-core/cost-model/budgeting-bench/Main.hs @@ -17,6 +17,7 @@ import Benchmarks.Pairs qualified import Benchmarks.Strings qualified import Benchmarks.Tracing qualified import Benchmarks.Unit qualified +import Benchmarks.Values qualified import Criterion.Main import Criterion.Types as C @@ -60,6 +61,7 @@ main = do <> Benchmarks.Strings.makeBenchmarks gen <> Benchmarks.Tracing.makeBenchmarks gen <> Benchmarks.Unit.makeBenchmarks gen + <> Benchmarks.Values.makeBenchmarks gen {- Run the nop benchmarks with a large time limit (30 seconds) in an attempt to get accurate results. -} diff --git a/plutus-core/cost-model/create-cost-model/BuiltinMemoryModels.hs b/plutus-core/cost-model/create-cost-model/BuiltinMemoryModels.hs index 65e647d48f9..cb664c87936 100644 --- a/plutus-core/cost-model/create-cost-model/BuiltinMemoryModels.hs +++ b/plutus-core/cost-model/create-cost-model/BuiltinMemoryModels.hs @@ -176,5 +176,12 @@ builtinMemoryModels = BuiltinCostModelBase , paramLengthOfArray = Id $ ModelOneArgumentConstantCost 10 , paramListToArray = Id $ ModelOneArgumentLinearInX $ OneVariableLinearFunction 7 1 , paramIndexArray = Id $ ModelTwoArgumentsConstantCost 32 + -- Builtin values + , paramLookupCoin = Id $ ModelThreeArgumentsConstantCost 1 + , paramValueContains = Id $ ModelTwoArgumentsConstantCost 1 + , paramValueData = Id $ ModelOneArgumentConstantCost 1 + , paramUnValueData = Id $ ModelOneArgumentConstantCost 1 + , paramInsertCoin = Id $ ModelFourArgumentsConstantCost 1 + , paramUnionValue = Id $ ModelTwoArgumentsConstantCost 1 } where identityFunction = OneVariableLinearFunction 0 1 diff --git a/plutus-core/cost-model/create-cost-model/CreateBuiltinCostModel.hs b/plutus-core/cost-model/create-cost-model/CreateBuiltinCostModel.hs index 889d43da60a..fff87c349a5 100644 --- a/plutus-core/cost-model/create-cost-model/CreateBuiltinCostModel.hs +++ b/plutus-core/cost-model/create-cost-model/CreateBuiltinCostModel.hs @@ -131,6 +131,13 @@ builtinCostModelNames = BuiltinCostModelBase , paramLengthOfArray = "lengthOfArrayModel" , paramListToArray = "listToArrayModel" , paramIndexArray = "indexArrayModel" + -- Builtin values + , paramLookupCoin = "lookupCoinModel" + , paramValueContains = "valueContainsModel" + , paramValueData = "valueDataModel" + , paramUnValueData = "unValueDataModel" + , paramInsertCoin = "insertCoinModel" + , paramUnionValue = "unionValueModel" } @@ -279,6 +286,14 @@ createBuiltinCostModel bmfile rfile = do paramLengthOfArray <- getParams readCF1 paramLengthOfArray paramListToArray <- getParams readCF1 paramListToArray paramIndexArray <- getParams readCF2 paramIndexArray + -- Builtin values + paramLookupCoin <- getParams readCF3 paramLookupCoin + paramValueContains <- getParams readCF2 paramValueContains + paramValueData <- getParams readCF1 paramValueData + paramUnValueData <- getParams readCF1 paramUnValueData + -- Values + paramInsertCoin <- getParams readCF4 paramInsertCoin + paramUnionValue <- getParams readCF2 paramUnionValue pure $ BuiltinCostModelBase {..} @@ -442,6 +457,13 @@ readCF3 e = do "exp_mod_cost" -> ModelThreeArgumentsExpModCost <$> readExpModCostingFunction "y_mem" "z_mem" e _ -> error $ "Unknown three-variable model type: " ++ ty +readCF4 :: MonadR m => SomeSEXP (Region m) -> m ModelFourArguments +readCF4 e = do + ty <- getType e + case ty of + "constant_cost" -> ModelFourArgumentsConstantCost <$> getConstant e + _ -> error $ "Unknown four-variable model type: " ++ ty + readCF6 :: MonadR m => SomeSEXP (Region m) -> m ModelSixArguments readCF6 e = do ty <- getType e diff --git a/plutus-core/cost-model/data/benching-conway.csv b/plutus-core/cost-model/data/benching-conway.csv index e9f8f948ddd..d70abe04906 100644 --- a/plutus-core/cost-model/data/benching-conway.csv +++ b/plutus-core/cost-model/data/benching-conway.csv @@ -12094,203 +12094,553 @@ IndexArray/42/1,1.075506579052359e-6,1.0748433439930302e-6,1.0762684407023462e-6 IndexArray/46/1,1.0697135554442532e-6,1.0690902192698813e-6,1.0704133377013816e-6,2.2124820728450233e-9,1.8581237858977844e-9,2.6526943923047553e-9 IndexArray/98/1,1.0700747499373992e-6,1.0693842628239684e-6,1.070727062396803e-6,2.2506114869928674e-9,1.9376849028666025e-9,2.7564941558204088e-9 IndexArray/82/1,1.0755056682976695e-6,1.0750405368241111e-6,1.076102212770973e-6,1.8355219893844098e-9,1.5161640335164335e-9,2.4443625958006994e-9 -Bls12_381_G1_multiScalarMul/1/1,8.232134704712041e-5,8.228195390475752e-5,8.23582682466318e-5,1.224261187989977e-7,9.011720721178711e-8,1.843107342917502e-7 -Bls12_381_G1_multiScalarMul/2/2,1.5603352113689742e-4,1.5600025884754734e-4,1.56065185257734e-4,1.094394761986619e-7,8.779071446458298e-8,1.4947970533315267e-7 -Bls12_381_G1_multiScalarMul/3/3,1.939329666457593e-4,1.9388354851368188e-4,1.9402197408734082e-4,2.1995467058503616e-7,1.0779055620051168e-7,3.598144610846602e-7 -Bls12_381_G1_multiScalarMul/4/4,2.3193769861120354e-4,2.3185777330912127e-4,2.3201206490119206e-4,2.61940592999759e-7,2.2941719187582037e-7,3.077882579221989e-7 -Bls12_381_G1_multiScalarMul/5/5,2.7024485787950484e-4,2.701985832375676e-4,2.703562833994201e-4,2.504717874031756e-7,1.061103089376427e-7,4.5178956774050623e-7 -Bls12_381_G1_multiScalarMul/6/6,3.0832848017233854e-4,3.0828505860448953e-4,3.0841239554252326e-4,2.0081914026068556e-7,9.503560402226141e-8,3.348991421491274e-7 -Bls12_381_G1_multiScalarMul/7/7,3.453960291097332e-4,3.4529502000293173e-4,3.455551893661785e-4,4.503893151758501e-7,3.083661872443178e-7,7.81083043020636e-7 -Bls12_381_G1_multiScalarMul/8/8,3.832976511516978e-4,3.831399415816367e-4,3.8350168059661554e-4,6.425351357987778e-7,4.905809379814108e-7,9.901201715565621e-7 -Bls12_381_G1_multiScalarMul/9/9,4.208393675237262e-4,4.207594143609449e-4,4.209463240895972e-4,2.9714485369386276e-7,2.3487011012607412e-7,3.8965401426852136e-7 -Bls12_381_G1_multiScalarMul/10/10,4.590267934709921e-4,4.589529485523938e-4,4.5921225223072857e-4,3.674247719157326e-7,1.960955535102652e-7,6.745469596123421e-7 -Bls12_381_G1_multiScalarMul/11/11,4.97527732566443e-4,4.972281860134679e-4,4.986282302732426e-4,1.7151877711893442e-6,5.122548200854059e-7,3.5332096552138613e-6 -Bls12_381_G1_multiScalarMul/12/12,5.356509855658948e-4,5.355651207657092e-4,5.357300213867713e-4,2.869286988508056e-7,2.2118709297739587e-7,3.945684847893835e-7 -Bls12_381_G1_multiScalarMul/13/13,5.728512759489744e-4,5.726915276394053e-4,5.733007180741135e-4,8.949768255378629e-7,2.990100102556068e-7,1.799582591634419e-6 -Bls12_381_G1_multiScalarMul/14/14,6.102677458891477e-4,6.101406595840958e-4,6.104800133890259e-4,5.730641911125035e-7,4.2156110110763734e-7,9.874293144495503e-7 -Bls12_381_G1_multiScalarMul/15/15,6.477995208670887e-4,6.475756774649752e-4,6.480865282403314e-4,8.809829049973348e-7,7.579659277726546e-7,1.1589928070099792e-6 -Bls12_381_G1_multiScalarMul/16/16,7.10232795606239e-4,7.101357580525187e-4,7.103534690693274e-4,3.9630772993102876e-7,3.017996615312032e-7,6.065624023561599e-7 -Bls12_381_G1_multiScalarMul/17/17,7.482241201028533e-4,7.479063489174819e-4,7.493005226515e-4,1.7468995103377413e-6,4.207394233578458e-7,3.5919072692845237e-6 -Bls12_381_G1_multiScalarMul/18/18,7.705925934553824e-4,7.701144938606196e-4,7.727806329806679e-4,2.721631169491716e-6,7.981968678057562e-7,5.845417811648959e-6 -Bls12_381_G1_multiScalarMul/19/19,8.07991568665831e-4,8.078519602328661e-4,8.082935546448865e-4,6.822381786366707e-7,4.1123728418619586e-7,1.2817508134125719e-6 -Bls12_381_G1_multiScalarMul/20/20,8.305413129620952e-4,8.304197199200644e-4,8.306902645257076e-4,4.3666055013588826e-7,3.4850947949373826e-7,5.517969661861731e-7 -Bls12_381_G1_multiScalarMul/21/21,8.686137577309382e-4,8.683705360374326e-4,8.690514729472171e-4,1.0365305564754837e-6,6.15324072934707e-7,1.7554645846499009e-6 -Bls12_381_G1_multiScalarMul/22/22,8.91652773561559e-4,8.91448841424083e-4,8.919251447254486e-4,8.003760296748043e-7,5.948851969272322e-7,1.1100316085161068e-6 -Bls12_381_G1_multiScalarMul/23/23,9.294873328615929e-4,9.2931706336974e-4,9.29674543066649e-4,6.225406051789035e-7,4.744164895701269e-7,8.695237190578588e-7 -Bls12_381_G1_multiScalarMul/24/24,9.517388775125774e-4,9.51297780087541e-4,9.521482216169379e-4,1.3722719341729154e-6,1.062307342501858e-6,1.7843971621271001e-6 -Bls12_381_G1_multiScalarMul/25/25,9.886064604005137e-4,9.882251183807264e-4,9.897265063364012e-4,1.8798264902284367e-6,6.736369822886704e-7,3.814951405763071e-6 -Bls12_381_G1_multiScalarMul/26/26,1.0107695436644823e-3,1.0105299581864577e-3,1.0111683184415275e-3,9.824869954193735e-7,6.273786628516054e-7,1.789759844703243e-6 -Bls12_381_G1_multiScalarMul/27/27,1.0481752477344507e-3,1.0477770452434242e-3,1.0488436059663702e-3,1.70119074982601e-6,1.1033927625372998e-6,2.421859397722192e-6 -Bls12_381_G1_multiScalarMul/28/28,1.071199845880856e-3,1.0708432481182537e-3,1.0720804641719981e-3,1.6595833959304896e-6,8.543899072576939e-7,2.9475871714734805e-6 -Bls12_381_G1_multiScalarMul/29/29,1.1091453942723057e-3,1.1088806422385156e-3,1.1094556190265087e-3,9.884003711358195e-7,8.097303732520417e-7,1.3599340574873413e-6 -Bls12_381_G1_multiScalarMul/30/30,1.1316695694102287e-3,1.1314082924647447e-3,1.1319750321409226e-3,9.66367104215988e-7,7.685686878341102e-7,1.204378285010742e-6 -Bls12_381_G1_multiScalarMul/31/31,1.1706362298123296e-3,1.1701248243111372e-3,1.1713912110155227e-3,2.1219139874861063e-6,1.5567879843419155e-6,2.916931910163364e-6 -Bls12_381_G1_multiScalarMul/32/32,1.2183054885742289e-3,1.2178167501590653e-3,1.2191423331752846e-3,2.082314742656685e-6,1.3954922622922078e-6,3.3606861800964793e-6 -Bls12_381_G1_multiScalarMul/33/33,1.25554775700385e-3,1.2553212908295874e-3,1.256064024330601e-3,1.103995478961421e-6,6.577553035929982e-7,1.960982872144134e-6 -Bls12_381_G1_multiScalarMul/34/34,1.2814120185183533e-3,1.2811113200601465e-3,1.2817386977410077e-3,1.066328231240918e-6,8.498751061674896e-7,1.3581581158462333e-6 -Bls12_381_G1_multiScalarMul/35/35,1.3147784280299476e-3,1.3142019737646283e-3,1.3159148898431248e-3,2.7821602645732677e-6,1.2576600123958567e-6,4.71910870274486e-6 -Bls12_381_G1_multiScalarMul/36/36,1.3219048104980895e-3,1.3213844160889154e-3,1.3233093194833564e-3,2.6731627087817e-6,1.1691449038920677e-6,4.595666907784908e-6 -Bls12_381_G1_multiScalarMul/37/37,1.3589352301097773e-3,1.3587799204790097e-3,1.3590865392381088e-3,5.239660989144622e-7,4.210132126501093e-7,7.044936055207908e-7 -Bls12_381_G1_multiScalarMul/38/38,1.3842305731809087e-3,1.3838013940827385e-3,1.3851882129520007e-3,2.140116379547782e-6,1.1344089830602969e-6,4.3500220741287305e-6 -Bls12_381_G1_multiScalarMul/39/39,1.4193844818012396e-3,1.4188890128645811e-3,1.4206267802236144e-3,2.384279344480344e-6,1.286298194419277e-6,4.088466911461954e-6 -Bls12_381_G1_multiScalarMul/40/40,1.4275969257372889e-3,1.4266990139967814e-3,1.4296056424476227e-3,4.36532975493508e-6,2.6378910656369093e-6,7.81360464614563e-6 -Bls12_381_G1_multiScalarMul/41/41,1.4662734042718765e-3,1.4655915349289289e-3,1.4670583531661572e-3,2.5114188995059114e-6,2.0097342160937628e-6,3.247155614235915e-6 -Bls12_381_G1_multiScalarMul/42/42,1.4944060105751547e-3,1.493879150367226e-3,1.4952135866693312e-3,2.1205348113616285e-6,1.5093258926943527e-6,2.962889746140889e-6 -Bls12_381_G1_multiScalarMul/43/43,1.5276593205735154e-3,1.5273658668217916e-3,1.5279331130431386e-3,9.74498489934415e-7,7.482627424771116e-7,1.420616015176624e-6 -Bls12_381_G1_multiScalarMul/44/44,1.5353847806862466e-3,1.5346147866390108e-3,1.5363954193265963e-3,2.814562457758291e-6,2.1143530632424383e-6,3.821045577572284e-6 -Bls12_381_G1_multiScalarMul/45/45,1.5694620743296511e-3,1.5687635390181445e-3,1.57029874920667e-3,2.507144487167149e-6,2.0785255381527325e-6,3.0811759778156036e-6 -Bls12_381_G1_multiScalarMul/46/46,1.5907223707740364e-3,1.5893800235731621e-3,1.592471840103437e-3,5.178470382170926e-6,3.88044580623702e-6,6.694012070239517e-6 -Bls12_381_G1_multiScalarMul/47/47,1.628661974360063e-3,1.6283512846939465e-3,1.6291669828813618e-3,1.3671525674743757e-6,9.627490393739244e-7,2.0277210680304897e-6 -Bls12_381_G1_multiScalarMul/48/48,1.6361548091125416e-3,1.6357926793118167e-3,1.6366869716805837e-3,1.442057725476356e-6,1.0667638215275559e-6,2.1942788690677544e-6 -Bls12_381_G1_multiScalarMul/49/49,1.6779864698862684e-3,1.6774419144888844e-3,1.678564301607901e-3,1.9536763807617875e-6,1.5861735530685062e-6,2.9241156321278288e-6 -Bls12_381_G1_multiScalarMul/50/50,1.7052634275253997e-3,1.7041895762385994e-3,1.706524687220049e-3,3.84152102882327e-6,2.956410364369988e-6,4.951832103647607e-6 -Bls12_381_G1_multiScalarMul/51/51,1.7406739448052255e-3,1.739741519600114e-3,1.743488273211799e-3,4.901730860712033e-6,1.681687713060746e-6,9.63314624934489e-6 -Bls12_381_G1_multiScalarMul/52/52,1.7493504703501312e-3,1.7485291809717686e-3,1.7506247910129787e-3,3.6153633132872805e-6,2.6479825651733657e-6,5.832623352761088e-6 -Bls12_381_G1_multiScalarMul/53/53,1.7868267249247544e-3,1.786050505290007e-3,1.7882000160916365e-3,3.3230153222471118e-6,2.3257047340548217e-6,5.4135122168717275e-6 -Bls12_381_G1_multiScalarMul/54/54,1.8119093305955243e-3,1.8112017731004542e-3,1.8128745438316246e-3,2.9582354520945714e-6,2.0538396464527634e-6,4.974892599302226e-6 -Bls12_381_G1_multiScalarMul/55/55,1.84471674435397e-3,1.8442599600963505e-3,1.8452634559156386e-3,1.7601881093901428e-6,1.4750625737533917e-6,2.210525678689879e-6 -Bls12_381_G1_multiScalarMul/56/56,1.8550924625942802e-3,1.8544531007068019e-3,1.8564385668508347e-3,2.9780016999383592e-6,1.8191076732735432e-6,5.031379898838522e-6 -Bls12_381_G1_multiScalarMul/57/57,1.8950408145264643e-3,1.8939992827596826e-3,1.8961977234850831e-3,3.706120655598944e-6,2.9949347749033603e-6,4.641731171151639e-6 -Bls12_381_G1_multiScalarMul/58/58,1.9214190162986646e-3,1.9205644658902652e-3,1.9227436492195735e-3,3.7919868436730406e-6,2.5151125481564216e-6,5.528965031038841e-6 -Bls12_381_G1_multiScalarMul/59/59,1.95611884939017e-3,1.9555311058998062e-3,1.9567680207463758e-3,2.0724783716238652e-6,1.7915625799228621e-6,2.6388010558596374e-6 -Bls12_381_G1_multiScalarMul/60/60,1.9594365520224813e-3,1.958943767917802e-3,1.9600328304991543e-3,1.8565912278242626e-6,1.3182944308809232e-6,3.0498262686954687e-6 -Bls12_381_G1_multiScalarMul/61/61,1.9978785940453596e-3,1.9970364354546e-3,1.9988044814993563e-3,2.814765620751774e-6,2.215278427132277e-6,3.9079749949813176e-6 -Bls12_381_G1_multiScalarMul/62/62,2.025163972129198e-3,2.024292907473527e-3,2.026477198808721e-3,3.4328117679417816e-6,2.424532695157738e-6,4.901533766106334e-6 -Bls12_381_G1_multiScalarMul/63/63,2.0586979562927845e-3,2.057984455859352e-3,2.059909135640746e-3,3.1733556435024334e-6,1.9174464587367093e-6,5.2504225730683016e-6 -Bls12_381_G1_multiScalarMul/64/64,2.0900368436079005e-3,2.088028375590593e-3,2.0984775655780315e-3,1.1646874789686276e-5,3.4252094381705674e-6,2.554205960853732e-5 -Bls12_381_G1_multiScalarMul/65/65,1.8968147378605645e-3,1.8955310391900796e-3,1.898278206886905e-3,4.680707702478362e-6,3.6933847226616885e-6,6.782185825195487e-6 -Bls12_381_G1_multiScalarMul/66/66,1.915527316948408e-3,1.9151048085532891e-3,1.916079596378419e-3,1.652232700882608e-6,1.268984752321262e-6,2.218302657360697e-6 -Bls12_381_G1_multiScalarMul/67/67,1.939873715995447e-3,1.9390300141714943e-3,1.9415345431927143e-3,3.909637666223789e-6,2.4669716449410535e-6,6.3729495513604696e-6 -Bls12_381_G1_multiScalarMul/68/68,1.963955860876783e-3,1.9634908135732973e-3,1.9647235096952164e-3,1.9301982657436205e-6,1.331287045500568e-6,3.069218630466695e-6 -Bls12_381_G1_multiScalarMul/69/69,1.981736462216709e-3,1.9812744529486425e-3,1.982304257342455e-3,1.7179723192754665e-6,1.2576978196442669e-6,2.585535309310991e-6 -Bls12_381_G1_multiScalarMul/70/70,2.015096024360793e-3,2.013930296536576e-3,2.016550975850134e-3,4.183586924132327e-6,2.9592834069943323e-6,5.903222403671096e-6 -Bls12_381_G1_multiScalarMul/71/71,2.039593310853405e-3,2.039230558943095e-3,2.040135103696278e-3,1.517677057313753e-6,1.246493361769726e-6,1.8411731331069727e-6 -Bls12_381_G1_multiScalarMul/72/72,2.058111599882653e-3,2.057193666273917e-3,2.0594723408391942e-3,3.5844251775633503e-6,2.7202401005013457e-6,5.864305886696207e-6 -Bls12_381_G1_multiScalarMul/73/73,2.0934159227994436e-3,2.0906201835026532e-3,2.095693684947171e-3,8.491298188831756e-6,7.241167338179682e-6,1.0176406230578143e-5 -Bls12_381_G1_multiScalarMul/74/74,2.1291335834122513e-3,2.1278241958452133e-3,2.1299943701228743e-3,3.7951510816769475e-6,2.9761746545534362e-6,5.135763083938416e-6 -Bls12_381_G1_multiScalarMul/75/75,2.1496696746573056e-3,2.148587264452237e-3,2.1520893411774615e-3,5.214017226179326e-6,2.831700993722389e-6,9.897946072389741e-6 -Bls12_381_G1_multiScalarMul/76/76,2.1791297355152578e-3,2.1763917538151966e-3,2.1862885859611804e-3,1.3564060446508161e-5,5.983327115746122e-6,2.4308866464862185e-5 -Bls12_381_G1_multiScalarMul/77/77,2.181325091429973e-3,2.1807942464757432e-3,2.1818133665519207e-3,1.7039353205909792e-6,1.3786145694127499e-6,2.27968640731267e-6 -Bls12_381_G1_multiScalarMul/78/78,2.2165097719499824e-3,2.213684889701067e-3,2.219024702852442e-3,9.476092692961542e-6,6.898527736606062e-6,1.3202270738128961e-5 -Bls12_381_G1_multiScalarMul/79/79,2.2220017642692208e-3,2.221452887745163e-3,2.2226621102249605e-3,1.9668594276026276e-6,1.6059114512897864e-6,2.54873438507269e-6 -Bls12_381_G1_multiScalarMul/80/80,2.2649145692548805e-3,2.264315257045781e-3,2.2659321574184485e-3,2.6476167211476292e-6,1.8114591949521001e-6,4.5100102111080466e-6 -Bls12_381_G1_multiScalarMul/81/81,2.2815568928021565e-3,2.2809268030696116e-3,2.282682684357514e-3,2.6571578380668003e-6,1.7065827732222851e-6,4.487951031499547e-6 -Bls12_381_G1_multiScalarMul/82/82,2.310620963737306e-3,2.3090927285613193e-3,2.3126689982238035e-3,5.977435209471239e-6,4.4804403698017714e-6,8.09057887928092e-6 -Bls12_381_G1_multiScalarMul/83/83,2.336733472141597e-3,2.3360361666493012e-3,2.337632382036757e-3,2.560471483733304e-6,1.920620453068812e-6,3.7021660444619836e-6 -Bls12_381_G1_multiScalarMul/84/84,2.373268168042132e-3,2.371319876892892e-3,2.3766426567644805e-3,8.021527609000714e-6,4.830364162650037e-6,1.252095716980909e-5 -Bls12_381_G1_multiScalarMul/85/85,2.384876078524913e-3,2.383959246461071e-3,2.3867334229422466e-3,4.094196151783379e-6,2.3902100912772977e-6,6.961154738344854e-6 -Bls12_381_G1_multiScalarMul/86/86,2.410565039227443e-3,2.4084234057296094e-3,2.412268328550986e-3,6.65915218385595e-6,4.329988822432703e-6,1.0326826016055168e-5 -Bls12_381_G1_multiScalarMul/87/87,2.4297666625285345e-3,2.4270653907625746e-3,2.432196481389161e-3,8.58024905300566e-6,7.109703139729458e-6,1.0051366987525497e-5 -Bls12_381_G1_multiScalarMul/88/88,2.460570343151193e-3,2.459544035208346e-3,2.4615274058159917e-3,3.5198413136176365e-6,2.8384817517665127e-6,4.815807097623251e-6 -Bls12_381_G1_multiScalarMul/89/89,2.489853458509472e-3,2.48760518697685e-3,2.491311540051355e-3,6.19046891378905e-6,4.307330671671395e-6,7.986452835536224e-6 -Bls12_381_G1_multiScalarMul/90/90,2.518729619807173e-3,2.5175955675903593e-3,2.5197557395444242e-3,3.6740724105737384e-6,3.011297773639394e-6,4.579753037221892e-6 -Bls12_381_G1_multiScalarMul/91/91,2.507346287557815e-3,2.5048432606199636e-3,2.5101409467740204e-3,9.127067962491492e-6,7.736890525902875e-6,1.0224347243298884e-5 -Bls12_381_G1_multiScalarMul/92/92,2.5623659852219262e-3,2.5612024891175753e-3,2.564829446827521e-3,5.6507070170772565e-6,3.2998574451510087e-6,9.57583819470183e-6 -Bls12_381_G1_multiScalarMul/93/93,2.5847869535442504e-3,2.5837480732719756e-3,2.5860413313409e-3,3.848008008883357e-6,3.135969999546864e-6,4.874051925178418e-6 -Bls12_381_G1_multiScalarMul/94/94,2.6234813638524954e-3,2.6221188936467322e-3,2.627015683950028e-3,6.9065042519955485e-6,3.5404891910020863e-6,1.266990728387938e-5 -Bls12_381_G1_multiScalarMul/95/95,2.642628219940988e-3,2.641768011136227e-3,2.6442054118635916e-3,3.6007375940600177e-6,2.2125834942189697e-6,6.234015624110293e-6 -Bls12_381_G1_multiScalarMul/96/96,2.6601519782021863e-3,2.6585725995916932e-3,2.6631507793169816e-3,7.137222035771094e-6,4.623560832534806e-6,1.2950373021381417e-5 -Bls12_381_G1_multiScalarMul/97/97,2.681023460582192e-3,2.679568015031102e-3,2.683278541155578e-3,5.991522440852137e-6,3.858505228846451e-6,8.60021764374252e-6 -Bls12_381_G1_multiScalarMul/98/98,2.7083684530633586e-3,2.70727640883435e-3,2.7110584196105647e-3,5.013062986030381e-6,2.3597699562053853e-6,1.002284515969446e-5 -Bls12_381_G1_multiScalarMul/99/99,2.7213371259787855e-3,2.720704088882147e-3,2.722244079978909e-3,2.444787958433492e-6,1.793699194794548e-6,3.7994420578130953e-6 -Bls12_381_G1_multiScalarMul/100/100,2.7642727676665296e-3,2.763395576301587e-3,2.7675024929907544e-3,4.726547836308982e-6,1.8913959977112497e-6,1.0025613006686808e-5 -Bls12_381_G2_multiScalarMul/1/1,1.6266495442804972e-4,1.6264736086074068e-4,1.6270124805713648e-4,7.793865350083726e-8,4.635475091813956e-8,1.4247066440608091e-7 -Bls12_381_G2_multiScalarMul/2/2,3.543638522088684e-4,3.541772068342348e-4,3.5485931188723925e-4,9.360391344324354e-7,3.4976363756994914e-7,1.8211931894900913e-6 -Bls12_381_G2_multiScalarMul/3/3,4.47702794969825e-4,4.475045705500375e-4,4.478850505015342e-4,6.493823174661071e-7,3.5878763258263287e-7,1.0803507174684568e-6 -Bls12_381_G2_multiScalarMul/4/4,5.420723557652644e-4,5.417274673810824e-4,5.426125367479333e-4,1.4301753976362207e-6,9.988141199987564e-7,2.267296520674632e-6 -Bls12_381_G2_multiScalarMul/5/5,6.370512849618329e-4,6.36900784787239e-4,6.37202712666071e-4,5.292403814549932e-7,4.022430073091077e-7,7.556842750685239e-7 -Bls12_381_G2_multiScalarMul/6/6,7.310526489754525e-4,7.30629670999753e-4,7.317446144730351e-4,1.8119026166925256e-6,1.1454709674089216e-6,3.3632913939344345e-6 -Bls12_381_G2_multiScalarMul/7/7,8.236776396240537e-4,8.233271514827839e-4,8.241067273174465e-4,1.3657308675882766e-6,1.0410102352442255e-6,1.83210797347741e-6 -Bls12_381_G2_multiScalarMul/8/8,9.197543555033109e-4,9.189658738224084e-4,9.209830008370004e-4,3.3412724036424652e-6,2.3248417111070747e-6,5.070176355554298e-6 -Bls12_381_G2_multiScalarMul/9/9,1.011991406751168e-3,1.0117382842987513e-3,1.012512156595354e-3,1.1429892811506008e-6,7.64572284352035e-7,1.824620728201617e-6 -Bls12_381_G2_multiScalarMul/10/10,1.109394930774612e-3,1.1087682317862343e-3,1.1115776119988174e-3,3.4944409285465694e-6,1.0503647842087067e-6,7.149880658627584e-6 -Bls12_381_G2_multiScalarMul/11/11,1.2023934491440338e-3,1.202171934481395e-3,1.2026423197250766e-3,7.922161025400925e-7,6.258416318073706e-7,1.029606114863458e-6 -Bls12_381_G2_multiScalarMul/12/12,1.2963025275871496e-3,1.2952163686698916e-3,1.2983463505741011e-3,4.960268500618734e-6,2.845337116066531e-6,9.687158836086103e-6 -Bls12_381_G2_multiScalarMul/13/13,1.3869285962502872e-3,1.3866231292243125e-3,1.3872893550098244e-3,1.1726919062774188e-6,8.791906263916984e-7,1.5913921990012086e-6 -Bls12_381_G2_multiScalarMul/14/14,1.4823956781971994e-3,1.4815973050589385e-3,1.4842137535372652e-3,3.760848566094728e-6,2.472183908899497e-6,6.4465275732684205e-6 -Bls12_381_G2_multiScalarMul/15/15,1.574445631700049e-3,1.574063788581931e-3,1.5749578982368424e-3,1.443263633319882e-6,1.0628032736563463e-6,2.1565979694667185e-6 -Bls12_381_G2_multiScalarMul/16/16,1.5000875796284717e-3,1.4994665426513504e-3,1.5014717203342867e-3,2.802372121079838e-6,1.7676048441935653e-6,4.644089354729122e-6 -Bls12_381_G2_multiScalarMul/17/17,1.5940905703219718e-3,1.5936217521556593e-3,1.5945282467814278e-3,1.547468548627245e-6,1.1967489868918594e-6,2.082313772097416e-6 -Bls12_381_G2_multiScalarMul/18/18,1.6481937447323397e-3,1.6471788901492087e-3,1.6502528733967521e-3,4.67746155264807e-6,2.5560426788421386e-6,8.493562555710135e-6 -Bls12_381_G2_multiScalarMul/19/19,1.7408620063694292e-3,1.7403685953485991e-3,1.7416086573762834e-3,2.034339176777199e-6,1.5411497874186401e-6,2.888074021221646e-6 -Bls12_381_G2_multiScalarMul/20/20,1.7983360168952664e-3,1.7968063959178204e-3,1.8007319622437476e-3,6.701452941660098e-6,3.915890097926392e-6,1.1565951790899295e-5 -Bls12_381_G2_multiScalarMul/21/21,1.8948751419094719e-3,1.8943849272806152e-3,1.8954945505194202e-3,1.8264677812158936e-6,1.5180676580123575e-6,2.3043238795090236e-6 -Bls12_381_G2_multiScalarMul/22/22,1.9483638492318052e-3,1.9468479306608071e-3,1.952898337552636e-3,8.246725685061966e-6,2.916390890917488e-6,1.6554460898097785e-5 -Bls12_381_G2_multiScalarMul/23/23,2.0441566797094976e-3,2.0436200484617298e-3,2.0448120935495366e-3,1.9807680962425035e-6,1.4047597581205637e-6,2.861374149657612e-6 -Bls12_381_G2_multiScalarMul/24/24,2.0976111797810742e-3,2.0969141362790775e-3,2.0983042002160226e-3,2.294409781298406e-6,1.7816482691771947e-6,3.2363169164003804e-6 -Bls12_381_G2_multiScalarMul/25/25,2.1916934430134647e-3,2.1911766683971054e-3,2.192454586070339e-3,2.0791512216562315e-6,1.5171229138063835e-6,2.812518408756342e-6 -Bls12_381_G2_multiScalarMul/26/26,2.2452874242475463e-3,2.2438224649193378e-3,2.248020575104657e-3,6.546744756250407e-6,4.224171258471438e-6,1.1357661995132573e-5 -Bls12_381_G2_multiScalarMul/27/27,2.3342313432099604e-3,2.3334417036587492e-3,2.335903802244924e-3,3.7924501525196913e-6,2.084116468653706e-6,6.745286115407234e-6 -Bls12_381_G2_multiScalarMul/28/28,2.3924196934986424e-3,2.3905980952149135e-3,2.39744572554579e-3,9.270395166568168e-6,3.857502451986574e-6,1.8266974876360255e-5 -Bls12_381_G2_multiScalarMul/29/29,2.4921574096234654e-3,2.4911465295363233e-3,2.4951214940058244e-3,5.209897620887097e-6,2.3932366963378704e-6,1.007979235143704e-5 -Bls12_381_G2_multiScalarMul/30/30,2.5442112572946624e-3,2.5431826880834667e-3,2.5479216241766365e-3,5.7374902589030385e-6,2.166916577225313e-6,1.24589648550128e-5 -Bls12_381_G2_multiScalarMul/31/31,2.6387551082366705e-3,2.6380466280120883e-3,2.6396291501284983e-3,2.5285910565402825e-6,2.0132127254936795e-6,3.4207259760745164e-6 -Bls12_381_G2_multiScalarMul/32/32,2.5150931462186196e-3,2.513387917297599e-3,2.5181977065017046e-3,7.657009385145557e-6,4.5131093648664805e-6,1.3678490989164753e-5 -Bls12_381_G2_multiScalarMul/33/33,3.0889519233376545e-3,3.0883882511648234e-3,3.089672507460859e-3,2.0979675388899346e-6,1.603912694016453e-6,3.0603682324660857e-6 -Bls12_381_G2_multiScalarMul/34/34,3.16771726298734e-3,3.16501045273763e-3,3.172197179196162e-3,1.0825021580641719e-5,6.671829453430046e-6,1.8892794609350383e-5 -Bls12_381_G2_multiScalarMul/35/35,3.2525975758965855e-3,3.251923568635943e-3,3.2534974414252724e-3,2.3923622222660625e-6,1.771511114169158e-6,3.613237863752478e-6 -Bls12_381_G2_multiScalarMul/36/36,3.336138244007564e-3,3.333789111955089e-3,3.344298373821e-3,1.3359645865766898e-5,3.2128822247268738e-6,2.7638521011789944e-5 -Bls12_381_G2_multiScalarMul/37/37,3.4191138605455746e-3,3.4179135859041592e-3,3.4233605791000876e-3,6.592098823336916e-6,2.5157731785295883e-6,1.3141627481895897e-5 -Bls12_381_G2_multiScalarMul/38/38,3.4883584083644226e-3,3.4862131678210493e-3,3.4925344207942677e-3,9.623236210916872e-6,5.191214954965976e-6,1.7597405473000066e-5 -Bls12_381_G2_multiScalarMul/39/39,3.530386408142463e-3,3.5295959082416793e-3,3.531411239014294e-3,2.79677085673492e-6,2.1274732913274754e-6,3.925571150385237e-6 -Bls12_381_G2_multiScalarMul/40/40,3.6147002382323538e-3,3.611572624230025e-3,3.6292011188412323e-3,1.7990113412185996e-5,2.845513840934602e-6,4.043993566101094e-5 -Bls12_381_G2_multiScalarMul/41/41,3.672723290652948e-3,3.6718602367145966e-3,3.673688181816288e-3,2.84241014465167e-6,2.3021696308807956e-6,3.7655879313695054e-6 -Bls12_381_G2_multiScalarMul/42/42,3.793747136886243e-3,3.78926839608175e-3,3.809348971725428e-3,2.269174801044769e-5,4.7237643544819555e-6,4.9663768681186095e-5 -Bls12_381_G2_multiScalarMul/43/43,3.877862027839689e-3,3.876819161298888e-3,3.8794572953528964e-3,4.162065327624179e-6,3.2714009413120982e-6,5.1550470389566275e-6 -Bls12_381_G2_multiScalarMul/44/44,3.965116399895544e-3,3.962804992549213e-3,3.97345386215166e-3,1.3112609308794646e-5,1.8812805162759533e-6,2.7437540345266834e-5 -Bls12_381_G2_multiScalarMul/45/45,4.004527665871219e-3,4.003216183025186e-3,4.00656406563525e-3,5.2564769639065946e-6,2.696936689436533e-6,7.823236463877045e-6 -Bls12_381_G2_multiScalarMul/46/46,4.076804027301204e-3,4.074764849350912e-3,4.082954370562564e-3,1.0195134478551572e-5,3.59758066050906e-6,2.02607321633781e-5 -Bls12_381_G2_multiScalarMul/47/47,4.167774429892586e-3,4.1666246852367335e-3,4.169331500283441e-3,4.095651022675052e-6,3.1833448207887804e-6,5.089866484578962e-6 -Bls12_381_G2_multiScalarMul/48/48,4.2249981616795705e-3,4.222778156184377e-3,4.226612496226903e-3,5.7784805597787715e-6,4.4339723066230185e-6,7.3377180823161815e-6 -Bls12_381_G2_multiScalarMul/49/49,4.3524164098415665e-3,4.351263723172645e-3,4.353648896076485e-3,3.7577346495739375e-6,3.092141280492094e-6,4.52320031610404e-6 -Bls12_381_G2_multiScalarMul/50/50,4.343123429888507e-3,4.341239145934485e-3,4.345694580031099e-3,7.032494846534855e-6,5.430307563910816e-6,1.0261289957428346e-5 -Bls12_381_G2_multiScalarMul/51/51,4.484856489477111e-3,4.481774784858851e-3,4.487312713793393e-3,8.158820364283e-6,6.798014601558509e-6,1.086960763925229e-5 -Bls12_381_G2_multiScalarMul/52/52,4.546562051796544e-3,4.5455748661040974e-3,4.548037932926745e-3,3.6580687673211806e-6,2.8901424834133615e-6,5.219822997121614e-6 -Bls12_381_G2_multiScalarMul/53/53,4.654474034299822e-3,4.65318130717014e-3,4.655917064534823e-3,4.116466278137667e-6,3.166891661793465e-6,5.567941155062992e-6 -Bls12_381_G2_multiScalarMul/54/54,4.721927123629685e-3,4.72071287904244e-3,4.723138528981887e-3,3.94193309418702e-6,3.113913371425901e-6,5.136276379939376e-6 -Bls12_381_G2_multiScalarMul/55/55,4.795039804834155e-3,4.793771853613166e-3,4.796041252525426e-3,3.523502774916879e-6,2.8612449092910447e-6,4.464716550457647e-6 -Bls12_381_G2_multiScalarMul/56/56,4.864016888196152e-3,4.862934237209827e-3,4.865878015473469e-3,4.339172192062833e-6,3.120561122208654e-6,7.091594219853984e-6 -Bls12_381_G2_multiScalarMul/57/57,4.930026691468103e-3,4.928660811034607e-3,4.93184431837138e-3,4.92694965505342e-6,3.631274655946987e-6,6.916774799932921e-6 -Bls12_381_G2_multiScalarMul/58/58,4.999478205962443e-3,4.996476656269146e-3,5.002509748355277e-3,9.65312271848907e-6,8.212314993018033e-6,1.121977177338798e-5 -Bls12_381_G2_multiScalarMul/59/59,5.109930645097379e-3,5.108695300209485e-3,5.111720735214837e-3,4.307666456047917e-6,3.2036925396243358e-6,7.010008721447832e-6 -Bls12_381_G2_multiScalarMul/60/60,5.182636587074396e-3,5.1812215576612815e-3,5.184867458236281e-3,5.045266958501895e-6,3.3630808719106254e-6,7.598293873580799e-6 -Bls12_381_G2_multiScalarMul/61/61,5.261201467559662e-3,5.259483119610097e-3,5.2651003452464235e-3,6.794062799442452e-6,3.965079449462158e-6,1.2745803244159386e-5 -Bls12_381_G2_multiScalarMul/62/62,5.355085149782543e-3,5.353521974098854e-3,5.3568364980710005e-3,5.127106845655141e-6,3.956280257430231e-6,6.764557833667277e-6 -Bls12_381_G2_multiScalarMul/63/63,5.404870448491742e-3,5.401124837066587e-3,5.407497875504651e-3,8.934660522629549e-6,6.290321430881255e-6,1.2732030907646999e-5 -Bls12_381_G2_multiScalarMul/64/64,4.8782659702195615e-3,4.876660673660171e-3,4.8804522014555e-3,5.830661634910927e-6,3.955325665036216e-6,9.38894371358523e-6 -Bls12_381_G2_multiScalarMul/65/65,4.9061548862185346e-3,4.904813116841975e-3,4.9086495754739915e-3,5.295424246670201e-6,3.7451476035762403e-6,8.334611829514347e-6 -Bls12_381_G2_multiScalarMul/66/66,4.967076866858588e-3,4.96587704975757e-3,4.970208209096129e-3,5.500738791485448e-6,2.7782883129256445e-6,1.0490016182322088e-5 -Bls12_381_G2_multiScalarMul/67/67,5.0384188004806525e-3,5.036297660856063e-3,5.040874280488966e-3,7.20767347691469e-6,5.18593994354578e-6,1.1000885848108839e-5 -Bls12_381_G2_multiScalarMul/68/68,5.082679596088205e-3,5.081788191855941e-3,5.083677026915687e-3,2.9879915262955836e-6,2.402250840802348e-6,3.7388441162211205e-6 -Bls12_381_G2_multiScalarMul/69/69,5.131805217231941e-3,5.129945152668336e-3,5.134860292773551e-3,7.121015258734736e-6,4.754387036952524e-6,1.0407485911539298e-5 -Bls12_381_G2_multiScalarMul/70/70,5.223131098010917e-3,5.220270707999523e-3,5.226515783222153e-3,9.515319707834862e-6,7.924704664502419e-6,1.197266014225403e-5 -Bls12_381_G2_multiScalarMul/71/71,5.2882851289316885e-3,5.286944845429294e-3,5.2901838154393414e-3,4.850407193371409e-6,3.951323934404944e-6,6.909977742394703e-6 -Bls12_381_G2_multiScalarMul/72/72,5.31973147751225e-3,5.318376432387295e-3,5.32119875028863e-3,4.277946466566538e-6,3.32076690250808e-6,5.635737244144887e-6 -Bls12_381_G2_multiScalarMul/73/73,5.415258160623588e-3,5.413782714872596e-3,5.416918547393203e-3,4.874528900097905e-6,4.170514576006458e-6,5.848559988534025e-6 -Bls12_381_G2_multiScalarMul/74/74,5.504234496008557e-3,5.500576962955019e-3,5.508481864691515e-3,1.1590261990431737e-5,7.963644443790475e-6,2.0109944098147845e-5 -Bls12_381_G2_multiScalarMul/75/75,5.564079990869667e-3,5.562681956747252e-3,5.56567336402758e-3,4.352958051265566e-6,3.4422969438156352e-6,6.286896453598817e-6 -Bls12_381_G2_multiScalarMul/76/76,5.636188875483629e-3,5.63517382713922e-3,5.637553743099741e-3,3.670518446053137e-6,2.6204373559816722e-6,5.576211218482488e-6 -Bls12_381_G2_multiScalarMul/77/77,5.653980663508052e-3,5.652296820298524e-3,5.657670797268361e-3,7.080543955082813e-6,3.7855994178883683e-6,1.2879875104746403e-5 -Bls12_381_G2_multiScalarMul/78/78,5.740407480489808e-3,5.7391493805168635e-3,5.7418065167963e-3,3.904427361041286e-6,3.074226799333372e-6,5.442029866027754e-6 -Bls12_381_G2_multiScalarMul/79/79,5.751010900543999e-3,5.748323596643336e-3,5.754728295889315e-3,9.270531833024517e-6,6.035547009683968e-6,1.4379971767424256e-5 -Bls12_381_G2_multiScalarMul/80/80,5.858800364486109e-3,5.857269600819101e-3,5.860372363714095e-3,4.878855487808653e-6,3.7581767493947793e-6,6.996843420054578e-6 -Bls12_381_G2_multiScalarMul/81/81,5.896817994473183e-3,5.894063205963552e-3,5.902366128185444e-3,1.1536253196991757e-5,6.383910727541163e-6,2.0982102749864474e-5 -Bls12_381_G2_multiScalarMul/82/82,5.954935473178033e-3,5.953063910957776e-3,5.957530288931881e-3,6.253389324766823e-6,4.779351132702418e-6,7.979956410106285e-6 -Bls12_381_G2_multiScalarMul/83/83,6.0161468367483225e-3,6.013693044072133e-3,6.02177468728205e-3,1.0835798229125257e-5,6.207595030876202e-6,1.9548081431230584e-5 -Bls12_381_G2_multiScalarMul/84/84,6.094614704088679e-3,6.092574358893842e-3,6.0971100378228475e-3,6.666176870479611e-6,5.145944335262237e-6,8.274826825353507e-6 -Bls12_381_G2_multiScalarMul/85/85,6.1380376895836565e-3,6.133725428191463e-3,6.145329879147275e-3,1.626622922741078e-5,1.0821722335694483e-5,2.700730631296616e-5 -Bls12_381_G2_multiScalarMul/86/86,6.2140860516838245e-3,6.212851863373451e-3,6.215546358212723e-3,4.0395006569626435e-6,3.346822769756149e-6,4.7839437803151336e-6 -Bls12_381_G2_multiScalarMul/87/87,6.27302455453059e-3,6.270885529060964e-3,6.275809157451918e-3,6.999595649144767e-6,4.947819532780126e-6,1.0251538631768462e-5 -Bls12_381_G2_multiScalarMul/88/88,6.3404523682942995e-3,6.338680115532713e-3,6.3420519237891515e-3,5.208923709646363e-6,4.108671865132737e-6,6.370714767856116e-6 -Bls12_381_G2_multiScalarMul/89/89,6.410017615442629e-3,6.406159123069732e-3,6.41315635661642e-3,1.0622224787961102e-5,7.696172865576866e-6,1.3963076368862973e-5 -Bls12_381_G2_multiScalarMul/90/90,6.481791869329977e-3,6.479839995502555e-3,6.484276415426917e-3,6.258729255672214e-6,4.848352706810262e-6,7.988412553980431e-6 -Bls12_381_G2_multiScalarMul/91/91,6.475168018503552e-3,6.470179709488667e-3,6.483048340856914e-3,1.7646142713249933e-5,1.3097969794456097e-5,2.6957602312106938e-5 -Bls12_381_G2_multiScalarMul/92/92,6.569285931833285e-3,6.566882844069322e-3,6.574172843329704e-3,9.752702509029438e-6,5.6501870652183995e-6,1.6741066006979055e-5 -Bls12_381_G2_multiScalarMul/93/93,6.629457299321055e-3,6.625183482996535e-3,6.638841711503604e-3,1.7538389603216873e-5,1.0528950637309035e-5,3.0379658274480686e-5 -Bls12_381_G2_multiScalarMul/94/94,6.7320607492387515e-3,6.730167903973191e-3,6.736598035759103e-3,8.15218783569633e-6,3.741189882233103e-6,1.6185222568739163e-5 -Bls12_381_G2_multiScalarMul/95/95,6.801145393237103e-3,6.796607904593793e-3,6.8137432062137055e-3,1.9691935909923513e-5,7.536520887751789e-6,3.768941248607555e-5 -Bls12_381_G2_multiScalarMul/96/96,6.821360358060845e-3,6.816810519501433e-3,6.829564504014655e-3,1.6752380908242913e-5,1.0237675196995415e-5,3.083226102494789e-5 -Bls12_381_G2_multiScalarMul/97/97,6.90522012785712e-3,6.901544208299667e-3,6.918761450372084e-3,1.7088371694161855e-5,5.773286197099474e-6,3.643360035316389e-5 -Bls12_381_G2_multiScalarMul/98/98,6.9597205589059085e-3,6.9554579231546464e-3,6.963825444927238e-3,1.230537047747648e-5,9.828399035508776e-6,1.581113740579338e-5 -Bls12_381_G2_multiScalarMul/99/99,6.998605748330429e-3,6.993956045528542e-3,7.003564931628933e-3,1.3941888558415054e-5,1.1848281516892752e-5,1.8598404587423643e-5 -Bls12_381_G2_multiScalarMul/100/100,7.090569654857228e-3,7.08876305884669e-3,7.093035056145744e-3,6.187076669186285e-6,4.689206191622249e-6,8.297705725121281e-6 +Bls12_381_G1_multiScalarMul/1/1,8.232134704712041e-5,8.228195390475752e-5,8.23582682466318e-5,1.224261187989977e-7,9.011720721178711e-8,1.843107342917502e-7 +Bls12_381_G1_multiScalarMul/2/2,1.5603352113689742e-4,1.5600025884754734e-4,1.56065185257734e-4,1.094394761986619e-7,8.779071446458298e-8,1.4947970533315267e-7 +Bls12_381_G1_multiScalarMul/3/3,1.939329666457593e-4,1.9388354851368188e-4,1.9402197408734082e-4,2.1995467058503616e-7,1.0779055620051168e-7,3.598144610846602e-7 +Bls12_381_G1_multiScalarMul/4/4,2.3193769861120354e-4,2.3185777330912127e-4,2.3201206490119206e-4,2.61940592999759e-7,2.2941719187582037e-7,3.077882579221989e-7 +Bls12_381_G1_multiScalarMul/5/5,2.7024485787950484e-4,2.701985832375676e-4,2.703562833994201e-4,2.504717874031756e-7,1.061103089376427e-7,4.5178956774050623e-7 +Bls12_381_G1_multiScalarMul/6/6,3.0832848017233854e-4,3.0828505860448953e-4,3.0841239554252326e-4,2.0081914026068556e-7,9.503560402226141e-8,3.348991421491274e-7 +Bls12_381_G1_multiScalarMul/7/7,3.453960291097332e-4,3.4529502000293173e-4,3.455551893661785e-4,4.503893151758501e-7,3.083661872443178e-7,7.81083043020636e-7 +Bls12_381_G1_multiScalarMul/8/8,3.832976511516978e-4,3.831399415816367e-4,3.8350168059661554e-4,6.425351357987778e-7,4.905809379814108e-7,9.901201715565621e-7 +Bls12_381_G1_multiScalarMul/9/9,4.208393675237262e-4,4.207594143609449e-4,4.209463240895972e-4,2.9714485369386276e-7,2.3487011012607412e-7,3.8965401426852136e-7 +Bls12_381_G1_multiScalarMul/10/10,4.590267934709921e-4,4.589529485523938e-4,4.5921225223072857e-4,3.674247719157326e-7,1.960955535102652e-7,6.745469596123421e-7 +Bls12_381_G1_multiScalarMul/11/11,4.97527732566443e-4,4.972281860134679e-4,4.986282302732426e-4,1.7151877711893442e-6,5.122548200854059e-7,3.5332096552138613e-6 +Bls12_381_G1_multiScalarMul/12/12,5.356509855658948e-4,5.355651207657092e-4,5.357300213867713e-4,2.869286988508056e-7,2.2118709297739587e-7,3.945684847893835e-7 +Bls12_381_G1_multiScalarMul/13/13,5.728512759489744e-4,5.726915276394053e-4,5.733007180741135e-4,8.949768255378629e-7,2.990100102556068e-7,1.799582591634419e-6 +Bls12_381_G1_multiScalarMul/14/14,6.102677458891477e-4,6.101406595840958e-4,6.104800133890259e-4,5.730641911125035e-7,4.2156110110763734e-7,9.874293144495503e-7 +Bls12_381_G1_multiScalarMul/15/15,6.477995208670887e-4,6.475756774649752e-4,6.480865282403314e-4,8.809829049973348e-7,7.579659277726546e-7,1.1589928070099792e-6 +Bls12_381_G1_multiScalarMul/16/16,7.10232795606239e-4,7.101357580525187e-4,7.103534690693274e-4,3.9630772993102876e-7,3.017996615312032e-7,6.065624023561599e-7 +Bls12_381_G1_multiScalarMul/17/17,7.482241201028533e-4,7.479063489174819e-4,7.493005226515e-4,1.7468995103377413e-6,4.207394233578458e-7,3.5919072692845237e-6 +Bls12_381_G1_multiScalarMul/18/18,7.705925934553824e-4,7.701144938606196e-4,7.727806329806679e-4,2.721631169491716e-6,7.981968678057562e-7,5.845417811648959e-6 +Bls12_381_G1_multiScalarMul/19/19,8.07991568665831e-4,8.078519602328661e-4,8.082935546448865e-4,6.822381786366707e-7,4.1123728418619586e-7,1.2817508134125719e-6 +Bls12_381_G1_multiScalarMul/20/20,8.305413129620952e-4,8.304197199200644e-4,8.306902645257076e-4,4.3666055013588826e-7,3.4850947949373826e-7,5.517969661861731e-7 +Bls12_381_G1_multiScalarMul/21/21,8.686137577309382e-4,8.683705360374326e-4,8.690514729472171e-4,1.0365305564754837e-6,6.15324072934707e-7,1.7554645846499009e-6 +Bls12_381_G1_multiScalarMul/22/22,8.91652773561559e-4,8.91448841424083e-4,8.919251447254486e-4,8.003760296748043e-7,5.948851969272322e-7,1.1100316085161068e-6 +Bls12_381_G1_multiScalarMul/23/23,9.294873328615929e-4,9.2931706336974e-4,9.29674543066649e-4,6.225406051789035e-7,4.744164895701269e-7,8.695237190578588e-7 +Bls12_381_G1_multiScalarMul/24/24,9.517388775125774e-4,9.51297780087541e-4,9.521482216169379e-4,1.3722719341729154e-6,1.062307342501858e-6,1.7843971621271001e-6 +Bls12_381_G1_multiScalarMul/25/25,9.886064604005137e-4,9.882251183807264e-4,9.897265063364012e-4,1.8798264902284367e-6,6.736369822886704e-7,3.814951405763071e-6 +Bls12_381_G1_multiScalarMul/26/26,1.0107695436644823e-3,1.0105299581864577e-3,1.0111683184415275e-3,9.824869954193735e-7,6.273786628516054e-7,1.789759844703243e-6 +Bls12_381_G1_multiScalarMul/27/27,1.0481752477344507e-3,1.0477770452434242e-3,1.0488436059663702e-3,1.70119074982601e-6,1.1033927625372998e-6,2.421859397722192e-6 +Bls12_381_G1_multiScalarMul/28/28,1.071199845880856e-3,1.0708432481182537e-3,1.0720804641719981e-3,1.6595833959304896e-6,8.543899072576939e-7,2.9475871714734805e-6 +Bls12_381_G1_multiScalarMul/29/29,1.1091453942723057e-3,1.1088806422385156e-3,1.1094556190265087e-3,9.884003711358195e-7,8.097303732520417e-7,1.3599340574873413e-6 +Bls12_381_G1_multiScalarMul/30/30,1.1316695694102287e-3,1.1314082924647447e-3,1.1319750321409226e-3,9.66367104215988e-7,7.685686878341102e-7,1.204378285010742e-6 +Bls12_381_G1_multiScalarMul/31/31,1.1706362298123296e-3,1.1701248243111372e-3,1.1713912110155227e-3,2.1219139874861063e-6,1.5567879843419155e-6,2.916931910163364e-6 +Bls12_381_G1_multiScalarMul/32/32,1.2183054885742289e-3,1.2178167501590653e-3,1.2191423331752846e-3,2.082314742656685e-6,1.3954922622922078e-6,3.3606861800964793e-6 +Bls12_381_G1_multiScalarMul/33/33,1.25554775700385e-3,1.2553212908295874e-3,1.256064024330601e-3,1.103995478961421e-6,6.577553035929982e-7,1.960982872144134e-6 +Bls12_381_G1_multiScalarMul/34/34,1.2814120185183533e-3,1.2811113200601465e-3,1.2817386977410077e-3,1.066328231240918e-6,8.498751061674896e-7,1.3581581158462333e-6 +Bls12_381_G1_multiScalarMul/35/35,1.3147784280299476e-3,1.3142019737646283e-3,1.3159148898431248e-3,2.7821602645732677e-6,1.2576600123958567e-6,4.71910870274486e-6 +Bls12_381_G1_multiScalarMul/36/36,1.3219048104980895e-3,1.3213844160889154e-3,1.3233093194833564e-3,2.6731627087817e-6,1.1691449038920677e-6,4.595666907784908e-6 +Bls12_381_G1_multiScalarMul/37/37,1.3589352301097773e-3,1.3587799204790097e-3,1.3590865392381088e-3,5.239660989144622e-7,4.210132126501093e-7,7.044936055207908e-7 +Bls12_381_G1_multiScalarMul/38/38,1.3842305731809087e-3,1.3838013940827385e-3,1.3851882129520007e-3,2.140116379547782e-6,1.1344089830602969e-6,4.3500220741287305e-6 +Bls12_381_G1_multiScalarMul/39/39,1.4193844818012396e-3,1.4188890128645811e-3,1.4206267802236144e-3,2.384279344480344e-6,1.286298194419277e-6,4.088466911461954e-6 +Bls12_381_G1_multiScalarMul/40/40,1.4275969257372889e-3,1.4266990139967814e-3,1.4296056424476227e-3,4.36532975493508e-6,2.6378910656369093e-6,7.81360464614563e-6 +Bls12_381_G1_multiScalarMul/41/41,1.4662734042718765e-3,1.4655915349289289e-3,1.4670583531661572e-3,2.5114188995059114e-6,2.0097342160937628e-6,3.247155614235915e-6 +Bls12_381_G1_multiScalarMul/42/42,1.4944060105751547e-3,1.493879150367226e-3,1.4952135866693312e-3,2.1205348113616285e-6,1.5093258926943527e-6,2.962889746140889e-6 +Bls12_381_G1_multiScalarMul/43/43,1.5276593205735154e-3,1.5273658668217916e-3,1.5279331130431386e-3,9.74498489934415e-7,7.482627424771116e-7,1.420616015176624e-6 +Bls12_381_G1_multiScalarMul/44/44,1.5353847806862466e-3,1.5346147866390108e-3,1.5363954193265963e-3,2.814562457758291e-6,2.1143530632424383e-6,3.821045577572284e-6 +Bls12_381_G1_multiScalarMul/45/45,1.5694620743296511e-3,1.5687635390181445e-3,1.57029874920667e-3,2.507144487167149e-6,2.0785255381527325e-6,3.0811759778156036e-6 +Bls12_381_G1_multiScalarMul/46/46,1.5907223707740364e-3,1.5893800235731621e-3,1.592471840103437e-3,5.178470382170926e-6,3.88044580623702e-6,6.694012070239517e-6 +Bls12_381_G1_multiScalarMul/47/47,1.628661974360063e-3,1.6283512846939465e-3,1.6291669828813618e-3,1.3671525674743757e-6,9.627490393739244e-7,2.0277210680304897e-6 +Bls12_381_G1_multiScalarMul/48/48,1.6361548091125416e-3,1.6357926793118167e-3,1.6366869716805837e-3,1.442057725476356e-6,1.0667638215275559e-6,2.1942788690677544e-6 +Bls12_381_G1_multiScalarMul/49/49,1.6779864698862684e-3,1.6774419144888844e-3,1.678564301607901e-3,1.9536763807617875e-6,1.5861735530685062e-6,2.9241156321278288e-6 +Bls12_381_G1_multiScalarMul/50/50,1.7052634275253997e-3,1.7041895762385994e-3,1.706524687220049e-3,3.84152102882327e-6,2.956410364369988e-6,4.951832103647607e-6 +Bls12_381_G1_multiScalarMul/51/51,1.7406739448052255e-3,1.739741519600114e-3,1.743488273211799e-3,4.901730860712033e-6,1.681687713060746e-6,9.63314624934489e-6 +Bls12_381_G1_multiScalarMul/52/52,1.7493504703501312e-3,1.7485291809717686e-3,1.7506247910129787e-3,3.6153633132872805e-6,2.6479825651733657e-6,5.832623352761088e-6 +Bls12_381_G1_multiScalarMul/53/53,1.7868267249247544e-3,1.786050505290007e-3,1.7882000160916365e-3,3.3230153222471118e-6,2.3257047340548217e-6,5.4135122168717275e-6 +Bls12_381_G1_multiScalarMul/54/54,1.8119093305955243e-3,1.8112017731004542e-3,1.8128745438316246e-3,2.9582354520945714e-6,2.0538396464527634e-6,4.974892599302226e-6 +Bls12_381_G1_multiScalarMul/55/55,1.84471674435397e-3,1.8442599600963505e-3,1.8452634559156386e-3,1.7601881093901428e-6,1.4750625737533917e-6,2.210525678689879e-6 +Bls12_381_G1_multiScalarMul/56/56,1.8550924625942802e-3,1.8544531007068019e-3,1.8564385668508347e-3,2.9780016999383592e-6,1.8191076732735432e-6,5.031379898838522e-6 +Bls12_381_G1_multiScalarMul/57/57,1.8950408145264643e-3,1.8939992827596826e-3,1.8961977234850831e-3,3.706120655598944e-6,2.9949347749033603e-6,4.641731171151639e-6 +Bls12_381_G1_multiScalarMul/58/58,1.9214190162986646e-3,1.9205644658902652e-3,1.9227436492195735e-3,3.7919868436730406e-6,2.5151125481564216e-6,5.528965031038841e-6 +Bls12_381_G1_multiScalarMul/59/59,1.95611884939017e-3,1.9555311058998062e-3,1.9567680207463758e-3,2.0724783716238652e-6,1.7915625799228621e-6,2.6388010558596374e-6 +Bls12_381_G1_multiScalarMul/60/60,1.9594365520224813e-3,1.958943767917802e-3,1.9600328304991543e-3,1.8565912278242626e-6,1.3182944308809232e-6,3.0498262686954687e-6 +Bls12_381_G1_multiScalarMul/61/61,1.9978785940453596e-3,1.9970364354546e-3,1.9988044814993563e-3,2.814765620751774e-6,2.215278427132277e-6,3.9079749949813176e-6 +Bls12_381_G1_multiScalarMul/62/62,2.025163972129198e-3,2.024292907473527e-3,2.026477198808721e-3,3.4328117679417816e-6,2.424532695157738e-6,4.901533766106334e-6 +Bls12_381_G1_multiScalarMul/63/63,2.0586979562927845e-3,2.057984455859352e-3,2.059909135640746e-3,3.1733556435024334e-6,1.9174464587367093e-6,5.2504225730683016e-6 +Bls12_381_G1_multiScalarMul/64/64,2.0900368436079005e-3,2.088028375590593e-3,2.0984775655780315e-3,1.1646874789686276e-5,3.4252094381705674e-6,2.554205960853732e-5 +Bls12_381_G1_multiScalarMul/65/65,1.8968147378605645e-3,1.8955310391900796e-3,1.898278206886905e-3,4.680707702478362e-6,3.6933847226616885e-6,6.782185825195487e-6 +Bls12_381_G1_multiScalarMul/66/66,1.915527316948408e-3,1.9151048085532891e-3,1.916079596378419e-3,1.652232700882608e-6,1.268984752321262e-6,2.218302657360697e-6 +Bls12_381_G1_multiScalarMul/67/67,1.939873715995447e-3,1.9390300141714943e-3,1.9415345431927143e-3,3.909637666223789e-6,2.4669716449410535e-6,6.3729495513604696e-6 +Bls12_381_G1_multiScalarMul/68/68,1.963955860876783e-3,1.9634908135732973e-3,1.9647235096952164e-3,1.9301982657436205e-6,1.331287045500568e-6,3.069218630466695e-6 +Bls12_381_G1_multiScalarMul/69/69,1.981736462216709e-3,1.9812744529486425e-3,1.982304257342455e-3,1.7179723192754665e-6,1.2576978196442669e-6,2.585535309310991e-6 +Bls12_381_G1_multiScalarMul/70/70,2.015096024360793e-3,2.013930296536576e-3,2.016550975850134e-3,4.183586924132327e-6,2.9592834069943323e-6,5.903222403671096e-6 +Bls12_381_G1_multiScalarMul/71/71,2.039593310853405e-3,2.039230558943095e-3,2.040135103696278e-3,1.517677057313753e-6,1.246493361769726e-6,1.8411731331069727e-6 +Bls12_381_G1_multiScalarMul/72/72,2.058111599882653e-3,2.057193666273917e-3,2.0594723408391942e-3,3.5844251775633503e-6,2.7202401005013457e-6,5.864305886696207e-6 +Bls12_381_G1_multiScalarMul/73/73,2.0934159227994436e-3,2.0906201835026532e-3,2.095693684947171e-3,8.491298188831756e-6,7.241167338179682e-6,1.0176406230578143e-5 +Bls12_381_G1_multiScalarMul/74/74,2.1291335834122513e-3,2.1278241958452133e-3,2.1299943701228743e-3,3.7951510816769475e-6,2.9761746545534362e-6,5.135763083938416e-6 +Bls12_381_G1_multiScalarMul/75/75,2.1496696746573056e-3,2.148587264452237e-3,2.1520893411774615e-3,5.214017226179326e-6,2.831700993722389e-6,9.897946072389741e-6 +Bls12_381_G1_multiScalarMul/76/76,2.1791297355152578e-3,2.1763917538151966e-3,2.1862885859611804e-3,1.3564060446508161e-5,5.983327115746122e-6,2.4308866464862185e-5 +Bls12_381_G1_multiScalarMul/77/77,2.181325091429973e-3,2.1807942464757432e-3,2.1818133665519207e-3,1.7039353205909792e-6,1.3786145694127499e-6,2.27968640731267e-6 +Bls12_381_G1_multiScalarMul/78/78,2.2165097719499824e-3,2.213684889701067e-3,2.219024702852442e-3,9.476092692961542e-6,6.898527736606062e-6,1.3202270738128961e-5 +Bls12_381_G1_multiScalarMul/79/79,2.2220017642692208e-3,2.221452887745163e-3,2.2226621102249605e-3,1.9668594276026276e-6,1.6059114512897864e-6,2.54873438507269e-6 +Bls12_381_G1_multiScalarMul/80/80,2.2649145692548805e-3,2.264315257045781e-3,2.2659321574184485e-3,2.6476167211476292e-6,1.8114591949521001e-6,4.5100102111080466e-6 +Bls12_381_G1_multiScalarMul/81/81,2.2815568928021565e-3,2.2809268030696116e-3,2.282682684357514e-3,2.6571578380668003e-6,1.7065827732222851e-6,4.487951031499547e-6 +Bls12_381_G1_multiScalarMul/82/82,2.310620963737306e-3,2.3090927285613193e-3,2.3126689982238035e-3,5.977435209471239e-6,4.4804403698017714e-6,8.09057887928092e-6 +Bls12_381_G1_multiScalarMul/83/83,2.336733472141597e-3,2.3360361666493012e-3,2.337632382036757e-3,2.560471483733304e-6,1.920620453068812e-6,3.7021660444619836e-6 +Bls12_381_G1_multiScalarMul/84/84,2.373268168042132e-3,2.371319876892892e-3,2.3766426567644805e-3,8.021527609000714e-6,4.830364162650037e-6,1.252095716980909e-5 +Bls12_381_G1_multiScalarMul/85/85,2.384876078524913e-3,2.383959246461071e-3,2.3867334229422466e-3,4.094196151783379e-6,2.3902100912772977e-6,6.961154738344854e-6 +Bls12_381_G1_multiScalarMul/86/86,2.410565039227443e-3,2.4084234057296094e-3,2.412268328550986e-3,6.65915218385595e-6,4.329988822432703e-6,1.0326826016055168e-5 +Bls12_381_G1_multiScalarMul/87/87,2.4297666625285345e-3,2.4270653907625746e-3,2.432196481389161e-3,8.58024905300566e-6,7.109703139729458e-6,1.0051366987525497e-5 +Bls12_381_G1_multiScalarMul/88/88,2.460570343151193e-3,2.459544035208346e-3,2.4615274058159917e-3,3.5198413136176365e-6,2.8384817517665127e-6,4.815807097623251e-6 +Bls12_381_G1_multiScalarMul/89/89,2.489853458509472e-3,2.48760518697685e-3,2.491311540051355e-3,6.19046891378905e-6,4.307330671671395e-6,7.986452835536224e-6 +Bls12_381_G1_multiScalarMul/90/90,2.518729619807173e-3,2.5175955675903593e-3,2.5197557395444242e-3,3.6740724105737384e-6,3.011297773639394e-6,4.579753037221892e-6 +Bls12_381_G1_multiScalarMul/91/91,2.507346287557815e-3,2.5048432606199636e-3,2.5101409467740204e-3,9.127067962491492e-6,7.736890525902875e-6,1.0224347243298884e-5 +Bls12_381_G1_multiScalarMul/92/92,2.5623659852219262e-3,2.5612024891175753e-3,2.564829446827521e-3,5.6507070170772565e-6,3.2998574451510087e-6,9.57583819470183e-6 +Bls12_381_G1_multiScalarMul/93/93,2.5847869535442504e-3,2.5837480732719756e-3,2.5860413313409e-3,3.848008008883357e-6,3.135969999546864e-6,4.874051925178418e-6 +Bls12_381_G1_multiScalarMul/94/94,2.6234813638524954e-3,2.6221188936467322e-3,2.627015683950028e-3,6.9065042519955485e-6,3.5404891910020863e-6,1.266990728387938e-5 +Bls12_381_G1_multiScalarMul/95/95,2.642628219940988e-3,2.641768011136227e-3,2.6442054118635916e-3,3.6007375940600177e-6,2.2125834942189697e-6,6.234015624110293e-6 +Bls12_381_G1_multiScalarMul/96/96,2.6601519782021863e-3,2.6585725995916932e-3,2.6631507793169816e-3,7.137222035771094e-6,4.623560832534806e-6,1.2950373021381417e-5 +Bls12_381_G1_multiScalarMul/97/97,2.681023460582192e-3,2.679568015031102e-3,2.683278541155578e-3,5.991522440852137e-6,3.858505228846451e-6,8.60021764374252e-6 +Bls12_381_G1_multiScalarMul/98/98,2.7083684530633586e-3,2.70727640883435e-3,2.7110584196105647e-3,5.013062986030381e-6,2.3597699562053853e-6,1.002284515969446e-5 +Bls12_381_G1_multiScalarMul/99/99,2.7213371259787855e-3,2.720704088882147e-3,2.722244079978909e-3,2.444787958433492e-6,1.793699194794548e-6,3.7994420578130953e-6 +Bls12_381_G1_multiScalarMul/100/100,2.7642727676665296e-3,2.763395576301587e-3,2.7675024929907544e-3,4.726547836308982e-6,1.8913959977112497e-6,1.0025613006686808e-5 +Bls12_381_G2_multiScalarMul/1/1,1.6266495442804972e-4,1.6264736086074068e-4,1.6270124805713648e-4,7.793865350083726e-8,4.635475091813956e-8,1.4247066440608091e-7 +Bls12_381_G2_multiScalarMul/2/2,3.543638522088684e-4,3.541772068342348e-4,3.5485931188723925e-4,9.360391344324354e-7,3.4976363756994914e-7,1.8211931894900913e-6 +Bls12_381_G2_multiScalarMul/3/3,4.47702794969825e-4,4.475045705500375e-4,4.478850505015342e-4,6.493823174661071e-7,3.5878763258263287e-7,1.0803507174684568e-6 +Bls12_381_G2_multiScalarMul/4/4,5.420723557652644e-4,5.417274673810824e-4,5.426125367479333e-4,1.4301753976362207e-6,9.988141199987564e-7,2.267296520674632e-6 +Bls12_381_G2_multiScalarMul/5/5,6.370512849618329e-4,6.36900784787239e-4,6.37202712666071e-4,5.292403814549932e-7,4.022430073091077e-7,7.556842750685239e-7 +Bls12_381_G2_multiScalarMul/6/6,7.310526489754525e-4,7.30629670999753e-4,7.317446144730351e-4,1.8119026166925256e-6,1.1454709674089216e-6,3.3632913939344345e-6 +Bls12_381_G2_multiScalarMul/7/7,8.236776396240537e-4,8.233271514827839e-4,8.241067273174465e-4,1.3657308675882766e-6,1.0410102352442255e-6,1.83210797347741e-6 +Bls12_381_G2_multiScalarMul/8/8,9.197543555033109e-4,9.189658738224084e-4,9.209830008370004e-4,3.3412724036424652e-6,2.3248417111070747e-6,5.070176355554298e-6 +Bls12_381_G2_multiScalarMul/9/9,1.011991406751168e-3,1.0117382842987513e-3,1.012512156595354e-3,1.1429892811506008e-6,7.64572284352035e-7,1.824620728201617e-6 +Bls12_381_G2_multiScalarMul/10/10,1.109394930774612e-3,1.1087682317862343e-3,1.1115776119988174e-3,3.4944409285465694e-6,1.0503647842087067e-6,7.149880658627584e-6 +Bls12_381_G2_multiScalarMul/11/11,1.2023934491440338e-3,1.202171934481395e-3,1.2026423197250766e-3,7.922161025400925e-7,6.258416318073706e-7,1.029606114863458e-6 +Bls12_381_G2_multiScalarMul/12/12,1.2963025275871496e-3,1.2952163686698916e-3,1.2983463505741011e-3,4.960268500618734e-6,2.845337116066531e-6,9.687158836086103e-6 +Bls12_381_G2_multiScalarMul/13/13,1.3869285962502872e-3,1.3866231292243125e-3,1.3872893550098244e-3,1.1726919062774188e-6,8.791906263916984e-7,1.5913921990012086e-6 +Bls12_381_G2_multiScalarMul/14/14,1.4823956781971994e-3,1.4815973050589385e-3,1.4842137535372652e-3,3.760848566094728e-6,2.472183908899497e-6,6.4465275732684205e-6 +Bls12_381_G2_multiScalarMul/15/15,1.574445631700049e-3,1.574063788581931e-3,1.5749578982368424e-3,1.443263633319882e-6,1.0628032736563463e-6,2.1565979694667185e-6 +Bls12_381_G2_multiScalarMul/16/16,1.5000875796284717e-3,1.4994665426513504e-3,1.5014717203342867e-3,2.802372121079838e-6,1.7676048441935653e-6,4.644089354729122e-6 +Bls12_381_G2_multiScalarMul/17/17,1.5940905703219718e-3,1.5936217521556593e-3,1.5945282467814278e-3,1.547468548627245e-6,1.1967489868918594e-6,2.082313772097416e-6 +Bls12_381_G2_multiScalarMul/18/18,1.6481937447323397e-3,1.6471788901492087e-3,1.6502528733967521e-3,4.67746155264807e-6,2.5560426788421386e-6,8.493562555710135e-6 +Bls12_381_G2_multiScalarMul/19/19,1.7408620063694292e-3,1.7403685953485991e-3,1.7416086573762834e-3,2.034339176777199e-6,1.5411497874186401e-6,2.888074021221646e-6 +Bls12_381_G2_multiScalarMul/20/20,1.7983360168952664e-3,1.7968063959178204e-3,1.8007319622437476e-3,6.701452941660098e-6,3.915890097926392e-6,1.1565951790899295e-5 +Bls12_381_G2_multiScalarMul/21/21,1.8948751419094719e-3,1.8943849272806152e-3,1.8954945505194202e-3,1.8264677812158936e-6,1.5180676580123575e-6,2.3043238795090236e-6 +Bls12_381_G2_multiScalarMul/22/22,1.9483638492318052e-3,1.9468479306608071e-3,1.952898337552636e-3,8.246725685061966e-6,2.916390890917488e-6,1.6554460898097785e-5 +Bls12_381_G2_multiScalarMul/23/23,2.0441566797094976e-3,2.0436200484617298e-3,2.0448120935495366e-3,1.9807680962425035e-6,1.4047597581205637e-6,2.861374149657612e-6 +Bls12_381_G2_multiScalarMul/24/24,2.0976111797810742e-3,2.0969141362790775e-3,2.0983042002160226e-3,2.294409781298406e-6,1.7816482691771947e-6,3.2363169164003804e-6 +Bls12_381_G2_multiScalarMul/25/25,2.1916934430134647e-3,2.1911766683971054e-3,2.192454586070339e-3,2.0791512216562315e-6,1.5171229138063835e-6,2.812518408756342e-6 +Bls12_381_G2_multiScalarMul/26/26,2.2452874242475463e-3,2.2438224649193378e-3,2.248020575104657e-3,6.546744756250407e-6,4.224171258471438e-6,1.1357661995132573e-5 +Bls12_381_G2_multiScalarMul/27/27,2.3342313432099604e-3,2.3334417036587492e-3,2.335903802244924e-3,3.7924501525196913e-6,2.084116468653706e-6,6.745286115407234e-6 +Bls12_381_G2_multiScalarMul/28/28,2.3924196934986424e-3,2.3905980952149135e-3,2.39744572554579e-3,9.270395166568168e-6,3.857502451986574e-6,1.8266974876360255e-5 +Bls12_381_G2_multiScalarMul/29/29,2.4921574096234654e-3,2.4911465295363233e-3,2.4951214940058244e-3,5.209897620887097e-6,2.3932366963378704e-6,1.007979235143704e-5 +Bls12_381_G2_multiScalarMul/30/30,2.5442112572946624e-3,2.5431826880834667e-3,2.5479216241766365e-3,5.7374902589030385e-6,2.166916577225313e-6,1.24589648550128e-5 +Bls12_381_G2_multiScalarMul/31/31,2.6387551082366705e-3,2.6380466280120883e-3,2.6396291501284983e-3,2.5285910565402825e-6,2.0132127254936795e-6,3.4207259760745164e-6 +Bls12_381_G2_multiScalarMul/32/32,2.5150931462186196e-3,2.513387917297599e-3,2.5181977065017046e-3,7.657009385145557e-6,4.5131093648664805e-6,1.3678490989164753e-5 +Bls12_381_G2_multiScalarMul/33/33,3.0889519233376545e-3,3.0883882511648234e-3,3.089672507460859e-3,2.0979675388899346e-6,1.603912694016453e-6,3.0603682324660857e-6 +Bls12_381_G2_multiScalarMul/34/34,3.16771726298734e-3,3.16501045273763e-3,3.172197179196162e-3,1.0825021580641719e-5,6.671829453430046e-6,1.8892794609350383e-5 +Bls12_381_G2_multiScalarMul/35/35,3.2525975758965855e-3,3.251923568635943e-3,3.2534974414252724e-3,2.3923622222660625e-6,1.771511114169158e-6,3.613237863752478e-6 +Bls12_381_G2_multiScalarMul/36/36,3.336138244007564e-3,3.333789111955089e-3,3.344298373821e-3,1.3359645865766898e-5,3.2128822247268738e-6,2.7638521011789944e-5 +Bls12_381_G2_multiScalarMul/37/37,3.4191138605455746e-3,3.4179135859041592e-3,3.4233605791000876e-3,6.592098823336916e-6,2.5157731785295883e-6,1.3141627481895897e-5 +Bls12_381_G2_multiScalarMul/38/38,3.4883584083644226e-3,3.4862131678210493e-3,3.4925344207942677e-3,9.623236210916872e-6,5.191214954965976e-6,1.7597405473000066e-5 +Bls12_381_G2_multiScalarMul/39/39,3.530386408142463e-3,3.5295959082416793e-3,3.531411239014294e-3,2.79677085673492e-6,2.1274732913274754e-6,3.925571150385237e-6 +Bls12_381_G2_multiScalarMul/40/40,3.6147002382323538e-3,3.611572624230025e-3,3.6292011188412323e-3,1.7990113412185996e-5,2.845513840934602e-6,4.043993566101094e-5 +Bls12_381_G2_multiScalarMul/41/41,3.672723290652948e-3,3.6718602367145966e-3,3.673688181816288e-3,2.84241014465167e-6,2.3021696308807956e-6,3.7655879313695054e-6 +Bls12_381_G2_multiScalarMul/42/42,3.793747136886243e-3,3.78926839608175e-3,3.809348971725428e-3,2.269174801044769e-5,4.7237643544819555e-6,4.9663768681186095e-5 +Bls12_381_G2_multiScalarMul/43/43,3.877862027839689e-3,3.876819161298888e-3,3.8794572953528964e-3,4.162065327624179e-6,3.2714009413120982e-6,5.1550470389566275e-6 +Bls12_381_G2_multiScalarMul/44/44,3.965116399895544e-3,3.962804992549213e-3,3.97345386215166e-3,1.3112609308794646e-5,1.8812805162759533e-6,2.7437540345266834e-5 +Bls12_381_G2_multiScalarMul/45/45,4.004527665871219e-3,4.003216183025186e-3,4.00656406563525e-3,5.2564769639065946e-6,2.696936689436533e-6,7.823236463877045e-6 +Bls12_381_G2_multiScalarMul/46/46,4.076804027301204e-3,4.074764849350912e-3,4.082954370562564e-3,1.0195134478551572e-5,3.59758066050906e-6,2.02607321633781e-5 +Bls12_381_G2_multiScalarMul/47/47,4.167774429892586e-3,4.1666246852367335e-3,4.169331500283441e-3,4.095651022675052e-6,3.1833448207887804e-6,5.089866484578962e-6 +Bls12_381_G2_multiScalarMul/48/48,4.2249981616795705e-3,4.222778156184377e-3,4.226612496226903e-3,5.7784805597787715e-6,4.4339723066230185e-6,7.3377180823161815e-6 +Bls12_381_G2_multiScalarMul/49/49,4.3524164098415665e-3,4.351263723172645e-3,4.353648896076485e-3,3.7577346495739375e-6,3.092141280492094e-6,4.52320031610404e-6 +Bls12_381_G2_multiScalarMul/50/50,4.343123429888507e-3,4.341239145934485e-3,4.345694580031099e-3,7.032494846534855e-6,5.430307563910816e-6,1.0261289957428346e-5 +Bls12_381_G2_multiScalarMul/51/51,4.484856489477111e-3,4.481774784858851e-3,4.487312713793393e-3,8.158820364283e-6,6.798014601558509e-6,1.086960763925229e-5 +Bls12_381_G2_multiScalarMul/52/52,4.546562051796544e-3,4.5455748661040974e-3,4.548037932926745e-3,3.6580687673211806e-6,2.8901424834133615e-6,5.219822997121614e-6 +Bls12_381_G2_multiScalarMul/53/53,4.654474034299822e-3,4.65318130717014e-3,4.655917064534823e-3,4.116466278137667e-6,3.166891661793465e-6,5.567941155062992e-6 +Bls12_381_G2_multiScalarMul/54/54,4.721927123629685e-3,4.72071287904244e-3,4.723138528981887e-3,3.94193309418702e-6,3.113913371425901e-6,5.136276379939376e-6 +Bls12_381_G2_multiScalarMul/55/55,4.795039804834155e-3,4.793771853613166e-3,4.796041252525426e-3,3.523502774916879e-6,2.8612449092910447e-6,4.464716550457647e-6 +Bls12_381_G2_multiScalarMul/56/56,4.864016888196152e-3,4.862934237209827e-3,4.865878015473469e-3,4.339172192062833e-6,3.120561122208654e-6,7.091594219853984e-6 +Bls12_381_G2_multiScalarMul/57/57,4.930026691468103e-3,4.928660811034607e-3,4.93184431837138e-3,4.92694965505342e-6,3.631274655946987e-6,6.916774799932921e-6 +Bls12_381_G2_multiScalarMul/58/58,4.999478205962443e-3,4.996476656269146e-3,5.002509748355277e-3,9.65312271848907e-6,8.212314993018033e-6,1.121977177338798e-5 +Bls12_381_G2_multiScalarMul/59/59,5.109930645097379e-3,5.108695300209485e-3,5.111720735214837e-3,4.307666456047917e-6,3.2036925396243358e-6,7.010008721447832e-6 +Bls12_381_G2_multiScalarMul/60/60,5.182636587074396e-3,5.1812215576612815e-3,5.184867458236281e-3,5.045266958501895e-6,3.3630808719106254e-6,7.598293873580799e-6 +Bls12_381_G2_multiScalarMul/61/61,5.261201467559662e-3,5.259483119610097e-3,5.2651003452464235e-3,6.794062799442452e-6,3.965079449462158e-6,1.2745803244159386e-5 +Bls12_381_G2_multiScalarMul/62/62,5.355085149782543e-3,5.353521974098854e-3,5.3568364980710005e-3,5.127106845655141e-6,3.956280257430231e-6,6.764557833667277e-6 +Bls12_381_G2_multiScalarMul/63/63,5.404870448491742e-3,5.401124837066587e-3,5.407497875504651e-3,8.934660522629549e-6,6.290321430881255e-6,1.2732030907646999e-5 +Bls12_381_G2_multiScalarMul/64/64,4.8782659702195615e-3,4.876660673660171e-3,4.8804522014555e-3,5.830661634910927e-6,3.955325665036216e-6,9.38894371358523e-6 +Bls12_381_G2_multiScalarMul/65/65,4.9061548862185346e-3,4.904813116841975e-3,4.9086495754739915e-3,5.295424246670201e-6,3.7451476035762403e-6,8.334611829514347e-6 +Bls12_381_G2_multiScalarMul/66/66,4.967076866858588e-3,4.96587704975757e-3,4.970208209096129e-3,5.500738791485448e-6,2.7782883129256445e-6,1.0490016182322088e-5 +Bls12_381_G2_multiScalarMul/67/67,5.0384188004806525e-3,5.036297660856063e-3,5.040874280488966e-3,7.20767347691469e-6,5.18593994354578e-6,1.1000885848108839e-5 +Bls12_381_G2_multiScalarMul/68/68,5.082679596088205e-3,5.081788191855941e-3,5.083677026915687e-3,2.9879915262955836e-6,2.402250840802348e-6,3.7388441162211205e-6 +Bls12_381_G2_multiScalarMul/69/69,5.131805217231941e-3,5.129945152668336e-3,5.134860292773551e-3,7.121015258734736e-6,4.754387036952524e-6,1.0407485911539298e-5 +Bls12_381_G2_multiScalarMul/70/70,5.223131098010917e-3,5.220270707999523e-3,5.226515783222153e-3,9.515319707834862e-6,7.924704664502419e-6,1.197266014225403e-5 +Bls12_381_G2_multiScalarMul/71/71,5.2882851289316885e-3,5.286944845429294e-3,5.2901838154393414e-3,4.850407193371409e-6,3.951323934404944e-6,6.909977742394703e-6 +Bls12_381_G2_multiScalarMul/72/72,5.31973147751225e-3,5.318376432387295e-3,5.32119875028863e-3,4.277946466566538e-6,3.32076690250808e-6,5.635737244144887e-6 +Bls12_381_G2_multiScalarMul/73/73,5.415258160623588e-3,5.413782714872596e-3,5.416918547393203e-3,4.874528900097905e-6,4.170514576006458e-6,5.848559988534025e-6 +Bls12_381_G2_multiScalarMul/74/74,5.504234496008557e-3,5.500576962955019e-3,5.508481864691515e-3,1.1590261990431737e-5,7.963644443790475e-6,2.0109944098147845e-5 +Bls12_381_G2_multiScalarMul/75/75,5.564079990869667e-3,5.562681956747252e-3,5.56567336402758e-3,4.352958051265566e-6,3.4422969438156352e-6,6.286896453598817e-6 +Bls12_381_G2_multiScalarMul/76/76,5.636188875483629e-3,5.63517382713922e-3,5.637553743099741e-3,3.670518446053137e-6,2.6204373559816722e-6,5.576211218482488e-6 +Bls12_381_G2_multiScalarMul/77/77,5.653980663508052e-3,5.652296820298524e-3,5.657670797268361e-3,7.080543955082813e-6,3.7855994178883683e-6,1.2879875104746403e-5 +Bls12_381_G2_multiScalarMul/78/78,5.740407480489808e-3,5.7391493805168635e-3,5.7418065167963e-3,3.904427361041286e-6,3.074226799333372e-6,5.442029866027754e-6 +Bls12_381_G2_multiScalarMul/79/79,5.751010900543999e-3,5.748323596643336e-3,5.754728295889315e-3,9.270531833024517e-6,6.035547009683968e-6,1.4379971767424256e-5 +Bls12_381_G2_multiScalarMul/80/80,5.858800364486109e-3,5.857269600819101e-3,5.860372363714095e-3,4.878855487808653e-6,3.7581767493947793e-6,6.996843420054578e-6 +Bls12_381_G2_multiScalarMul/81/81,5.896817994473183e-3,5.894063205963552e-3,5.902366128185444e-3,1.1536253196991757e-5,6.383910727541163e-6,2.0982102749864474e-5 +Bls12_381_G2_multiScalarMul/82/82,5.954935473178033e-3,5.953063910957776e-3,5.957530288931881e-3,6.253389324766823e-6,4.779351132702418e-6,7.979956410106285e-6 +Bls12_381_G2_multiScalarMul/83/83,6.0161468367483225e-3,6.013693044072133e-3,6.02177468728205e-3,1.0835798229125257e-5,6.207595030876202e-6,1.9548081431230584e-5 +Bls12_381_G2_multiScalarMul/84/84,6.094614704088679e-3,6.092574358893842e-3,6.0971100378228475e-3,6.666176870479611e-6,5.145944335262237e-6,8.274826825353507e-6 +Bls12_381_G2_multiScalarMul/85/85,6.1380376895836565e-3,6.133725428191463e-3,6.145329879147275e-3,1.626622922741078e-5,1.0821722335694483e-5,2.700730631296616e-5 +Bls12_381_G2_multiScalarMul/86/86,6.2140860516838245e-3,6.212851863373451e-3,6.215546358212723e-3,4.0395006569626435e-6,3.346822769756149e-6,4.7839437803151336e-6 +Bls12_381_G2_multiScalarMul/87/87,6.27302455453059e-3,6.270885529060964e-3,6.275809157451918e-3,6.999595649144767e-6,4.947819532780126e-6,1.0251538631768462e-5 +Bls12_381_G2_multiScalarMul/88/88,6.3404523682942995e-3,6.338680115532713e-3,6.3420519237891515e-3,5.208923709646363e-6,4.108671865132737e-6,6.370714767856116e-6 +Bls12_381_G2_multiScalarMul/89/89,6.410017615442629e-3,6.406159123069732e-3,6.41315635661642e-3,1.0622224787961102e-5,7.696172865576866e-6,1.3963076368862973e-5 +Bls12_381_G2_multiScalarMul/90/90,6.481791869329977e-3,6.479839995502555e-3,6.484276415426917e-3,6.258729255672214e-6,4.848352706810262e-6,7.988412553980431e-6 +Bls12_381_G2_multiScalarMul/91/91,6.475168018503552e-3,6.470179709488667e-3,6.483048340856914e-3,1.7646142713249933e-5,1.3097969794456097e-5,2.6957602312106938e-5 +Bls12_381_G2_multiScalarMul/92/92,6.569285931833285e-3,6.566882844069322e-3,6.574172843329704e-3,9.752702509029438e-6,5.6501870652183995e-6,1.6741066006979055e-5 +Bls12_381_G2_multiScalarMul/93/93,6.629457299321055e-3,6.625183482996535e-3,6.638841711503604e-3,1.7538389603216873e-5,1.0528950637309035e-5,3.0379658274480686e-5 +Bls12_381_G2_multiScalarMul/94/94,6.7320607492387515e-3,6.730167903973191e-3,6.736598035759103e-3,8.15218783569633e-6,3.741189882233103e-6,1.6185222568739163e-5 +Bls12_381_G2_multiScalarMul/95/95,6.801145393237103e-3,6.796607904593793e-3,6.8137432062137055e-3,1.9691935909923513e-5,7.536520887751789e-6,3.768941248607555e-5 +Bls12_381_G2_multiScalarMul/96/96,6.821360358060845e-3,6.816810519501433e-3,6.829564504014655e-3,1.6752380908242913e-5,1.0237675196995415e-5,3.083226102494789e-5 +Bls12_381_G2_multiScalarMul/97/97,6.90522012785712e-3,6.901544208299667e-3,6.918761450372084e-3,1.7088371694161855e-5,5.773286197099474e-6,3.643360035316389e-5 +Bls12_381_G2_multiScalarMul/98/98,6.9597205589059085e-3,6.9554579231546464e-3,6.963825444927238e-3,1.230537047747648e-5,9.828399035508776e-6,1.581113740579338e-5 +Bls12_381_G2_multiScalarMul/99/99,6.998605748330429e-3,6.993956045528542e-3,7.003564931628933e-3,1.3941888558415054e-5,1.1848281516892752e-5,1.8598404587423643e-5 +Bls12_381_G2_multiScalarMul/100/100,7.090569654857228e-3,7.08876305884669e-3,7.093035056145744e-3,6.187076669186285e-6,4.689206191622249e-6,8.297705725121281e-6 +LookupCoin/4/4/1,1.1697108080181536e-6,1.168821234505366e-6,1.1723465191864994e-6,4.716644588356427e-9,2.3430737725273626e-9,9.658139374989224e-9 +LookupCoin/4/4/4,1.197419834351788e-6,1.1964593354794394e-6,1.1984748420210096e-6,3.3117652848729744e-9,2.8278712558256027e-9,3.942910155538903e-9 +LookupCoin/4/4/4,1.2105664883646643e-6,1.209553859148611e-6,1.2126399505542392e-6,4.539669691162183e-9,2.9343689942860255e-9,7.801601946705972e-9 +LookupCoin/4/4/6,1.228502466397917e-6,1.2276388746968598e-6,1.2293794333965936e-6,2.8365950199435727e-9,2.262500664753311e-9,4.102904844614158e-9 +LookupCoin/4/4/7,1.2341113111322185e-6,1.2326368750439452e-6,1.2361132573873327e-6,5.960319238406489e-9,4.358707098436504e-9,9.489169130255943e-9 +LookupCoin/4/4/9,1.2440088713635867e-6,1.2433419266035411e-6,1.244658329909325e-6,2.1777523187182086e-9,1.860809203401042e-9,2.622035845865055e-9 +LookupCoin/4/4/10,1.2590833176442277e-6,1.2579285823586164e-6,1.2606453887490079e-6,4.512979933077232e-9,3.8355934953693816e-9,6.2705096957434704e-9 +LookupCoin/4/4/3,1.198959227785464e-6,1.1982309689794912e-6,1.1997566713400149e-6,2.4994099229192873e-9,1.970592743387721e-9,3.247757078324411e-9 +LookupCoin/4/4/4,1.2130344002024768e-6,1.2116050528680782e-6,1.215676276149374e-6,6.336941424892223e-9,4.221962054110571e-9,1.1948330296178361e-8 +LookupCoin/4/4/5,1.2154981317892604e-6,1.2147401617597355e-6,1.2162053970962376e-6,2.4527550451576626e-9,2.0876776622244234e-9,2.929088576807172e-9 +LookupCoin/4/4/9,1.2371930756906897e-6,1.2360528173169546e-6,1.238913660529153e-6,4.902733185892853e-9,3.367493627264707e-9,8.269646671979606e-9 +LookupCoin/4/4/7,1.2124300594245786e-6,1.211889624968005e-6,1.2131653342965383e-6,2.170575108151274e-9,1.7050649983731382e-9,3.492023301952406e-9 +LookupCoin/4/4/9,1.226662002345339e-6,1.2257016597852336e-6,1.228373308721749e-6,4.1728549275093335e-9,2.7195517177022387e-9,7.060903309380737e-9 +LookupCoin/4/4/10,1.2460493026909793e-6,1.2447491498361454e-6,1.2477591575533104e-6,5.206053260850191e-9,4.148264615282915e-9,7.592482543377857e-9 +LookupCoin/4/4/8,1.2389102130053683e-6,1.2378194632558927e-6,1.241232178786885e-6,5.176843354105181e-9,2.9842499717008512e-9,9.218009042245045e-9 +LookupCoin/4/4/10,1.2470174477108264e-6,1.2458080941685637e-6,1.2482130471838322e-6,3.891687822432955e-9,3.2361650668783053e-9,4.801841225924434e-9 +LookupCoin/4/4/7,1.2096551172922683e-6,1.208048730062437e-6,1.2121052517421568e-6,6.710312854838667e-9,4.5596395422371135e-9,1.1642832038731222e-8 +LookupCoin/4/4/9,1.236088089875015e-6,1.2356619493174214e-6,1.2365271534684044e-6,1.4606048438176316e-9,1.254949516603869e-9,1.7410842616706878e-9 +LookupCoin/4/4/10,1.2582467184677703e-6,1.2564135792681499e-6,1.2616671620690463e-6,8.350474758061344e-9,4.8746207617235825e-9,1.5099000824357255e-8 +LookupCoin/4/4/10,1.2443671739978894e-6,1.2431653781418486e-6,1.2452350901049321e-6,3.346995102535447e-9,2.6244662850680067e-9,4.246006176707587e-9 +LookupCoin/4/4/10,1.2480838330616997e-6,1.2468586484975573e-6,1.2490254341751588e-6,3.61083809679136e-9,2.811963863104157e-9,4.971676237009003e-9 +LookupCoin/4/4/10,1.2455842305106098e-6,1.2450293470286068e-6,1.2464404697509894e-6,2.4324916160862726e-9,1.7674298130870043e-9,3.604905761217919e-9 +LookupCoin/4/4/9,1.2336750447972988e-6,1.2329730266461632e-6,1.2345524554578834e-6,2.5980878406212895e-9,2.010600701971652e-9,3.4227346208864528e-9 +LookupCoin/4/4/9,1.2326117745442434e-6,1.2316765095204855e-6,1.2336787929154839e-6,3.2849729907541525e-9,2.78088220995093e-9,3.8905746716149614e-9 +LookupCoin/4/4/9,1.2275044007346412e-6,1.2266488529157138e-6,1.2284336944587511e-6,2.962480015143421e-9,2.5068032133455e-9,3.5755097027596483e-9 +LookupCoin/4/4/8,1.2054867622577074e-6,1.204849948479908e-6,1.2062940626968763e-6,2.4259660965053903e-9,1.962629823802868e-9,3.025364954394713e-9 +LookupCoin/4/4/9,1.2355470937925595e-6,1.234801606108345e-6,1.2363149425209876e-6,2.5550301814812555e-9,2.163791915494604e-9,3.1802911065348715e-9 +LookupCoin/4/4/10,1.2766231486887846e-6,1.275884621174173e-6,1.2775433697071452e-6,2.7960218131543466e-9,2.1879321862849126e-9,3.505044689733272e-9 +LookupCoin/4/4/9,1.2313661584515245e-6,1.230523141927911e-6,1.2322304263996558e-6,2.915335061489737e-9,2.4234331978601106e-9,3.6350030783107438e-9 +LookupCoin/4/4/10,1.2365756598592769e-6,1.2356729019594153e-6,1.237413039220989e-6,2.9566536194265075e-9,2.5715073349933658e-9,3.681315432795484e-9 +LookupCoin/4/4/9,1.2333385652739018e-6,1.2326864987254998e-6,1.2341175262648882e-6,2.4048495116109993e-9,2.0195697593236277e-9,3.1803510321311427e-9 +LookupCoin/4/4/9,1.2384272951897245e-6,1.2374780134185973e-6,1.239375549062892e-6,3.0895929218850177e-9,2.7234106587975402e-9,3.4750689105056344e-9 +LookupCoin/4/4/9,1.240727212227516e-6,1.2388891560274423e-6,1.242693379524857e-6,6.429789891380752e-9,5.354277221909358e-9,7.981475797589119e-9 +LookupCoin/4/4/10,1.2600657530886329e-6,1.2591698492355715e-6,1.261147283381832e-6,3.437236263983271e-9,2.685926477223312e-9,5.293458492061048e-9 +LookupCoin/4/4/9,1.2470483195550015e-6,1.245703816949775e-6,1.2484975870170002e-6,4.604055933463116e-9,3.954013159591928e-9,5.381316662175224e-9 +LookupCoin/4/4/9,1.2356925487515664e-6,1.2348631572484635e-6,1.2367025713511272e-6,2.9913551563855585e-9,2.455503001161769e-9,4.1096871964953925e-9 +LookupCoin/4/4/10,1.2505038628122508e-6,1.2491061781900452e-6,1.25221860449456e-6,4.990642977733982e-9,4.1122452415633e-9,6.9505541949505345e-9 +LookupCoin/4/4/10,1.238165634861657e-6,1.2372232741945494e-6,1.23948532278423e-6,3.741105341248167e-9,2.6926962270792455e-9,5.75599116827575e-9 +LookupCoin/4/4/9,1.2348944676374662e-6,1.2337942245019898e-6,1.2364811072370116e-6,4.3933969072335646e-9,3.0154798524116637e-9,6.8944014397537114e-9 +LookupCoin/4/4/10,1.2447074708786151e-6,1.2437973780112442e-6,1.2459488406958364e-6,3.4649795911358565e-9,2.6801488196731307e-9,4.923331930005279e-9 +LookupCoin/4/4/10,1.2541685625213916e-6,1.253100520038605e-6,1.2553129227782672e-6,3.738745409198097e-9,3.1997152522735096e-9,4.4161695861133365e-9 +LookupCoin/4/4/10,1.2591054603885218e-6,1.2580504255889407e-6,1.2601694642077592e-6,3.662744739333211e-9,2.874063175440071e-9,4.8943341115891516e-9 +LookupCoin/4/4/10,1.2489830357419668e-6,1.2482451485576008e-6,1.2498090497944244e-6,2.6279704006468314e-9,2.183989588290957e-9,3.3083910876775962e-9 +LookupCoin/4/4/9,1.2170709234086026e-6,1.2155312451471089e-6,1.2188307378015095e-6,5.4107613597875365e-9,4.678383271442085e-9,6.339558744660862e-9 +LookupCoin/4/4/9,1.2443110197038305e-6,1.2436242834987645e-6,1.2449759593896452e-6,2.2418551799354828e-9,1.8334805913612716e-9,2.8205362074179004e-9 +LookupCoin/4/4/8,1.2220487469051031e-6,1.2206043239846844e-6,1.2235486479029413e-6,4.857007077661286e-9,3.937238707550021e-9,6.3794967588104164e-9 +LookupCoin/4/4/10,1.2501843489649957e-6,1.249470806208686e-6,1.251102651202567e-6,2.7590971806803523e-9,2.1810635770403194e-9,4.268761434945777e-9 +LookupCoin/4/4/10,1.2546132304707667e-6,1.2531681032373974e-6,1.2559266255115694e-6,4.9008859131854355e-9,4.0186626048466616e-9,5.722904223279788e-9 +LookupCoin/4/4/10,1.2472987859641628e-6,1.246333937583404e-6,1.2483136607786524e-6,3.4374272189810063e-9,3.0233649739257452e-9,4.078677289183089e-9 +LookupCoin/4/4/10,1.257289885780312e-6,1.2561471192857335e-6,1.259297142010002e-6,5.074798533301969e-9,3.027873306485155e-9,9.073321296739781e-9 +LookupCoin/4/4/8,1.234695354115067e-6,1.2339195591355863e-6,1.2356300144036983e-6,2.8693457928519677e-9,2.455616085767567e-9,3.41607913710769e-9 +LookupCoin/4/4/10,1.2275155278974081e-6,1.2265562999905127e-6,1.2284216653260961e-6,3.08170575762874e-9,2.469050749370086e-9,4.214707515381152e-9 +LookupCoin/4/4/10,1.243759540846969e-6,1.2427112891244496e-6,1.2446295098759129e-6,3.2820727744803495e-9,2.7235693761359966e-9,4.031208364718703e-9 +LookupCoin/4/4/9,1.238406082251816e-6,1.237106448647996e-6,1.2406559941302227e-6,5.76845557608286e-9,4.05178877302676e-9,9.689312944660408e-9 +LookupCoin/4/4/9,1.2218834628022707e-6,1.2213592919711338e-6,1.2225690734722582e-6,2.024619758461744e-9,1.5563259112744294e-9,2.654070902739526e-9 +LookupCoin/4/4/10,1.2418481002043983e-6,1.2399465204345789e-6,1.2435985718336768e-6,6.162696996211367e-9,5.1970223197992535e-9,8.437095796444955e-9 +LookupCoin/4/4/9,1.2398190674747734e-6,1.2389724712087143e-6,1.2407423545036635e-6,3.045916161641388e-9,2.6657936643164306e-9,3.525916473617155e-9 +LookupCoin/4/4/10,1.2491882204795904e-6,1.2477194689440369e-6,1.2522824847646825e-6,7.0084623185113996e-9,4.2218375736244884e-9,1.2275689509756614e-8 +LookupCoin/4/4/9,1.2303599582164441e-6,1.2291325332241363e-6,1.231631471345098e-6,4.2604425190916745e-9,3.7369239520941644e-9,4.860825873220661e-9 +LookupCoin/4/4/9,1.2170010461551755e-6,1.2161901915511362e-6,1.2184735167018027e-6,3.5591364075263227e-9,2.5328357341557557e-9,5.621338545229777e-9 +LookupCoin/4/4/7,1.2275614073937704e-6,1.2271113713628585e-6,1.228036328608289e-6,1.6209009354226949e-9,1.3999552859327015e-9,1.936823761754443e-9 +LookupCoin/4/4/9,1.239971093009026e-6,1.2383863407346815e-6,1.2422869038793659e-6,6.4074024247550565e-9,4.674873449824546e-9,9.912575035089932e-9 +LookupCoin/4/4/10,1.250820535442252e-6,1.2501562470763576e-6,1.2515907622044527e-6,2.4921767290726847e-9,2.1219922264910897e-9,3.0667358206508303e-9 +LookupCoin/4/4/11,1.2553790127566416e-6,1.2536654709929194e-6,1.2570533268466282e-6,5.874590655037513e-9,4.4196211196080054e-9,8.832518248705935e-9 +LookupCoin/4/4/5,1.2090038007880602e-6,1.2082173835783592e-6,1.2098685952643613e-6,2.7571723765254015e-9,2.3441224671825372e-9,3.4910247602378946e-9 +LookupCoin/4/4/11,1.241247646410852e-6,1.240203406405301e-6,1.2422464946610046e-6,3.51898737663362e-9,2.7856128076197317e-9,4.450480501387243e-9 +LookupCoin/4/4/11,1.2432590560230394e-6,1.2426341286504644e-6,1.2440747263302385e-6,2.3703018621244413e-9,1.969873453164278e-9,2.834442463023093e-9 +LookupCoin/4/4/10,1.2407289043497012e-6,1.2401264702434196e-6,1.2413085891271877e-6,2.1239501908308195e-9,1.7774357357623027e-9,2.589168276635471e-9 +LookupCoin/4/4/11,1.2607689016384522e-6,1.2598948673065236e-6,1.261794361330354e-6,3.1837881471991466e-9,2.7310493092383404e-9,3.859152913577096e-9 +LookupCoin/4/4/11,1.2531763577934863e-6,1.2525909597580015e-6,1.2538618408537237e-6,2.1504257889874135e-9,1.7223077547321009e-9,2.9536508375238324e-9 +LookupCoin/4/4/10,1.2415088801259666e-6,1.2406731891795948e-6,1.242768450222254e-6,3.3004465209926063e-9,2.3143646430055366e-9,5.382862905391514e-9 +LookupCoin/4/4/10,1.2283892105026046e-6,1.2276322366509122e-6,1.2291058786881733e-6,2.466111193160826e-9,2.0479052873948924e-9,3.3152384692834025e-9 +LookupCoin/4/4/11,1.2606460620131015e-6,1.2596844021242669e-6,1.2614917141387166e-6,3.0711786241202447e-9,2.51488827115015e-9,3.732538395688686e-9 +LookupCoin/4/4/10,1.2466318813747555e-6,1.2457862977559392e-6,1.2476820423926504e-6,3.095582691697399e-9,2.396694183605456e-9,4.502591621080734e-9 +LookupCoin/4/4/10,1.231413901153807e-6,1.2304520647599062e-6,1.2324110815971323e-6,3.2351925593841e-9,2.7590601041904865e-9,3.899992602135909e-9 +LookupCoin/4/4/7,1.2137917497642551e-6,1.2124411192741975e-6,1.2153746657852204e-6,4.911332451763905e-9,4.221503960723082e-9,5.947493309738063e-9 +LookupCoin/4/4/10,1.2452017444780016e-6,1.2444824516627773e-6,1.2461536806456646e-6,2.9094097462798016e-9,2.2168132928185632e-9,4.353940334978015e-9 +LookupCoin/4/4/11,1.2503867919247944e-6,1.2499776611057803e-6,1.2508142608501873e-6,1.4599290593439317e-9,1.1821198529398551e-9,2.0732476683226483e-9 +LookupCoin/4/4/11,1.2462058372245407e-6,1.2446230232954647e-6,1.2478785689502995e-6,5.540038998826273e-9,4.760308125773058e-9,7.058773314267196e-9 +LookupCoin/4/4/11,1.2501607210736947e-6,1.2494535700255925e-6,1.2508888986644752e-6,2.4306720608256043e-9,2.053884852747493e-9,2.8851034909946726e-9 +LookupCoin/4/4/10,1.246577391161309e-6,1.2449604720948604e-6,1.2509783127977872e-6,8.285927128876795e-9,3.6909965107403938e-9,1.6693827271579106e-8 +LookupCoin/4/4/11,1.2481858056389869e-6,1.2471686486094632e-6,1.2493252283758214e-6,3.588924882476405e-9,3.102633624789598e-9,4.261285291561462e-9 +LookupCoin/4/4/10,1.234749550240397e-6,1.233985630609682e-6,1.2357151178632057e-6,2.9669600831980922e-9,2.3960468564700926e-9,3.655961104113488e-9 +LookupCoin/4/4/10,1.2505733600432316e-6,1.249367236780861e-6,1.2518550616087952e-6,4.133093607804304e-9,3.5307185498390227e-9,4.791553481960602e-9 +LookupCoin/4/4/11,1.271413823037886e-6,1.2706037979897562e-6,1.2723474488196948e-6,3.0004134332150523e-9,2.454400730898568e-9,3.6301136674397515e-9 +LookupCoin/4/4/8,1.2246226846788342e-6,1.224085632840035e-6,1.2252985793031374e-6,1.8584275127759694e-9,1.53002719390583e-9,2.352020526710014e-9 +LookupCoin/4/4/11,1.2530228033613433e-6,1.251778970422524e-6,1.254130066290737e-6,3.941390823812702e-9,3.421217382841052e-9,4.601361468134656e-9 +LookupCoin/4/4/11,1.2405261172273201e-6,1.2395424195671817e-6,1.2416469916218492e-6,3.5128107059062576e-9,2.8425554092513393e-9,4.658670793044547e-9 +LookupCoin/4/4/11,1.2439791741796996e-6,1.2431126853770436e-6,1.2448051623120779e-6,2.869721380370578e-9,2.3800129341779e-9,3.4684232618964124e-9 +LookupCoin/4/4/10,1.2355780177512313e-6,1.2346334745913936e-6,1.2364896113626468e-6,3.143105042657989e-9,2.5170880843175777e-9,3.816081188375383e-9 +LookupCoin/4/4/11,1.2489337516546245e-6,1.247992742500274e-6,1.25002337078884e-6,3.2972816307148326e-9,2.735403317989366e-9,4.086005086639011e-9 +LookupCoin/4/4/11,1.2472521676974043e-6,1.246180205210337e-6,1.2497194648510362e-6,5.511282756179962e-9,2.808086451268632e-9,1.0265829216106953e-8 +LookupCoin/4/4/11,1.25549982903908e-6,1.254747750956376e-6,1.2562746515110732e-6,2.7631464926295974e-9,2.268592557777647e-9,3.3883340154562313e-9 +LookupCoin/4/4/10,1.2484200600125675e-6,1.2476538527823768e-6,1.2495855888076212e-6,3.0458181928574898e-9,2.221872073028509e-9,4.977667739841173e-9 +LookupCoin/4/4/9,1.2423571945504644e-6,1.241468699797019e-6,1.2431479480664121e-6,2.7321654595347156e-9,2.18177352956854e-9,3.608946696086819e-9 +LookupCoin/4/4/9,1.2328201741155857e-6,1.2318932840633818e-6,1.2349631880358485e-6,4.413992896509118e-9,2.166446332180485e-9,9.030145918148484e-9 +LookupCoin/4/4/11,1.2525846105478666e-6,1.2517607017175452e-6,1.2535274269295089e-6,3.049524371683899e-9,2.5421012696286185e-9,3.684012056332699e-9 +LookupCoin/4/4/10,1.2385197803764863e-6,1.2366907322169736e-6,1.2442703700223826e-6,1.0069817040337275e-8,3.126061858487965e-9,2.0640387016604502e-8 +LookupCoin/4/4/11,1.2473682855382386e-6,1.2468018147041009e-6,1.247995865828385e-6,1.9039650938788714e-9,1.5612110741290985e-9,2.441237425453308e-9 +LookupCoin/4/4/9,1.2431526284615897e-6,1.2422396471978106e-6,1.2441222016984172e-6,3.224740997121396e-9,2.8183422885165273e-9,3.684654671500225e-9 +LookupCoin/4/4/11,1.2518025352090638e-6,1.2511100753683388e-6,1.252553120149778e-6,2.5463026907993414e-9,2.0966264210870694e-9,3.3244598497977186e-9 +LookupCoin/4/4/10,1.2483963139963221e-6,1.2478187223975245e-6,1.2490960726615228e-6,2.0996425165094807e-9,1.7155560837419597e-9,2.679551513104474e-9 +LookupCoin/4/4/11,1.2539289852528264e-6,1.2530206278508644e-6,1.254806749061674e-6,2.997299189856659e-9,2.462129257480767e-9,3.6815065315816898e-9 +LookupCoin/4/4/10,1.2346304769270814e-6,1.2338747000514088e-6,1.2352572514709445e-6,2.42682523178336e-9,2.037491593885004e-9,2.9870837501823817e-9 +LookupCoin/4/4/9,1.2173304766905813e-6,1.216117192909887e-6,1.218537414346466e-6,4.342165762094043e-9,3.666448814253374e-9,5.957131435523091e-9 +LookupCoin/4/4/11,1.2504647560317849e-6,1.2497158072235584e-6,1.2510916146311196e-6,2.2955741584687246e-9,1.9295299507298546e-9,2.8046258914238046e-9 +LookupCoin/4/4/11,1.2403991391228998e-6,1.2395136414832954e-6,1.2422277769658595e-6,4.273786617406553e-9,2.694203170906102e-9,7.371739601590599e-9 +LookupCoin/4/4/10,1.2512444909289105e-6,1.250332008699582e-6,1.2522675671591145e-6,3.2707648251178727e-9,2.742327329330054e-9,3.990693989462503e-9 +LookupCoin/4/4/10,1.2449072269635028e-6,1.2438148675689987e-6,1.246051201472081e-6,3.6554621997918077e-9,3.177226369301188e-9,4.343751446718684e-9 +LookupCoin/4/4/11,1.2556087870842488e-6,1.2545236774137204e-6,1.2565833267592558e-6,3.5330486977479267e-9,2.888185687109178e-9,4.759609627903453e-9 +LookupCoin/4/4/11,1.252033139325492e-6,1.2505950903976188e-6,1.2532261016951873e-6,4.416422507567805e-9,3.9471532467031755e-9,5.176768287496665e-9 +LookupCoin/4/4/10,1.2602014077338466e-6,1.2593051707223002e-6,1.2610755552279167e-6,2.831058490203997e-9,2.3019147615026436e-9,3.3604753286911443e-9 +LookupCoin/4/4/11,1.2550047148527483e-6,1.2537844598819335e-6,1.2566923108108786e-6,4.520053035535084e-9,3.3258317413988896e-9,6.519372179183177e-9 +LookupCoin/4/4/10,1.2328530924937776e-6,1.2320919952831327e-6,1.233771126842418e-6,2.9135592409011884e-9,2.420175107221782e-9,3.5975760184578205e-9 +LookupCoin/4/4/11,1.2512075442031918e-6,1.2499242296952986e-6,1.2532084852697252e-6,5.276265366943044e-9,3.37632483063052e-9,9.62620033497846e-9 +ValueContains/4/1,1.117652550269312e-6,1.1165043108953805e-6,1.1189434830832812e-6,3.866084734197916e-9,3.3384089652484082e-9,4.784233616330343e-9 +ValueContains/4/0,1.0243332057293326e-6,1.0231254113762293e-6,1.0284935525111438e-6,6.682898460450429e-9,2.6613607769526014e-9,1.2998659514901811e-8 +ValueContains/4/10,1.7827826389965773e-6,1.7804768380919621e-6,1.7844995681150503e-6,6.817301293629099e-9,5.775770532482603e-9,7.968887836401614e-9 +ValueContains/7/0,1.0227777692231634e-6,1.0218685350409536e-6,1.0246742534825295e-6,4.158519549068223e-9,2.5376860134628787e-9,7.296650358142231e-9 +ValueContains/7/0,1.019673477226688e-6,1.019203529217371e-6,1.0200682441592737e-6,1.4862747242183329e-9,1.1831075810886551e-9,2.2242470093486322e-9 +ValueContains/7/100,1.102190629726943e-5,1.1003746246407482e-5,1.106949563475277e-5,8.92685178724376e-8,3.9010702031807095e-8,1.73173578293233e-7 +ValueContains/10/0,1.0247331328158465e-6,1.0238117709598077e-6,1.0254897170050632e-6,2.809260721460524e-9,2.404190682468274e-9,3.3950833242276077e-9 +ValueContains/10/0,1.0275740352771401e-6,1.026790280958967e-6,1.0293987993301002e-6,3.843940026977366e-9,2.184204018929444e-9,6.951548633903871e-9 +ValueContains/10/0,1.0248908323401232e-6,1.0243476908385546e-6,1.0254312189162081e-6,1.9396356590851645e-9,1.5957151380730652e-9,2.4395699807397894e-9 +ValueContains/10/1000,1.3953983426742036e-4,1.3936078373464348e-4,1.398197434694726e-4,7.36887808621925e-7,4.606420549980772e-7,1.2353941023274986e-6 +ValueContains/5/200,1.7462839677828407e-5,1.7447395042352337e-5,1.747841891658741e-5,5.25024519912565e-8,4.350794016901038e-8,6.436013495299469e-8 +ValueContains/1/0,1.0214480293033692e-6,1.020884108154564e-6,1.0220149697973383e-6,1.859394211560464e-9,1.495305144756765e-9,2.3326227392858035e-9 +ValueContains/4/0,1.0216329614398732e-6,1.0209982267609106e-6,1.022221194615472e-6,2.141378298749644e-9,1.8689075351432286e-9,2.5290113656981776e-9 +ValueContains/7/0,1.0191317714210964e-6,1.0184577896745084e-6,1.0201632194645358e-6,2.838121955815522e-9,2.3462539810319014e-9,3.629269799879261e-9 +ValueContains/10/0,1.02452230515218e-6,1.0233715896691429e-6,1.0255781258659012e-6,3.858553115242746e-9,2.947159426985744e-9,5.451744008249845e-9 +ValueContains/8/159,1.5892775694571584e-5,1.5877585613046744e-5,1.591672956167701e-5,6.399555598346714e-8,3.5799362380816734e-8,1.0063803913115515e-7 +ValueContains/10/185,2.137361531127552e-5,2.135467909613083e-5,2.1403687606970723e-5,7.518542065753727e-8,5.137648713268796e-8,1.3073286785031817e-7 +ValueContains/10/91,1.1151935403255879e-5,1.1144430681406825e-5,1.1158844684891731e-5,2.5157456103509433e-8,2.201732529884528e-8,3.006538780012987e-8 +ValueContains/11/1085,1.2988651788975613e-4,1.2981462572788751e-4,1.3003749264320144e-4,3.286283739083712e-7,2.0371002633971985e-7,5.95689052825723e-7 +ValueContains/13/1072,1.3857093340223907e-4,1.3850067808942533e-4,1.386885347964117e-4,3.0051632190937816e-7,2.020327920226665e-7,5.226126121011985e-7 +ValueContains/11/393,4.669665501148989e-5,4.6657424035191804e-5,4.673308125035785e-5,1.255123873170387e-7,1.0759907143982432e-7,1.449603310507858e-7 +ValueContains/13/3733,4.91824389116872e-4,4.916859734586856e-4,4.920202641052555e-4,5.531184362329819e-7,4.0074793327061237e-7,8.30692520985997e-7 +ValueContains/12/2748,3.5668921823068064e-4,3.5655666314544666e-4,3.5693133444759093e-4,5.754388401594542e-7,2.938311926033285e-7,1.0016375907863331e-6 +ValueContains/12/2414,3.108827615804156e-4,3.1082034086075445e-4,3.1096742279927464e-4,2.5262460651262034e-7,1.7477838021292088e-7,4.1177004713548684e-7 +ValueContains/12/1781,2.2581980177882268e-4,2.2577122442829294e-4,2.2588655818004224e-4,1.892281197896396e-7,1.358993243966893e-7,2.650609708491327e-7 +ValueContains/8/238,2.442828447076103e-5,2.4411280744226393e-5,2.4460624925778175e-5,7.913978125338524e-8,5.18405733567112e-8,1.214069698411936e-7 +ValueContains/12/2016,2.593077789498717e-4,2.59235204390236e-4,2.5942251113860766e-4,3.1139133463330415e-7,1.940641055630178e-7,4.958901229901456e-7 +ValueContains/7/44,4.513335955691902e-6,4.508747294551952e-6,4.519329756631066e-6,1.7187814196601805e-8,1.3754853071992287e-8,2.2694812916444914e-8 +ValueContains/10/531,6.100925365118557e-5,6.098108208270612e-5,6.103847704264381e-5,1.00492706271806e-7,8.388878468319219e-8,1.2661612265026414e-7 +ValueContains/11/342,3.9373184811320196e-5,3.935242335973419e-5,3.939829164444051e-5,7.23758438184884e-8,6.019239936021163e-8,8.824575366744494e-8 +ValueContains/10/413,4.8828516715627704e-5,4.8809944406598585e-5,4.885183149995888e-5,6.651011378397961e-8,4.919509217384549e-8,9.039985380246872e-8 +ValueContains/13/1579,2.0726687179975042e-4,2.0722079521846439e-4,2.0731673360402906e-4,1.5741636240492153e-7,1.2140917159290169e-7,2.4385877728819637e-7 +ValueContains/12/1671,2.125708285717146e-4,2.1250767163367025e-4,2.1261317816318216e-4,1.6921897489477105e-7,1.1360520742288753e-7,2.505643620223788e-7 +ValueContains/12/1201,1.5481775147491159e-4,1.5477798414544e-4,1.548791438337921e-4,1.6370436776527397e-7,1.1296250875992578e-7,2.568862769884447e-7 +ValueContains/12/634,7.972304786589202e-5,7.969293026643762e-5,7.975363254395675e-5,9.892278045488739e-8,7.694830110225972e-8,1.2566807490171998e-7 +ValueContains/12/1941,2.4644349151789583e-4,2.4636160574254603e-4,2.465391302972076e-4,2.9320565766746306e-7,2.2110235275023913e-7,3.9670443819445495e-7 +ValueContains/12/1377,1.718083853104113e-4,1.717287590399222e-4,1.7189297806419093e-4,2.732523593950103e-7,2.290611042272379e-7,3.6433264842634313e-7 +ValueContains/12/251,3.1873911831919294e-5,3.186125925261989e-5,3.188482660977345e-5,3.884409834326675e-8,3.196651593526515e-8,4.840326638959013e-8 +ValueContains/12/2519,3.200804583971724e-4,3.1999832783489817e-4,3.20176365925878e-4,2.889335387854318e-7,2.4696689902982606e-7,3.436750217113881e-7 +ValueContains/7/4,1.3506984366698212e-6,1.3498778023741704e-6,1.3515613292390913e-6,2.80073791791712e-9,2.3898329399903386e-9,3.540368797712468e-9 +ValueContains/12/1792,2.261303314806663e-4,2.259551149644636e-4,2.2647062955030841e-4,7.617112614838907e-7,3.670353549129821e-7,1.2514698137428327e-6 +ValueContains/12/2272,2.9018833512851677e-4,2.901014434967882e-4,2.9027951329889455e-4,3.070430597381297e-7,2.4633921423168805e-7,3.98539655716381e-7 +ValueContains/13/3620,4.8387833223194e-4,4.835103629969011e-4,4.8476440619562374e-4,1.767256866401608e-6,7.149361951679961e-7,3.0070131106676433e-6 +ValueContains/12/2767,3.67677896993866e-4,3.67631985764689e-4,3.677538005716184e-4,1.9783893743232698e-7,1.328742319815987e-7,3.1167649536324535e-7 +ValueContains/10/140,1.5496320513223518e-5,1.5480990424216037e-5,1.5508521962132426e-5,4.6506382743084325e-8,3.890399087018622e-8,5.6696472075404526e-8 +ValueContains/12/2926,3.745283246807314e-4,3.744598505573216e-4,3.746112910323646e-4,2.6124203338772244e-7,2.0436907296200443e-7,3.387585057722259e-7 +ValueContains/12/100,1.3193242879778705e-5,1.318751680306371e-5,1.3205385022086972e-5,2.850488361423009e-8,1.482744578503142e-8,5.098964225250428e-8 +ValueContains/12/1921,2.449231365328489e-4,2.4484904310574564e-4,2.4509946334593945e-4,3.664781550277607e-7,2.014381920404878e-7,6.626129308147575e-7 +ValueContains/12/505,6.412295219295507e-5,6.407813508768598e-5,6.422471925516424e-5,2.1200761633209257e-7,1.0067448202855474e-7,4.0189930444131616e-7 +ValueContains/12/2641,3.4048139358443805e-4,3.40415873113124e-4,3.4059078905207107e-4,2.764256166810487e-7,1.955577261571182e-7,3.981570453265424e-7 +ValueContains/12/96,1.2950904338555236e-5,1.2943934797503662e-5,1.2959162778221524e-5,2.5732847526731743e-8,2.1685337454682816e-8,3.135335219198683e-8 +ValueContains/11/446,5.4206134113358184e-5,5.41878659432474e-5,5.4225834288343756e-5,6.82290951488681e-8,5.626634260023341e-8,9.066945108895847e-8 +ValueContains/7/82,7.499871657801869e-6,7.493950253969675e-6,7.507906579624651e-6,2.221401450247578e-8,1.7597694206787737e-8,3.4102264163260685e-8 +ValueContains/13/2322,3.0462623383337205e-4,3.045607186764467e-4,3.047386110886567e-4,2.7995426638892024e-7,1.7706053882372683e-7,4.714642362722683e-7 +ValueContains/11/351,4.138231341566371e-5,4.136578666406264e-5,4.1417405716124915e-5,7.744913203109477e-8,3.365957189279625e-8,1.5327733395398808e-7 +ValueContains/13/1098,1.4308110839482874e-4,1.4303881062037823e-4,1.4316145955084634e-4,1.9307396493534571e-7,1.0995428991022478e-7,3.271758060029778e-7 +ValueContains/11/277,3.314403902361394e-5,3.312943133977003e-5,3.318426024269169e-5,7.486656805416154e-8,4.1396480331147454e-8,1.3847769378042172e-7 +ValueContains/11/773,9.378287549199199e-5,9.373640751810906e-5,9.385524809713384e-5,1.9353113985447817e-7,1.2444238721370948e-7,3.0575571518084373e-7 +ValueContains/13/1794,2.417982854712688e-4,2.4169719924279904e-4,2.4200830348282184e-4,4.5311332542338445e-7,2.483720920519228e-7,7.83025049776069e-7 +ValueContains/12/343,4.230301864573629e-5,4.2290519131894546e-5,4.231802156049992e-5,4.783110774458239e-8,3.773216558094521e-8,6.292841038164774e-8 +ValueContains/7/2,1.1844695710434288e-6,1.183325847614445e-6,1.1862455518902968e-6,4.511248207497589e-9,3.671598272775817e-9,5.7495340602792185e-9 +ValueContains/12/583,6.990142345342221e-5,6.987409559114698e-5,6.992731461931123e-5,9.246286529679772e-8,7.873501813230902e-8,1.1278977138368469e-7 +ValueContains/9/273,2.9750288226899495e-5,2.972554203702476e-5,2.9782076456048907e-5,9.305414438976443e-8,7.023790694832678e-8,1.1965560569516208e-7 +ValueContains/11/1214,1.497982911495322e-4,1.4972203021561262e-4,1.5002103938581201e-4,4.394466651057161e-7,8.597156967058264e-8,8.295889034329942e-7 +ValueContains/12/2076,2.634394270205321e-4,2.633395981967894e-4,2.636375667232603e-4,4.2929592508367976e-7,2.490726812398374e-7,7.988105981376706e-7 +ValueContains/12/140,1.7290295811352744e-5,1.7280092909625215e-5,1.73017797192196e-5,3.584105653872089e-8,2.8928175357300496e-8,5.426809709898994e-8 +ValueContains/12/133,1.766605540602769e-5,1.765595009008035e-5,1.7683901811145586e-5,4.60166112845941e-8,2.7385552265002808e-8,7.569133852187323e-8 +ValueContains/7/74,6.980877302151948e-6,6.975112018018608e-6,6.9863149695818285e-6,1.938247733692031e-8,1.727453448399157e-8,2.281122231443279e-8 +ValueContains/12/997,1.2724533882234058e-4,1.270590209293919e-4,1.2794584544714664e-4,9.963356548040342e-7,4.3946302186355464e-7,2.069075575532036e-6 +ValueContains/12/1977,2.481432042933153e-4,2.4801663654874806e-4,2.4826725994497927e-4,4.336618028454559e-7,3.4004084581708346e-7,5.688034535592003e-7 +ValueContains/12/537,7.063933755829352e-5,7.060860591107332e-5,7.074115883285634e-5,1.4865148961984137e-7,6.213491867106832e-8,3.328776217635917e-7 +ValueContains/13/3356,4.430452282336113e-4,4.4292632151623877e-4,4.4316498476476237e-4,4.1197200567346226e-7,3.3558701297573e-7,5.143568644769447e-7 +ValueContains/12/2268,2.858808793294172e-4,2.857192496745244e-4,2.8620752686500986e-4,7.380580383611614e-7,4.0137638991986903e-7,1.3895567595098996e-6 +ValueContains/10/528,5.964122788727593e-5,5.961513882163397e-5,5.966939957325345e-5,9.141284574020593e-8,8.112416171249595e-8,1.029407591017846e-7 +ValueContains/13/105,1.4031246562269162e-5,1.400866514587525e-5,1.4069178147841297e-5,9.714513815092244e-8,6.073367656984795e-8,1.812794734468918e-7 +ValueContains/12/676,8.505155664235578e-5,8.500310139698682e-5,8.509900380985492e-5,1.6810211068199886e-7,1.4596082806925588e-7,1.976215136897861e-7 +ValueContains/12/2328,2.9854311744574005e-4,2.9842888316399874e-4,2.9889319844234334e-4,6.209611414573777e-7,2.0617436636801655e-7,1.348757349335276e-6 +ValueContains/12/1092,1.3612422612650391e-4,1.36093476011573e-4,1.3617823673165775e-4,1.4155208486020096e-7,7.983759980008221e-8,2.3449890937893345e-7 +ValueContains/9/50,5.672801645816502e-6,5.6682741177157975e-6,5.679581933920019e-6,1.8774156546820317e-8,1.4143094985411332e-8,3.0109775926256164e-8 +ValueContains/13/3703,4.8524429434496487e-4,4.850912960838038e-4,4.8536120706704804e-4,4.6077158118373524e-7,2.925150965479825e-7,7.111386230750456e-7 +ValueContains/12/830,1.0367317657869579e-4,1.0362302935720768e-4,1.0374102452140129e-4,1.9864350320410719e-7,1.0979656921844266e-7,3.672131407624006e-7 +ValueContains/11/801,9.708814939971309e-5,9.706146789940075e-5,9.7123195797267e-5,1.0176074916108242e-7,8.006326132194934e-8,1.4757267907833082e-7 +ValueContains/12/3255,4.209523250487745e-4,4.2071863309525064e-4,4.212060672432006e-4,7.937318132261511e-7,5.186245377446395e-7,1.184892070490809e-6 +ValueContains/13/2881,3.804446422686174e-4,3.803644244726478e-4,3.8052289221913495e-4,2.6467595199811566e-7,2.1423040651816354e-7,3.28111223781533e-7 +ValueContains/12/1851,2.3166803796986323e-4,2.3157177406631676e-4,2.320120786090039e-4,5.480484600704621e-7,2.1401356528940427e-7,1.0674459617773102e-6 +ValueContains/10/300,3.427135937742027e-5,3.425525346657818e-5,3.430477403804241e-5,7.376726434604575e-8,4.594948069157006e-8,1.254656056239515e-7 +ValueContains/6/15,1.9673707634139657e-6,1.9658051539892416e-6,1.9687728900773386e-6,5.092698901132448e-9,4.394467257629831e-9,6.194528667856454e-9 +ValueContains/12/1488,1.8555607212043693e-4,1.8549756530316977e-4,1.8563239010901088e-4,2.151009512928942e-7,1.769206705188598e-7,2.8405782926484203e-7 +ValueContains/11/566,6.875001544018517e-5,6.871499807609513e-5,6.877902059204304e-5,1.1378877346907602e-7,8.71184634345072e-8,1.681774092879163e-7 +ValueContains/12/648,8.01158796565461e-5,8.009440934736991e-5,8.015760253068128e-5,9.480422542669123e-8,6.29385872996164e-8,1.661190534128933e-7 +ValueContains/11/1339,1.6279036309018897e-4,1.6271737416881867e-4,1.630355893581192e-4,4.021572503880551e-7,1.2593372122030916e-7,8.091123510443709e-7 +ValueContains/12/104,1.3862945296886261e-5,1.385566311455628e-5,1.3870449882700787e-5,2.418916175343945e-8,1.983993390085188e-8,3.186756020778998e-8 +ValueContains/10/389,4.353518160586402e-5,4.351111440535118e-5,4.3594770241704784e-5,1.1884022923606531e-7,5.227908651591945e-8,2.120260245942795e-7 +ValueContains/9/194,2.0605685664495366e-5,2.0597979218940725e-5,2.0612863523244333e-5,2.4178073267751346e-8,2.0623027333395742e-8,2.950618287737528e-8 +ValueContains/12/2166,2.839476116926073e-4,2.8384942060249605e-4,2.840476990372169e-4,3.200849559887564e-7,2.2085059900661048e-7,4.5249570004422134e-7 +ValueContains/12/826,1.0291972752476672e-4,1.0290622647799034e-4,1.0293832099030254e-4,5.3843479700628356e-8,4.136983761007242e-8,7.575936893506993e-8 +ValueContains/12/2062,2.6275680036602677e-4,2.626643365754972e-4,2.630939722373389e-4,4.987384941349451e-7,2.044566245968875e-7,1.0565493554120336e-6 +ValueContains/11/1298,1.5816518555177684e-4,1.5810274833115147e-4,1.5827058942474985e-4,2.610257995044986e-7,1.75612865747802e-7,4.0085374276342557e-7 +ValueContains/8/34,3.794064738555039e-6,3.7905687911235624e-6,3.7977198576196703e-6,1.2109253674844755e-8,1.0372661254205007e-8,1.4880875550464317e-8 +ValueContains/12/609,7.860466767546641e-5,7.857672523324214e-5,7.864340555710777e-5,1.1832546404977498e-7,8.961776865817092e-8,1.7291316182594115e-7 +ValueContains/12/1727,2.1439243046804043e-4,2.142927702108739e-4,2.1478127666131743e-4,5.655333557812445e-7,1.8551282671783354e-7,1.1494143053163487e-6 +ValueContains/10/506,5.8137844413488266e-5,5.810370022013693e-5,5.826154726540427e-5,1.8160283705985924e-7,7.18144729472629e-8,4.055097141695691e-7 +ValueContains/11/1473,1.8153166240891892e-4,1.8139372458733131e-4,1.81823969995465e-4,6.590248199879426e-7,3.2576282992561835e-7,1.22097626898255e-6 +ValueContains/13/2126,2.7331859396513835e-4,2.7324305935906264e-4,2.7340902939903004e-4,2.884884774575182e-7,2.2419699113299884e-7,4.0842883312352495e-7 +ValueContains/11/689,8.239050370208903e-5,8.232006023152852e-5,8.256629349109647e-5,3.4543080502202307e-7,1.634865263814583e-7,6.516745647442046e-7 +ValueContains/13/4197,5.502806471788047e-4,5.500604012729804e-4,5.505580149482997e-4,8.471742861868089e-7,7.170851417814597e-7,1.1404789482084809e-6 +ValueContains/12/1133,1.3959924949511369e-4,1.3949983817469004e-4,1.398059775160836e-4,4.5402512018825686e-7,2.373855360928698e-7,7.428315700145905e-7 +ValueContains/11/434,5.1257436408181545e-5,5.12259118784171e-5,5.129300094394052e-5,1.1523062373191474e-7,9.541888639357979e-8,1.483216225020858e-7 +ValueContains/10/326,3.762261697891163e-5,3.7601902485654975e-5,3.7649436777688194e-5,7.920679117432433e-8,5.676849225639675e-8,1.0616551578760696e-7 +ValueContains/11/777,9.381081266365895e-5,9.37832061434814e-5,9.38521389836732e-5,1.1671865692645083e-7,8.044094653735345e-8,1.6730516767134855e-7 +ValueContains/13/2294,2.969049648468808e-4,2.967759956914527e-4,2.974357886227835e-4,7.488432083158731e-7,2.4823802516892874e-7,1.5144144922125704e-6 +ValueContains/12/1337,1.6715472990647796e-4,1.6712755771230948e-4,1.6718864510724058e-4,1.0396673909961183e-7,8.381767987414707e-8,1.3886616647157168e-7 +ValueContains/12/2392,3.099221611844788e-4,3.0972161488671565e-4,3.1026024232492556e-4,8.377928389988515e-7,5.047248844643975e-7,1.4104299842810961e-6 +ValueContains/13/2706,3.5759067054318903e-4,3.5748827158919855e-4,3.577258345587112e-4,3.8622708325294097e-7,2.7162147123131547e-7,5.974005435081299e-7 +ValueContains/12/1533,1.9156475043136803e-4,1.9148005720111638e-4,1.9177907547072892e-4,4.168133171708497e-7,2.2480554317666833e-7,7.757516391772386e-7 +ValueData/0,8.259375279998844e-7,8.252153289694753e-7,8.267435757851359e-7,2.5087705150514537e-9,2.117341878281717e-9,2.9850655959576934e-9 +ValueData/10,8.221146711312163e-7,8.211735000060185e-7,8.228624974519468e-7,2.861350690629261e-9,2.1899982467470096e-9,4.110447495546439e-9 +ValueData/100,8.212224366115354e-7,8.204905637428957e-7,8.219787693881847e-7,2.436625822300213e-9,2.0221123644803654e-9,3.009515028623728e-9 +ValueData/500,8.248429906764184e-7,8.239639274683871e-7,8.261206270212216e-7,3.2963783055617143e-9,2.328798700742226e-9,5.281050375500905e-9 +ValueData/1000,8.266715364291172e-7,8.259256854847058e-7,8.273024867888763e-7,2.3627020454205105e-9,2.076315554478266e-9,2.667842403662652e-9 +ValueData/5000,8.269838196178779e-7,8.261944361375068e-7,8.280347106212685e-7,2.981523644754545e-9,2.225378400537329e-9,4.7192096485766726e-9 +ValueData/10000,8.250900248844933e-7,8.242269683856638e-7,8.25915926475446e-7,2.8848855941251203e-9,2.496786947682346e-9,3.353350229428064e-9 +ValueData/12,8.278939657425042e-7,8.270791800408652e-7,8.292225226548215e-7,3.462633447617647e-9,2.3024244758466204e-9,5.988582760096897e-9 +ValueData/132,8.262928362197708e-7,8.25567802657832e-7,8.269099504347259e-7,2.174867756612828e-9,1.8246969727089798e-9,2.654464948948167e-9 +ValueData/400,8.238256311066887e-7,8.229858410869695e-7,8.247524144983101e-7,2.810862264100594e-9,2.243319106898002e-9,3.7244731528022417e-9 +ValueData/27066,8.25083601618178e-7,8.245349000496211e-7,8.259067059349859e-7,2.235829421761038e-9,1.7136892591676215e-9,3.3933410502468457e-9 +ValueData/5358,8.255531931512631e-7,8.248900202279681e-7,8.27382601367956e-7,3.155133204754369e-9,1.820661096828026e-9,6.005980951002198e-9 +ValueData/34510,8.262905911013016e-7,8.25201894215541e-7,8.276468481425179e-7,4.051451967280871e-9,2.887843868830607e-9,6.660953180418949e-9 +ValueData/57816,8.26866916187003e-7,8.257918752246246e-7,8.278082184290757e-7,3.3989729322532647e-9,2.7384983891847164e-9,4.157570916175028e-9 +ValueData/6946,8.242690528556214e-7,8.236882269297737e-7,8.254414480207965e-7,2.5884054352735257e-9,1.51662640317413e-9,4.8398561971024826e-9 +ValueData/267444,8.346256717138532e-7,8.335033219674349e-7,8.358014604927717e-7,3.8521849121486144e-9,3.161142843810333e-9,4.780660843505411e-9 +ValueData/1620,8.303504891246882e-7,8.296270464937316e-7,8.31023934280632e-7,2.3312169221054436e-9,1.9146381836215283e-9,2.915868591621596e-9 +ValueData/49404,8.245363727986023e-7,8.239473679852392e-7,8.251173947849452e-7,2.0314389914259746e-9,1.705168157946653e-9,2.6848337027539e-9 +ValueData/388385,8.244094522374476e-7,8.232054418438292e-7,8.254818473106365e-7,3.6994404145640697e-9,2.9451746653959487e-9,4.6504933216466155e-9 +ValueData/311344,8.228681299096737e-7,8.219090595395827e-7,8.24328829260724e-7,4.0373488037749086e-9,2.7590940723392936e-9,6.13659361503511e-9 +ValueData/260442,8.239771387687647e-7,8.233895395621375e-7,8.246118107582908e-7,1.9619303537023055e-9,1.5973584121689779e-9,2.368725321950424e-9 +ValueData/198648,8.258208970048934e-7,8.25151624890348e-7,8.271188118407746e-7,2.983500587615112e-9,1.6807559430556488e-9,5.4378190731736525e-9 +ValueData/184512,8.272003105859325e-7,8.265128572099665e-7,8.278039946192013e-7,2.1902162617535296e-9,1.8309180325841673e-9,2.7018175580523304e-9 +ValueData/99822,8.271312311286199e-7,8.260362915248513e-7,8.284973785612256e-7,4.121380522315001e-9,3.2772618432261308e-9,5.972824980138077e-9 +ValueData/84744,8.28322794026114e-7,8.278732878388506e-7,8.288705998976038e-7,1.644207113160797e-9,1.360036887491121e-9,2.214355178194003e-9 +ValueData/2828,8.30525441273806e-7,8.29756113406469e-7,8.313208957860836e-7,2.59427342233359e-9,2.2226274150548094e-9,3.2570012019546085e-9 +ValueData/56800,8.260878808754813e-7,8.253288322733565e-7,8.268930431229305e-7,2.4877402436300583e-9,2.1204235754740468e-9,3.01806502274434e-9 +ValueData/20874,8.259417460668029e-7,8.249060710721996e-7,8.273769490395069e-7,4.097591447043488e-9,3.0382324849589755e-9,6.482262327359846e-9 +ValueData/81396,8.222632786779464e-7,8.216811450375727e-7,8.229221894734487e-7,2.16996535363592e-9,1.863349599023836e-9,2.5843777140456974e-9 +ValueData/7776,8.260966798515111e-7,8.251160439338485e-7,8.276475951133831e-7,4.183367402401495e-9,2.8268974388120115e-9,6.626203890787823e-9 +ValueData/82000,8.261022088670282e-7,8.248680096006831e-7,8.274194413132213e-7,4.055233051038916e-9,3.475651731036169e-9,4.843581682355438e-9 +ValueData/2514,8.297633130644205e-7,8.293003490612942e-7,8.303221148861796e-7,1.6697469065332867e-9,1.4186878657320109e-9,2.0676014797707226e-9 +ValueData/63883,8.272410708284946e-7,8.262742005455105e-7,8.281903914374403e-7,3.207568523041863e-9,2.682833126233864e-9,4.0398447806312014e-9 +ValueData/29920,8.250593633522062e-7,8.243468808038325e-7,8.262786193787849e-7,3.1576886434701445e-9,2.2689297120984097e-9,4.381467176415186e-9 +ValueData/207740,8.291129293345739e-7,8.283768530879131e-7,8.300543983205882e-7,2.806418467257282e-9,2.335327522017162e-9,3.344876911837507e-9 +ValueData/120500,8.258771552969031e-7,8.248307782757096e-7,8.283364646654e-7,4.942766353269775e-9,2.4111098659658596e-9,1.1005898272172465e-8 +ValueData/10386,8.281762527413857e-7,8.266949821437386e-7,8.295558876222537e-7,4.8719821732488705e-9,4.3062638075069556e-9,5.544445955864192e-9 +ValueData/62216,8.258394172009131e-7,8.24334999280891e-7,8.273215381077913e-7,4.712712971771237e-9,4.163952069006148e-9,5.391943818976089e-9 +ValueData/110826,8.273367368255515e-7,8.267841916633614e-7,8.278711098423912e-7,1.8789325074363535e-9,1.5911381195753375e-9,2.3150036020113412e-9 +ValueData/41817,8.291714200812619e-7,8.281383831142686e-7,8.31577813854755e-7,4.820051101605578e-9,2.5544320842279827e-9,8.874051951930856e-9 +ValueData/69934,8.285374340044779e-7,8.277409169365587e-7,8.294005559488315e-7,2.6870328679906937e-9,2.257269794603768e-9,3.2874678253488317e-9 +ValueData/195776,8.274415299400283e-7,8.264169380116746e-7,8.289378612762599e-7,4.136920390650902e-9,2.6528928104323973e-9,6.945285474691269e-9 +ValueData/413556,8.275534122235766e-7,8.270140063759432e-7,8.280492286911896e-7,1.7856044752167336e-9,1.4732678731286447e-9,2.1659365436004765e-9 +ValueData/22695,8.271775662968697e-7,8.260523673856607e-7,8.291440390302232e-7,4.83281736420234e-9,3.0907329142161405e-9,8.403059269520945e-9 +ValueData/54526,8.290747835819978e-7,8.28521918085665e-7,8.296757048421197e-7,2.0509969892782474e-9,1.846939289601749e-9,2.32290462624725e-9 +ValueData/9512,8.262546302976572e-7,8.251343121766955e-7,8.299968615834592e-7,6.3972105984306e-9,2.1457075596486475e-9,1.2881978718084955e-8 +ValueData/39990,8.272493830940491e-7,8.265560311468243e-7,8.280835912920267e-7,2.580492760735123e-9,2.26777072444934e-9,3.0420223583682754e-9 +ValueData/225646,8.249524841929177e-7,8.242317948674715e-7,8.266867888585946e-7,3.5219967224749615e-9,1.8500328713956601e-9,6.662142380992675e-9 +ValueData/54540,8.255774637395604e-7,8.250643183517212e-7,8.261743508251389e-7,1.7291047802572835e-9,1.4132309970140771e-9,2.1134377345405637e-9 +ValueData/336072,8.260860447475383e-7,8.253420627217906e-7,8.271284296440245e-7,3.0451206220405075e-9,1.900829978153231e-9,5.568419513484841e-9 +ValueData/17955,8.300496044418231e-7,8.294572996009988e-7,8.307365979378417e-7,2.1523466579080415e-9,1.8162890673831022e-9,2.5497445421369792e-9 +ValueData/166144,8.26906675392406e-7,8.264604470081705e-7,8.27379446376845e-7,1.6006064445308071e-9,1.3372404690061647e-9,2.0096898449589813e-9 +ValueData/279876,8.28985795470153e-7,8.285414777372236e-7,8.294584037367623e-7,1.5085279774484512e-9,1.2621145878156026e-9,1.8111175917751756e-9 +ValueData/35364,8.277404706769311e-7,8.272715161967813e-7,8.282863492832091e-7,1.7251475843450939e-9,1.4449632483925262e-9,2.1375735575904186e-9 +ValueData/64527,8.286341412971453e-7,8.278020651802567e-7,8.295777340956106e-7,2.851678762400587e-9,2.4136648947556414e-9,3.5163219492272073e-9 +ValueData/100182,8.286903709070453e-7,8.282554521101623e-7,8.292472468329749e-7,1.6438909643656652e-9,1.3235981702048535e-9,2.0367351130009526e-9 +ValueData/18408,8.311576693891226e-7,8.300375931544523e-7,8.322524851394231e-7,3.541582023700388e-9,3.1045597296098848e-9,4.3255013820169976e-9 +ValueData/181685,8.295345621976337e-7,8.287839933288239e-7,8.302901281708805e-7,2.595595227154869e-9,2.2433699762362337e-9,3.082451952306541e-9 +ValueData/113526,8.281846642492015e-7,8.273848320790801e-7,8.290264475092894e-7,2.916501112066787e-9,2.3464624240461492e-9,3.5718770138241056e-9 +ValueData/53988,8.299184290613442e-7,8.283799719784051e-7,8.314833572667615e-7,5.1777187544619055e-9,4.517922756978937e-9,5.974526373361333e-9 +UnValueData/4,8.835680836498377e-7,8.821008747506569e-7,8.850917047245195e-7,4.899544994034088e-9,4.296616318762323e-9,5.574382537952672e-9 +UnValueData/146,2.7863990400473593e-6,2.7821974335365375e-6,2.790409692595142e-6,1.3239669496119918e-8,1.1852740190735835e-8,1.551331534659293e-8 +UnValueData/1424,1.8478503563433924e-5,1.8459203068869175e-5,1.8499169343622076e-5,6.605037275727506e-8,5.277809418442778e-8,9.269222969153358e-8 +UnValueData/7104,8.994379859002063e-5,8.988085879500752e-5,9.006193951085749e-5,2.622870869933662e-7,1.812730108499912e-7,4.2823165542337013e-7 +UnValueData/14204,1.8279326234183993e-4,1.8259398173796644e-4,1.8299602591983756e-4,6.986930275073668e-7,6.281398041465083e-7,8.121073186666243e-7 +UnValueData/71004,1.032483942633388e-3,1.0276617030566344e-3,1.0367105390833985e-3,1.568771652132178e-5,1.1909649698973034e-5,2.0734468512154628e-5 +UnValueData/142004,2.468920144391297e-3,2.4590062402060314e-3,2.4798825125268704e-3,3.4152431190953874e-5,2.740337116584026e-5,4.431975197616275e-5 +UnValueData/196,3.1849441144986897e-6,3.181153146932377e-6,3.1887073691549533e-6,1.2680053956947538e-8,1.0848741716993316e-8,1.4641596172017785e-8 +UnValueData/1852,2.4213034882501317e-5,2.4193403446031334e-5,2.4236032177135e-5,7.027599648785188e-8,5.313848331011267e-8,1.0437005322575838e-7 +UnValueData/5444,7.363337236077213e-5,7.357233615795939e-5,7.372445375707624e-5,2.571028465912988e-7,1.7186499312593706e-7,4.0094940737665106e-7 +UnValueData/356026,7.512898078043502e-3,7.4830968635702854e-3,7.543254426846885e-3,8.501571276113754e-5,6.644133015688417e-5,1.147160633971311e-4 +UnValueData/70222,1.4077375874541774e-3,1.401913702684408e-3,1.413240968796658e-3,2.0452036179115896e-5,1.5142510601107924e-5,2.656393589688059e-5 +UnValueData/449474,1.1794154220525979e-2,1.1710000862021428e-2,1.200667530235313e-2,3.480266121230809e-4,1.663259829762643e-4,6.453780307830345e-4 +UnValueData/761248,1.761836913202244e-2,1.7354841414820635e-2,1.7822459851491577e-2,5.673587382836573e-4,3.354731556503015e-4,9.945073920221942e-4 +UnValueData/92114,1.745665847360822e-3,1.7393742682095211e-3,1.7519721326725718e-3,2.0838620778171688e-5,1.7327642086152675e-5,2.5985056084919643e-5 +UnValueData/3486712,0.12232599157349407,0.12000591489777435,0.12532255539762055,4.168880595756439e-3,2.672448580743459e-3,6.676303276606794e-3 +UnValueData/21280,3.682597278870657e-4,3.6794703812317864e-4,3.685850146430806e-4,1.1626796880614985e-6,9.7288084937758e-7,1.3764775229619527e-6 +UnValueData/643912,1.6615853417736474e-2,1.6432528281390305e-2,1.6799985030561123e-2,4.490480427021394e-4,2.117155595267092e-4,7.570468003968353e-4 +UnValueData/5059389,0.18172550208659635,0.17381364352380235,0.18589389039100043,7.255540644276801e-3,2.8996347290392932e-3,1.0112684236372642e-2 +UnValueData/4059188,0.1427900107887884,0.1382630933963117,0.14539130381530238,4.7967744005390925e-3,1.9462882443792564e-3,7.1880604987698314e-3 +UnValueData/3394018,0.11998753921985293,0.11639342138022628,0.12240306079897674,4.477202726289051e-3,2.5095213777627584e-3,6.9935808057352816e-3 +UnValueData/2588836,9.069903282394445e-2,8.884892758602897e-2,9.231190363871594e-2,2.976751874966214e-3,1.912332998493141e-3,5.1051210308385745e-3 +UnValueData/2404612,8.406764467875104e-2,8.249424194569685e-2,8.638918947169764e-2,3.239517219620891e-3,2.1344292035203544e-3,4.717589686080588e-3 +UnValueData/1302406,3.928079960975326e-2,3.856630462894527e-2,4.0151175236643084e-2,1.5633000154927855e-3,1.0777084744972082e-3,2.4387164033466474e-3 +UnValueData/1104844,3.171325183346789e-2,3.1273619961013736e-2,3.211334598453468e-2,9.209170406590446e-4,6.94432589699387e-4,1.2627805732313407e-3 +UnValueData/36936,7.262882443380538e-4,7.257986204570035e-4,7.26876116294966e-4,1.6928347204863874e-6,1.4581954436170541e-6,1.984927987975492e-6 +UnValueData/740324,1.9843216766148173e-2,1.9610488228152662e-2,2.011189483243265e-2,6.229062241225948e-4,4.09137262691574e-4,9.282102599040224e-4 +UnValueData/283294,5.13410384300042e-3,5.114190634073477e-3,5.155231375096413e-3,6.195492773719875e-5,4.163739006209691e-5,9.996927841982114e-5 +UnValueData/1061008,3.0808573769223586e-2,3.0378270170636247e-2,3.1827057958966294e-2,1.3592543796541508e-3,5.46711239945081e-4,2.3640711894901056e-3 +UnValueData/112756,1.9103260941979612e-3,1.903408245566379e-3,1.916145706498395e-3,2.2015436763870684e-5,1.6566300286232204e-5,2.957442517524344e-5 +UnValueData/1068404,3.148452288807444e-2,3.1032800725751188e-2,3.229842965915843e-2,1.2114410729678296e-3,6.182015635173954e-4,2.185704108290375e-3 +UnValueData/37714,4.935526954067097e-4,4.93192751298099e-4,4.939097467266982e-4,1.218182864236061e-6,9.971034626337653e-7,1.652525242337308e-6 +UnValueData/834455,2.110420367211012e-2,2.0818306534419382e-2,2.1269491231185968e-2,4.7560117951338064e-4,2.822069847031158e-4,8.404329530257744e-4 +UnValueData/399524,7.946863537235265e-3,7.909494547575542e-3,7.979421373306999e-3,1.0144696559674803e-4,8.06381542273022e-5,1.4051700649133893e-4 +UnValueData/2705928,9.730700290551643e-2,9.470541283021791e-2,9.940508027795893e-2,3.8717374225748515e-3,2.4981413539574425e-3,5.8304123545070375e-3 +UnValueData/1572288,4.9960083316046844e-2,4.921107540052187e-2,5.0708015504342625e-2,1.450536110245453e-3,1.0165158874141393e-3,2.0555501760789285e-3 +UnValueData/141946,2.460609820471755e-3,2.4506989114876127e-3,2.4684096946986454e-3,3.08747410809671e-5,2.3150602049093322e-5,4.158896198123118e-5 +UnValueData/818508,1.895015110998868e-2,1.874412593984232e-2,1.908207502350236e-2,4.0951510223757366e-4,2.384979212493314e-4,6.577822282692453e-4 +UnValueData/1444126,4.649182713237036e-2,4.596650244968709e-2,4.7160717035441016e-2,1.1524449686703474e-3,7.249542417638462e-4,1.8727522550872392e-3 +UnValueData/553093,1.2045063189785219e-2,1.197071839982743e-2,1.2132085076381086e-2,2.1202171386635287e-4,1.63402796959337e-4,2.8407276277787424e-4 +UnValueData/920642,2.2899782303193162e-2,2.251928142514345e-2,2.3629731335017844e-2,1.1554777013896768e-3,6.545064448667906e-4,1.941275389329934e-3 +UnValueData/2555580,8.716069243083309e-2,8.557809631883477e-2,8.833630486956931e-2,2.3135718984961693e-3,1.2403792256509949e-3,4.0525319437013044e-3 +UnValueData/5387800,0.19215508130016842,0.18566061636536488,0.19696732387981483,7.873635626777477e-3,4.815282836398895e-3,1.2127153724338098e-2 +UnValueData/295651,7.531843969087549e-3,7.503089541366385e-3,7.560909121188496e-3,8.112488137456363e-5,6.415137922978193e-5,1.0543744241191568e-4 +UnValueData/713618,1.7541463065843577e-2,1.7276633286149378e-2,1.810408729290783e-2,9.12376773449063e-4,4.507690750845055e-4,1.5068952509599462e-3 +UnValueData/124152,2.916987366372547e-3,2.9091734021958796e-3,2.9230849874677463e-3,2.174847211559988e-5,1.578230167789592e-5,3.1488792081301096e-5 +UnValueData/527614,1.1345538708850654e-2,1.1247166254819248e-2,1.1440643774327457e-2,2.7013714525086976e-4,1.6990371359934498e-4,4.176259904770178e-4 +UnValueData/2939570,0.1037927473940011,0.10039873882254333,0.10512694199039802,3.5463090100688694e-3,6.658321217664263e-4,5.6895991282306935e-3 +UnValueData/719932,1.6556323163951666e-2,1.6277707271500293e-2,1.6714099077960384e-2,5.0198150918265e-4,2.6115306979283115e-4,9.319304598393031e-4 +UnValueData/4378972,0.15701045863311358,0.15083434020302125,0.159470377589709,5.5422440681979525e-3,1.0495642464235164e-3,7.922497502884816e-3 +UnValueData/235687,5.048006611934687e-3,5.029593475145545e-3,5.060741830465507e-3,4.6044708844476356e-5,3.3021312887585965e-5,6.490356422457591e-5 +UnValueData/2167664,7.366252842079285e-2,7.143738986885806e-2,7.46436465872602e-2,2.4079876799893585e-3,1.0160435018232202e-3,3.980840638718813e-3 +UnValueData/3645136,0.13117595511374974,0.12717934568007921,0.13336424299147134,4.488203809813884e-3,2.2734343718311912e-3,7.002266659136294e-3 +UnValueData/464788,1.0145085835126464e-2,1.0095077942666023e-2,1.0201426795703647e-2,1.4568356974487839e-4,1.0919325031797931e-4,2.219934598293472e-4 +UnValueData/840499,2.406794475520991e-2,2.383805307922955e-2,2.4529467660739764e-2,6.952229126114989e-4,3.4200223020673404e-4,1.2053827877354449e-3 +UnValueData/1309162,3.874095447684746e-2,3.8267170288157924e-2,3.907439312712836e-2,8.360306265540415e-4,4.316039882644803e-4,1.4219633350870575e-3 +UnValueData/243556,4.944059401941106e-3,4.925888626062511e-3,4.960424600000067e-3,5.441960331902805e-5,4.282901822637958e-5,6.952968524756884e-5 +UnValueData/2372649,8.007962980873085e-2,7.849782424923477e-2,8.176850379001172e-2,2.763560645363069e-3,1.8005278382191869e-3,4.066712892469676e-3 +UnValueData/1479514,4.769281767907638e-2,4.718665239766185e-2,4.8264427716201125e-2,1.0643947840050763e-3,7.610122765517957e-4,1.5677161335164475e-3 +UnValueData/703432,1.8827785758564447e-2,1.873784910998197e-2,1.893703626851274e-2,2.2962044934602378e-4,1.6731049277402885e-4,3.5443334332768326e-4 diff --git a/plutus-core/cost-model/data/builtinCostModelA.json b/plutus-core/cost-model/data/builtinCostModelA.json index d1c4baf684c..3f7d19752b1 100644 --- a/plutus-core/cost-model/data/builtinCostModelA.json +++ b/plutus-core/cost-model/data/builtinCostModelA.json @@ -1,1209 +1,1278 @@ { - "addInteger": { - "cpu": { - "arguments": { - "intercept": 205665, - "slope": 812 - }, - "type": "max_size" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "max_size" - } - }, - "appendByteString": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 571 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "appendString": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 24177 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "bData": { - "cpu": { - "arguments": 1000, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "blake2b_224": { - "cpu": { - "arguments": { - "intercept": 207616, - "slope": 8310 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "blake2b_256": { - "cpu": { - "arguments": { - "intercept": 117366, - "slope": 10475 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "bls12_381_G1_add": { - "cpu": { - "arguments": 962335, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_compress": { - "cpu": { - "arguments": 2780678, - "type": "constant_cost" - }, - "memory": { - "arguments": 6, - "type": "constant_cost" - } - }, - "bls12_381_G1_equal": { - "cpu": { - "arguments": 442008, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_G1_hashToGroup": { - "cpu": { - "arguments": { - "intercept": 52538055, - "slope": 3756 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_neg": { - "cpu": { - "arguments": 267929, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_scalarMul": { - "cpu": { - "arguments": { - "intercept": 76433006, - "slope": 8868 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_multiScalarMul": { - "cpu": { - "arguments": { - "intercept": 321837444, - "slope": 25087669 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_uncompress": { - "cpu": { - "arguments": 52948122, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G2_add": { - "cpu": { - "arguments": 1995836, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_compress": { - "cpu": { - "arguments": 3227919, - "type": "constant_cost" - }, - "memory": { - "arguments": 12, - "type": "constant_cost" - } - }, - "bls12_381_G2_equal": { - "cpu": { - "arguments": 901022, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_G2_hashToGroup": { - "cpu": { - "arguments": { - "intercept": 166917843, - "slope": 4307 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_neg": { - "cpu": { - "arguments": 284546, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_scalarMul": { - "cpu": { - "arguments": { - "intercept": 158221314, - "slope": 26549 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_multiScalarMul": { - "cpu": { - "arguments": { - "intercept": 617887431, - "slope": 67302824 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_uncompress": { - "cpu": { - "arguments": 74698472, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_finalVerify": { - "cpu": { - "arguments": 333849714, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_millerLoop": { - "cpu": { - "arguments": 254006273, - "type": "constant_cost" - }, - "memory": { - "arguments": 72, - "type": "constant_cost" - } - }, - "bls12_381_mulMlResult": { - "cpu": { - "arguments": 2174038, - "type": "constant_cost" - }, - "memory": { - "arguments": 72, - "type": "constant_cost" - } - }, - "byteStringToInteger": { - "cpu": { - "arguments": { - "c0": 1006041, - "c1": 43623, - "c2": 251 - }, - "type": "quadratic_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_y" - } - }, - "chooseData": { - "cpu": { - "arguments": 19537, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "chooseList": { - "cpu": { - "arguments": 175354, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "chooseUnit": { - "cpu": { - "arguments": 46417, - "type": "constant_cost" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "consByteString": { - "cpu": { - "arguments": { - "intercept": 221973, - "slope": 511 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "constrData": { - "cpu": { - "arguments": 89141, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "decodeUtf8": { - "cpu": { - "arguments": { - "intercept": 497525, - "slope": 14068 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "divideInteger": { - "cpu": { - "arguments": { - "constant": 196500, - "model": { - "arguments": { - "intercept": 453240, - "slope": 220 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "encodeUtf8": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 28662 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "equalsByteString": { - "cpu": { - "arguments": { - "constant": 245000, - "intercept": 216773, - "slope": 62 - }, - "type": "linear_on_diagonal" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsData": { - "cpu": { - "arguments": { - "intercept": 1060367, - "slope": 12586 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsInteger": { - "cpu": { - "arguments": { - "intercept": 208512, - "slope": 421 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsString": { - "cpu": { - "arguments": { - "constant": 187000, - "intercept": 1000, - "slope": 52998 - }, - "type": "linear_on_diagonal" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "fstPair": { - "cpu": { - "arguments": 80436, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "headList": { - "cpu": { - "arguments": 43249, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "iData": { - "cpu": { - "arguments": 1000, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "ifThenElse": { - "cpu": { - "arguments": 80556, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "indexByteString": { - "cpu": { - "arguments": 57667, - "type": "constant_cost" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "integerToByteString": { - "cpu": { - "arguments": { - "c0": 1293828, - "c1": 28716, - "c2": 63 - }, - "type": "quadratic_in_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "literal_in_y_or_linear_in_z" - } - }, - "keccak_256": { - "cpu": { - "arguments": { - "intercept": 2261318, - "slope": 64571 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "lengthOfByteString": { - "cpu": { - "arguments": 1000, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "lessThanByteString": { - "cpu": { - "arguments": { - "intercept": 197145, - "slope": 156 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanEqualsByteString": { - "cpu": { - "arguments": { - "intercept": 197145, - "slope": 156 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanEqualsInteger": { - "cpu": { - "arguments": { - "intercept": 204924, - "slope": 473 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanInteger": { - "cpu": { - "arguments": { - "intercept": 208896, - "slope": 511 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "listData": { - "cpu": { - "arguments": 52467, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mapData": { - "cpu": { - "arguments": 64832, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkCons": { - "cpu": { - "arguments": 65493, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkNilData": { - "cpu": { - "arguments": 22558, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkNilPairData": { - "cpu": { - "arguments": 16563, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkPairData": { - "cpu": { - "arguments": 76511, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "modInteger": { - "cpu": { - "arguments": { - "constant": 196500, - "model": { - "arguments": { - "intercept": 453240, - "slope": 220 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "multiplyInteger": { - "cpu": { - "arguments": { - "intercept": 69522, - "slope": 11687 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "nullList": { - "cpu": { - "arguments": 60091, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "indexArray": { - "cpu": { - "arguments": 194922, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "lengthOfArray": { - "cpu": { - "arguments": 198994, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "listToArray": { - "cpu": { - "arguments": { - "intercept": 307802, - "slope": 8496 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 7, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "quotientInteger": { - "cpu": { - "arguments": { - "constant": 196500, - "model": { - "arguments": { - "intercept": 453240, - "slope": 220 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "remainderInteger": { - "cpu": { - "arguments": { - "constant": 196500, - "model": { - "arguments": { - "intercept": 453240, - "slope": 220 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "serialiseData": { - "cpu": { - "arguments": { - "intercept": 1159724, - "slope": 392670 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "sha2_256": { - "cpu": { - "arguments": { - "intercept": 806990, - "slope": 30482 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "sha3_256": { - "cpu": { - "arguments": { - "intercept": 1927926, - "slope": 82523 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "sliceByteString": { - "cpu": { - "arguments": { - "intercept": 265318, - "slope": 0 - }, - "type": "linear_in_z" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 0 - }, - "type": "linear_in_z" - } - }, - "sndPair": { - "cpu": { - "arguments": 85931, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "subtractInteger": { - "cpu": { - "arguments": { - "intercept": 205665, - "slope": 812 - }, - "type": "max_size" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "max_size" - } - }, - "tailList": { - "cpu": { - "arguments": 41182, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "trace": { - "cpu": { - "arguments": 212342, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unBData": { - "cpu": { - "arguments": 31220, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unConstrData": { - "cpu": { - "arguments": 32696, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unIData": { - "cpu": { - "arguments": 43357, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unListData": { - "cpu": { - "arguments": 32247, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unMapData": { - "cpu": { - "arguments": 38314, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "verifyEcdsaSecp256k1Signature": { - "cpu": { - "arguments": 35190005, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "verifyEd25519Signature": { - "cpu": { - "arguments": { - "intercept": 57996947, - "slope": 18975 - }, - "type": "linear_in_z" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "verifySchnorrSecp256k1Signature": { - "cpu": { - "arguments": { - "intercept": 39121781, - "slope": 32260 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "andByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "orByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "xorByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "complementByteString": { - "cpu": { - "arguments": { - "intercept": 107878, - "slope": 680 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "readBit": { - "cpu": { - "arguments": 95336, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "writeBits": { - "cpu": { - "arguments": { - "intercept": 281145, - "slope": 18848 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "replicateByte": { - "cpu": { - "arguments": { - "intercept": 180194, - "slope": 159 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "shiftByteString": { - "cpu": { - "arguments": { - "intercept": 158519, - "slope": 8942 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "rotateByteString": { - "cpu": { - "arguments": { - "intercept": 159378, - "slope": 8813 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "countSetBits": { - "cpu": { - "arguments": { - "intercept": 107490, - "slope": 3298 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "findFirstSetBit": { - "cpu": { - "arguments": { - "intercept": 106057, - "slope": 655 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "ripemd_160": { - "cpu": { - "arguments": { - "intercept": 1964219, - "slope": 24520 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 3, - "type": "constant_cost" - } - }, - "expModInteger": { - "cpu": { - "arguments": { - "coefficient00": 607153, - "coefficient11": 231697, - "coefficient12": 53144 - }, - "type": "exp_mod_cost" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_z" - } - }, - "dropList": { - "cpu": { - "arguments": { - "intercept": 116711, - "slope": 1957 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } + "addInteger": { + "cpu": { + "arguments": { + "intercept": 205665, + "slope": 812 + }, + "type": "max_size" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "max_size" + } + }, + "appendByteString": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 571 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "appendString": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 24177 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "bData": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "blake2b_224": { + "cpu": { + "arguments": { + "intercept": 207616, + "slope": 8310 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "blake2b_256": { + "cpu": { + "arguments": { + "intercept": 117366, + "slope": 10475 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "bls12_381_G1_add": { + "cpu": { + "arguments": 962335, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_compress": { + "cpu": { + "arguments": 2780678, + "type": "constant_cost" + }, + "memory": { + "arguments": 6, + "type": "constant_cost" + } + }, + "bls12_381_G1_equal": { + "cpu": { + "arguments": 442008, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_G1_hashToGroup": { + "cpu": { + "arguments": { + "intercept": 52538055, + "slope": 3756 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_neg": { + "cpu": { + "arguments": 267929, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_scalarMul": { + "cpu": { + "arguments": { + "intercept": 76433006, + "slope": 8868 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_multiScalarMul": { + "cpu": { + "arguments": { + "intercept": 321837444, + "slope": 25087669 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_uncompress": { + "cpu": { + "arguments": 52948122, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G2_add": { + "cpu": { + "arguments": 1995836, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_compress": { + "cpu": { + "arguments": 3227919, + "type": "constant_cost" + }, + "memory": { + "arguments": 12, + "type": "constant_cost" + } + }, + "bls12_381_G2_equal": { + "cpu": { + "arguments": 901022, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_G2_hashToGroup": { + "cpu": { + "arguments": { + "intercept": 166917843, + "slope": 4307 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_neg": { + "cpu": { + "arguments": 284546, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_scalarMul": { + "cpu": { + "arguments": { + "intercept": 158221314, + "slope": 26549 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_multiScalarMul": { + "cpu": { + "arguments": { + "intercept": 617887431, + "slope": 67302824 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_uncompress": { + "cpu": { + "arguments": 74698472, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_finalVerify": { + "cpu": { + "arguments": 333849714, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_millerLoop": { + "cpu": { + "arguments": 254006273, + "type": "constant_cost" + }, + "memory": { + "arguments": 72, + "type": "constant_cost" + } + }, + "bls12_381_mulMlResult": { + "cpu": { + "arguments": 2174038, + "type": "constant_cost" + }, + "memory": { + "arguments": 72, + "type": "constant_cost" + } + }, + "byteStringToInteger": { + "cpu": { + "arguments": { + "c0": 1006041, + "c1": 43623, + "c2": 251 + }, + "type": "quadratic_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_y" + } + }, + "chooseData": { + "cpu": { + "arguments": 19537, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "chooseList": { + "cpu": { + "arguments": 175354, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "chooseUnit": { + "cpu": { + "arguments": 46417, + "type": "constant_cost" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "consByteString": { + "cpu": { + "arguments": { + "intercept": 221973, + "slope": 511 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "constrData": { + "cpu": { + "arguments": 89141, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "decodeUtf8": { + "cpu": { + "arguments": { + "intercept": 497525, + "slope": 14068 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "divideInteger": { + "cpu": { + "arguments": { + "constant": 196500, + "model": { + "arguments": { + "intercept": 453240, + "slope": 220 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "encodeUtf8": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 28662 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "equalsByteString": { + "cpu": { + "arguments": { + "constant": 245000, + "intercept": 216773, + "slope": 62 + }, + "type": "linear_on_diagonal" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsData": { + "cpu": { + "arguments": { + "intercept": 1060367, + "slope": 12586 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsInteger": { + "cpu": { + "arguments": { + "intercept": 208512, + "slope": 421 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsString": { + "cpu": { + "arguments": { + "constant": 187000, + "intercept": 1000, + "slope": 52998 + }, + "type": "linear_on_diagonal" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "fstPair": { + "cpu": { + "arguments": 80436, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "headList": { + "cpu": { + "arguments": 43249, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "iData": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "ifThenElse": { + "cpu": { + "arguments": 80556, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "indexByteString": { + "cpu": { + "arguments": 57667, + "type": "constant_cost" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "integerToByteString": { + "cpu": { + "arguments": { + "c0": 1293828, + "c1": 28716, + "c2": 63 + }, + "type": "quadratic_in_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "literal_in_y_or_linear_in_z" + } + }, + "keccak_256": { + "cpu": { + "arguments": { + "intercept": 2261318, + "slope": 64571 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "lengthOfByteString": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "lessThanByteString": { + "cpu": { + "arguments": { + "intercept": 197145, + "slope": 156 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanEqualsByteString": { + "cpu": { + "arguments": { + "intercept": 197145, + "slope": 156 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanEqualsInteger": { + "cpu": { + "arguments": { + "intercept": 204924, + "slope": 473 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanInteger": { + "cpu": { + "arguments": { + "intercept": 208896, + "slope": 511 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "listData": { + "cpu": { + "arguments": 52467, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mapData": { + "cpu": { + "arguments": 64832, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkCons": { + "cpu": { + "arguments": 65493, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkNilData": { + "cpu": { + "arguments": 22558, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkNilPairData": { + "cpu": { + "arguments": 16563, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkPairData": { + "cpu": { + "arguments": 76511, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "modInteger": { + "cpu": { + "arguments": { + "constant": 196500, + "model": { + "arguments": { + "intercept": 453240, + "slope": 220 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "multiplyInteger": { + "cpu": { + "arguments": { + "intercept": 69522, + "slope": 11687 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "nullList": { + "cpu": { + "arguments": 60091, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "indexArray": { + "cpu": { + "arguments": 194922, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "lengthOfArray": { + "cpu": { + "arguments": 198994, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "listToArray": { + "cpu": { + "arguments": { + "intercept": 307802, + "slope": 8496 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 7, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "quotientInteger": { + "cpu": { + "arguments": { + "constant": 196500, + "model": { + "arguments": { + "intercept": 453240, + "slope": 220 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "remainderInteger": { + "cpu": { + "arguments": { + "constant": 196500, + "model": { + "arguments": { + "intercept": 453240, + "slope": 220 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "serialiseData": { + "cpu": { + "arguments": { + "intercept": 1159724, + "slope": 392670 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "sha2_256": { + "cpu": { + "arguments": { + "intercept": 806990, + "slope": 30482 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "sha3_256": { + "cpu": { + "arguments": { + "intercept": 1927926, + "slope": 82523 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "sliceByteString": { + "cpu": { + "arguments": { + "intercept": 265318, + "slope": 0 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 0 + }, + "type": "linear_in_z" + } + }, + "sndPair": { + "cpu": { + "arguments": 85931, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "subtractInteger": { + "cpu": { + "arguments": { + "intercept": 205665, + "slope": 812 + }, + "type": "max_size" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "max_size" + } + }, + "tailList": { + "cpu": { + "arguments": 41182, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "trace": { + "cpu": { + "arguments": 212342, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unBData": { + "cpu": { + "arguments": 31220, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unConstrData": { + "cpu": { + "arguments": 32696, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unIData": { + "cpu": { + "arguments": 43357, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unListData": { + "cpu": { + "arguments": 32247, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unMapData": { + "cpu": { + "arguments": 38314, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "verifyEcdsaSecp256k1Signature": { + "cpu": { + "arguments": 35190005, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "verifyEd25519Signature": { + "cpu": { + "arguments": { + "intercept": 57996947, + "slope": 18975 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "verifySchnorrSecp256k1Signature": { + "cpu": { + "arguments": { + "intercept": 39121781, + "slope": 32260 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "andByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "orByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "xorByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "complementByteString": { + "cpu": { + "arguments": { + "intercept": 107878, + "slope": 680 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "readBit": { + "cpu": { + "arguments": 95336, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "writeBits": { + "cpu": { + "arguments": { + "intercept": 281145, + "slope": 18848 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "replicateByte": { + "cpu": { + "arguments": { + "intercept": 180194, + "slope": 159 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "shiftByteString": { + "cpu": { + "arguments": { + "intercept": 158519, + "slope": 8942 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "rotateByteString": { + "cpu": { + "arguments": { + "intercept": 159378, + "slope": 8813 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "countSetBits": { + "cpu": { + "arguments": { + "intercept": 107490, + "slope": 3298 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "findFirstSetBit": { + "cpu": { + "arguments": { + "intercept": 106057, + "slope": 655 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "ripemd_160": { + "cpu": { + "arguments": { + "intercept": 1964219, + "slope": 24520 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 3, + "type": "constant_cost" + } + }, + "expModInteger": { + "cpu": { + "arguments": { + "coefficient00": 607153, + "coefficient11": 231697, + "coefficient12": 53144 + }, + "type": "exp_mod_cost" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_z" + } + }, + "dropList": { + "cpu": { + "arguments": { + "intercept": 116711, + "slope": 1957 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "lookupCoin": { + "cpu": { + "arguments": { + "intercept": 203599, + "slope": 7256 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "valueContains": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 130720 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "valueData": { + "cpu": { + "arguments": 156990, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "unValueData": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 36194 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "insertCoin": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "unionValue": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" } + } } diff --git a/plutus-core/cost-model/data/builtinCostModelB.json b/plutus-core/cost-model/data/builtinCostModelB.json index 7b4350c3c10..c96288929fb 100644 --- a/plutus-core/cost-model/data/builtinCostModelB.json +++ b/plutus-core/cost-model/data/builtinCostModelB.json @@ -1,1209 +1,1278 @@ { - "addInteger": { - "cpu": { - "arguments": { - "intercept": 100788, - "slope": 420 - }, - "type": "max_size" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "max_size" - } - }, - "appendByteString": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 173 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "appendString": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 59957 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "bData": { - "cpu": { - "arguments": 11183, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "blake2b_224": { - "cpu": { - "arguments": { - "intercept": 207616, - "slope": 8310 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "blake2b_256": { - "cpu": { - "arguments": { - "intercept": 201305, - "slope": 8356 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "bls12_381_G1_add": { - "cpu": { - "arguments": 962335, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_compress": { - "cpu": { - "arguments": 2780678, - "type": "constant_cost" - }, - "memory": { - "arguments": 6, - "type": "constant_cost" - } - }, - "bls12_381_G1_equal": { - "cpu": { - "arguments": 442008, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_G1_hashToGroup": { - "cpu": { - "arguments": { - "intercept": 52538055, - "slope": 3756 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_neg": { - "cpu": { - "arguments": 267929, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_scalarMul": { - "cpu": { - "arguments": { - "intercept": 76433006, - "slope": 8868 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_multiScalarMul": { - "cpu": { - "arguments": { - "intercept": 321837444, - "slope": 25087669 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_uncompress": { - "cpu": { - "arguments": 52948122, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G2_add": { - "cpu": { - "arguments": 1995836, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_compress": { - "cpu": { - "arguments": 3227919, - "type": "constant_cost" - }, - "memory": { - "arguments": 12, - "type": "constant_cost" - } - }, - "bls12_381_G2_equal": { - "cpu": { - "arguments": 901022, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_G2_hashToGroup": { - "cpu": { - "arguments": { - "intercept": 166917843, - "slope": 4307 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_neg": { - "cpu": { - "arguments": 284546, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_scalarMul": { - "cpu": { - "arguments": { - "intercept": 158221314, - "slope": 26549 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_multiScalarMul": { - "cpu": { - "arguments": { - "intercept": 617887431, - "slope": 67302824 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_uncompress": { - "cpu": { - "arguments": 74698472, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_finalVerify": { - "cpu": { - "arguments": 333849714, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_millerLoop": { - "cpu": { - "arguments": 254006273, - "type": "constant_cost" - }, - "memory": { - "arguments": 72, - "type": "constant_cost" - } - }, - "bls12_381_mulMlResult": { - "cpu": { - "arguments": 2174038, - "type": "constant_cost" - }, - "memory": { - "arguments": 72, - "type": "constant_cost" - } - }, - "byteStringToInteger": { - "cpu": { - "arguments": { - "c0": 1006041, - "c1": 43623, - "c2": 251 - }, - "type": "quadratic_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_y" - } - }, - "chooseData": { - "cpu": { - "arguments": 94375, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "chooseList": { - "cpu": { - "arguments": 132994, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "chooseUnit": { - "cpu": { - "arguments": 61462, - "type": "constant_cost" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "consByteString": { - "cpu": { - "arguments": { - "intercept": 72010, - "slope": 178 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "constrData": { - "cpu": { - "arguments": 22151, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "decodeUtf8": { - "cpu": { - "arguments": { - "intercept": 91189, - "slope": 769 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "divideInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "intercept": 228465, - "slope": 122 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "encodeUtf8": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 42921 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "equalsByteString": { - "cpu": { - "arguments": { - "constant": 24548, - "intercept": 29498, - "slope": 38 - }, - "type": "linear_on_diagonal" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsData": { - "cpu": { - "arguments": { - "intercept": 898148, - "slope": 27279 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsInteger": { - "cpu": { - "arguments": { - "intercept": 51775, - "slope": 558 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsString": { - "cpu": { - "arguments": { - "constant": 39184, - "intercept": 1000, - "slope": 60594 - }, - "type": "linear_on_diagonal" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "fstPair": { - "cpu": { - "arguments": 141895, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "headList": { - "cpu": { - "arguments": 83150, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "iData": { - "cpu": { - "arguments": 15299, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "ifThenElse": { - "cpu": { - "arguments": 76049, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "indexByteString": { - "cpu": { - "arguments": 13169, - "type": "constant_cost" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "integerToByteString": { - "cpu": { - "arguments": { - "c0": 1293828, - "c1": 28716, - "c2": 63 - }, - "type": "quadratic_in_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "literal_in_y_or_linear_in_z" - } - }, - "keccak_256": { - "cpu": { - "arguments": { - "intercept": 2261318, - "slope": 64571 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "lengthOfByteString": { - "cpu": { - "arguments": 22100, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "lessThanByteString": { - "cpu": { - "arguments": { - "intercept": 28999, - "slope": 74 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanEqualsByteString": { - "cpu": { - "arguments": { - "intercept": 28999, - "slope": 74 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanEqualsInteger": { - "cpu": { - "arguments": { - "intercept": 43285, - "slope": 552 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanInteger": { - "cpu": { - "arguments": { - "intercept": 44749, - "slope": 541 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "listData": { - "cpu": { - "arguments": 33852, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mapData": { - "cpu": { - "arguments": 68246, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkCons": { - "cpu": { - "arguments": 72362, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkNilData": { - "cpu": { - "arguments": 7243, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkNilPairData": { - "cpu": { - "arguments": 7391, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkPairData": { - "cpu": { - "arguments": 11546, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "modInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "intercept": 228465, - "slope": 122 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "multiplyInteger": { - "cpu": { - "arguments": { - "intercept": 90434, - "slope": 519 - }, - "type": "multiplied_sizes" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "nullList": { - "cpu": { - "arguments": 74433, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "indexArray": { - "cpu": { - "arguments": 194922, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "lengthOfArray": { - "cpu": { - "arguments": 198994, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "listToArray": { - "cpu": { - "arguments": { - "intercept": 307802, - "slope": 8496 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 7, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "quotientInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "intercept": 228465, - "slope": 122 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "remainderInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "intercept": 228465, - "slope": 122 - }, - "type": "multiplied_sizes" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "serialiseData": { - "cpu": { - "arguments": { - "intercept": 955506, - "slope": 213312 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "sha2_256": { - "cpu": { - "arguments": { - "intercept": 270652, - "slope": 22588 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "sha3_256": { - "cpu": { - "arguments": { - "intercept": 1457325, - "slope": 64566 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "sliceByteString": { - "cpu": { - "arguments": { - "intercept": 20467, - "slope": 1 - }, - "type": "linear_in_z" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 0 - }, - "type": "linear_in_z" - } - }, - "sndPair": { - "cpu": { - "arguments": 141992, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "subtractInteger": { - "cpu": { - "arguments": { - "intercept": 100788, - "slope": 420 - }, - "type": "max_size" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "max_size" - } - }, - "tailList": { - "cpu": { - "arguments": 81663, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "trace": { - "cpu": { - "arguments": 59498, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unBData": { - "cpu": { - "arguments": 20142, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unConstrData": { - "cpu": { - "arguments": 24588, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unIData": { - "cpu": { - "arguments": 20744, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unListData": { - "cpu": { - "arguments": 25933, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unMapData": { - "cpu": { - "arguments": 24623, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "verifyEcdsaSecp256k1Signature": { - "cpu": { - "arguments": 43053543, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "verifyEd25519Signature": { - "cpu": { - "arguments": { - "intercept": 53384111, - "slope": 14333 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "verifySchnorrSecp256k1Signature": { - "cpu": { - "arguments": { - "intercept": 43574283, - "slope": 26308 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "andByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "orByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "xorByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "complementByteString": { - "cpu": { - "arguments": { - "intercept": 107878, - "slope": 680 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "readBit": { - "cpu": { - "arguments": 95336, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "writeBits": { - "cpu": { - "arguments": { - "intercept": 281145, - "slope": 18848 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "replicateByte": { - "cpu": { - "arguments": { - "intercept": 180194, - "slope": 159 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "shiftByteString": { - "cpu": { - "arguments": { - "intercept": 158519, - "slope": 8942 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "rotateByteString": { - "cpu": { - "arguments": { - "intercept": 159378, - "slope": 8813 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "countSetBits": { - "cpu": { - "arguments": { - "intercept": 107490, - "slope": 3298 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "findFirstSetBit": { - "cpu": { - "arguments": { - "intercept": 106057, - "slope": 655 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "ripemd_160": { - "cpu": { - "arguments": { - "intercept": 1964219, - "slope": 24520 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 3, - "type": "constant_cost" - } - }, - "expModInteger": { - "cpu": { - "arguments": { - "coefficient00": 607153, - "coefficient11": 231697, - "coefficient12": 53144 - }, - "type": "exp_mod_cost" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_z" - } - }, - "dropList": { - "cpu": { - "arguments": { - "intercept": 116711, - "slope": 1957 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } + "addInteger": { + "cpu": { + "arguments": { + "intercept": 100788, + "slope": 420 + }, + "type": "max_size" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "max_size" + } + }, + "appendByteString": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 173 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "appendString": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 59957 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "bData": { + "cpu": { + "arguments": 11183, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "blake2b_224": { + "cpu": { + "arguments": { + "intercept": 207616, + "slope": 8310 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "blake2b_256": { + "cpu": { + "arguments": { + "intercept": 201305, + "slope": 8356 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "bls12_381_G1_add": { + "cpu": { + "arguments": 962335, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_compress": { + "cpu": { + "arguments": 2780678, + "type": "constant_cost" + }, + "memory": { + "arguments": 6, + "type": "constant_cost" + } + }, + "bls12_381_G1_equal": { + "cpu": { + "arguments": 442008, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_G1_hashToGroup": { + "cpu": { + "arguments": { + "intercept": 52538055, + "slope": 3756 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_neg": { + "cpu": { + "arguments": 267929, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_scalarMul": { + "cpu": { + "arguments": { + "intercept": 76433006, + "slope": 8868 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_multiScalarMul": { + "cpu": { + "arguments": { + "intercept": 321837444, + "slope": 25087669 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_uncompress": { + "cpu": { + "arguments": 52948122, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G2_add": { + "cpu": { + "arguments": 1995836, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_compress": { + "cpu": { + "arguments": 3227919, + "type": "constant_cost" + }, + "memory": { + "arguments": 12, + "type": "constant_cost" + } + }, + "bls12_381_G2_equal": { + "cpu": { + "arguments": 901022, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_G2_hashToGroup": { + "cpu": { + "arguments": { + "intercept": 166917843, + "slope": 4307 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_neg": { + "cpu": { + "arguments": 284546, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_scalarMul": { + "cpu": { + "arguments": { + "intercept": 158221314, + "slope": 26549 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_multiScalarMul": { + "cpu": { + "arguments": { + "intercept": 617887431, + "slope": 67302824 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_uncompress": { + "cpu": { + "arguments": 74698472, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_finalVerify": { + "cpu": { + "arguments": 333849714, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_millerLoop": { + "cpu": { + "arguments": 254006273, + "type": "constant_cost" + }, + "memory": { + "arguments": 72, + "type": "constant_cost" + } + }, + "bls12_381_mulMlResult": { + "cpu": { + "arguments": 2174038, + "type": "constant_cost" + }, + "memory": { + "arguments": 72, + "type": "constant_cost" + } + }, + "byteStringToInteger": { + "cpu": { + "arguments": { + "c0": 1006041, + "c1": 43623, + "c2": 251 + }, + "type": "quadratic_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_y" + } + }, + "chooseData": { + "cpu": { + "arguments": 94375, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "chooseList": { + "cpu": { + "arguments": 132994, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "chooseUnit": { + "cpu": { + "arguments": 61462, + "type": "constant_cost" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "consByteString": { + "cpu": { + "arguments": { + "intercept": 72010, + "slope": 178 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "constrData": { + "cpu": { + "arguments": 22151, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "decodeUtf8": { + "cpu": { + "arguments": { + "intercept": 91189, + "slope": 769 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "divideInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "intercept": 228465, + "slope": 122 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "encodeUtf8": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 42921 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "equalsByteString": { + "cpu": { + "arguments": { + "constant": 24548, + "intercept": 29498, + "slope": 38 + }, + "type": "linear_on_diagonal" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsData": { + "cpu": { + "arguments": { + "intercept": 898148, + "slope": 27279 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsInteger": { + "cpu": { + "arguments": { + "intercept": 51775, + "slope": 558 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsString": { + "cpu": { + "arguments": { + "constant": 39184, + "intercept": 1000, + "slope": 60594 + }, + "type": "linear_on_diagonal" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "fstPair": { + "cpu": { + "arguments": 141895, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "headList": { + "cpu": { + "arguments": 83150, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "iData": { + "cpu": { + "arguments": 15299, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "ifThenElse": { + "cpu": { + "arguments": 76049, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "indexByteString": { + "cpu": { + "arguments": 13169, + "type": "constant_cost" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "integerToByteString": { + "cpu": { + "arguments": { + "c0": 1293828, + "c1": 28716, + "c2": 63 + }, + "type": "quadratic_in_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "literal_in_y_or_linear_in_z" + } + }, + "keccak_256": { + "cpu": { + "arguments": { + "intercept": 2261318, + "slope": 64571 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "lengthOfByteString": { + "cpu": { + "arguments": 22100, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "lessThanByteString": { + "cpu": { + "arguments": { + "intercept": 28999, + "slope": 74 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanEqualsByteString": { + "cpu": { + "arguments": { + "intercept": 28999, + "slope": 74 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanEqualsInteger": { + "cpu": { + "arguments": { + "intercept": 43285, + "slope": 552 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanInteger": { + "cpu": { + "arguments": { + "intercept": 44749, + "slope": 541 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "listData": { + "cpu": { + "arguments": 33852, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mapData": { + "cpu": { + "arguments": 68246, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkCons": { + "cpu": { + "arguments": 72362, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkNilData": { + "cpu": { + "arguments": 7243, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkNilPairData": { + "cpu": { + "arguments": 7391, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkPairData": { + "cpu": { + "arguments": 11546, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "modInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "intercept": 228465, + "slope": 122 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "multiplyInteger": { + "cpu": { + "arguments": { + "intercept": 90434, + "slope": 519 + }, + "type": "multiplied_sizes" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "nullList": { + "cpu": { + "arguments": 74433, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "indexArray": { + "cpu": { + "arguments": 194922, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "lengthOfArray": { + "cpu": { + "arguments": 198994, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "listToArray": { + "cpu": { + "arguments": { + "intercept": 307802, + "slope": 8496 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 7, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "quotientInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "intercept": 228465, + "slope": 122 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "remainderInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "intercept": 228465, + "slope": 122 + }, + "type": "multiplied_sizes" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "serialiseData": { + "cpu": { + "arguments": { + "intercept": 955506, + "slope": 213312 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "sha2_256": { + "cpu": { + "arguments": { + "intercept": 270652, + "slope": 22588 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "sha3_256": { + "cpu": { + "arguments": { + "intercept": 1457325, + "slope": 64566 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "sliceByteString": { + "cpu": { + "arguments": { + "intercept": 20467, + "slope": 1 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 0 + }, + "type": "linear_in_z" + } + }, + "sndPair": { + "cpu": { + "arguments": 141992, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "subtractInteger": { + "cpu": { + "arguments": { + "intercept": 100788, + "slope": 420 + }, + "type": "max_size" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "max_size" + } + }, + "tailList": { + "cpu": { + "arguments": 81663, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "trace": { + "cpu": { + "arguments": 59498, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unBData": { + "cpu": { + "arguments": 20142, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unConstrData": { + "cpu": { + "arguments": 24588, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unIData": { + "cpu": { + "arguments": 20744, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unListData": { + "cpu": { + "arguments": 25933, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unMapData": { + "cpu": { + "arguments": 24623, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "verifyEcdsaSecp256k1Signature": { + "cpu": { + "arguments": 43053543, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "verifyEd25519Signature": { + "cpu": { + "arguments": { + "intercept": 53384111, + "slope": 14333 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "verifySchnorrSecp256k1Signature": { + "cpu": { + "arguments": { + "intercept": 43574283, + "slope": 26308 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "andByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "orByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "xorByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "complementByteString": { + "cpu": { + "arguments": { + "intercept": 107878, + "slope": 680 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "readBit": { + "cpu": { + "arguments": 95336, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "writeBits": { + "cpu": { + "arguments": { + "intercept": 281145, + "slope": 18848 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "replicateByte": { + "cpu": { + "arguments": { + "intercept": 180194, + "slope": 159 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "shiftByteString": { + "cpu": { + "arguments": { + "intercept": 158519, + "slope": 8942 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "rotateByteString": { + "cpu": { + "arguments": { + "intercept": 159378, + "slope": 8813 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "countSetBits": { + "cpu": { + "arguments": { + "intercept": 107490, + "slope": 3298 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "findFirstSetBit": { + "cpu": { + "arguments": { + "intercept": 106057, + "slope": 655 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "ripemd_160": { + "cpu": { + "arguments": { + "intercept": 1964219, + "slope": 24520 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 3, + "type": "constant_cost" + } + }, + "expModInteger": { + "cpu": { + "arguments": { + "coefficient00": 607153, + "coefficient11": 231697, + "coefficient12": 53144 + }, + "type": "exp_mod_cost" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_z" + } + }, + "dropList": { + "cpu": { + "arguments": { + "intercept": 116711, + "slope": 1957 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "lookupCoin": { + "cpu": { + "arguments": { + "intercept": 203599, + "slope": 7256 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "valueContains": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 130720 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "valueData": { + "cpu": { + "arguments": 156990, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "unValueData": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 36194 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" } + }, + "insertCoin": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "unionValue": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + } } diff --git a/plutus-core/cost-model/data/builtinCostModelC.json b/plutus-core/cost-model/data/builtinCostModelC.json index f69154d323c..b6e9991e2b1 100644 --- a/plutus-core/cost-model/data/builtinCostModelC.json +++ b/plutus-core/cost-model/data/builtinCostModelC.json @@ -1,1227 +1,1296 @@ { - "addInteger": { - "cpu": { - "arguments": { - "intercept": 100788, - "slope": 420 - }, - "type": "max_size" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "max_size" - } - }, - "appendByteString": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 173 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "appendString": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 59957 - }, - "type": "added_sizes" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "bData": { - "cpu": { - "arguments": 11183, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "blake2b_224": { - "cpu": { - "arguments": { - "intercept": 207616, - "slope": 8310 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "blake2b_256": { - "cpu": { - "arguments": { - "intercept": 201305, - "slope": 8356 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "bls12_381_G1_add": { - "cpu": { - "arguments": 962335, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_compress": { - "cpu": { - "arguments": 2780678, - "type": "constant_cost" - }, - "memory": { - "arguments": 6, - "type": "constant_cost" - } - }, - "bls12_381_G1_equal": { - "cpu": { - "arguments": 442008, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_G1_hashToGroup": { - "cpu": { - "arguments": { - "intercept": 52538055, - "slope": 3756 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_neg": { - "cpu": { - "arguments": 267929, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_scalarMul": { - "cpu": { - "arguments": { - "intercept": 76433006, - "slope": 8868 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_multiScalarMul": { - "cpu": { - "arguments": { - "intercept": 321837444, - "slope": 25087669 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G1_uncompress": { - "cpu": { - "arguments": 52948122, - "type": "constant_cost" - }, - "memory": { - "arguments": 18, - "type": "constant_cost" - } - }, - "bls12_381_G2_add": { - "cpu": { - "arguments": 1995836, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_compress": { - "cpu": { - "arguments": 3227919, - "type": "constant_cost" - }, - "memory": { - "arguments": 12, - "type": "constant_cost" - } - }, - "bls12_381_G2_equal": { - "cpu": { - "arguments": 901022, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_G2_hashToGroup": { - "cpu": { - "arguments": { - "intercept": 166917843, - "slope": 4307 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_neg": { - "cpu": { - "arguments": 284546, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_scalarMul": { - "cpu": { - "arguments": { - "intercept": 158221314, - "slope": 26549 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_multiScalarMul": { - "cpu": { - "arguments": { - "intercept": 617887431, - "slope": 67302824 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_G2_uncompress": { - "cpu": { - "arguments": 74698472, - "type": "constant_cost" - }, - "memory": { - "arguments": 36, - "type": "constant_cost" - } - }, - "bls12_381_finalVerify": { - "cpu": { - "arguments": 333849714, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "bls12_381_millerLoop": { - "cpu": { - "arguments": 254006273, - "type": "constant_cost" - }, - "memory": { - "arguments": 72, - "type": "constant_cost" - } - }, - "bls12_381_mulMlResult": { - "cpu": { - "arguments": 2174038, - "type": "constant_cost" - }, - "memory": { - "arguments": 72, - "type": "constant_cost" - } - }, - "byteStringToInteger": { - "cpu": { - "arguments": { - "c0": 1006041, - "c1": 43623, - "c2": 251 - }, - "type": "quadratic_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_y" - } - }, - "chooseData": { - "cpu": { - "arguments": 94375, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "chooseList": { - "cpu": { - "arguments": 132994, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "chooseUnit": { - "cpu": { - "arguments": 61462, - "type": "constant_cost" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "consByteString": { - "cpu": { - "arguments": { - "intercept": 72010, - "slope": 178 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "constrData": { - "cpu": { - "arguments": 22151, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "decodeUtf8": { - "cpu": { - "arguments": { - "intercept": 91189, - "slope": 769 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "divideInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "c00": 123203, - "c01": 7305, - "c02": -900, - "c10": 1716, - "c11": 549, - "c20": 57, - "minimum": 85848 - }, - "type": "quadratic_in_x_and_y" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "encodeUtf8": { - "cpu": { - "arguments": { - "intercept": 1000, - "slope": 42921 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "equalsByteString": { - "cpu": { - "arguments": { - "constant": 24548, - "intercept": 29498, - "slope": 38 - }, - "type": "linear_on_diagonal" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsData": { - "cpu": { - "arguments": { - "intercept": 898148, - "slope": 27279 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsInteger": { - "cpu": { - "arguments": { - "intercept": 51775, - "slope": 558 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "equalsString": { - "cpu": { - "arguments": { - "constant": 39184, - "intercept": 1000, - "slope": 60594 - }, - "type": "linear_on_diagonal" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "fstPair": { - "cpu": { - "arguments": 141895, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "headList": { - "cpu": { - "arguments": 83150, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "iData": { - "cpu": { - "arguments": 15299, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "ifThenElse": { - "cpu": { - "arguments": 76049, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "indexByteString": { - "cpu": { - "arguments": 13169, - "type": "constant_cost" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "integerToByteString": { - "cpu": { - "arguments": { - "c0": 1293828, - "c1": 28716, - "c2": 63 - }, - "type": "quadratic_in_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "literal_in_y_or_linear_in_z" - } - }, - "keccak_256": { - "cpu": { - "arguments": { - "intercept": 2261318, - "slope": 64571 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "lengthOfByteString": { - "cpu": { - "arguments": 22100, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "lessThanByteString": { - "cpu": { - "arguments": { - "intercept": 28999, - "slope": 74 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanEqualsByteString": { - "cpu": { - "arguments": { - "intercept": 28999, - "slope": 74 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanEqualsInteger": { - "cpu": { - "arguments": { - "intercept": 43285, - "slope": 552 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "lessThanInteger": { - "cpu": { - "arguments": { - "intercept": 44749, - "slope": 541 - }, - "type": "min_size" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "listData": { - "cpu": { - "arguments": 33852, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mapData": { - "cpu": { - "arguments": 68246, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkCons": { - "cpu": { - "arguments": 72362, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkNilData": { - "cpu": { - "arguments": 7243, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkNilPairData": { - "cpu": { - "arguments": 7391, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "mkPairData": { - "cpu": { - "arguments": 11546, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "modInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "c00": 123203, - "c01": 7305, - "c02": -900, - "c10": 1716, - "c11": 549, - "c20": 57, - "minimum": 85848 - }, - "type": "quadratic_in_x_and_y" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_y" - } - }, - "multiplyInteger": { - "cpu": { - "arguments": { - "intercept": 90434, - "slope": 519 - }, - "type": "multiplied_sizes" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "added_sizes" - } - }, - "nullList": { - "cpu": { - "arguments": 74433, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "indexArray": { - "cpu": { - "arguments": 194922, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "lengthOfArray": { - "cpu": { - "arguments": 198994, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "listToArray": { - "cpu": { - "arguments": { - "intercept": 307802, - "slope": 8496 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 7, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "quotientInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "c00": 123203, - "c01": 7305, - "c02": -900, - "c10": 1716, - "c11": 549, - "c20": 57, - "minimum": 85848 - }, - "type": "quadratic_in_x_and_y" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "minimum": 1, - "slope": 1 - }, - "type": "subtracted_sizes" - } - }, - "remainderInteger": { - "cpu": { - "arguments": { - "constant": 85848, - "model": { - "arguments": { - "c00": 123203, - "c01": 7305, - "c02": -900, - "c10": 1716, - "c11": 549, - "c20": 57, - "minimum": 85848 - }, - "type": "quadratic_in_x_and_y" - } - }, - "type": "const_above_diagonal" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_y" - } - }, - "serialiseData": { - "cpu": { - "arguments": { - "intercept": 955506, - "slope": 213312 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 2 - }, - "type": "linear_in_x" - } - }, - "sha2_256": { - "cpu": { - "arguments": { - "intercept": 270652, - "slope": 22588 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "sha3_256": { - "cpu": { - "arguments": { - "intercept": 1457325, - "slope": 64566 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } - }, - "sliceByteString": { - "cpu": { - "arguments": { - "intercept": 20467, - "slope": 1 - }, - "type": "linear_in_z" - }, - "memory": { - "arguments": { - "intercept": 4, - "slope": 0 - }, - "type": "linear_in_z" - } - }, - "sndPair": { - "cpu": { - "arguments": 141992, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "subtractInteger": { - "cpu": { - "arguments": { - "intercept": 100788, - "slope": 420 - }, - "type": "max_size" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "max_size" - } - }, - "tailList": { - "cpu": { - "arguments": 81663, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "trace": { - "cpu": { - "arguments": 59498, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unBData": { - "cpu": { - "arguments": 20142, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unConstrData": { - "cpu": { - "arguments": 24588, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unIData": { - "cpu": { - "arguments": 20744, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unListData": { - "cpu": { - "arguments": 25933, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "unMapData": { - "cpu": { - "arguments": 24623, - "type": "constant_cost" - }, - "memory": { - "arguments": 32, - "type": "constant_cost" - } - }, - "verifyEcdsaSecp256k1Signature": { - "cpu": { - "arguments": 43053543, - "type": "constant_cost" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "verifyEd25519Signature": { - "cpu": { - "arguments": { - "intercept": 53384111, - "slope": 14333 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "verifySchnorrSecp256k1Signature": { - "cpu": { - "arguments": { - "intercept": 43574283, - "slope": 26308 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": 10, - "type": "constant_cost" - } - }, - "andByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "orByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "xorByteString": { - "cpu": { - "arguments": { - "intercept": 100181, - "slope1": 726, - "slope2": 719 - }, - "type": "linear_in_y_and_z" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_max_yz" - } - }, - "complementByteString": { - "cpu": { - "arguments": { - "intercept": 107878, - "slope": 680 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "readBit": { - "cpu": { - "arguments": 95336, - "type": "constant_cost" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "writeBits": { - "cpu": { - "arguments": { - "intercept": 281145, - "slope": 18848 - }, - "type": "linear_in_y" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "replicateByte": { - "cpu": { - "arguments": { - "intercept": 180194, - "slope": 159 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 1, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "shiftByteString": { - "cpu": { - "arguments": { - "intercept": 158519, - "slope": 8942 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "rotateByteString": { - "cpu": { - "arguments": { - "intercept": 159378, - "slope": 8813 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_x" - } - }, - "countSetBits": { - "cpu": { - "arguments": { - "intercept": 107490, - "slope": 3298 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "findFirstSetBit": { - "cpu": { - "arguments": { - "intercept": 106057, - "slope": 655 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 1, - "type": "constant_cost" - } - }, - "ripemd_160": { - "cpu": { - "arguments": { - "intercept": 1964219, - "slope": 24520 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 3, - "type": "constant_cost" - } - }, - "expModInteger": { - "cpu": { - "arguments": { - "coefficient00": 607153, - "coefficient11": 231697, - "coefficient12": 53144 - }, - "type": "exp_mod_cost" - }, - "memory": { - "arguments": { - "intercept": 0, - "slope": 1 - }, - "type": "linear_in_z" - } - }, - "dropList": { - "cpu": { - "arguments": { - "intercept": 116711, - "slope": 1957 - }, - "type": "linear_in_x" - }, - "memory": { - "arguments": 4, - "type": "constant_cost" - } + "addInteger": { + "cpu": { + "arguments": { + "intercept": 100788, + "slope": 420 + }, + "type": "max_size" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "max_size" + } + }, + "appendByteString": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 173 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "appendString": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 59957 + }, + "type": "added_sizes" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "bData": { + "cpu": { + "arguments": 11183, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "blake2b_224": { + "cpu": { + "arguments": { + "intercept": 207616, + "slope": 8310 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "blake2b_256": { + "cpu": { + "arguments": { + "intercept": 201305, + "slope": 8356 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "bls12_381_G1_add": { + "cpu": { + "arguments": 962335, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_compress": { + "cpu": { + "arguments": 2780678, + "type": "constant_cost" + }, + "memory": { + "arguments": 6, + "type": "constant_cost" + } + }, + "bls12_381_G1_equal": { + "cpu": { + "arguments": 442008, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_G1_hashToGroup": { + "cpu": { + "arguments": { + "intercept": 52538055, + "slope": 3756 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_neg": { + "cpu": { + "arguments": 267929, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_scalarMul": { + "cpu": { + "arguments": { + "intercept": 76433006, + "slope": 8868 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_multiScalarMul": { + "cpu": { + "arguments": { + "intercept": 321837444, + "slope": 25087669 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G1_uncompress": { + "cpu": { + "arguments": 52948122, + "type": "constant_cost" + }, + "memory": { + "arguments": 18, + "type": "constant_cost" + } + }, + "bls12_381_G2_add": { + "cpu": { + "arguments": 1995836, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_compress": { + "cpu": { + "arguments": 3227919, + "type": "constant_cost" + }, + "memory": { + "arguments": 12, + "type": "constant_cost" + } + }, + "bls12_381_G2_equal": { + "cpu": { + "arguments": 901022, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_G2_hashToGroup": { + "cpu": { + "arguments": { + "intercept": 166917843, + "slope": 4307 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_neg": { + "cpu": { + "arguments": 284546, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_scalarMul": { + "cpu": { + "arguments": { + "intercept": 158221314, + "slope": 26549 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_multiScalarMul": { + "cpu": { + "arguments": { + "intercept": 617887431, + "slope": 67302824 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_G2_uncompress": { + "cpu": { + "arguments": 74698472, + "type": "constant_cost" + }, + "memory": { + "arguments": 36, + "type": "constant_cost" + } + }, + "bls12_381_finalVerify": { + "cpu": { + "arguments": 333849714, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "bls12_381_millerLoop": { + "cpu": { + "arguments": 254006273, + "type": "constant_cost" + }, + "memory": { + "arguments": 72, + "type": "constant_cost" + } + }, + "bls12_381_mulMlResult": { + "cpu": { + "arguments": 2174038, + "type": "constant_cost" + }, + "memory": { + "arguments": 72, + "type": "constant_cost" + } + }, + "byteStringToInteger": { + "cpu": { + "arguments": { + "c0": 1006041, + "c1": 43623, + "c2": 251 + }, + "type": "quadratic_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_y" + } + }, + "chooseData": { + "cpu": { + "arguments": 94375, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "chooseList": { + "cpu": { + "arguments": 132994, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "chooseUnit": { + "cpu": { + "arguments": 61462, + "type": "constant_cost" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "consByteString": { + "cpu": { + "arguments": { + "intercept": 72010, + "slope": 178 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "constrData": { + "cpu": { + "arguments": 22151, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "decodeUtf8": { + "cpu": { + "arguments": { + "intercept": 91189, + "slope": 769 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "divideInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "c00": 123203, + "c01": 7305, + "c02": -900, + "c10": 1716, + "c11": 549, + "c20": 57, + "minimum": 85848 + }, + "type": "quadratic_in_x_and_y" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "encodeUtf8": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 42921 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "equalsByteString": { + "cpu": { + "arguments": { + "constant": 24548, + "intercept": 29498, + "slope": 38 + }, + "type": "linear_on_diagonal" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsData": { + "cpu": { + "arguments": { + "intercept": 898148, + "slope": 27279 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsInteger": { + "cpu": { + "arguments": { + "intercept": 51775, + "slope": 558 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "equalsString": { + "cpu": { + "arguments": { + "constant": 39184, + "intercept": 1000, + "slope": 60594 + }, + "type": "linear_on_diagonal" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "fstPair": { + "cpu": { + "arguments": 141895, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "headList": { + "cpu": { + "arguments": 83150, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "iData": { + "cpu": { + "arguments": 15299, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "ifThenElse": { + "cpu": { + "arguments": 76049, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "indexByteString": { + "cpu": { + "arguments": 13169, + "type": "constant_cost" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "integerToByteString": { + "cpu": { + "arguments": { + "c0": 1293828, + "c1": 28716, + "c2": 63 + }, + "type": "quadratic_in_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "literal_in_y_or_linear_in_z" + } + }, + "keccak_256": { + "cpu": { + "arguments": { + "intercept": 2261318, + "slope": 64571 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "lengthOfByteString": { + "cpu": { + "arguments": 22100, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "lessThanByteString": { + "cpu": { + "arguments": { + "intercept": 28999, + "slope": 74 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanEqualsByteString": { + "cpu": { + "arguments": { + "intercept": 28999, + "slope": 74 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanEqualsInteger": { + "cpu": { + "arguments": { + "intercept": 43285, + "slope": 552 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "lessThanInteger": { + "cpu": { + "arguments": { + "intercept": 44749, + "slope": 541 + }, + "type": "min_size" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "listData": { + "cpu": { + "arguments": 33852, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mapData": { + "cpu": { + "arguments": 68246, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkCons": { + "cpu": { + "arguments": 72362, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkNilData": { + "cpu": { + "arguments": 7243, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkNilPairData": { + "cpu": { + "arguments": 7391, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "mkPairData": { + "cpu": { + "arguments": 11546, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "modInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "c00": 123203, + "c01": 7305, + "c02": -900, + "c10": 1716, + "c11": 549, + "c20": 57, + "minimum": 85848 + }, + "type": "quadratic_in_x_and_y" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_y" + } + }, + "multiplyInteger": { + "cpu": { + "arguments": { + "intercept": 90434, + "slope": 519 + }, + "type": "multiplied_sizes" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "added_sizes" + } + }, + "nullList": { + "cpu": { + "arguments": 74433, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "indexArray": { + "cpu": { + "arguments": 194922, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "lengthOfArray": { + "cpu": { + "arguments": 198994, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "listToArray": { + "cpu": { + "arguments": { + "intercept": 307802, + "slope": 8496 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 7, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "quotientInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "c00": 123203, + "c01": 7305, + "c02": -900, + "c10": 1716, + "c11": 549, + "c20": 57, + "minimum": 85848 + }, + "type": "quadratic_in_x_and_y" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "minimum": 1, + "slope": 1 + }, + "type": "subtracted_sizes" + } + }, + "remainderInteger": { + "cpu": { + "arguments": { + "constant": 85848, + "model": { + "arguments": { + "c00": 123203, + "c01": 7305, + "c02": -900, + "c10": 1716, + "c11": 549, + "c20": 57, + "minimum": 85848 + }, + "type": "quadratic_in_x_and_y" + } + }, + "type": "const_above_diagonal" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_y" + } + }, + "serialiseData": { + "cpu": { + "arguments": { + "intercept": 955506, + "slope": 213312 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 2 + }, + "type": "linear_in_x" + } + }, + "sha2_256": { + "cpu": { + "arguments": { + "intercept": 270652, + "slope": 22588 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "sha3_256": { + "cpu": { + "arguments": { + "intercept": 1457325, + "slope": 64566 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "sliceByteString": { + "cpu": { + "arguments": { + "intercept": 20467, + "slope": 1 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": { + "intercept": 4, + "slope": 0 + }, + "type": "linear_in_z" + } + }, + "sndPair": { + "cpu": { + "arguments": 141992, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "subtractInteger": { + "cpu": { + "arguments": { + "intercept": 100788, + "slope": 420 + }, + "type": "max_size" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "max_size" + } + }, + "tailList": { + "cpu": { + "arguments": 81663, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "trace": { + "cpu": { + "arguments": 59498, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unBData": { + "cpu": { + "arguments": 20142, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unConstrData": { + "cpu": { + "arguments": 24588, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unIData": { + "cpu": { + "arguments": 20744, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unListData": { + "cpu": { + "arguments": 25933, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "unMapData": { + "cpu": { + "arguments": 24623, + "type": "constant_cost" + }, + "memory": { + "arguments": 32, + "type": "constant_cost" + } + }, + "verifyEcdsaSecp256k1Signature": { + "cpu": { + "arguments": 43053543, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "verifyEd25519Signature": { + "cpu": { + "arguments": { + "intercept": 53384111, + "slope": 14333 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "verifySchnorrSecp256k1Signature": { + "cpu": { + "arguments": { + "intercept": 43574283, + "slope": 26308 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "andByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "orByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "xorByteString": { + "cpu": { + "arguments": { + "intercept": 100181, + "slope1": 726, + "slope2": 719 + }, + "type": "linear_in_y_and_z" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_max_yz" + } + }, + "complementByteString": { + "cpu": { + "arguments": { + "intercept": 107878, + "slope": 680 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "readBit": { + "cpu": { + "arguments": 95336, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "writeBits": { + "cpu": { + "arguments": { + "intercept": 281145, + "slope": 18848 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "replicateByte": { + "cpu": { + "arguments": { + "intercept": 180194, + "slope": 159 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 1, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "shiftByteString": { + "cpu": { + "arguments": { + "intercept": 158519, + "slope": 8942 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "rotateByteString": { + "cpu": { + "arguments": { + "intercept": 159378, + "slope": 8813 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_x" + } + }, + "countSetBits": { + "cpu": { + "arguments": { + "intercept": 107490, + "slope": 3298 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "findFirstSetBit": { + "cpu": { + "arguments": { + "intercept": 106057, + "slope": 655 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "ripemd_160": { + "cpu": { + "arguments": { + "intercept": 1964219, + "slope": 24520 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 3, + "type": "constant_cost" + } + }, + "expModInteger": { + "cpu": { + "arguments": { + "coefficient00": 607153, + "coefficient11": 231697, + "coefficient12": 53144 + }, + "type": "exp_mod_cost" + }, + "memory": { + "arguments": { + "intercept": 0, + "slope": 1 + }, + "type": "linear_in_z" + } + }, + "dropList": { + "cpu": { + "arguments": { + "intercept": 116711, + "slope": 1957 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 4, + "type": "constant_cost" + } + }, + "lookupCoin": { + "cpu": { + "arguments": { + "intercept": 203599, + "slope": 7256 + }, + "type": "linear_in_z" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "valueContains": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 130720 + }, + "type": "linear_in_y" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "valueData": { + "cpu": { + "arguments": 156990, + "type": "constant_cost" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" + } + }, + "unValueData": { + "cpu": { + "arguments": { + "intercept": 1000, + "slope": 36194 + }, + "type": "linear_in_x" + }, + "memory": { + "arguments": 1, + "type": "constant_cost" } + }, + "insertCoin": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + }, + "unionValue": { + "cpu": { + "arguments": 1000, + "type": "constant_cost" + }, + "memory": { + "arguments": 10, + "type": "constant_cost" + } + } } diff --git a/plutus-core/cost-model/data/models.R b/plutus-core/cost-model/data/models.R index 974d83d64a4..1593d0d76b4 100644 --- a/plutus-core/cost-model/data/models.R +++ b/plutus-core/cost-model/data/models.R @@ -152,6 +152,10 @@ arity <- function(name) { "LengthOfArray" = 1, "ListToArray" = 1, "IndexArray" = 2, + "LookupCoin" = 3, + "ValueContains" = 2, + "ValueData" = 1, + "UnValueData" = 1, -1 ## Default for missing values ) } @@ -802,13 +806,26 @@ modelFun <- function(path) { mk.result(m, "exp_mod_cost") } - dropListModel <- linearInX ("DropList") + dropListModel <- linearInX ("DropList") - ## Arrays + ## Arrays lengthOfArrayModel <- constantModel ("LengthOfArray") listToArrayModel <- linearInX ("ListToArray") indexArrayModel <- constantModel ("IndexArray") + ## Values + + # Z wrapped with `Logarithmic . ValueOuterOrMaxInner` + lookupCoinModel <- linearInZ ("LookupCoin") + + # X wrapped with `Logarithmic . ValueOuterOrMaxInner` + # Y wrapped with `ValueTotalSize` + valueContainsModel <- linearInY("ValueContains") + + # Sizes of parameters are used as is (unwrapped): + valueDataModel <- constantModel ("ValueData") + unValueDataModel <- linearInX ("UnValueData") + ##### Models to be returned to Haskell ##### models.for.adjustment <- @@ -902,7 +919,11 @@ modelFun <- function(path) { dropListModel = dropListModel, lengthOfArrayModel = lengthOfArrayModel, listToArrayModel = listToArrayModel, - indexArrayModel = indexArrayModel + indexArrayModel = indexArrayModel, + lookupCoinModel = lookupCoinModel, + valueContainsModel = valueContainsModel, + valueDataModel = valueDataModel, + unValueDataModel = unValueDataModel ) ## The integer division functions have a complex costing behaviour that requires some negative diff --git a/plutus-core/cost-model/test/TestCostModels.hs b/plutus-core/cost-model/test/TestCostModels.hs index e202ce228d7..fa0d4ef0652 100644 --- a/plutus-core/cost-model/test/TestCostModels.hs +++ b/plutus-core/cost-model/test/TestCostModels.hs @@ -387,6 +387,12 @@ main = , $(genTest 1 "listToArray") , $(genTest 2 "indexArray") Everywhere + -- Builtin Values + , $(genTest 3 "lookupCoin") + , $(genTest 2 "valueContains") Everywhere + , $(genTest 1 "valueData") + , $(genTest 1 "unValueData") + -- Data , $(genTest 6 "chooseData") , $(genTest 2 "constrData") Everywhere diff --git a/plutus-core/plutus-core.cabal b/plutus-core/plutus-core.cabal index 412c942303c..3a0e48cb017 100644 --- a/plutus-core/plutus-core.cabal +++ b/plutus-core/plutus-core.cabal @@ -935,6 +935,7 @@ executable cost-model-budgeting-bench Benchmarks.Strings Benchmarks.Tracing Benchmarks.Unit + Benchmarks.Values Common CriterionExtensions Generators diff --git a/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs b/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs index 4604478d300..e08a8714d6f 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs @@ -24,8 +24,9 @@ import PlutusCore.Default.Universe import PlutusCore.Evaluation.Machine.BuiltinCostModel import PlutusCore.Evaluation.Machine.ExBudgetStream (ExBudgetStream) import PlutusCore.Evaluation.Machine.ExMemoryUsage (ExMemoryUsage, IntegerCostedLiterally (..), - NumBytesCostedAsNumWords (..), memoryUsage, - singletonRose) + LogValueOuterOrMaxInner (..), + NumBytesCostedAsNumWords (..), + ValueTotalSize (..), memoryUsage, singletonRose) import PlutusCore.Pretty (PrettyConfigPlc) import PlutusCore.Value (Value) import PlutusCore.Value qualified as Value @@ -2052,15 +2053,15 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where {-# INLINE insertCoinDenotation #-} in makeBuiltinMeaning insertCoinDenotation - (runCostingFunFourArguments . unimplementedCostingFun) + (runCostingFunFourArguments . paramInsertCoin) toBuiltinMeaning _semvar LookupCoin = - let lookupCoinDenotation :: ByteString -> ByteString -> Value -> Integer - lookupCoinDenotation = Value.lookupCoin + let lookupCoinDenotation :: ByteString -> ByteString -> LogValueOuterOrMaxInner -> Integer + lookupCoinDenotation p t (LogValueOuterOrMaxInner v) = Value.lookupCoin p t v {-# INLINE lookupCoinDenotation #-} in makeBuiltinMeaning lookupCoinDenotation - (runCostingFunThreeArguments . unimplementedCostingFun) + (runCostingFunThreeArguments . paramLookupCoin) toBuiltinMeaning _semvar UnionValue = let unionValueDenotation :: Value -> Value -> Value @@ -2068,15 +2069,16 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where {-# INLINE unionValueDenotation #-} in makeBuiltinMeaning unionValueDenotation - (runCostingFunTwoArguments . unimplementedCostingFun) + (runCostingFunTwoArguments . paramUnionValue) toBuiltinMeaning _semvar ValueContains = - let valueContainsDenotation :: Value -> Value -> BuiltinResult Bool - valueContainsDenotation = Value.valueContains + let valueContainsDenotation :: LogValueOuterOrMaxInner -> ValueTotalSize -> BuiltinResult Bool + valueContainsDenotation (LogValueOuterOrMaxInner v1) (ValueTotalSize v2) = + Value.valueContains v1 v2 {-# INLINE valueContainsDenotation #-} in makeBuiltinMeaning valueContainsDenotation - (runCostingFunTwoArguments . unimplementedCostingFun) + (runCostingFunTwoArguments . paramValueContains) toBuiltinMeaning _semvar ValueData = let valueDataDenotation :: Value -> Data @@ -2084,7 +2086,7 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where {-# INLINE valueDataDenotation #-} in makeBuiltinMeaning valueDataDenotation - (runCostingFunOneArgument . unimplementedCostingFun) + (runCostingFunOneArgument . paramValueData) toBuiltinMeaning _semvar UnValueData = let unValueDataDenotation :: Data -> BuiltinResult Value @@ -2092,7 +2094,7 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where {-# INLINE unValueDataDenotation #-} in makeBuiltinMeaning unValueDataDenotation - (runCostingFunOneArgument . unimplementedCostingFun) + (runCostingFunOneArgument . paramUnValueData) -- See Note [Inlining meanings of builtins]. {-# INLINE toBuiltinMeaning #-} diff --git a/plutus-core/plutus-core/src/PlutusCore/Default/Universe.hs b/plutus-core/plutus-core/src/PlutusCore/Default/Universe.hs index 1cb022be55f..61e176d4f03 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Default/Universe.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Default/Universe.hs @@ -52,7 +52,9 @@ import PlutusCore.Crypto.BLS12_381.G2 qualified as BLS12_381.G2 import PlutusCore.Crypto.BLS12_381.Pairing qualified as BLS12_381.Pairing import PlutusCore.Data (Data) import PlutusCore.Evaluation.Machine.ExMemoryUsage (IntegerCostedLiterally (..), - NumBytesCostedAsNumWords (..)) + LogValueOuterOrMaxInner (..), + NumBytesCostedAsNumWords (..), + ValueTotalSize (..)) import PlutusCore.Pretty.Extra (juxtRenderContext) import PlutusCore.Value (Value) @@ -566,6 +568,28 @@ instance KnownBuiltinTypeIn DefaultUni term Integer => readKnown = readKnownCoerce @Integer {-# INLINE readKnown #-} +deriving newtype instance + KnownTypeAst tyname DefaultUni ValueTotalSize +instance KnownBuiltinTypeIn DefaultUni term Value => + MakeKnownIn DefaultUni term ValueTotalSize where + makeKnown = makeKnownCoerce @Value + {-# INLINE makeKnown #-} +instance KnownBuiltinTypeIn DefaultUni term Value => + ReadKnownIn DefaultUni term ValueTotalSize where + readKnown = readKnownCoerce @Value + {-# INLINE readKnown #-} + +deriving newtype instance + KnownTypeAst tyname DefaultUni LogValueOuterOrMaxInner +instance KnownBuiltinTypeIn DefaultUni term Value => + MakeKnownIn DefaultUni term LogValueOuterOrMaxInner where + makeKnown = makeKnownCoerce @Value + {-# INLINE makeKnown #-} +instance KnownBuiltinTypeIn DefaultUni term Value => + ReadKnownIn DefaultUni term LogValueOuterOrMaxInner where + readKnown = readKnownCoerce @Value + {-# INLINE readKnown #-} + deriving via AsInteger Natural instance KnownTypeAst tyname DefaultUni Natural instance KnownBuiltinTypeIn DefaultUni term Integer => diff --git a/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/BuiltinCostModel.hs b/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/BuiltinCostModel.hs index 9cb77e0bb64..87cd1809d53 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/BuiltinCostModel.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/BuiltinCostModel.hs @@ -193,6 +193,13 @@ data BuiltinCostModelBase f = , paramLengthOfArray :: f ModelOneArgument , paramListToArray :: f ModelOneArgument , paramIndexArray :: f ModelTwoArguments + -- Builtin values + , paramLookupCoin :: f ModelThreeArguments + , paramValueContains :: f ModelTwoArguments + , paramValueData :: f ModelOneArgument + , paramUnValueData :: f ModelOneArgument + , paramInsertCoin :: f ModelFourArguments + , paramUnionValue :: f ModelTwoArguments } deriving stock (Generic) deriving anyclass (FunctorB, TraversableB, ConstraintsB) diff --git a/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExBudgetingDefaults.hs b/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExBudgetingDefaults.hs index b70266cb250..626457c2b40 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExBudgetingDefaults.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExBudgetingDefaults.hs @@ -238,6 +238,9 @@ unitCostTwoArguments = CostingFun (ModelTwoArgumentsConstantCost 1) (ModelTwo unitCostThreeArguments :: CostingFun ModelThreeArguments unitCostThreeArguments = CostingFun (ModelThreeArgumentsConstantCost 1) (ModelThreeArgumentsConstantCost 0) +unitCostFourArguments :: CostingFun ModelFourArguments +unitCostFourArguments = CostingFun (ModelFourArgumentsConstantCost 1) (ModelFourArgumentsConstantCost 0) + unitCostSixArguments :: CostingFun ModelSixArguments unitCostSixArguments = CostingFun (ModelSixArgumentsConstantCost 1) (ModelSixArgumentsConstantCost 0) @@ -355,6 +358,13 @@ unitCostBuiltinCostModel = BuiltinCostModelBase , paramLengthOfArray = unitCostOneArgument , paramListToArray = unitCostOneArgument , paramIndexArray = unitCostTwoArguments + -- Builtin values + , paramLookupCoin = unitCostThreeArguments + , paramValueContains = unitCostTwoArguments + , paramValueData = unitCostOneArgument + , paramUnValueData = unitCostOneArgument + , paramInsertCoin = unitCostFourArguments + , paramUnionValue = unitCostTwoArguments } unitCekParameters :: Typeable ann => MachineParameters CekMachineCosts DefaultFun (CekValue DefaultUni DefaultFun ann) diff --git a/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExMemoryUsage.hs b/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExMemoryUsage.hs index 101082a296f..590d886a655 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExMemoryUsage.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Evaluation/Machine/ExMemoryUsage.hs @@ -14,6 +14,8 @@ module PlutusCore.Evaluation.Machine.ExMemoryUsage , IntegerCostedLiterally(..) , ValueTotalSize(..) , ValueOuterOrMaxInner(..) + , Logarithmic(..) + , LogValueOuterOrMaxInner(..) ) where import PlutusCore.Crypto.BLS12_381.G1 as BLS12_381.G1 @@ -34,11 +36,11 @@ import Data.Text qualified as T import Data.Vector.Strict (Vector) import Data.Vector.Strict qualified as Vector import Data.Word -import GHC.Exts (Int (I#)) +import GHC.Exts (Int (I#), quotInt#) import GHC.Integer import GHC.Integer.Logarithms import GHC.Natural -import GHC.Prim +import GHC.Num.Integer (integerLog2) import Universe {- @@ -391,6 +393,48 @@ instance ExMemoryUsage ValueOuterOrMaxInner where where size = Map.size (Value.unpack v) `max` Value.maxInnerSize v +{-| A wrapper that applies a logarithmic transformation to another size measure. +This is useful for modeling operations with logarithmic complexity, where the cost +depends on log(n) where n is the size measure from the wrapped newtype. + +For example, @Logarithmic ValueOuterOrMaxInner@ can be used to model operations +that are O(log max(m, k)) where m is the number of policies and k is the max tokens +per policy. + +The memory usage is calculated as: @max 1 (floor (log2 size + 1))@ where size comes +from the wrapped newtype's ExMemoryUsage instance. +-} +newtype Logarithmic n = Logarithmic { unLogarithmic :: n } + +instance ExMemoryUsage n => ExMemoryUsage (Logarithmic n) where + memoryUsage (Logarithmic wrapped) = + case memoryUsage wrapped of + CostRose size _ -> + let sizeInteger :: Integer + sizeInteger = fromSatInt size + logSize = integerLog2 sizeInteger + in singletonRose $ max 1 (fromIntegral (logSize + 1)) + {-# INLINE memoryUsage #-} + +{-| A combined wrapper for Value that measures size using outer/max inner map sizes +with logarithmic transformation. This is equivalent to @Logarithmic ValueOuterOrMaxInner@ +but defined as a single newtype for simpler type instances and better error messages. + +Used for builtins like lookupCoin and valueContains where the cost depends on +O(log max(m, k)) where m is the number of policies and k is the max tokens per policy. + +If this is used to wrap an argument in the denotation of a builtin then it *MUST* also +be used to wrap the same argument in the relevant budgeting benchmark. +-} +newtype LogValueOuterOrMaxInner = LogValueOuterOrMaxInner { unLogValueOuterOrMaxInner :: Value } + +instance ExMemoryUsage LogValueOuterOrMaxInner where + memoryUsage (LogValueOuterOrMaxInner v) = + let size = Map.size (Value.unpack v) `max` Value.maxInnerSize v + logSize = integerLog2 (toInteger size) + in singletonRose $ max 1 (fromIntegral (logSize + 1)) + {-# INLINE memoryUsage #-} + {- Note [Costing constant-size types] The memory usage of each of the BLS12-381 types is constant, so we may be able to optimise things a little by ensuring that we don't re-compute the size of