diff --git a/.gas-snapshot b/.gas-snapshot index 43819f745..ebcd86d7c 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,16 +1,16 @@ -BaseRainterpreterExternNPE2IERC165Test:testRainterpreterExternNPE2IERC165(bytes4) (runs: 2049, μ: 275391, ~: 275391) -BaseRainterpreterSubParserNPE2IERC165Test:testRainterpreterSubParserNPE2IERC165(uint32) (runs: 2049, μ: 599673, ~: 599673) +BaseRainterpreterExternNPE2IERC165Test:testRainterpreterExternNPE2IERC165(bytes4) (runs: 2048, μ: 275391, ~: 275391) +BaseRainterpreterSubParserNPE2IERC165Test:testRainterpreterSubParserNPE2IERC165(uint32) (runs: 2048, μ: 599673, ~: 599673) LibAllStandardOpsTest:testIntegrityAndOpcodeFunctionPointersLength() (gas: 84146) LibAllStandardOpsTest:testIntegrityFunctionPointersLength() (gas: 11759) LibAllStandardOpsTest:testOpcodeFunctionPointersLength() (gas: 11744) -LibEvalFBoundsTest:testEvalNPFBoundsModConstant(bytes32) (runs: 2049, μ: 87643, ~: 87643) -LibExternCodecTest:testLibExternCodecEncodeExternCall(uint256,bytes32) (runs: 2049, μ: 9827, ~: 10350) -LibExternCodecTest:testLibExternCodecEncodeExternDispatch(uint256,bytes32) (runs: 2049, μ: 8920, ~: 9443) -LibInterpreterStateStackTraceTest:testStackTraceCall(uint256,uint256,uint256[]) (runs: 2049, μ: 43152, ~: 42658) +LibEvalFBoundsTest:testEvalNPFBoundsModConstant(bytes32) (runs: 2048, μ: 87643, ~: 87643) +LibExternCodecTest:testLibExternCodecEncodeExternCall(uint256,bytes32) (runs: 2048, μ: 9828, ~: 10350) +LibExternCodecTest:testLibExternCodecEncodeExternDispatch(uint256,bytes32) (runs: 2048, μ: 8921, ~: 9443) +LibInterpreterStateStackTraceTest:testStackTraceCall(uint256,uint256,uint256[]) (runs: 2048, μ: 43165, ~: 42680) LibOpAbsTest:testOpAbsEval() (gas: 295828) LibOpAbsTest:testOpAbsEvalOperandDisallowed() (gas: 17666) -LibOpAbsTest:testOpAbsIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13747, ~: 13661) -LibOpAbsTest:testOpAbsRun(bytes32,uint16) (runs: 2049, μ: 17602, ~: 17543) +LibOpAbsTest:testOpAbsIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13744, ~: 13661) +LibOpAbsTest:testOpAbsRun(bytes32,uint16) (runs: 2048, μ: 17602, ~: 17543) LibOpAbsTest:testOpAbsTwoInputs() (gas: 40309) LibOpAbsTest:testOpAbsTwoOutputs() (gas: 36043) LibOpAbsTest:testOpAbsZeroInputs() (gas: 30274) @@ -26,10 +26,10 @@ LibOpAddTest:testOpAddEvalOperandDisallowed() (gas: 92698) LibOpAddTest:testOpAddEvalTwoOutput() (gas: 44431) LibOpAddTest:testOpAddEvalZeroInputs() (gas: 30401) LibOpAddTest:testOpAddEvalZeroOutputs() (gas: 43449) -LibOpAddTest:testOpAddIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18262, ~: 18443) -LibOpAddTest:testOpAddIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13867, ~: 13733) -LibOpAddTest:testOpAddIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13864, ~: 13730) -LibOpAddTest:testOpAddRun(bytes32[]) (runs: 2049, μ: 81873, ~: 81638) +LibOpAddTest:testOpAddIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18266, ~: 18435) +LibOpAddTest:testOpAddIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13865, ~: 13729) +LibOpAddTest:testOpAddIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13862, ~: 13726) +LibOpAddTest:testOpAddRun(bytes32[]) (runs: 2048, μ: 81886, ~: 82663) LibOpAnyTest:testOpAnyEval1FalseInput() (gas: 52169) LibOpAnyTest:testOpAnyEval1TrueInput() (gas: 52159) LibOpAnyTest:testOpAnyEval2FalseInputs() (gas: 57530) @@ -39,9 +39,9 @@ LibOpAnyTest:testOpAnyEval2MixedInputsZeroExponent() (gas: 59275) LibOpAnyTest:testOpAnyEval2TrueInputs() (gas: 58191) LibOpAnyTest:testOpAnyEvalFail() (gas: 29866) LibOpAnyTest:testOpAnyIntegrityGas0() (gas: 3263) -LibOpAnyTest:testOpAnyIntegrityHappy(uint8,uint16) (runs: 2049, μ: 8314, ~: 8583) +LibOpAnyTest:testOpAnyIntegrityHappy(uint8,uint16) (runs: 2048, μ: 8309, ~: 8432) LibOpAnyTest:testOpAnyIntegrityUnhappyZeroInputs() (gas: 4059) -LibOpAnyTest:testOpAnyRun(bytes32[],uint16) (runs: 2049, μ: 21937, ~: 21917) +LibOpAnyTest:testOpAnyRun(bytes32[],uint16) (runs: 2048, μ: 21937, ~: 21917) LibOpAnyTest:testOpAnyRunGas0() (gas: 3369) LibOpAnyTest:testOpAnyTwoOutputs() (gas: 35977) LibOpAnyTest:testOpAnyZeroOutputs() (gas: 34947) @@ -51,8 +51,8 @@ LibOpAvgTest:testOpAvgEvalOperandDisallowed() (gas: 17707) LibOpAvgTest:testOpAvgEvalThreeInputs() (gas: 45333) LibOpAvgTest:testOpAvgEvalTwoOutputs() (gas: 40956) LibOpAvgTest:testOpAvgEvalZeroOutputs() (gas: 39908) -LibOpAvgTest:testOpAvgIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13769, ~: 13683) -LibOpAvgTest:testOpAvgRun(int256,int256,int256,int256,uint16) (runs: 2049, μ: 45882, ~: 45937) +LibOpAvgTest:testOpAvgIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13766, ~: 13683) +LibOpAvgTest:testOpAvgRun(int256,int256,int256,int256,uint16) (runs: 2048, μ: 45855, ~: 45908) LibOpBinaryEqualToTest:testOpBinaryEqualToEval2() (gas: 209368) LibOpBinaryEqualToTest:testOpBinaryEqualToEval2InputsBothOne() (gas: 58239) LibOpBinaryEqualToTest:testOpBinaryEqualToEval2InputsFirstOneSecondZero() (gas: 58927) @@ -61,13 +61,13 @@ LibOpBinaryEqualToTest:testOpBinaryEqualToEval2ZeroInputs() (gas: 58200) LibOpBinaryEqualToTest:testOpBinaryEqualToEvalFail0Inputs() (gas: 30768) LibOpBinaryEqualToTest:testOpBinaryEqualToEvalFail1Input() (gas: 35109) LibOpBinaryEqualToTest:testOpBinaryEqualToEvalFail3Inputs() (gas: 43649) -LibOpBinaryEqualToTest:testOpBinaryEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19723, ~: 19952) -LibOpBinaryEqualToTest:testOpBinaryEqualToRun(bytes32,bytes32) (runs: 2049, μ: 16758, ~: 16758) +LibOpBinaryEqualToTest:testOpBinaryEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19718, ~: 19952) +LibOpBinaryEqualToTest:testOpBinaryEqualToRun(bytes32,bytes32) (runs: 2048, μ: 16758, ~: 16758) LibOpBinaryEqualToTest:testOpBinaryEqualToTwoOutputs() (gas: 41850) LibOpBinaryEqualToTest:testOpBinaryEqualToZeroOutputs() (gas: 40781) LibOpBitwiseAndNPTest:testOpBitwiseAndNPEvalHappy() (gas: 723863) -LibOpBitwiseAndNPTest:testOpBitwiseAndNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13747, ~: 13661) -LibOpBitwiseAndNPTest:testOpBitwiseAndNPRun(bytes32,bytes32) (runs: 2049, μ: 16755, ~: 16755) +LibOpBitwiseAndNPTest:testOpBitwiseAndNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13744, ~: 13661) +LibOpBitwiseAndNPTest:testOpBitwiseAndNPRun(bytes32,bytes32) (runs: 2048, μ: 16755, ~: 16755) LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalBadOperand() (gas: 18311) LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalOneInput() (gas: 35945) LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalThreeInputs() (gas: 45824) @@ -81,34 +81,34 @@ LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalThreeInputs() (gas: 45722) LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalTwoOutputs() (gas: 41491) LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalZeroInputs() (gas: 30809) LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalZeroOutputs() (gas: 40488) -LibOpBitwiseOrNPTest:testOpBitwiseORNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13746, ~: 13660) -LibOpBitwiseOrNPTest:testOpBitwiseORNPRun(bytes32,bytes32) (runs: 2049, μ: 16712, ~: 16712) -LibOpBlockNumberTest:testOpBlockNumberEval(uint256) (runs: 2049, μ: 51188, ~: 50966) +LibOpBitwiseOrNPTest:testOpBitwiseORNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13743, ~: 13660) +LibOpBitwiseOrNPTest:testOpBitwiseORNPRun(bytes32,bytes32) (runs: 2048, μ: 16712, ~: 16712) +LibOpBlockNumberTest:testOpBlockNumberEval(uint256) (runs: 2048, μ: 51192, ~: 50966) LibOpBlockNumberTest:testOpBlockNumberEvalOneInput() (gas: 35318) LibOpBlockNumberTest:testOpBlockNumberEvalTwoOutputs() (gas: 31598) LibOpBlockNumberTest:testOpBlockNumberEvalZeroOutputs() (gas: 30589) -LibOpBlockNumberTest:testOpBlockNumberIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19676, ~: 19926) -LibOpBlockNumberTest:testOpBlockNumberRun(uint256,uint16) (runs: 2049, μ: 20980, ~: 20647) +LibOpBlockNumberTest:testOpBlockNumberIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19674, ~: 19901) +LibOpBlockNumberTest:testOpBlockNumberRun(uint256,uint16) (runs: 2048, μ: 20983, ~: 20647) LibOpCallTest:testCallTraceInnerOnly() (gas: 63489) LibOpCallTest:testCallTraceOuterOnly() (gas: 45913) -LibOpCallTest:testOpCallNPIntegrityIO((uint256,uint256,uint256,bytes32[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2049, μ: 40145, ~: 38817) -LibOpCallTest:testOpCallNPIntegritySourceIndexOutOfBounds((uint256,uint256,uint256,bytes32[],uint256,bytes),uint256,uint256,uint256,uint256,bytes32) (runs: 2049, μ: 59674, ~: 59004) -LibOpCallTest:testOpCallNPIntegrityTooManyOutputs((uint256,uint256,uint256,bytes32[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2049, μ: 59154, ~: 59520) +LibOpCallTest:testOpCallNPIntegrityIO((uint256,uint256,uint256,bytes32[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2048, μ: 40118, ~: 38782) +LibOpCallTest:testOpCallNPIntegritySourceIndexOutOfBounds((uint256,uint256,uint256,bytes32[],uint256,bytes),uint256,uint256,uint256,uint256,bytes32) (runs: 2048, μ: 59604, ~: 59310) +LibOpCallTest:testOpCallNPIntegrityTooManyOutputs((uint256,uint256,uint256,bytes32[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2048, μ: 59267, ~: 59671) LibOpCallTest:testOpCallNPRunInputsMismatch() (gas: 73229) LibOpCallTest:testOpCallNPRunOutputsMismatch() (gas: 66065) LibOpCallTest:testOpCallNPRunSourceDoesNotExist() (gas: 353359) LibOpCeilTest:testOpCeilEval() (gas: 545489) LibOpCeilTest:testOpCeilEvalOperandDisallowed() (gas: 17724) -LibOpCeilTest:testOpCeilIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13790, ~: 13704) -LibOpCeilTest:testOpCeilRun(bytes32,uint16) (runs: 2049, μ: 17133, ~: 16734) +LibOpCeilTest:testOpCeilIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13787, ~: 13704) +LibOpCeilTest:testOpCeilRun(bytes32,uint16) (runs: 2048, μ: 17134, ~: 16734) LibOpCeilTest:testOpCeilTwoInputs() (gas: 40390) LibOpCeilTest:testOpCeilTwoOutputs() (gas: 36144) LibOpCeilTest:testOpCeilZeroInputs() (gas: 30333) LibOpCeilTest:testOpCeilZeroOutputs() (gas: 35115) -LibOpChainIdTest:testOpChainIDEval(uint64) (runs: 2049, μ: 47245, ~: 47245) -LibOpChainIdTest:testOpChainIDIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19698, ~: 19930) +LibOpChainIdTest:testOpChainIDEval(uint64) (runs: 2048, μ: 47245, ~: 47245) +LibOpChainIdTest:testOpChainIDIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19702, ~: 19950) LibOpChainIdTest:testOpChainIdEvalFail() (gas: 34504) -LibOpChainIdTest:testOpChainIdRun(uint64,uint16) (runs: 2049, μ: 17248, ~: 17250) +LibOpChainIdTest:testOpChainIdRun(uint64,uint16) (runs: 2048, μ: 17248, ~: 17250) LibOpChainIdTest:testOpChainIdTwoOutputs() (gas: 31287) LibOpChainIdTest:testOpChainIdZeroOutputs() (gas: 30236) LibOpConditionsTest:testOpConditionsEval1FalseInput1TrueInput() (gas: 71209) @@ -121,37 +121,37 @@ LibOpConditionsTest:testOpConditionsEvalErrorCode() (gas: 68018) LibOpConditionsTest:testOpConditionsEvalFail0Inputs() (gas: 30508) LibOpConditionsTest:testOpConditionsEvalFail1Inputs() (gas: 34818) LibOpConditionsTest:testOpConditionsEvalUnhappyOperand() (gas: 18194) -LibOpConditionsTest:testOpConditionsIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 20257, ~: 20503) -LibOpConditionsTest:testOpConditionsRun(bytes32[],bytes32) (runs: 2049, μ: 19868, ~: 19982) -LibOpConditionsTest:testOpConditionsRunNoConditionsMet(bytes32[],string) (runs: 2049, μ: 29310, ~: 29517) +LibOpConditionsTest:testOpConditionsIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 20264, ~: 20534) +LibOpConditionsTest:testOpConditionsRun(bytes32[],bytes32) (runs: 2048, μ: 19869, ~: 19982) +LibOpConditionsTest:testOpConditionsRunNoConditionsMet(bytes32[],string) (runs: 2048, μ: 29316, ~: 29517) LibOpConditionsTest:testOpConditionsTwoOutputs() (gas: 40134) LibOpConditionsTest:testOpConditionsZeroOutputs() (gas: 39084) LibOpConstantTest:testOpConstantEvalNPE2E() (gas: 56614) LibOpConstantTest:testOpConstantEvalZeroConstants() (gas: 41710) -LibOpConstantTest:testOpConstantNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 19216, ~: 19116) -LibOpConstantTest:testOpConstantNPIntegrityOOBConstants((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 40193, ~: 39854) +LibOpConstantTest:testOpConstantNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 19212, ~: 19116) +LibOpConstantTest:testOpConstantNPIntegrityOOBConstants((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 40188, ~: 39854) LibOpConstantTest:testOpConstantNPMultipleOutputErrorSugared() (gas: 31874) LibOpConstantTest:testOpConstantNPMultipleOutputErrorUnsugared() (gas: 41881) -LibOpConstantTest:testOpConstantNPRun(bytes32[],uint16) (runs: 2049, μ: 52615, ~: 52030) +LibOpConstantTest:testOpConstantNPRun(bytes32[],uint16) (runs: 2048, μ: 52629, ~: 52030) LibOpConstantTest:testOpConstantNPZeroOutputErrorSugared() (gas: 30490) LibOpConstantTest:testOpConstantNPZeroOutputErrorUnsugared() (gas: 40509) -LibOpContextNPTest:testOpContextNPEval00(bytes32[][]) (runs: 101, μ: 6743583, ~: 5524090) -LibOpContextNPTest:testOpContextNPEval01(bytes32[][]) (runs: 101, μ: 6771829, ~: 5524313) -LibOpContextNPTest:testOpContextNPEval10(bytes32[][]) (runs: 101, μ: 6743769, ~: 5524276) -LibOpContextNPTest:testOpContextNPEval11(bytes32[][]) (runs: 101, μ: 6729730, ~: 5448287) -LibOpContextNPTest:testOpContextNPEvalOOBi(bytes32[]) (runs: 101, μ: 76266, ~: 75858) -LibOpContextNPTest:testOpContextNPEvalOOBj(bytes32) (runs: 2049, μ: 48608, ~: 48608) -LibOpContextNPTest:testOpContextNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 14498, ~: 14412) +LibOpContextNPTest:testOpContextNPEval00(bytes32[][]) (runs: 100, μ: 6808020, ~: 5565446) +LibOpContextNPTest:testOpContextNPEval01(bytes32[][]) (runs: 100, μ: 6836546, ~: 5565669) +LibOpContextNPTest:testOpContextNPEval10(bytes32[][]) (runs: 100, μ: 6808206, ~: 5565632) +LibOpContextNPTest:testOpContextNPEval11(bytes32[][]) (runs: 100, μ: 6794025, ~: 5486358) +LibOpContextNPTest:testOpContextNPEvalOOBi(bytes32[]) (runs: 100, μ: 76526, ~: 76085) +LibOpContextNPTest:testOpContextNPEvalOOBj(bytes32) (runs: 2048, μ: 48608, ~: 48608) +LibOpContextNPTest:testOpContextNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 14495, ~: 14412) LibOpContextNPTest:testOpContextNPOneInput() (gas: 41890) -LibOpContextNPTest:testOpContextNPRun(bytes32[][],uint256,uint256) (runs: 101, μ: 10672144, ~: 8522447) -LibOpContextNPTest:testOpContextNPRunOOBi(bytes32[][],uint256,uint256) (runs: 101, μ: 11019094, ~: 9072059) -LibOpContextNPTest:testOpContextNPRunOOBj(bytes32[][],uint256,uint256) (runs: 101, μ: 11028703, ~: 9072992) +LibOpContextNPTest:testOpContextNPRun(bytes32[][],uint256,uint256) (runs: 100, μ: 10775889, ~: 8803527) +LibOpContextNPTest:testOpContextNPRunOOBi(bytes32[][],uint256,uint256) (runs: 100, μ: 11125708, ~: 9352711) +LibOpContextNPTest:testOpContextNPRunOOBj(bytes32[][],uint256,uint256) (runs: 100, μ: 11135419, ~: 9353644) LibOpContextNPTest:testOpContextNPTwoInputs() (gas: 46809) LibOpContextNPTest:testOpContextNPTwoOutputs() (gas: 37503) LibOpContextNPTest:testOpContextNPZeroOutputs() (gas: 36451) -LibOpCtPopNPTest:testOpCtPopNPEval(bytes32) (runs: 2049, μ: 75251, ~: 86654) -LibOpCtPopNPTest:testOpCtPopNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13745, ~: 13659) -LibOpCtPopNPTest:testOpCtPopNPRun(bytes32) (runs: 2049, μ: 16785, ~: 16785) +LibOpCtPopNPTest:testOpCtPopNPEval(bytes32) (runs: 2048, μ: 75320, ~: 86680) +LibOpCtPopNPTest:testOpCtPopNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13742, ~: 13659) +LibOpCtPopNPTest:testOpCtPopNPRun(bytes32) (runs: 2048, μ: 16785, ~: 16785) LibOpCtPopNPTest:testOpCtPopNPTwoInputs() (gas: 41379) LibOpCtPopNPTest:testOpCtPopNPTwoOutputs() (gas: 37196) LibOpCtPopNPTest:testOpCtPopNPZeroInputs() (gas: 31405) @@ -161,10 +161,10 @@ LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalTwoInputs() (gas: 48022) LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalTwoOutputs() (gas: 43819) LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalZeroInputs() (gas: 38094) LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalZeroOutputs() (gas: 42766) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint8,uint8) (runs: 2049, μ: 22185, ~: 22285) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFail((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8) (runs: 2049, μ: 41560, ~: 41608) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2049, μ: 35722, ~: 35462) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPRun(bytes32,uint8,uint8) (runs: 2049, μ: 21096, ~: 20910) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint8,uint8) (runs: 2048, μ: 22178, ~: 22261) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFail((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8) (runs: 2048, μ: 41547, ~: 41608) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2048, μ: 35713, ~: 35462) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPRun(bytes32,uint8,uint8) (runs: 2048, μ: 21103, ~: 20910) LibOpDivTest:testDebugOpDivRun() (gas: 12958) LibOpDivTest:testOpDivEvalOneInput() (gas: 127953) LibOpDivTest:testOpDivEvalOperandsDisallowed() (gas: 92422) @@ -177,21 +177,21 @@ LibOpDivTest:testOpDivEvalTwoInputsUnhappyOverflow() (gas: 60116) LibOpDivTest:testOpDivEvalTwoOutputs() (gas: 41530) LibOpDivTest:testOpDivEvalZeroInputs() (gas: 30353) LibOpDivTest:testOpDivEvalZeroOutputs() (gas: 40504) -LibOpDivTest:testOpDivIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18242, ~: 18399) -LibOpDivTest:testOpDivIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13820, ~: 13686) -LibOpDivTest:testOpDivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13821, ~: 13687) -LibOpDivTest:testOpDivRun(bytes32[]) (runs: 2049, μ: 77139, ~: 74807) +LibOpDivTest:testOpDivIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18240, ~: 18399) +LibOpDivTest:testOpDivIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13818, ~: 13682) +LibOpDivTest:testOpDivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13819, ~: 13683) +LibOpDivTest:testOpDivRun(bytes32[]) (runs: 2048, μ: 77132, ~: 74089) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalFourInputs() (gas: 56147) -LibOpERC20AllowanceTest:testOpERC20AllowanceEvalHappy(uint256,uint8) (runs: 2049, μ: 72583, ~: 72496) +LibOpERC20AllowanceTest:testOpERC20AllowanceEvalHappy(uint256,uint8) (runs: 2048, μ: 72582, ~: 72496) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalOneInput() (gas: 37285) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalOperandDisallowed() (gas: 18704) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalTwoInputs() (gas: 43854) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalTwoOutputs() (gas: 50927) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalZeroInputs() (gas: 31252) LibOpERC20AllowanceTest:testOpERC20AllowanceEvalZeroOutputs() (gas: 49903) -LibOpERC20AllowanceTest:testOpERC20AllowanceIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13709, ~: 13623) -LibOpERC20AllowanceTest:testOpERC20AllowanceRun(address,address,address,uint256,uint8) (runs: 2049, μ: 27899, ~: 27815) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalHappy(uint256,uint8) (runs: 2049, μ: 66503, ~: 66505) +LibOpERC20AllowanceTest:testOpERC20AllowanceIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13706, ~: 13623) +LibOpERC20AllowanceTest:testOpERC20AllowanceRun(address,address,address,uint256,uint8) (runs: 2048, μ: 27899, ~: 27815) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalHappy(uint256,uint8) (runs: 2048, μ: 66503, ~: 66505) LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalOneInput() (gas: 37396) LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalOperandDisallowed() (gas: 18762) LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalOverflow(uint256,uint8) (runs: 2048, μ: 62719, ~: 62719) @@ -199,33 +199,33 @@ LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalThreeInputs() (gas: 49800) LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalTwoOutputs() (gas: 44630) LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalZeroInputs() (gas: 31317) LibOpERC20BalanceOfTest:testOpERC20BalanceOfEvalZeroOutputs() (gas: 43562) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13688, ~: 13602) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfRun(address,address,uint256,uint16,uint8) (runs: 2049, μ: 28232, ~: 28234) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalHappy(uint256,uint8) (runs: 2049, μ: 59622, ~: 59624) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13685, ~: 13602) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfRun(address,address,uint256,uint16,uint8) (runs: 2048, μ: 28232, ~: 28234) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalHappy(uint256,uint8) (runs: 2048, μ: 59622, ~: 59624) LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalOperandDisallowed() (gas: 18925) LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalOverflow(uint256,uint8) (runs: 2048, μ: 55804, ~: 55804) LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalTwoInputs() (gas: 44082) LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalTwoOutputs() (gas: 38405) LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalZeroInputs() (gas: 31500) LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyEvalZeroOutputs() (gas: 37377) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13732, ~: 13646) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPRun(address,uint256,uint16,uint8) (runs: 2049, μ: 27422, ~: 27424) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13729, ~: 13646) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPRun(address,uint256,uint16,uint8) (runs: 2048, μ: 27422, ~: 27424) LibOpERC5313OwnerTest:testOpERC5313OwnerEvalHappy() (gas: 55504) LibOpERC5313OwnerTest:testOpERC5313OwnerEvalOperandDisallowed() (gas: 18443) LibOpERC5313OwnerTest:testOpERC5313OwnerEvalTwoInputs() (gas: 43672) LibOpERC5313OwnerTest:testOpERC5313OwnerEvalTwoOutputs() (gas: 37837) LibOpERC5313OwnerTest:testOpERC5313OwnerEvalZeroInputs() (gas: 31088) LibOpERC5313OwnerTest:testOpERC5313OwnerEvalZeroOutputs() (gas: 36808) -LibOpERC5313OwnerTest:testOpERC5313OwnerOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13749, ~: 13663) -LibOpERC5313OwnerTest:testOpERC5313OwnerOfRun(address,address,uint16) (runs: 2049, μ: 23741, ~: 23741) -LibOpERC721BalanceOfTest:testOpERC721BalanceOfEvalHappy(address,address,uint256) (runs: 2049, μ: 107209, ~: 107374) -LibOpERC721BalanceOfTest:testOpERC721BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19694, ~: 19916) +LibOpERC5313OwnerTest:testOpERC5313OwnerOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13746, ~: 13663) +LibOpERC5313OwnerTest:testOpERC5313OwnerOfRun(address,address,uint16) (runs: 2048, μ: 23741, ~: 23741) +LibOpERC721BalanceOfTest:testOpERC721BalanceOfEvalHappy(address,address,uint256) (runs: 2048, μ: 107205, ~: 107374) +LibOpERC721BalanceOfTest:testOpERC721BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19687, ~: 19928) LibOpERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail0() (gas: 30952) LibOpERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail1() (gas: 35263) LibOpERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail3() (gas: 44740) LibOpERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFailOperand() (gas: 21664) LibOpERC721BalanceOfTest:testOpERC721BalanceOfOneInput() (gas: 35745) -LibOpERC721BalanceOfTest:testOpERC721BalanceOfRun(address,address,uint256,uint16) (runs: 2049, μ: 26278, ~: 26281) +LibOpERC721BalanceOfTest:testOpERC721BalanceOfRun(address,address,uint256,uint16) (runs: 2048, μ: 26278, ~: 26281) LibOpERC721BalanceOfTest:testOpERC721BalanceOfThreeInputs() (gas: 45275) LibOpERC721BalanceOfTest:testOpERC721BalanceOfTwoOutputs() (gas: 41253) LibOpERC721BalanceOfTest:testOpERC721BalanceOfZeroInputs() (gas: 31401) @@ -234,30 +234,30 @@ LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail0() (gas: 30835) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail1() (gas: 35144) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail3() (gas: 44676) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFailOperand() (gas: 18295) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalHappy(address,uint256,address) (runs: 2049, μ: 97920, ~: 93767) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalHappy(address,uint256,address) (runs: 2048, μ: 97753, ~: 93663) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalOneInput() (gas: 35617) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalThreeInputs() (gas: 45156) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalZeroInputs() (gas: 31297) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalZeroOutputs() (gas: 39922) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2049, μ: 13762, ~: 13698) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPRun(address,bytes32,address,uint16) (runs: 2049, μ: 24357, ~: 24357) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2048, μ: 13759, ~: 13698) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPRun(address,bytes32,address,uint16) (runs: 2048, μ: 24357, ~: 24357) LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPTwoOutputs() (gas: 40968) LibOpETest:testOpEEval() (gas: 44802) LibOpETest:testOpEEvalOneInput() (gas: 34410) LibOpETest:testOpEEvalTwoOutputs() (gas: 30756) LibOpETest:testOpEEvalZeroOutputs() (gas: 29705) -LibOpETest:testOpEIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19726, ~: 19973) -LibOpETest:testOpERun(uint16) (runs: 2049, μ: 16216, ~: 16216) +LibOpETest:testOpEIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19718, ~: 19981) +LibOpETest:testOpERun(uint16) (runs: 2048, μ: 16216, ~: 16216) LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalHappy() (gas: 838972) LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalOneInput() (gas: 42368) LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalThreeInputs() (gas: 52225) LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalTwoOutputs() (gas: 47996) LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalZeroInputs() (gas: 37334) LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalZeroOutputs() (gas: 46992) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8) (runs: 2049, μ: 18151, ~: 18147) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFail((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8) (runs: 2049, μ: 41763, ~: 41813) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2049, μ: 35848, ~: 35588) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPRun(bytes32,bytes32,uint8,uint8) (runs: 2049, μ: 21488, ~: 21308) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8) (runs: 2048, μ: 18145, ~: 18210) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFail((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8) (runs: 2048, μ: 41757, ~: 41804) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2048, μ: 35839, ~: 35588) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPRun(bytes32,bytes32,uint8,uint8) (runs: 2048, μ: 21493, ~: 21308) LibOpEnsureTest:testOpEnsureEvalBadOutputs() (gas: 34835) LibOpEnsureTest:testOpEnsureEvalBadOutputs2() (gas: 34284) LibOpEnsureTest:testOpEnsureEvalHappy() (gas: 167094) @@ -266,10 +266,10 @@ LibOpEnsureTest:testOpEnsureEvalThree() (gas: 45784) LibOpEnsureTest:testOpEnsureEvalUnhappy() (gas: 166023) LibOpEnsureTest:testOpEnsureEvalUnhappyOperand() (gas: 17158) LibOpEnsureTest:testOpEnsureEvalZero() (gas: 29771) -LibOpEnsureTest:testOpEnsureIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19753, ~: 19975) -LibOpEnsureTest:testOpEnsureIntegrityUnhappy((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13811, ~: 13677) +LibOpEnsureTest:testOpEnsureIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19751, ~: 20049) +LibOpEnsureTest:testOpEnsureIntegrityUnhappy((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13809, ~: 13673) LibOpEnsureTest:testOpEnsureOneOutput() (gas: 39848) -LibOpEnsureTest:testOpEnsureRun(bytes32,string) (runs: 2049, μ: 18215, ~: 18253) +LibOpEnsureTest:testOpEnsureRun(bytes32,string) (runs: 2048, μ: 18215, ~: 18253) LibOpEqualToNPTest:testOpEqualToEval2Inputs() (gas: 342281) LibOpEqualToNPTest:testOpEqualToEval2InputsBothOne() (gas: 58063) LibOpEqualToNPTest:testOpEqualToEval2InputsFirstOneSecondZero() (gas: 58708) @@ -278,8 +278,8 @@ LibOpEqualToNPTest:testOpEqualToEval2ZeroInputs() (gas: 58002) LibOpEqualToNPTest:testOpEqualToEvalFail0Inputs() (gas: 30201) LibOpEqualToNPTest:testOpEqualToEvalFail1Input() (gas: 34533) LibOpEqualToNPTest:testOpEqualToEvalFail3Inputs() (gas: 42999) -LibOpEqualToNPTest:testOpEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19699, ~: 19955) -LibOpEqualToNPTest:testOpEqualToRun(bytes32,bytes32) (runs: 2049, μ: 17649, ~: 17574) +LibOpEqualToNPTest:testOpEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19694, ~: 19927) +LibOpEqualToNPTest:testOpEqualToRun(bytes32,bytes32) (runs: 2048, μ: 17651, ~: 17574) LibOpEqualToNPTest:testOpEqualToTwoOutputs() (gas: 41305) LibOpEqualToNPTest:testOpEqualToZeroOutputs() (gas: 40214) LibOpEveryTest:testOpEveryEval1FalseInput() (gas: 52288) @@ -290,24 +290,24 @@ LibOpEveryTest:testOpEveryEval2MixedInputs2() (gas: 58299) LibOpEveryTest:testOpEveryEval2TrueInputs() (gas: 58733) LibOpEveryTest:testOpEveryEvalFail() (gas: 30001) LibOpEveryTest:testOpEveryEvalZeroWithExponent() (gas: 59369) -LibOpEveryTest:testOpEveryIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19828, ~: 20078) -LibOpEveryTest:testOpEveryIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13859, ~: 13725) -LibOpEveryTest:testOpEveryRun(bytes32[]) (runs: 2049, μ: 21128, ~: 21161) +LibOpEveryTest:testOpEveryIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19821, ~: 20063) +LibOpEveryTest:testOpEveryIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13857, ~: 13721) +LibOpEveryTest:testOpEveryRun(bytes32[]) (runs: 2048, μ: 21135, ~: 21161) LibOpEveryTest:testOpEveryTwoOutputs() (gas: 36219) LibOpEveryTest:testOpEveryZeroOutputs() (gas: 35190) LibOpExp2Test:testOpExp2EvalBad() (gas: 65901) LibOpExp2Test:testOpExp2EvalExample() (gas: 234439) LibOpExp2Test:testOpExp2EvalOperandDisallowed() (gas: 17788) -LibOpExp2Test:testOpExp2Integrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13767, ~: 13681) -LibOpExp2Test:testOpExp2Run(int224,int32,uint16) (runs: 2049, μ: 48525, ~: 42525) +LibOpExp2Test:testOpExp2Integrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13764, ~: 13681) +LibOpExp2Test:testOpExp2Run(int224,int32,uint16) (runs: 2048, μ: 48485, ~: 42525) LibOpExp2Test:testOpExp2TwoOutputs() (gas: 36144) LibOpExp2Test:testOpExp2ZeroOutputs() (gas: 35113) LibOpExpTest:testOpExpEvalExample() (gas: 296721) LibOpExpTest:testOpExpEvalOperandDisallowed() (gas: 17706) LibOpExpTest:testOpExpEvalTwoInputs() (gas: 40395) LibOpExpTest:testOpExpEvalZeroInputs() (gas: 30294) -LibOpExpTest:testOpExpIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13767, ~: 13681) -LibOpExpTest:testOpExpRun(int224,int32,uint16) (runs: 2049, μ: 77755, ~: 76728) +LibOpExpTest:testOpExpIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13764, ~: 13681) +LibOpExpTest:testOpExpRun(int224,int32,uint16) (runs: 2048, μ: 77611, ~: 76444) LibOpExpTest:testOpExpTwoOutputs() (gas: 36085) LibOpExpTest:testOpExpZeroOutputs() (gas: 35054) LibOpExponentialGrowthTest:testOpExponentialGrowthEval() (gas: 814401) @@ -318,25 +318,25 @@ LibOpExponentialGrowthTest:testOpExponentialGrowthEvalTwoInputs() (gas: 42043) LibOpExponentialGrowthTest:testOpExponentialGrowthEvalTwoOutputs() (gas: 47655) LibOpExponentialGrowthTest:testOpExponentialGrowthEvalZeroInputs() (gas: 31156) LibOpExponentialGrowthTest:testOpExponentialGrowthEvalZeroOutputs() (gas: 46586) -LibOpExponentialGrowthTest:testOpExponentialGrowthIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13745, ~: 13659) -LibOpExponentialGrowthTest:testOpExponentialGrowthRun(int224,int32,int224,int32,int224,int32,uint16) (runs: 2049, μ: 86073, ~: 88950) +LibOpExponentialGrowthTest:testOpExponentialGrowthIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13742, ~: 13659) +LibOpExponentialGrowthTest:testOpExponentialGrowthRun(int224,int32,int224,int32,int224,int32,uint16) (runs: 2048, μ: 85557, ~: 88821) LibOpExternNPTest:testOpExternNPEvalHappy() (gas: 101175) LibOpExternNPTest:testOpExternNPEvalMultipleInputsOutputsHappy() (gas: 117163) -LibOpExternNPTest:testOpExternNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2049, μ: 35918, ~: 35937) -LibOpExternNPTest:testOpExternNPIntegrityNotAnExternContract((uint256,uint256,uint256,bytes32[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2049, μ: 54422, ~: 54595) -LibOpExternNPTest:testOpExternNPRunHappy(address,bytes32[],uint16,bytes32[],bytes32[]) (runs: 2049, μ: 119619, ~: 119651) +LibOpExternNPTest:testOpExternNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2048, μ: 35892, ~: 35866) +LibOpExternNPTest:testOpExternNPIntegrityNotAnExternContract((uint256,uint256,uint256,bytes32[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2048, μ: 54352, ~: 54542) +LibOpExternNPTest:testOpExternNPRunHappy(address,bytes32[],uint16,bytes32[],bytes32[]) (runs: 2048, μ: 119469, ~: 119324) LibOpFloorTest:testOpFloorEval() (gas: 255810) LibOpFloorTest:testOpFloorEvalOperandDisallowed() (gas: 17806) -LibOpFloorTest:testOpFloorIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13746, ~: 13660) -LibOpFloorTest:testOpFloorRun(bytes32,uint16) (runs: 2049, μ: 16925, ~: 16734) +LibOpFloorTest:testOpFloorIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13743, ~: 13660) +LibOpFloorTest:testOpFloorRun(bytes32,uint16) (runs: 2048, μ: 16924, ~: 16734) LibOpFloorTest:testOpFloorTwoInputs() (gas: 40493) LibOpFloorTest:testOpFloorTwoOutputs() (gas: 36204) LibOpFloorTest:testOpFloorZeroInputs() (gas: 30437) LibOpFloorTest:testOpFloorZeroOutputs() (gas: 35197) LibOpFracTest:testOpFracEval() (gas: 340201) LibOpFracTest:testOpFracEvalOperandDisallowed() (gas: 17724) -LibOpFracTest:testOpFracIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13788, ~: 13702) -LibOpFracTest:testOpFracRun(bytes32,uint16) (runs: 2049, μ: 17238, ~: 17194) +LibOpFracTest:testOpFracIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13785, ~: 13702) +LibOpFracTest:testOpFracRun(bytes32,uint16) (runs: 2048, μ: 17238, ~: 17194) LibOpFracTest:testOpFracTwoInputs() (gas: 40380) LibOpFracTest:testOpFracTwoOutputs() (gas: 36134) LibOpFracTest:testOpFracZeroInputs() (gas: 30322) @@ -351,17 +351,17 @@ LibOpGetTest:testLibOpGetEvalTwoInputs() (gas: 39937) LibOpGetTest:testLibOpGetEvalTwoOutputs() (gas: 35502) LibOpGetTest:testLibOpGetEvalZeroInputs() (gas: 29898) LibOpGetTest:testLibOpGetEvalZeroOutputs() (gas: 34472) -LibOpGetTest:testLibOpGetIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 20594, ~: 20823) -LibOpGetTest:testLibOpGetRunState(bytes32,bytes32,uint16) (runs: 2049, μ: 19730, ~: 19734) -LibOpGetTest:testLibOpGetRunStateAndStore(bytes32,bytes32,bytes32,uint16) (runs: 2049, μ: 47704, ~: 47718) -LibOpGetTest:testLibOpGetRunStore(bytes32,bytes32,uint16) (runs: 2049, μ: 49975, ~: 49979) -LibOpGetTest:testLibOpGetRunStoreDifferentNamespace(bytes32,bytes32,uint16) (runs: 2049, μ: 51567, ~: 51571) -LibOpGetTest:testLibOpGetRunUnset(bytes32,uint16) (runs: 2049, μ: 24784, ~: 24788) +LibOpGetTest:testLibOpGetIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 20586, ~: 20823) +LibOpGetTest:testLibOpGetRunState(bytes32,bytes32,uint16) (runs: 2048, μ: 19730, ~: 19734) +LibOpGetTest:testLibOpGetRunStateAndStore(bytes32,bytes32,bytes32,uint16) (runs: 2048, μ: 47704, ~: 47718) +LibOpGetTest:testLibOpGetRunStore(bytes32,bytes32,uint16) (runs: 2048, μ: 49975, ~: 49979) +LibOpGetTest:testLibOpGetRunStoreDifferentNamespace(bytes32,bytes32,uint16) (runs: 2048, μ: 51567, ~: 51571) +LibOpGetTest:testLibOpGetRunUnset(bytes32,uint16) (runs: 2048, μ: 24784, ~: 24788) LibOpGmTest:testOpGmEval() (gas: 487864) LibOpGmTest:testOpGmEvalOperandDisallowed() (gas: 17604) -LibOpGmTest:testOpGmIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13788, ~: 13702) +LibOpGmTest:testOpGmIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13785, ~: 13702) LibOpGmTest:testOpGmOneInput() (gas: 35301) -LibOpGmTest:testOpGmRun(int224,int32,int224,int32,uint16) (runs: 2049, μ: 90539, ~: 95343) +LibOpGmTest:testOpGmRun(int224,int32,int224,int32,uint16) (runs: 2048, μ: 90496, ~: 95304) LibOpGmTest:testOpGmThreeInputs() (gas: 45242) LibOpGmTest:testOpGmTwoOutputs() (gas: 40969) LibOpGmTest:testOpGmZeroOutputs() (gas: 39946) @@ -372,8 +372,8 @@ LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToEval2ZeroInputs() (gas: LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToEvalFail0Inputs() (gas: 31518) LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToEvalFail1Input() (gas: 35967) LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToEvalFail3Inputs() (gas: 44358) -LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2049, μ: 13741, ~: 13677) -LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToRun(bytes32,bytes32) (runs: 2049, μ: 17502, ~: 17431) +LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2048, μ: 13738, ~: 13677) +LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToRun(bytes32,bytes32) (runs: 2048, μ: 17503, ~: 17431) LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToTwoOutputs() (gas: 43327) LibOpGreaterThanOrEqualToTest:testOpGreaterThanOrEqualToZeroOutputs() (gas: 42102) LibOpGreaterThanTest:testOpGreaterThanEval1_0Gt1() (gas: 59039) @@ -387,8 +387,8 @@ LibOpGreaterThanTest:testOpGreaterThanEvalFail1Input() (gas: 34911) LibOpGreaterThanTest:testOpGreaterThanEvalFail3Inputs() (gas: 43294) LibOpGreaterThanTest:testOpGreaterThanEvalNeg1Gt0() (gas: 59060) LibOpGreaterThanTest:testOpGreaterThanEvalNeg1_1GtNeg1_2() (gas: 61956) -LibOpGreaterThanTest:testOpGreaterThanIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19720, ~: 19962) -LibOpGreaterThanTest:testOpGreaterThanRun(bytes32,bytes32) (runs: 2049, μ: 17526, ~: 17455) +LibOpGreaterThanTest:testOpGreaterThanIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19718, ~: 19954) +LibOpGreaterThanTest:testOpGreaterThanRun(bytes32,bytes32) (runs: 2048, μ: 17527, ~: 17455) LibOpGreaterThanTest:testOpGreaterThanTwoOutputs() (gas: 42176) LibOpGreaterThanTest:testOpGreaterThanZeroOutputs() (gas: 41128) LibOpHashNPTest:testOpHashNPEval0Inputs() (gas: 46507) @@ -396,14 +396,14 @@ LibOpHashNPTest:testOpHashNPEval1Input() (gas: 55180) LibOpHashNPTest:testOpHashNPEval2Inputs() (gas: 63585) LibOpHashNPTest:testOpHashNPEval2InputsDifferent() (gas: 64259) LibOpHashNPTest:testOpHashNPEval2InputsOtherStack() (gas: 79088) -LibOpHashNPTest:testOpHashNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19730, ~: 19931) -LibOpHashNPTest:testOpHashNPRun(bytes32[]) (runs: 2049, μ: 19543, ~: 19647) +LibOpHashNPTest:testOpHashNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19728, ~: 19986) +LibOpHashNPTest:testOpHashNPRun(bytes32[]) (runs: 2048, μ: 19543, ~: 19647) LibOpHashNPTest:testOpHashNPTwoOutputs() (gas: 30966) LibOpHashNPTest:testOpHashNPZeroOutputs() (gas: 29592) LibOpHeadroomTest:testOpHeadroomEval() (gas: 496818) LibOpHeadroomTest:testOpHeadroomEvalOperandDisallowed() (gas: 18047) -LibOpHeadroomTest:testOpHeadroomIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13746, ~: 13660) -LibOpHeadroomTest:testOpHeadroomRun(bytes32,uint16) (runs: 2049, μ: 22231, ~: 22423) +LibOpHeadroomTest:testOpHeadroomIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13743, ~: 13660) +LibOpHeadroomTest:testOpHeadroomRun(bytes32,uint16) (runs: 2048, μ: 22241, ~: 22511) LibOpHeadroomTest:testOpHeadroomTwoInputs() (gas: 40737) LibOpHeadroomTest:testOpHeadroomTwoOutputs() (gas: 36491) LibOpHeadroomTest:testOpHeadroomZeroInputs() (gas: 30679) @@ -424,12 +424,12 @@ LibOpIfTest:testOpIfEvalFail4Inputs() (gas: 46673) LibOpIfTest:testOpIfEvalTwoOutputs() (gas: 46293) LibOpIfTest:testOpIfEvalZeroExponent() (gas: 65514) LibOpIfTest:testOpIfEvalZeroOutputs() (gas: 45224) -LibOpIfTest:testOpIfIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19702, ~: 19960) -LibOpIfTest:testOpIfRun(bytes32,bytes32,bytes32) (runs: 2049, μ: 17121, ~: 17122) +LibOpIfTest:testOpIfIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19700, ~: 19949) +LibOpIfTest:testOpIfRun(bytes32,bytes32,bytes32) (runs: 2048, μ: 17121, ~: 17122) LibOpInvTest:testOpExpEvalOperandDisallowed() (gas: 17705) LibOpInvTest:testOpInvEval() (gas: 186018) -LibOpInvTest:testOpInvIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13746, ~: 13660) -LibOpInvTest:testOpInvRun(int224,int32,uint16) (runs: 2049, μ: 29256, ~: 29564) +LibOpInvTest:testOpInvIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13743, ~: 13660) +LibOpInvTest:testOpInvRun(int224,int32,uint16) (runs: 2048, μ: 29256, ~: 29564) LibOpInvTest:testOpInvTwoInputs() (gas: 40410) LibOpInvTest:testOpInvTwoOutputs() (gas: 36099) LibOpInvTest:testOpInvZeroInputs() (gas: 30332) @@ -439,8 +439,8 @@ LibOpIsZeroTest:testOpIsZeroEval1NonZeroInput() (gas: 52622) LibOpIsZeroTest:testOpIsZeroEval1ZeroInput() (gas: 52317) LibOpIsZeroTest:testOpIsZeroEvalFail0Inputs() (gas: 30110) LibOpIsZeroTest:testOpIsZeroEvalFail2Inputs() (gas: 38711) -LibOpIsZeroTest:testOpIsZeroNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19810, ~: 20047) -LibOpIsZeroTest:testOpIsZeroRun(bytes32) (runs: 2049, μ: 16528, ~: 16529) +LibOpIsZeroTest:testOpIsZeroNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19805, ~: 20054) +LibOpIsZeroTest:testOpIsZeroRun(bytes32) (runs: 2048, μ: 16528, ~: 16529) LibOpIsZeroTest:testOpIsZeroTwoOutputs() (gas: 36595) LibOpIsZeroTest:testOpIsZeroZeroOutputs() (gas: 35259) LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToEval2InputsBothOne() (gas: 57629) @@ -450,13 +450,13 @@ LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToEval2ZeroInputs() (gas: 57569) LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToEvalFail0Inputs() (gas: 31253) LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToEvalFail1Input() (gas: 35630) LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToEvalFail3Inputs() (gas: 44135) -LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19697, ~: 19886) -LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToRun(bytes32,bytes32) (runs: 2049, μ: 17507, ~: 17437) +LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19697, ~: 19932) +LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToRun(bytes32,bytes32) (runs: 2048, μ: 17508, ~: 17437) LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToTwoOutputs() (gas: 42927) LibOpLessThanOrEqualToTest:testOpLessThanOrEqualToZeroOutputs() (gas: 41880) LibOpLessThanTest:testOpLessThanEval2InputsFirstZeroSecondOne() (gas: 58778) LibOpLessThanTest:testOpLessThanEval2ZeroInputs() (gas: 57984) -LibOpLessThanTest:testOpLessThanIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19727, ~: 19946) +LibOpLessThanTest:testOpLessThanIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19723, ~: 19922) LibOpLessThanTest:testOpLessThanNP1_0Lt1() (gas: 58863) LibOpLessThanTest:testOpLessThanNP1_1Lt1_2() (gas: 61456) LibOpLessThanTest:testOpLessThanNPEval2InputsBothOne() (gas: 58092) @@ -465,7 +465,7 @@ LibOpLessThanTest:testOpLessThanNPMinus1Lt0() (gas: 58839) LibOpLessThanTest:testOpLessThanNPMinus1_1LtMinus1_2() (gas: 61692) LibOpLessThanTest:testOpLessThanNPTwoOutputs() (gas: 42220) LibOpLessThanTest:testOpLessThanNPZeroOutputs() (gas: 40293) -LibOpLessThanTest:testOpLessThanRun(bytes32,bytes32) (runs: 2049, μ: 17533, ~: 17461) +LibOpLessThanTest:testOpLessThanRun(bytes32,bytes32) (runs: 2048, μ: 17533, ~: 17461) LibOpLessThanTest:testOpLessThanToNPEvalFail0Inputs() (gas: 30304) LibOpLessThanTest:testOpLessThanToNPEvalFail1Input() (gas: 34615) LibOpLessThanTest:testOpLessThanToNPEvalFail3Inputs() (gas: 43037) @@ -477,17 +477,17 @@ LibOpLinearGrowthTest:testOpLinearGrowthEvalTwoInputs() (gas: 41649) LibOpLinearGrowthTest:testOpLinearGrowthEvalTwoOutputs() (gas: 47220) LibOpLinearGrowthTest:testOpLinearGrowthEvalZeroInputs() (gas: 30740) LibOpLinearGrowthTest:testOpLinearGrowthEvalZeroOutputs() (gas: 46171) -LibOpLinearGrowthTest:testOpLinearGrowthIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13745, ~: 13659) -LibOpLinearGrowthTest:testOpLinearGrowthRun(int224,int32,int224,int32,int224,int32,uint16) (runs: 2049, μ: 41157, ~: 41471) +LibOpLinearGrowthTest:testOpLinearGrowthIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13742, ~: 13659) +LibOpLinearGrowthTest:testOpLinearGrowthRun(int224,int32,int224,int32,int224,int32,uint16) (runs: 2048, μ: 41153, ~: 41466) LibOpMaxNegativeValueTest:testOpMaxNegativeValueEval() (gas: 47573) LibOpMaxNegativeValueTest:testOpMaxNegativeValueEvalFail() (gas: 35335) LibOpMaxNegativeValueTest:testOpMaxNegativeValueRun() (gas: 16314) LibOpMaxNegativeValueTest:testOpMaxNegativeValueTwoOutputs() (gas: 32077) LibOpMaxNegativeValueTest:testOpMaxNegativeValueZeroOutputs() (gas: 31069) -LibOpMaxNegativeValueTest:testOpMaxValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19698, ~: 19923) +LibOpMaxNegativeValueTest:testOpMaxValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19689, ~: 19933) LibOpMaxPositiveValueTest:testOpMaxPositiveValueEval() (gas: 47572) LibOpMaxPositiveValueTest:testOpMaxPositiveValueEvalFail() (gas: 35356) -LibOpMaxPositiveValueTest:testOpMaxPositiveValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19719, ~: 19977) +LibOpMaxPositiveValueTest:testOpMaxPositiveValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19724, ~: 19954) LibOpMaxPositiveValueTest:testOpMaxPositiveValueRun() (gas: 16317) LibOpMaxPositiveValueTest:testOpMaxPositiveValueTwoOutputs() (gas: 32076) LibOpMaxPositiveValueTest:testOpMaxPositiveValueZeroOutputs() (gas: 31068) @@ -497,25 +497,25 @@ LibOpMaxTest:testOpMaxEvalOneInput() (gas: 130678) LibOpMaxTest:testOpMaxEvalOperandDisallowed() (gas: 59534) LibOpMaxTest:testOpMaxEvalTwoOutputs() (gas: 40982) LibOpMaxTest:testOpMaxEvalZeroInputs() (gas: 30311) -LibOpMaxTest:testOpMaxIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18217, ~: 18393) -LibOpMaxTest:testOpMaxIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13821, ~: 13687) -LibOpMaxTest:testOpMaxIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13843, ~: 13709) -LibOpMaxTest:testOpMaxRun(bytes32[]) (runs: 2049, μ: 26865, ~: 26619) +LibOpMaxTest:testOpMaxIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18214, ~: 18420) +LibOpMaxTest:testOpMaxIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13819, ~: 13683) +LibOpMaxTest:testOpMaxIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13841, ~: 13705) +LibOpMaxTest:testOpMaxRun(bytes32[]) (runs: 2048, μ: 26855, ~: 26623) LibOpMaxUint256Test:testOpMaxUint256Eval() (gas: 47502) LibOpMaxUint256Test:testOpMaxUint256EvalFail() (gas: 35277) -LibOpMaxUint256Test:testOpMaxUint256Integrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19683, ~: 19932) +LibOpMaxUint256Test:testOpMaxUint256Integrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19675, ~: 19914) LibOpMaxUint256Test:testOpMaxUint256Run() (gas: 16081) LibOpMaxUint256Test:testOpMaxUint256TwoOutputs() (gas: 32039) LibOpMaxUint256Test:testOpMaxUint256ZeroOutputs() (gas: 30944) LibOpMinNegativeValueTest:testOpMinNegativeValueEval() (gas: 47599) LibOpMinNegativeValueTest:testOpMinNegativeValueEvalFail() (gas: 35357) -LibOpMinNegativeValueTest:testOpMinNegativeValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19710, ~: 19972) +LibOpMinNegativeValueTest:testOpMinNegativeValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19700, ~: 19913) LibOpMinNegativeValueTest:testOpMinNegativeValueRun() (gas: 16345) LibOpMinNegativeValueTest:testOpMinNegativeValueTwoOutputs() (gas: 32098) LibOpMinNegativeValueTest:testOpMinNegativeValueZeroOutputs() (gas: 31068) LibOpMinPositiveValueTest:testOpMinPositiveValueEval() (gas: 47585) LibOpMinPositiveValueTest:testOpMinPositiveValueEvalFail() (gas: 35314) -LibOpMinPositiveValueTest:testOpMinPositiveValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19679, ~: 19949) +LibOpMinPositiveValueTest:testOpMinPositiveValueIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19684, ~: 19905) LibOpMinPositiveValueTest:testOpMinPositiveValueRun() (gas: 16364) LibOpMinPositiveValueTest:testOpMinPositiveValueTwoOutputs() (gas: 32097) LibOpMinPositiveValueTest:testOpMinPositiveValueZeroOutputs() (gas: 31067) @@ -524,11 +524,11 @@ LibOpMinTest:testOpMinEval3InputsHappy() (gas: 3576130) LibOpMinTest:testOpMinEvalOneInput() (gas: 130466) LibOpMinTest:testOpMinEvalOperandDisallowed() (gas: 62253) LibOpMinTest:testOpMinEvalZeroInputs() (gas: 30965) -LibOpMinTest:testOpMinIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18288, ~: 18528) -LibOpMinTest:testOpMinIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13844, ~: 13710) -LibOpMinTest:testOpMinIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13821, ~: 13687) -LibOpMinTest:testOpMinRun(bytes32[],uint16) (runs: 2049, μ: 26808, ~: 26913) -LibOpMulTest:testOpDecimal18MulNPIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13822, ~: 13688) +LibOpMinTest:testOpMinIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18293, ~: 18458) +LibOpMinTest:testOpMinIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13842, ~: 13706) +LibOpMinTest:testOpMinIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13819, ~: 13683) +LibOpMinTest:testOpMinRun(bytes32[],uint16) (runs: 2048, μ: 26813, ~: 26889) +LibOpMulTest:testOpDecimal18MulNPIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13820, ~: 13684) LibOpMulTest:testOpMulEvalOneInput() (gas: 127888) LibOpMulTest:testOpMulEvalOperandsDisallowed() (gas: 92444) LibOpMulTest:testOpMulEvalThreeInputsHappy() (gas: 773488) @@ -536,21 +536,21 @@ LibOpMulTest:testOpMulEvalThreeInputsUnhappyOverflow() (gas: 64157) LibOpMulTest:testOpMulEvalTwoInputsHappy() (gas: 539517) LibOpMulTest:testOpMulEvalTwoInputsUnhappyOverflow() (gas: 56623) LibOpMulTest:testOpMulEvalZeroInputs() (gas: 30375) -LibOpMulTest:testOpMulIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18257, ~: 18482) -LibOpMulTest:testOpMulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13865, ~: 13731) -LibOpMulTest:testOpMulRun(bytes32[]) (runs: 2049, μ: 47595, ~: 44228) +LibOpMulTest:testOpMulIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18255, ~: 18427) +LibOpMulTest:testOpMulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13863, ~: 13727) +LibOpMulTest:testOpMulRun(bytes32[]) (runs: 2048, μ: 47412, ~: 44107) LibOpMulTest:testOpMulTwoOutputs() (gas: 41024) LibOpMulTest:testOpMulZeroOutputs() (gas: 39978) LibOpPowTest:testOpPowEval() (gas: 554212) LibOpPowTest:testOpPowEvalOneInput() (gas: 35597) LibOpPowTest:testOpPowEvalOperandDisallowed() (gas: 17869) -LibOpPowTest:testOpPowIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13766, ~: 13680) +LibOpPowTest:testOpPowIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13763, ~: 13680) LibOpPowTest:testOpPowNegativeBaseError() (gas: 103562) -LibOpPowTest:testOpPowRun(int224,int32,int224,int32) (runs: 2049, μ: 83182, ~: 89539) +LibOpPowTest:testOpPowRun(int224,int32,int224,int32) (runs: 2048, μ: 83206, ~: 89495) LibOpPowTest:testOpPowThreeInputs() (gas: 45517) LibOpPowTest:testOpPowTwoOutputs() (gas: 41224) LibOpPowTest:testOpPowZeroOutputs() (gas: 40219) -LibOpSetTest:testLibOpSet(bytes32,bytes32) (runs: 2049, μ: 17726, ~: 17731) +LibOpSetTest:testLibOpSet(bytes32,bytes32) (runs: 2048, μ: 17726, ~: 17731) LibOpSetTest:testLibOpSetEvalOneInput() (gas: 34360) LibOpSetTest:testLibOpSetEvalOneOutput() (gas: 40024) LibOpSetTest:testLibOpSetEvalOperandsDisallowed() (gas: 56652) @@ -559,23 +559,23 @@ LibOpSetTest:testLibOpSetEvalThreeInputs() (gas: 44847) LibOpSetTest:testLibOpSetEvalTwoInputs() (gas: 260068) LibOpSetTest:testLibOpSetEvalTwoOutputs() (gas: 40646) LibOpSetTest:testLibOpSetEvalZeroInputs() (gas: 29513) -LibOpSetTest:testLibOpSetIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 20473, ~: 20667) +LibOpSetTest:testLibOpSetIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 20465, ~: 20704) LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPEval() (gas: 885469) LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailBadShiftAmount() (gas: 129103) LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailTwoInputs() (gas: 44783) LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailTwoOutputs() (gas: 40612) LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailZeroInputs() (gas: 34832) LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailZeroOutputs() (gas: 39537) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint8) (runs: 2049, μ: 19801, ~: 19742) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityNoop((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2049, μ: 35814, ~: 35554) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityZero((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 42044, ~: 42506) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPRun(bytes32,uint8) (runs: 2049, μ: 16923, ~: 16923) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint8) (runs: 2048, μ: 19796, ~: 19796) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityNoop((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 2048, μ: 35804, ~: 35554) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityZero((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 42034, ~: 42648) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPRun(bytes32,uint8) (runs: 2048, μ: 16923, ~: 16923) LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPEval() (gas: 1061673) LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityFailBadShiftAmount() (gas: 129691) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint8) (runs: 101, μ: 19657, ~: 18899) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityNoop((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 101, μ: 36706, ~: 36938) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityZero((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 101, μ: 40547, ~: 40735) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPRun(bytes32,uint8) (runs: 2049, μ: 16926, ~: 16926) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint8) (runs: 100, μ: 19519, ~: 18988) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityNoop((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8) (runs: 100, μ: 36519, ~: 36416) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityZero((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 100, μ: 40358, ~: 40735) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPRun(bytes32,uint8) (runs: 2048, μ: 16926, ~: 16926) LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPTwoInputs() (gas: 44907) LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPTwoOutputs() (gas: 40672) LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPZeroInputs() (gas: 34891) @@ -585,31 +585,31 @@ LibOpSqrtTest:testOpSqrtEvalExamples() (gas: 249889) LibOpSqrtTest:testOpSqrtEvalOperandDisallowed() (gas: 17724) LibOpSqrtTest:testOpSqrtEvalTwoOutputs() (gas: 36161) LibOpSqrtTest:testOpSqrtEvalZeroOutputs() (gas: 35107) -LibOpSqrtTest:testOpSqrtIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13745, ~: 13659) -LibOpSqrtTest:testOpSqrtRun(bytes32) (runs: 2049, μ: 69720, ~: 72657) +LibOpSqrtTest:testOpSqrtIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13742, ~: 13659) +LibOpSqrtTest:testOpSqrtRun(bytes32) (runs: 2048, μ: 69240, ~: 72510) LibOpStackNPTest:testOpStackEval() (gas: 66488) LibOpStackNPTest:testOpStackEvalSeveral() (gas: 91131) -LibOpStackNPTest:testOpStackNPIntegrity(bytes,uint256,bytes32[],bytes32) (runs: 2049, μ: 18937, ~: 18767) -LibOpStackNPTest:testOpStackNPIntegrityOOBStack(bytes,uint16,bytes32[],uint16,uint256) (runs: 2049, μ: 41515, ~: 41617) +LibOpStackNPTest:testOpStackNPIntegrity(bytes,uint256,bytes32[],bytes32) (runs: 2048, μ: 18928, ~: 18787) +LibOpStackNPTest:testOpStackNPIntegrityOOBStack(bytes,uint16,bytes32[],uint16,uint256) (runs: 2048, μ: 41515, ~: 41620) LibOpStackNPTest:testOpStackNPMultipleOutputErrorSugared() (gas: 40253) LibOpStackNPTest:testOpStackNPMultipleOutputErrorUnsugared() (gas: 43291) -LibOpStackNPTest:testOpStackNPRun(bytes32[][],uint256) (runs: 101, μ: 2146203, ~: 2130247) +LibOpStackNPTest:testOpStackNPRun(bytes32[][],uint256) (runs: 100, μ: 2166647, ~: 2139721) LibOpStackNPTest:testOpStackNPZeroOutputErrorSugared() (gas: 38798) LibOpStackNPTest:testOpStackNPZeroOutputErrorUnsugared() (gas: 41801) LibOpSubTest:testOpSubEvalOneInput() (gas: 130643) -LibOpSubTest:testOpSubEvalThreeInputs() (gas: 232869) -LibOpSubTest:testOpSubEvalTwoInputs() (gas: 450407) +LibOpSubTest:testOpSubEvalThreeInputs() (gas: 230410) +LibOpSubTest:testOpSubEvalTwoInputs() (gas: 449849) LibOpSubTest:testOpSubEvalZeroInputs() (gas: 30308) -LibOpSubTest:testOpSubIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18244, ~: 18419) -LibOpSubTest:testOpSubIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13865, ~: 13731) -LibOpSubTest:testOpSubIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13865, ~: 13731) -LibOpSubTest:testOpSubRun(bytes32[]) (runs: 2049, μ: 102982, ~: 102314) +LibOpSubTest:testOpSubIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18242, ~: 18412) +LibOpSubTest:testOpSubIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13863, ~: 13727) +LibOpSubTest:testOpSubIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13863, ~: 13727) +LibOpSubTest:testOpSubRun(bytes32[]) (runs: 2048, μ: 84608, ~: 85039) LibOpTimestampTest:testOpBlockTimestampNPEvalFail() (gas: 66825) LibOpTimestampTest:testOpBlockTimestampNPTwoOutputs() (gas: 59700) LibOpTimestampTest:testOpBlockTimestampNPZeroOutputs() (gas: 57575) -LibOpTimestampTest:testOpTimestampEval(uint256) (runs: 2049, μ: 86158, ~: 85841) -LibOpTimestampTest:testOpTimestampIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19688, ~: 19879) -LibOpTimestampTest:testOpTimestampRun(uint256) (runs: 2049, μ: 20723, ~: 20503) +LibOpTimestampTest:testOpTimestampEval(uint256) (runs: 2048, μ: 86159, ~: 85841) +LibOpTimestampTest:testOpTimestampIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19693, ~: 19932) +LibOpTimestampTest:testOpTimestampRun(uint256) (runs: 2048, μ: 20724, ~: 20503) LibOpUint256AddTest:testOpUint256AddEvalOneInput() (gas: 129040) LibOpUint256AddTest:testOpUint256AddEvalOperandsDisallowed() (gas: 96332) LibOpUint256AddTest:testOpUint256AddEvalThreeInputsHappy() (gas: 210832) @@ -618,10 +618,10 @@ LibOpUint256AddTest:testOpUint256AddEvalTwoInputsHappy() (gas: 281722) LibOpUint256AddTest:testOpUint256AddEvalTwoOutputs() (gas: 41694) LibOpUint256AddTest:testOpUint256AddEvalZeroInputs() (gas: 31001) LibOpUint256AddTest:testOpUint256AddEvalZeroOutputs() (gas: 40625) -LibOpUint256AddTest:testOpUint256AddIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18258, ~: 18476) -LibOpUint256AddTest:testOpUint256AddIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13823, ~: 13689) -LibOpUint256AddTest:testOpUint256AddIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13821, ~: 13687) -LibOpUint256AddTest:testOpUint256AddRun(bytes32[]) (runs: 2049, μ: 20285, ~: 19734) +LibOpUint256AddTest:testOpUint256AddIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18254, ~: 18416) +LibOpUint256AddTest:testOpUint256AddIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13821, ~: 13685) +LibOpUint256AddTest:testOpUint256AddIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13819, ~: 13683) +LibOpUint256AddTest:testOpUint256AddRun(bytes32[]) (runs: 2048, μ: 20335, ~: 19976) LibOpUint256DivTest:testOpUint256DivEval2InputsHappy() (gas: 775286) LibOpUint256DivTest:testOpUint256DivEval2InputsUnhappy() (gas: 144531) LibOpUint256DivTest:testOpUint256DivEval3InputsHappy() (gas: 1414759) @@ -631,45 +631,45 @@ LibOpUint256DivTest:testOpUint256DivEvalOperandDisallowed() (gas: 62105) LibOpUint256DivTest:testOpUint256DivEvalTwoOutputs() (gas: 41695) LibOpUint256DivTest:testOpUint256DivEvalZeroInputs() (gas: 31002) LibOpUint256DivTest:testOpUint256DivEvalZeroOutputs() (gas: 40603) -LibOpUint256DivTest:testOpUint256DivIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18275, ~: 18496) -LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13843, ~: 13709) -LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13823, ~: 13689) -LibOpUint256DivTest:testOpUint256DivRun(bytes32[]) (runs: 2049, μ: 24948, ~: 25264) +LibOpUint256DivTest:testOpUint256DivIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18272, ~: 18509) +LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13841, ~: 13705) +LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13821, ~: 13685) +LibOpUint256DivTest:testOpUint256DivRun(bytes32[]) (runs: 2048, μ: 24949, ~: 25264) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalFourInputs() (gas: 56948) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalHappy(uint256) (runs: 2049, μ: 70611, ~: 70611) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalHappy(uint256) (runs: 2048, μ: 70611, ~: 70611) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalOneInput() (gas: 38124) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalOperandDisallowed() (gas: 19352) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalTwoInputs() (gas: 44502) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalTwoOutputs() (gas: 51575) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalZeroInputs() (gas: 31878) LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceEvalZeroOutputs() (gas: 50551) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13769, ~: 13683) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceRun(address,address,address,uint256) (runs: 2049, μ: 24856, ~: 24856) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalHappy(uint256) (runs: 2049, μ: 63631, ~: 63631) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13766, ~: 13683) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceRun(address,address,address,uint256) (runs: 2048, μ: 24856, ~: 24856) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalHappy(uint256) (runs: 2048, μ: 63631, ~: 63631) LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalOneInput() (gas: 38163) LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalOperandDisallowed() (gas: 19410) LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalThreeInputs() (gas: 50442) LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalTwoOutputs() (gas: 45272) LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalZeroInputs() (gas: 31981) LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfEvalZeroOutputs() (gas: 44227) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13792, ~: 13706) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfRun(address,address,uint256,uint16) (runs: 2049, μ: 24306, ~: 24306) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalHappy(uint256) (runs: 2049, μ: 56688, ~: 56688) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13789, ~: 13706) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfRun(address,address,uint256,uint16) (runs: 2048, μ: 24306, ~: 24306) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalHappy(uint256) (runs: 2048, μ: 56688, ~: 56688) LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalOperandDisallowed() (gas: 19573) LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalTwoInputs() (gas: 44724) LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalTwoOutputs() (gas: 39059) LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalZeroInputs() (gas: 32164) LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyEvalZeroOutputs() (gas: 37986) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2049, μ: 13792, ~: 13706) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyRun(address,uint256,uint16) (runs: 2049, μ: 23458, ~: 23458) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfEvalHappy(address,address,uint256) (runs: 2049, μ: 106496, ~: 106646) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2049, μ: 19703, ~: 19932) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),bytes32) (runs: 2048, μ: 13789, ~: 13706) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyRun(address,uint256,uint16) (runs: 2048, μ: 23458, ~: 23458) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfEvalHappy(address,address,uint256) (runs: 2048, μ: 106490, ~: 106646) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrity((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19698, ~: 19914) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail0() (gas: 31600) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail1() (gas: 36005) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail3() (gas: 45388) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFailOperand() (gas: 22302) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfOneInput() (gas: 36550) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfRun(address,address,uint256,uint16) (runs: 2049, μ: 24367, ~: 24367) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfRun(address,address,uint256,uint16) (runs: 2048, μ: 24367, ~: 24367) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfThreeInputs() (gas: 45923) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfTwoOutputs() (gas: 41891) LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfZeroInputs() (gas: 32049) @@ -683,11 +683,11 @@ LibOpUint256MulTest:testOpUint256MulEvalTwoInputsUnhappy() (gas: 144581) LibOpUint256MulTest:testOpUint256MulEvalTwoOutputs() (gas: 41639) LibOpUint256MulTest:testOpUint256MulEvalZeroInputs() (gas: 31055) LibOpUint256MulTest:testOpUint256MulEvalZeroOutputs() (gas: 40638) -LibOpUint256MulTest:testOpUint256MulIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18216, ~: 18385) -LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13865, ~: 13731) -LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13822, ~: 13688) -LibOpUint256MulTest:testOpUint256MulRun(bytes32[]) (runs: 2049, μ: 19107, ~: 19177) -LibOpUint256PowTest:testOpUint256ExpIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18232, ~: 18461) +LibOpUint256MulTest:testOpUint256MulIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18212, ~: 18371) +LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13863, ~: 13727) +LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13820, ~: 13684) +LibOpUint256MulTest:testOpUint256MulRun(bytes32[]) (runs: 2048, μ: 19032, ~: 19177) +LibOpUint256PowTest:testOpUint256ExpIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18228, ~: 18391) LibOpUint256PowTest:testOpUint256PowEval2InputsHappy() (gas: 877153) LibOpUint256PowTest:testOpUint256PowEval2InputsUnhappy() (gas: 146561) LibOpUint256PowTest:testOpUint256PowEval3InputsHappy() (gas: 1990823) @@ -697,9 +697,9 @@ LibOpUint256PowTest:testOpUint256PowEvalOperandDisallowed() (gas: 62797) LibOpUint256PowTest:testOpUint256PowEvalTwoOutputs() (gas: 41824) LibOpUint256PowTest:testOpUint256PowEvalZeroInputs() (gas: 31194) LibOpUint256PowTest:testOpUint256PowEvalZeroOutputs() (gas: 40756) -LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13845, ~: 13711) -LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13822, ~: 13688) -LibOpUint256PowTest:testOpUint256PowRun(bytes32[]) (runs: 2049, μ: 19510, ~: 19422) +LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13843, ~: 13707) +LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13820, ~: 13684) +LibOpUint256PowTest:testOpUint256PowRun(bytes32[]) (runs: 2048, μ: 19508, ~: 19408) LibOpUint256SubTest:testOpUint256SubEvalOneInput() (gas: 129127) LibOpUint256SubTest:testOpUint256SubEvalOperandsDisallowed() (gas: 96334) LibOpUint256SubTest:testOpUint256SubEvalThreeInputsHappy() (gas: 210707) @@ -708,10 +708,10 @@ LibOpUint256SubTest:testOpUint256SubEvalTwoInputsHappy() (gas: 281720) LibOpUint256SubTest:testOpUint256SubEvalTwoOutputs() (gas: 41683) LibOpUint256SubTest:testOpUint256SubEvalZeroInputs() (gas: 31012) LibOpUint256SubTest:testOpUint256SubEvalZeroOutputs() (gas: 40615) -LibOpUint256SubTest:testOpUint256SubIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2049, μ: 18257, ~: 18484) -LibOpUint256SubTest:testOpUint256SubIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13866, ~: 13732) -LibOpUint256SubTest:testOpUint256SubIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2049, μ: 13822, ~: 13688) -LibOpUint256SubTest:testOpUint256SubRun(bytes32[]) (runs: 2049, μ: 17757, ~: 17786) +LibOpUint256SubTest:testOpUint256SubIntegrityHappy((uint256,uint256,uint256,bytes32[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 18257, ~: 18414) +LibOpUint256SubTest:testOpUint256SubIntegrityUnhappyOneInput((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13864, ~: 13728) +LibOpUint256SubTest:testOpUint256SubIntegrityUnhappyZeroInputs((uint256,uint256,uint256,bytes32[],uint256,bytes)) (runs: 2048, μ: 13820, ~: 13684) +LibOpUint256SubTest:testOpUint256SubRun(bytes32[]) (runs: 2048, μ: 17747, ~: 17786) LibParseCommentsTest:testParseCommentAfterSources() (gas: 70064) LibParseCommentsTest:testParseCommentBetweenSources() (gas: 70132) LibParseCommentsTest:testParseCommentInIgnoredLHS() (gas: 46519) @@ -764,7 +764,7 @@ LibParseInputsOnlyGasTest:testParseGasInputsOnly09() (gas: 52453) LibParseInputsOnlyTest:testParseInputsOnlyMultiple() (gas: 52712) LibParseInputsOnlyTest:testParseInputsOnlySingle() (gas: 51802) LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexBounds() (gas: 18918) -LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexFuzz(string,bytes1,string) (runs: 2049, μ: 45068, ~: 44121) +LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexFuzz(string,bytes1,string) (runs: 2048, μ: 45085, ~: 44128) LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotE() (gas: 11240) LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotE0() (gas: 11218) LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert() (gas: 11263) @@ -783,7 +783,7 @@ LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNegative LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNonDecimal() (gas: 11195) LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert0() (gas: 35272) LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert1() (gas: 35159) -LibParseLiteralHexBoundHexTest:testParseLiteralHexRoundTrip(bytes32) (runs: 2049, μ: 27784, ~: 39227) +LibParseLiteralHexBoundHexTest:testParseLiteralHexRoundTrip(bytes32) (runs: 2048, μ: 27779, ~: 39227) LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal00() (gas: 57128) LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal01() (gas: 64422) LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal02() (gas: 70775) @@ -802,20 +802,20 @@ LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex00() (gas: 56141) LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex01() (gas: 61872) LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex02() (gas: 66944) LibParseLiteralIntegerHexTest:testParseIntegerLiteralHexUint256Max() (gas: 73340) -LibParseLiteralStringBoundTest:testParseStringLiteralBounds(string) (runs: 2049, μ: 16517, ~: 16437) +LibParseLiteralStringBoundTest:testParseStringLiteralBounds(string) (runs: 2048, μ: 16521, ~: 16437) LibParseLiteralStringBoundTest:testParseStringLiteralBoundsInvalidCharBefore(string,uint256) (runs: 2048, μ: 30178, ~: 29943) -LibParseLiteralStringBoundTest:testParseStringLiteralBoundsParserOutOfBounds(string,uint256) (runs: 2049, μ: 19079, ~: 19000) +LibParseLiteralStringBoundTest:testParseStringLiteralBoundsParserOutOfBounds(string,uint256) (runs: 2048, μ: 19082, ~: 19005) LibParseLiteralStringBoundTest:testParseStringLiteralBoundsTooLong(string) (runs: 2048, μ: 31952, ~: 31441) -LibParseLiteralStringTest:testParseStringLiteralAny(bytes) (runs: 2049, μ: 13498, ~: 13405) -LibParseLiteralStringTest:testParseStringLiteralCorrupt(bytes,uint256) (runs: 2049, μ: 24389, ~: 24316) +LibParseLiteralStringTest:testParseStringLiteralAny(bytes) (runs: 2048, μ: 13501, ~: 13405) +LibParseLiteralStringTest:testParseStringLiteralCorrupt(bytes,uint256) (runs: 2048, μ: 24392, ~: 24318) LibParseLiteralStringTest:testParseStringLiteralEmpty() (gas: 54861) LibParseLiteralStringTest:testParseStringLiteralEmpty() (gas: 5658) LibParseLiteralStringTest:testParseStringLiteralInvalidCharAfter(string,string) (runs: 100, μ: 68968, ~: 68680) LibParseLiteralStringTest:testParseStringLiteralInvalidCharWithin(string,uint256) (runs: 100, μ: 66261, ~: 65734) LibParseLiteralStringTest:testParseStringLiteralLongASCII(string) (runs: 100, μ: 69716, ~: 69820) -LibParseLiteralStringTest:testParseStringLiteralShortASCII(string) (runs: 101, μ: 62011, ~: 62152) +LibParseLiteralStringTest:testParseStringLiteralShortASCII(string) (runs: 100, μ: 62071, ~: 62152) LibParseLiteralStringTest:testParseStringLiteralSimple() (gas: 54969) -LibParseLiteralStringTest:testParseStringLiteralTwo(string,string) (runs: 101, μ: 75604, ~: 76206) +LibParseLiteralStringTest:testParseStringLiteralTwo(string,string) (runs: 100, μ: 75659, ~: 76219) LibParseLiteralSubParseableTest:testParseLiteralSubParseableBody() (gas: 65609) LibParseLiteralSubParseableTest:testParseLiteralSubParseableEmptyBody() (gas: 19912) LibParseLiteralSubParseableTest:testParseLiteralSubParseableHappyFuzz(string,string,string) (runs: 2048, μ: 89816, ~: 87953) @@ -883,36 +883,36 @@ LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecon LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultThird() (gas: 56055) LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultUnclosed() (gas: 53052) LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultUnopened() (gas: 47481) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValues(uint256,uint256,uint256) (runs: 2049, μ: 12202, ~: 12283) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValuesThirdValueTooLarge(uint256,uint256,uint256) (runs: 2049, μ: 13696, ~: 13562) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValue(uint256,uint256) (runs: 2049, μ: 10441, ~: 10482) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValueSecondValueTooLarge(uint256,uint256) (runs: 2049, μ: 11833, ~: 11670) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueOnly(uint256) (runs: 2049, μ: 8695, ~: 8754) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueTooLarge(int256) (runs: 2049, μ: 11825, ~: 11734) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1ManyValues(bytes32[]) (runs: 2049, μ: 35463, ~: 35602) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValues(uint256,uint256,uint256) (runs: 2048, μ: 12202, ~: 12283) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValuesThirdValueTooLarge(uint256,uint256,uint256) (runs: 2048, μ: 13696, ~: 13562) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValue(uint256,uint256) (runs: 2048, μ: 10441, ~: 10482) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValueSecondValueTooLarge(uint256,uint256) (runs: 2048, μ: 11833, ~: 11670) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueOnly(uint256) (runs: 2048, μ: 8696, ~: 8754) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueTooLarge(int256) (runs: 2048, μ: 11824, ~: 11734) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1ManyValues(bytes32[]) (runs: 2048, μ: 35477, ~: 35602) LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1NoValues() (gas: 4715) -LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedAnyValues(bytes32[]) (runs: 2049, μ: 34842, ~: 34906) +LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedAnyValues(bytes32[]) (runs: 2048, μ: 34856, ~: 34906) LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedNoValues() (gas: 3219) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultBothValuesWithinOneByte(uint256,uint256) (runs: 2049, μ: 9970, ~: 10099) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultFirstValueTooLarge(uint256,uint256) (runs: 2049, μ: 11350, ~: 11176) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultManyValues(bytes32[]) (runs: 2049, μ: 35275, ~: 35515) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultBothValuesWithinOneByte(uint256,uint256) (runs: 2048, μ: 9970, ~: 10099) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultFirstValueTooLarge(uint256,uint256) (runs: 2048, μ: 11350, ~: 11176) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultManyValues(bytes32[]) (runs: 2048, μ: 35289, ~: 35515) LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultNoValues() (gas: 4667) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultOneValue(uint256) (runs: 2049, μ: 8863, ~: 9149) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultSecondValueTooLarge(uint256,uint256) (runs: 2049, μ: 11378, ~: 11187) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1ManyValues(bytes32[]) (runs: 2049, μ: 35169, ~: 35409) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultOneValue(uint256) (runs: 2048, μ: 8863, ~: 9149) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultSecondValueTooLarge(uint256,uint256) (runs: 2048, μ: 11378, ~: 11187) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1ManyValues(bytes32[]) (runs: 2048, μ: 35183, ~: 35409) LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1NoValues() (gas: 3915) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValue(uint256) (runs: 2049, μ: 8221, ~: 8220) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValueTooLarge(uint256) (runs: 2049, μ: 9399, ~: 9179) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValues(uint256,uint256) (runs: 2049, μ: 9936, ~: 9961) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValuesSecondValueTooLarge(uint256,uint256) (runs: 2049, μ: 11281, ~: 11105) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullManyValues(bytes32[]) (runs: 2049, μ: 35090, ~: 35427) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultManyValues(bytes32[]) (runs: 2049, μ: 35110, ~: 35447) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValue(uint256) (runs: 2048, μ: 8221, ~: 8220) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValueTooLarge(uint256) (runs: 2048, μ: 9399, ~: 9179) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValues(uint256,uint256) (runs: 2048, μ: 9936, ~: 9961) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValuesSecondValueTooLarge(uint256,uint256) (runs: 2048, μ: 11281, ~: 11105) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullManyValues(bytes32[]) (runs: 2048, μ: 35104, ~: 35427) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultManyValues(bytes32[]) (runs: 2048, μ: 35124, ~: 35447) LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultNoValues() (gas: 4641) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultSingleValue(uint256) (runs: 2049, μ: 7642, ~: 7923) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultSingleValue(uint256) (runs: 2048, μ: 7642, ~: 7923) LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoValues() (gas: 3266) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValue(uint256) (runs: 2049, μ: 7683, ~: 7966) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueDisallowed(uint256) (runs: 2049, μ: 9358, ~: 9571) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueNoDefaultDisallowed(uint256) (runs: 2049, μ: 9396, ~: 9612) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValue(uint256) (runs: 2048, μ: 7684, ~: 7966) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueDisallowed(uint256) (runs: 2048, μ: 9358, ~: 9571) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueNoDefaultDisallowed(uint256) (runs: 2048, μ: 9396, ~: 9612) LibParseOperandM1M1Test:testOperandM1M1Both() (gas: 58107) LibParseOperandM1M1Test:testOperandM1M1BothZero() (gas: 56301) LibParseOperandM1M1Test:testOperandM1M1Elided() (gas: 52108) @@ -925,12 +925,12 @@ LibParseOperandM1M1Test:testOperandM1M1SecondZero() (gas: 57751) LibParseOperandM1M1Test:testOperandM1M1Unclosed() (gas: 253476) LibParseOperandM1M1Test:testOperandM1M1Unopened() (gas: 49682) LibParseOperandParseOperandTest:testParseOperandEmptyOperand(string) (runs: 100, μ: 43266, ~: 43266) -LibParseOperandParseOperandTest:testParseOperandFourDecimalLiterals(bool[4],int256[4],string[5],string) (runs: 101, μ: 377322, ~: 377204) +LibParseOperandParseOperandTest:testParseOperandFourDecimalLiterals(bool[4],int256[4],string[5],string) (runs: 100, μ: 377051, ~: 377097) LibParseOperandParseOperandTest:testParseOperandNoOpeningCharacter(string) (runs: 100, μ: 43143, ~: 43143) -LibParseOperandParseOperandTest:testParseOperandSingleDecimalLiteral(bool,int256,string,string,string) (runs: 101, μ: 162161, ~: 162136) -LibParseOperandParseOperandTest:testParseOperandThreeDecimalLiterals(bool,bool,bool,int256,int256,int256,string,string,string,string,string) (runs: 101, μ: 289280, ~: 283265) +LibParseOperandParseOperandTest:testParseOperandSingleDecimalLiteral(bool,int256,string,string,string) (runs: 100, μ: 162524, ~: 163384) +LibParseOperandParseOperandTest:testParseOperandThreeDecimalLiterals(bool,bool,bool,int256,int256,int256,string,string,string,string,string) (runs: 100, μ: 288861, ~: 282801) LibParseOperandParseOperandTest:testParseOperandTooManyValues() (gas: 55202) -LibParseOperandParseOperandTest:testParseOperandTwoDecimalLiterals(bool,bool,int256,int256,string,string,string,string) (runs: 101, μ: 225073, ~: 221057) +LibParseOperandParseOperandTest:testParseOperandTwoDecimalLiterals(bool,bool,int256,int256,string,string,string,string) (runs: 100, μ: 224166, ~: 220902) LibParseOperandParseOperandTest:testParseOperandUnclosed() (gas: 54758) LibParseOperandParseOperandTest:testParseOperandUnexpectedChars() (gas: 51953) LibParseOperandSingleFullTest:testOperandSingleFullElided() (gas: 51460) @@ -949,16 +949,16 @@ LibParseOperandSingleFullTest:testOperandSingleFullUint16MaxOverflow() (gas: 518 LibParseOperandSingleFullTest:testOperandSingleFullUnclosed() (gas: 50196) LibParseOperandSingleFullTest:testOperandSingleFullUnopened() (gas: 48560) LibParseOperandSingleFullTest:testOperandSingleFullZero() (gas: 54570) -LibParseParseWordTest:testLibParseParseWordEnd(uint256) (runs: 2049, μ: 9477, ~: 9495) +LibParseParseWordTest:testLibParseParseWordEnd(uint256) (runs: 2048, μ: 9478, ~: 9495) LibParseParseWordTest:testLibParseParseWordExamples() (gas: 27109) -LibParseParseWordTest:testLibParseParseWordReferenceImplementation(bytes,uint256) (runs: 2049, μ: 6489, ~: 6269) +LibParseParseWordTest:testLibParseParseWordReferenceImplementation(bytes,uint256) (runs: 2048, μ: 6489, ~: 6269) LibParseParseWordTest:testLibParseParseWordTooLong(bytes) (runs: 2048, μ: 9784, ~: 9717) -LibParsePragmaKeywordTest:testPragmaKeywordNoWhitespace(uint256,string) (runs: 101, μ: 9029, ~: 8992) -LibParsePragmaKeywordTest:testPragmaKeywordNoop((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),string) (runs: 101, μ: 16130, ~: 15989) +LibParsePragmaKeywordTest:testPragmaKeywordNoWhitespace(uint256,string) (runs: 100, μ: 9031, ~: 8992) +LibParsePragmaKeywordTest:testPragmaKeywordNoop((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),string) (runs: 100, μ: 16143, ~: 15992) LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserBasic(string,address,uint256,string) (runs: 100, μ: 177715, ~: 167929) LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserCoupleOfAddresses(string,string,address,address,uint256,string) (runs: 100, μ: 360834, ~: 372871) LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserSpecificStrings() (gas: 257096) -LibParsePragmaKeywordTest:testPragmaKeywordWhitespaceNoHex(uint256,string) (runs: 101, μ: 20425, ~: 18640) +LibParsePragmaKeywordTest:testPragmaKeywordWhitespaceNoHex(uint256,string) (runs: 100, μ: 20490, ~: 18705) LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored00() (gas: 8404) LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored01() (gas: 8466) LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored02() (gas: 8552) @@ -1034,66 +1034,66 @@ LibParseSingleRHSNamedGasTest:testParseGasRHS30() (gas: 121049) LibParseSourceInputsTest:testParseSourceInputsEmptyLinePrefix() (gas: 49710) LibParseSourceInputsTest:testParseSourceInputsMultipleLines() (gas: 52456) LibParseSourceInputsTest:testParseSourceInputsSingle() (gas: 49687) -LibParseStackNameTest:testPushAndRetrieveStackNameDouble((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),bytes32,bytes32) (runs: 2049, μ: 20506, ~: 20373) -LibParseStackNameTest:testPushAndRetrieveStackNameDoubleIdentical((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),bytes32) (runs: 2049, μ: 17785, ~: 17698) -LibParseStackNameTest:testPushAndRetrieveStackNameMany((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),uint256) (runs: 2049, μ: 310404, ~: 245039) -LibParseStackNameTest:testPushAndRetrieveStackNameSingle((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),bytes32) (runs: 2049, μ: 17749, ~: 17662) -LibParseStateConstantValueBloomTest:testConstantValueBloom(bytes32) (runs: 2049, μ: 3330, ~: 3330) +LibParseStackNameTest:testPushAndRetrieveStackNameDouble((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),bytes32,bytes32) (runs: 2048, μ: 20507, ~: 20379) +LibParseStackNameTest:testPushAndRetrieveStackNameDoubleIdentical((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),bytes32) (runs: 2048, μ: 17786, ~: 17707) +LibParseStackNameTest:testPushAndRetrieveStackNameMany((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),uint256) (runs: 2048, μ: 310541, ~: 245419) +LibParseStackNameTest:testPushAndRetrieveStackNameSingle((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),bytes32) (runs: 2048, μ: 17750, ~: 17671) +LibParseStateConstantValueBloomTest:testConstantValueBloom(bytes32) (runs: 2048, μ: 3330, ~: 3330) LibParseStateConstantValueBloomTest:testConstantValueBloomAllBits() (gas: 45882) -LibParseStateConstantValueBloomTest:testConstantValueBloomSingleBit(bytes32) (runs: 2049, μ: 3450, ~: 3450) -LibParseStateExportSubParsersTest:testExportSubParsers((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address[]) (runs: 2049, μ: 154220, ~: 150429) -LibParseStateNewActiveSourcePointerTest:testAlignedOldPointer(uint256,uint256) (runs: 2049, μ: 13377, ~: 13500) -LibParseStateNewActiveSourcePointerTest:testPostUnalignedNewPointer(uint256) (runs: 2049, μ: 7158, ~: 7158) +LibParseStateConstantValueBloomTest:testConstantValueBloomSingleBit(bytes32) (runs: 2048, μ: 3450, ~: 3450) +LibParseStateExportSubParsersTest:testExportSubParsers((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address[]) (runs: 2048, μ: 154226, ~: 150552) +LibParseStateNewActiveSourcePointerTest:testAlignedOldPointer(uint256,uint256) (runs: 2048, μ: 13377, ~: 13500) +LibParseStateNewActiveSourcePointerTest:testPostUnalignedNewPointer(uint256) (runs: 2048, μ: 7158, ~: 7158) LibParseStateNewActiveSourcePointerTest:testPreUnalignedNewPointer() (gas: 9188) -LibParseStateNewActiveSourcePointerTest:testZeroOldPointer(bytes) (runs: 2049, μ: 4802, ~: 4799) -LibParseStatePushConstantValueTest:testPushConstantValueEmpty(bytes,bytes,bytes,bytes) (runs: 2049, μ: 6507, ~: 6504) -LibParseStatePushConstantValueTest:testPushConstantValueMany(bytes32[]) (runs: 2049, μ: 226211, ~: 226903) -LibParseStatePushConstantValueTest:testPushConstantValueSingle(bytes32) (runs: 2049, μ: 7036, ~: 7036) -LibParseStatePushSubParserTest:testPushSubParserList((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address[]) (runs: 2049, μ: 142334, ~: 139001) -LibParseStatePushSubParserTest:testPushSubParserMultiple((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address,address,address) (runs: 2049, μ: 17164, ~: 17091) -LibParseStatePushSubParserTest:testPushSubParserOverflow((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),uint256) (runs: 2049, μ: 44802, ~: 45157) -LibParseStatePushSubParserTest:testPushSubParserZero((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address) (runs: 2049, μ: 15548, ~: 15561) +LibParseStateNewActiveSourcePointerTest:testZeroOldPointer(bytes) (runs: 2048, μ: 4802, ~: 4799) +LibParseStatePushConstantValueTest:testPushConstantValueEmpty(bytes,bytes,bytes,bytes) (runs: 2048, μ: 6507, ~: 6504) +LibParseStatePushConstantValueTest:testPushConstantValueMany(bytes32[]) (runs: 2048, μ: 226313, ~: 226903) +LibParseStatePushConstantValueTest:testPushConstantValueSingle(bytes32) (runs: 2048, μ: 7036, ~: 7036) +LibParseStatePushSubParserTest:testPushSubParserList((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address[]) (runs: 2048, μ: 142340, ~: 139015) +LibParseStatePushSubParserTest:testPushSubParserMultiple((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address,address,address) (runs: 2048, μ: 17165, ~: 17091) +LibParseStatePushSubParserTest:testPushSubParserOverflow((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),uint256) (runs: 2048, μ: 44805, ~: 45167) +LibParseStatePushSubParserTest:testPushSubParserZero((uint256,uint256,uint256,uint256,uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,bytes32,bytes,bytes,bytes32[],uint256,bytes,bytes),address) (runs: 2048, μ: 15548, ~: 15568) LibParseUnclosedLeftParenTest:testParseUnclosedLeftParen() (gas: 48978) LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested() (gas: 69243) LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested2() (gas: 70803) LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested3() (gas: 80809) LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested4() (gas: 80674) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadIgnoredTail(uint8) (runs: 2049, μ: 47066, ~: 47067) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadNamedTail(uint8,bytes) (runs: 2049, μ: 53241, ~: 53283) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadIgnoredTail(uint8) (runs: 2048, μ: 47066, ~: 47067) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadNamedTail(uint8,bytes) (runs: 2048, μ: 53241, ~: 53283) LibParseUnexpectedLHSTest:testParseUnexpectedLHSEOF() (gas: 133396) LibParseUnexpectedLHSTest:testParseUnexpectedLHSEOL() (gas: 133419) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSSingleChar(uint8) (runs: 2049, μ: 46658, ~: 46658) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSSingleChar(uint8) (runs: 2048, μ: 46658, ~: 46658) LibParseUnexpectedLHSTest:testParseUnexpectedLHSUnderscoreTail() (gas: 135757) -LibParseUnexpectedRHSTest:testParseUnexpectedRHS(uint8) (runs: 2049, μ: 46894, ~: 46894) +LibParseUnexpectedRHSTest:testParseUnexpectedRHS(uint8) (runs: 2048, μ: 46894, ~: 46894) LibParseUnexpectedRHSTest:testParseUnexpectedRHSLeftParen() (gas: 46400) LibParseUnexpectedRightParenTest:testParseUnexpectedRightParen() (gas: 51010) LibParseUnexpectedRightParenTest:testParseUnexpectedRightParenNested() (gas: 57314) -LibSubParseSubParserExternTest:testLibSubParseSubParserExtern(address,uint8,uint8,uint8,uint16,uint8) (runs: 2049, μ: 13295, ~: 13226) -LibSubParseSubParserExternTest:testLibSubParseSubParserExternConstantsHeightOverflow(address,uint256,uint8,uint8,uint16,uint8) (runs: 2049, μ: 11514, ~: 11242) -RainterpreterExpressionDeployerDeployCheckTest:testRainterpreterExpressionDeployerDeployNoEIP1820() (gas: 8349607) -RainterpreterExpressionDeployerDescribedByMetaV1Test:testRainterpreterExpressionDeployerDescribedByMetaV1Happy() (gas: 8362855) -RainterpreterExpressionDeployerIERC165Test:testRainterpreterExpressionDeployerIERC165(bytes4) (runs: 2049, μ: 8357477, ~: 8357477) +LibSubParseSubParserExternTest:testLibSubParseSubParserExtern(address,uint8,uint8,uint8,uint16,uint8) (runs: 2048, μ: 13295, ~: 13226) +LibSubParseSubParserExternTest:testLibSubParseSubParserExternConstantsHeightOverflow(address,uint256,uint8,uint8,uint16,uint8) (runs: 2048, μ: 11514, ~: 11242) +RainterpreterExpressionDeployerDeployCheckTest:testRainterpreterExpressionDeployerDeployNoEIP1820() (gas: 8362647) +RainterpreterExpressionDeployerDescribedByMetaV1Test:testRainterpreterExpressionDeployerDescribedByMetaV1Happy() (gas: 8375897) +RainterpreterExpressionDeployerIERC165Test:testRainterpreterExpressionDeployerIERC165(bytes4) (runs: 2048, μ: 8370517, ~: 8370517) RainterpreterExpressionDeployerMetaTest:testRainterpreterExpressionDeployerExpectedConstructionMetaHash() (gas: 6233) -RainterpreterIERC165Test:testRainterpreterIERC165(bytes4) (runs: 2049, μ: 3534814, ~: 3534814) -RainterpreterParserIERC165Test:testRainterpreterParserIERC165(bytes4) (runs: 2049, μ: 3241902, ~: 3241902) +RainterpreterIERC165Test:testRainterpreterIERC165(bytes4) (runs: 2048, μ: 3547855, ~: 3547855) +RainterpreterParserIERC165Test:testRainterpreterParserIERC165(bytes4) (runs: 2048, μ: 3241902, ~: 3241902) RainterpreterParserParserPragma:testParsePragmaNoPragma() (gas: 16191702) RainterpreterParserParserPragma:testParsePragmaSinglePragma() (gas: 9767480) RainterpreterParserParserPragma:testParsePragmaWithInterstitial() (gas: 9770817) RainterpreterParserPointersTest:testLiteralParserFunctionPointers() (gas: 3240656) RainterpreterParserPointersTest:testOperandHandlerFunctionPointers() (gas: 3249517) RainterpreterParserPointersTest:testParserParseMeta() (gas: 5268334) -RainterpreterPointersTest:testOpcodeFunctionPointers() (gas: 3542556) +RainterpreterPointersTest:testOpcodeFunctionPointers() (gas: 3555597) RainterpreterReferenceExternContextRainlenTest:testRainterpreterReferenceExterNPE2ContextRainlenHappy() (gas: 2021454) RainterpreterReferenceExternContextSenderTest:testRainterpreterReferenceExterNPE2ContextContractHappy() (gas: 2021039) RainterpreterReferenceExternContextSenderTest:testRainterpreterReferenceExterNPE2ContextSenderHappy() (gas: 2019735) RainterpreterReferenceExternDescribedByMetaV1:testRainterpreterReferenceExternDescribedByMetaV1Happy() (gas: 1941342) -RainterpreterReferenceExternIERC165Test:testRainterpreterReferenceExternIERC165(bytes4) (runs: 2049, μ: 1954827, ~: 1954827) +RainterpreterReferenceExternIERC165Test:testRainterpreterReferenceExternIERC165(bytes4) (runs: 2048, μ: 1954827, ~: 1954827) RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncHappySugared() (gas: 2048764) RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncHappyUnsugared() (gas: 2041767) -RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncIntegrity(bytes32,uint256,uint256) (runs: 101, μ: 3597, ~: 3597) -RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncRun(bytes32,bytes32[]) (runs: 101, μ: 1129465, ~: 1135638) -RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncSubParseKnownWord(uint16,bytes1) (runs: 101, μ: 1955216, ~: 1955484) -RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncSubParseUnknownWord(uint16,bytes1,bytes) (runs: 101, μ: 1951583, ~: 1951383) +RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncIntegrity(bytes32,uint256,uint256) (runs: 100, μ: 3597, ~: 3597) +RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncRun(bytes32,bytes32[]) (runs: 100, μ: 1137978, ~: 1138083) +RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncSubParseKnownWord(uint16,bytes1) (runs: 100, μ: 1955204, ~: 1955484) +RainterpreterReferenceExternIntIncTest:testRainterpreterReferenceExternIntIncSubParseUnknownWord(uint16,bytes1,bytes) (runs: 100, μ: 1951585, ~: 1951383) RainterpreterReferenceExternPointersTest:testIntegrityFunctionPointers() (gas: 1941431) RainterpreterReferenceExternPointersTest:testOpcodeFunctionPointers() (gas: 1941474) RainterpreterReferenceExternPointersTest:testSubParserFunctionPointers() (gas: 1941897) @@ -1101,13 +1101,13 @@ RainterpreterReferenceExternPointersTest:testSubParserLiteralParsers() (gas: 194 RainterpreterReferenceExternPointersTest:testSubParserOperandParsers() (gas: 1941924) RainterpreterReferenceExternPointersTest:testSubParserParseMeta() (gas: 22065) RainterpreterReferenceExternRepeatTest:testRainterpreterReferenceExternRepeatHappy() (gas: 2074277) -RainterpreterReferenceExternStackOperandTest:testRainterpreterReferenceExternStackOperandSingle(uint256) (runs: 2049, μ: 2028875, ~: 2028959) +RainterpreterReferenceExternStackOperandTest:testRainterpreterReferenceExternStackOperandSingle(uint256) (runs: 2048, μ: 2028879, ~: 2028959) RainterpreterReferenceExternUnknownWordTest:testRainterpreterReferenceExternUnknownWord() (gas: 1989941) RainterpreterStateOverlayTest:testStateOverlayGet() (gas: 52723) RainterpreterStateOverlayTest:testStateOverlaySet() (gas: 83880) -RainterpreterStoreIERC165Test:testRainterpreterStoreIERC165(bytes4) (runs: 2049, μ: 220055, ~: 220055) -RainterpreterStoreTest:testRainterpreterStoreSetGetDupes((uint256,bytes32[11])[]) (runs: 101, μ: 1597343, ~: 1595961) -RainterpreterStoreTest:testRainterpreterStoreSetGetNoDupesMany((uint256,bytes32[])[]) (runs: 101, μ: 3519147, ~: 3416566) -RainterpreterStoreTest:testRainterpreterStoreSetGetNoDupesSingle(uint256,bytes32[]) (runs: 101, μ: 1832736, ~: 1729783) +RainterpreterStoreIERC165Test:testRainterpreterStoreIERC165(bytes4) (runs: 2048, μ: 220055, ~: 220055) +RainterpreterStoreTest:testRainterpreterStoreSetGetDupes((uint256,bytes32[11])[]) (runs: 100, μ: 1602877, ~: 1595992) +RainterpreterStoreTest:testRainterpreterStoreSetGetNoDupesMany((uint256,bytes32[])[]) (runs: 100, μ: 3544740, ~: 3425952) +RainterpreterStoreTest:testRainterpreterStoreSetGetNoDupesSingle(uint256,bytes32[]) (runs: 100, μ: 1845969, ~: 1796079) RainterpreterStoreTest:testRainterpreterStoreSetOddLength(uint256,bytes32[]) (runs: 100, μ: 239428, ~: 239636) RainterpreterTest:testRainterpreterOddFunctionPointersLength() (gas: 3696) \ No newline at end of file diff --git a/src/generated/Rainterpreter.pointers.sol b/src/generated/Rainterpreter.pointers.sol index 0fcbeada5..4a7a26cb3 100644 --- a/src/generated/Rainterpreter.pointers.sol +++ b/src/generated/Rainterpreter.pointers.sol @@ -10,11 +10,11 @@ pragma solidity =0.8.25; /// @dev Hash of the known bytecode. -bytes32 constant BYTECODE_HASH = bytes32(0x9a3ca9d805d07bd7c37721c0a10a4ff07e704cc4e2365273bc73bc6b60f88136); +bytes32 constant BYTECODE_HASH = bytes32(0xc3320bb23ac577f86084dba25927bbb73068f1bd6c493997d17cfc0bcd78621e); /// @dev The function pointers known to the interpreter for dynamic dispatch. /// By setting these as a constant they can be inlined into the interpreter /// and loaded at eval time for very low gas (~100) due to the compiler /// optimising it to a single `codecopy` to build the in memory bytes array. bytes constant OPCODE_FUNCTION_POINTERS = - hex"0864089608ba0a390ae80afa0b0c0b250b490b7d0b8e0b9f0c410c600cf80d820df90f0810080cf810e711731208127312841295129512a612fc13d81442145b146f14b914d214eb150f1525153e155715a015c715da163c168a16d817261774178218361859186718f61927196b1990199e19ac19fd1a321a401a8e1abf1af01b3e1b6f1b871c161c431c661cb41d9d"; + hex"0864089608ba0a390ae80afa0b0c0b250b490b7d0b8e0b9f0c410c600cf80d820df90f0810080cf810e711731208127312841295129512a612fc13d81442145b146f14b914d214eb150f1525153e155715a015c715da163c168a16d817261774178218361859186718f61927196b1990199e19ac19fd1a321a401a8e1abf1af01b3e1b6f1b871c161c431c661cf51dde"; diff --git a/src/lib/op/math/LibOpSub.sol b/src/lib/op/math/LibOpSub.sol index d53b694e7..06be60d2d 100644 --- a/src/lib/op/math/LibOpSub.sol +++ b/src/lib/op/math/LibOpSub.sol @@ -7,10 +7,13 @@ import {IntegrityCheckState} from "../../integrity/LibIntegrityCheck.sol"; import {InterpreterState} from "../../state/LibInterpreterState.sol"; import {Float, LibDecimalFloat} from "rain.math.float/lib/LibDecimalFloat.sol"; import {StackItem} from "rain.interpreter.interface/interface/unstable/IInterpreterV4.sol"; +import {LibDecimalFloatImplementation} from "rain.math.float/lib/implementation/LibDecimalFloatImplementation.sol"; /// @title LibOpSub /// @notice Opcode to subtract N integers. library LibOpSub { + using LibDecimalFloat for Float; + function integrity(IntegrityCheckState memory, OperandV2 operand) internal pure returns (uint256, uint256) { // There must be at least two inputs. uint256 inputs = uint256(OperandV2.unwrap(operand) >> 0x10) & 0x0F; @@ -27,8 +30,10 @@ library LibOpSub { b := mload(add(stackTop, 0x20)) stackTop := add(stackTop, 0x40) } - - a = LibDecimalFloat.sub(a, b); + (int256 signedCoefficient, int256 exponent) = a.unpack(); + (int256 signedCoefficientB, int256 exponentB) = b.unpack(); + (signedCoefficient, exponent) = + LibDecimalFloatImplementation.sub(signedCoefficient, exponent, signedCoefficientB, exponentB); { uint256 inputs = uint256(OperandV2.unwrap(operand) >> 0x10) & 0x0F; @@ -38,12 +43,16 @@ library LibOpSub { b := mload(stackTop) stackTop := add(stackTop, 0x20) } - a = LibDecimalFloat.sub(a, b); + (signedCoefficientB, exponentB) = b.unpack(); + (signedCoefficient, exponent) = + LibDecimalFloatImplementation.sub(signedCoefficient, exponent, signedCoefficientB, exponentB); unchecked { i++; } } } + //slither-disable-next-line unused-return + (a,) = LibDecimalFloat.packLossy(signedCoefficient, exponent); assembly ("memory-safe") { stackTop := sub(stackTop, 0x20) @@ -62,9 +71,19 @@ library LibOpSub { // see the revert from the real function and not the reference function. unchecked { Float acc = Float.wrap(StackItem.unwrap(inputs[0])); + (int256 signedCoefficient, int256 exponent) = acc.unpack(); + for (uint256 i = 1; i < inputs.length; i++) { - acc = LibDecimalFloat.sub(acc, Float.wrap(StackItem.unwrap(inputs[i]))); + Float b = Float.wrap(StackItem.unwrap(inputs[i])); + (int256 signedCoefficientB, int256 exponentB) = b.unpack(); + (signedCoefficient, exponent) = + LibDecimalFloatImplementation.sub(signedCoefficient, exponent, signedCoefficientB, exponentB); } + + bool lossless; + (acc, lossless) = LibDecimalFloat.packLossy(signedCoefficient, exponent); + (lossless); + outputs = new StackItem[](1); outputs[0] = StackItem.wrap(Float.unwrap(acc)); }