summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/StaticConfigDefinitionRepo.java4
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java1
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java6
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java5
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java17
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java15
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/RawRankProfile.java33
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/first/AccessControlValidator.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java1
-rw-r--r--config-model/src/main/resources/schema/containercluster.rnc6
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java16
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/IncorrectRankingExpressionFileRefTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java65
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionValidationTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java4
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java10
-rwxr-xr-xconfig/src/main/java/com/yahoo/vespa/config/ConfigKey.java9
-rw-r--r--config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java4
-rw-r--r--config/src/test/java/com/yahoo/vespa/config/ConfigKeyTest.java10
-rw-r--r--configgen/src/main/java/com/yahoo/config/codegen/CNode.java6
-rw-r--r--configgen/src/main/java/com/yahoo/config/codegen/JavaClassBuilder.java17
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandler.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandler.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/TenantHandler.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java28
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java2
-rwxr-xr-xcontainer-disc/src/main/sh/vespa-start-container-daemon.sh2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringClient.java17
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringInfo.java41
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceAllocation.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshot.java14
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshotConsumer.java16
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMeteringClient.java42
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockResourceSnapshotConsumer.java29
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java13
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java12
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java63
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ControllerContainerTest.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java18
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-metering.json42
-rw-r--r--controller-server/src/test/resources/test_runner_services.xml-cd4
-rw-r--r--documentapi/src/tests/messagebus/messagebus_test.cpp10
-rw-r--r--documentapi/src/tests/policyfactory/policyfactory.cpp2
-rw-r--r--eval/src/apps/tensor_conformance/generate.cpp203
-rw-r--r--eval/src/apps/tensor_conformance/test_spec.json2677
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java8
-rw-r--r--hosted-api/src/main/java/ai/vespa/hosted/api/Authenticator.java32
-rw-r--r--hosted-api/src/main/java/ai/vespa/hosted/api/EndpointAuthenticator.java20
-rw-r--r--hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java32
-rw-r--r--hosted-api/src/test/java/ai/vespa/hosted/api/TestConfigTest.java10
-rw-r--r--hosted-api/src/test/resources/clusters-only-config.json6
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java20
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java7
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java12
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java10
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java99
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java70
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java16
-rw-r--r--parent/pom.xml4
-rw-r--r--persistence/src/tests/dummyimpl/dummypersistence_test.cpp22
-rw-r--r--searchcommon/src/vespa/searchcommon/attribute/iattributevector.h9
-rw-r--r--searchcore/src/tests/proton/attribute/attribute_test.cpp34
-rw-r--r--searchcore/src/tests/proton/common/cachedselect_test.cpp22
-rw-r--r--searchcore/src/tests/proton/common/selectpruner_test.cpp67
-rw-r--r--searchcore/src/tests/proton/docsummary/docsummary.cpp59
-rw-r--r--searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp12
-rw-r--r--searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp270
-rw-r--r--searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp8
-rw-r--r--searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp14
-rw-r--r--searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp4
-rw-r--r--searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp2
-rw-r--r--searchcore/src/tests/proton/feedoperation/feedoperation_test.cpp6
-rw-r--r--searchcore/src/tests/proton/index/fusionrunner_test.cpp2
-rw-r--r--searchcore/src/tests/proton/index/index_writer/index_writer_test.cpp2
-rw-r--r--searchcore/src/tests/proton/index/indexmanager_test.cpp2
-rw-r--r--searchcore/src/tests/proton/matching/matching_test.cpp46
-rw-r--r--searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp35
-rw-r--r--searchcore/src/tests/proton/server/documentretriever_test.cpp9
-rw-r--r--searchcore/src/tests/proton/server/feeddebugger_test.cpp10
-rw-r--r--searchcore/src/tests/proton/server/feedstates_test.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_factory.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/feeddebugger.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentretrieverbase.cpp14
-rw-r--r--searchlib/src/apps/vespa-attribute-inspect/vespa-attribute-inspect.cpp9
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/tensor/TensorConformanceTest.java3
-rw-r--r--searchlib/src/tests/attribute/attribute_test.cpp84
-rw-r--r--searchlib/src/tests/attribute/document_weight_iterator/document_weight_iterator_test.cpp27
-rw-r--r--searchlib/src/tests/attribute/enumeratedsave/.gitignore9
-rw-r--r--searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp73
-rw-r--r--searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp91
-rwxr-xr-xsearchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.sh1
-rw-r--r--searchlib/src/tests/attribute/searchcontext/searchcontext.cpp49
-rwxr-xr-xsearchlib/src/tests/attribute/searchcontext/searchcontext_test.sh1
-rw-r--r--searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp8
-rwxr-xr-xsearchlib/src/tests/attribute/stringattribute/stringattribute_test.sh1
-rw-r--r--searchlib/src/tests/diskindex/fusion/fusion_test.cpp6
-rw-r--r--searchlib/src/tests/engine/transportserver/transportserver_test.cpp4
-rw-r--r--searchlib/src/tests/index/docbuilder/docbuilder_test.cpp16
-rw-r--r--searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp12
-rw-r--r--searchlib/src/tests/memoryindex/field_index/field_index_test.cpp18
-rw-r--r--searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp16
-rw-r--r--searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp2
-rw-r--r--searchlib/src/tests/memoryindex/url_field_inverter/url_field_inverter_test.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/attribute/CMakeLists.txt5
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributefile.cpp454
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributefile.h108
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributemanager.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.cpp13
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.h4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.cpp83
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.h47
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.hpp74
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstorebase.h4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp13
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp23
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistattribute.h1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/attribute/stringbase.cpp67
-rw-r--r--searchlib/src/vespa/searchlib/attribute/stringbase.h3
-rwxr-xr-xsecurity-tools/src/main/sh/vespa-curl-wrapper69
-rw-r--r--staging_vespalib/src/tests/state_server/state_server_test.cpp6
-rw-r--r--storage/src/tests/bucketdb/bucketmanagertest.cpp6
-rw-r--r--storage/src/tests/distributor/bucketdatabasetest.cpp7
-rw-r--r--storage/src/tests/distributor/getoperationtest.cpp54
-rw-r--r--storage/src/tests/distributor/pendingmessagetrackertest.cpp2
-rw-r--r--storage/src/tests/distributor/putoperationtest.cpp114
-rw-r--r--storage/src/tests/distributor/removeoperationtest.cpp29
-rw-r--r--storage/src/tests/distributor/twophaseupdateoperationtest.cpp129
-rw-r--r--storage/src/tests/distributor/updateoperationtest.cpp10
-rw-r--r--storage/src/tests/frameworkimpl/status/statustest.cpp18
-rw-r--r--storage/src/tests/persistence/filestorage/filestormanagertest.cpp4
-rw-r--r--storage/src/tests/persistence/testandsettest.cpp14
-rw-r--r--storage/src/tests/storageserver/bouncertest.cpp4
-rw-r--r--storage/src/tests/storageserver/communicationmanagertest.cpp6
-rw-r--r--storage/src/tests/storageserver/documentapiconvertertest.cpp3
-rw-r--r--storage/src/vespa/storage/bucketdb/btree_bucket_database.cpp45
-rw-r--r--storage/src/vespa/storage/bucketdb/btree_bucket_database.h37
-rw-r--r--storage/src/vespa/storage/bucketdb/bucketdatabase.h17
-rw-r--r--storage/src/vespa/storage/bucketdb/mapbucketdatabase.cpp10
-rw-r--r--storage/src/vespa/storage/bucketdb/mapbucketdatabase.h13
-rw-r--r--storage/src/vespa/storage/distributor/operations/external/getoperation.cpp28
-rw-r--r--streamingvisitors/src/tests/hitcollector/hitcollector.cpp2
-rw-r--r--tenant-auth/src/main/java/ai/vespa/hosted/auth/CertificateAndKeyAuthenticator.java (renamed from tenant-auth/src/main/java/ai/vespa/hosted/auth/EndpointAuthenticator.java)11
-rw-r--r--tenant-base/pom.xml58
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/EmptyGroup.java9
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/IntegrationTest.java27
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/ProductionTest.java3
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/StagingTest.java3
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/SystemTest.java3
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/TestRuntime.java12
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpDeployment.java4
-rw-r--r--tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpEndpoint.java10
-rw-r--r--vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java4
-rw-r--r--vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java6
-rw-r--r--vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java18
-rw-r--r--vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java1
-rw-r--r--vespa-testrunner-components/src/test/resources/pom.xml_system_tests6
-rw-r--r--vespajlib/abi-spec.json1
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/TensorType.java12
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Concat.java9
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java3
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/ReduceJoin.java3
-rw-r--r--vespalib/src/tests/datastore/unique_store/unique_store_test.cpp234
-rw-r--r--vespalib/src/tests/portal/portal_test.cpp6
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store.h7
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store.hpp4
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_allocator.h1
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.cpp7
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.h2
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.hpp3
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_string_comparator.h51
-rw-r--r--vespalib/src/vespa/vespalib/portal/http_connection.cpp21
-rw-r--r--vespalib/src/vespa/vespalib/test/datastore/buffer_stats.h1
194 files changed, 3727 insertions, 3365 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/StaticConfigDefinitionRepo.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/StaticConfigDefinitionRepo.java
index 58318958dfb..d9253d6105b 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/StaticConfigDefinitionRepo.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/StaticConfigDefinitionRepo.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.model.application.provider;
-import com.yahoo.config.codegen.CNode;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.io.IOUtils;
import com.yahoo.log.LogLevel;
@@ -16,7 +15,6 @@ import java.io.IOException;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.stream.Collectors;
/**
* A global pool of all config definitions that this server knows about. These objects can be shared
@@ -48,8 +46,6 @@ public class StaticConfigDefinitionRepo implements ConfigDefinitionRepo {
private void addConfigDefinition(File def) {
try {
ConfigDefinitionKey key = ConfigUtils.createConfigDefinitionKeyFromDefFile(def);
- if (key.getNamespace().isEmpty())
- key = new ConfigDefinitionKey(key.getName(), CNode.DEFAULT_NAMESPACE);
addConfigDefinition(key, def);
} catch (IOException e) {
log.log(LogLevel.WARNING, "Exception adding config definition " + def, e);
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index 4e47409a7a0..56621550aa0 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -60,6 +60,7 @@ public interface ModelContext {
// TODO: Remove temporary default implementation
default Optional<TlsSecrets> tlsSecrets() { return Optional.empty(); }
default boolean enableGroupingSessionCache() { return false; }
+ double defaultTermwiseLimit();
}
}
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index d974db73547..0dc08c19b92 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -41,6 +41,7 @@ public class TestProperties implements ModelContext.Properties {
private boolean useFdispatchByDefault = true;
private boolean dispatchWithProtobuf = true;
private boolean useAdaptiveDispatch = false;
+ private double defaultTermwiseLimit = 1.0;
private Optional<TlsSecrets> tlsSecrets = Optional.empty();
@@ -62,7 +63,12 @@ public class TestProperties implements ModelContext.Properties {
@Override public boolean useFdispatchByDefault() { return useFdispatchByDefault; }
@Override public boolean dispatchWithProtobuf() { return dispatchWithProtobuf; }
@Override public Optional<TlsSecrets> tlsSecrets() { return tlsSecrets; }
+ @Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
+ public TestProperties setDefaultTermwiseLimit(double limit) {
+ defaultTermwiseLimit = limit;
+ return this;
+ }
public TestProperties setApplicationId(ApplicationId applicationId) {
this.applicationId = applicationId;
return this;
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
index 7a34ff258b7..f1155a5d3cf 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
@@ -38,6 +38,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import java.util.OptionalDouble;
import java.util.Set;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -501,10 +502,10 @@ public class RankProfile implements Serializable, Cloneable {
: numSearchPartitions;
}
- public double getTermwiseLimit() {
+ public OptionalDouble getTermwiseLimit() {
return ((termwiseLimit == null) && (getInherited() != null))
? getInherited().getTermwiseLimit()
- : (termwiseLimit != null) ? termwiseLimit : 1.0;
+ : (termwiseLimit != null) ? OptionalDouble.of(termwiseLimit) : OptionalDouble.empty();
}
public void setTermwiseLimit(double termwiseLimit) { this.termwiseLimit = termwiseLimit; }
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java
index f25dd0be7b2..245913d7822 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java
@@ -3,8 +3,10 @@ package com.yahoo.searchdefinition.derived;
import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
import com.yahoo.config.ConfigInstance;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.application.provider.BaseDeployLogger;
import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.document.DocumenttypesConfig;
import com.yahoo.document.config.DocumentmanagerConfig;
import com.yahoo.io.IOUtils;
@@ -40,17 +42,15 @@ public class DerivedConfiguration {
/**
* Creates a complete derived configuration from a search definition.
+ * Only used in tests.
*
* @param search The search to derive a configuration from. Derived objects will be snapshots, but this argument is
* live. Which means that this object will be inconsistent when the given search definition is later
* modified.
* @param rankProfileRegistry a {@link com.yahoo.searchdefinition.RankProfileRegistry}
*/
- public DerivedConfiguration(Search search,
- RankProfileRegistry rankProfileRegistry,
- QueryProfileRegistry queryProfiles,
- ImportedMlModels importedModels) {
- this(search, new BaseDeployLogger(), rankProfileRegistry, queryProfiles, importedModels);
+ DerivedConfiguration(Search search, RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryProfiles, ImportedMlModels importedModels) {
+ this(search, new BaseDeployLogger(), new TestProperties(), rankProfileRegistry, queryProfiles, importedModels);
}
/**
@@ -59,13 +59,14 @@ public class DerivedConfiguration {
* @param search The search to derive a configuration from. Derived objects will be snapshots, but this
* argument is live. Which means that this object will be inconsistent when the given
* search definition is later modified.
- * @param deployLogger a {@link DeployLogger} for logging when
- * doing operations on this
+ * @param deployLogger a {@link DeployLogger} for logging when doing operations on this
+ * @param deployProperties Properties set on deploy.
* @param rankProfileRegistry a {@link com.yahoo.searchdefinition.RankProfileRegistry}
* @param queryProfiles the query profiles of this application
*/
public DerivedConfiguration(Search search,
DeployLogger deployLogger,
+ ModelContext.Properties deployProperties,
RankProfileRegistry rankProfileRegistry,
QueryProfileRegistry queryProfiles,
ImportedMlModels importedModels) {
@@ -80,7 +81,7 @@ public class DerivedConfiguration {
summaries = new Summaries(search, deployLogger);
summaryMap = new SummaryMap(search);
juniperrc = new Juniperrc(search);
- rankProfileList = new RankProfileList(search, search.rankingConstants(), attributeFields, rankProfileRegistry, queryProfiles, importedModels);
+ rankProfileList = new RankProfileList(search, search.rankingConstants(), attributeFields, rankProfileRegistry, queryProfiles, importedModels, deployProperties);
indexingScript = new IndexingScript(search);
indexInfo = new IndexInfo(search);
indexSchema = new IndexSchema(search);
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
index d8f2141d837..f6d4889b55e 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
@@ -2,6 +2,7 @@
package com.yahoo.searchdefinition.derived;
import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.RankProfileRegistry;
import com.yahoo.searchdefinition.RankingConstant;
@@ -45,29 +46,29 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ
AttributeFields attributeFields,
RankProfileRegistry rankProfileRegistry,
QueryProfileRegistry queryProfiles,
- ImportedMlModels importedModels) {
+ ImportedMlModels importedModels,
+ ModelContext.Properties deployProperties) {
setName(search == null ? "default" : search.getName());
this.rankingConstants = rankingConstants;
- deriveRankProfiles(rankProfileRegistry, queryProfiles, importedModels, search, attributeFields);
+ deriveRankProfiles(rankProfileRegistry, queryProfiles, importedModels, search, attributeFields, deployProperties);
}
private void deriveRankProfiles(RankProfileRegistry rankProfileRegistry,
QueryProfileRegistry queryProfiles,
ImportedMlModels importedModels,
Search search,
- AttributeFields attributeFields) {
+ AttributeFields attributeFields,
+ ModelContext.Properties deployProperties) {
if (search != null) { // profiles belonging to a search have a default profile
RawRankProfile defaultProfile = new RawRankProfile(rankProfileRegistry.get(search, "default"),
- queryProfiles,
- importedModels,
- attributeFields);
+ queryProfiles, importedModels, attributeFields, deployProperties);
rankProfiles.put(defaultProfile.getName(), defaultProfile);
}
for (RankProfile rank : rankProfileRegistry.rankProfilesOf(search)) {
if (search != null && "default".equals(rank.getName())) continue;
- RawRankProfile rawRank = new RawRankProfile(rank, queryProfiles, importedModels, attributeFields);
+ RawRankProfile rawRank = new RawRankProfile(rank, queryProfiles, importedModels, attributeFields, deployProperties);
rankProfiles.put(rawRank.getName(), rawRank);
}
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RawRankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RawRankProfile.java
index bad46955dd9..18d30b57227 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RawRankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RawRankProfile.java
@@ -5,6 +5,8 @@ import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
import com.google.common.collect.ImmutableList;
import com.yahoo.collections.Pair;
import com.yahoo.compress.Compressor;
+import com.yahoo.config.model.api.ModelContext;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.document.RankType;
import com.yahoo.searchdefinition.RankProfile;
@@ -16,7 +18,7 @@ import com.yahoo.searchlib.rankingexpression.rule.SerializationContext;
import com.yahoo.tensor.TensorType;
import com.yahoo.vespa.config.search.RankProfilesConfig;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -50,20 +52,27 @@ public class RawRankProfile implements RankProfilesConfig.Producer {
/**
* Creates a raw rank profile from the given rank profile
*/
- public RawRankProfile(RankProfile rankProfile, QueryProfileRegistry queryProfiles, ImportedMlModels importedModels, AttributeFields attributeFields) {
+ public RawRankProfile(RankProfile rankProfile, QueryProfileRegistry queryProfiles, ImportedMlModels importedModels, AttributeFields attributeFields, ModelContext.Properties deployProperties) {
this.name = rankProfile.getName();
- compressedProperties = compress(new Deriver(rankProfile, queryProfiles, importedModels, attributeFields).derive());
+ compressedProperties = compress(new Deriver(rankProfile, queryProfiles, importedModels, attributeFields, deployProperties).derive());
+ }
+
+ /**
+ * Only for testing
+ */
+ public RawRankProfile(RankProfile rankProfile, QueryProfileRegistry queryProfiles, ImportedMlModels importedModels, AttributeFields attributeFields) {
+ this(rankProfile, queryProfiles, importedModels, attributeFields, new TestProperties());
}
private Compressor.Compression compress(List<Pair<String, String>> properties) {
StringBuilder b = new StringBuilder();
for (Pair<String, String> property : properties)
b.append(property.getFirst()).append(keyEndMarker).append(property.getSecond()).append(valueEndMarker);
- return compressor.compress(b.toString().getBytes(Charset.forName("utf8")));
+ return compressor.compress(b.toString().getBytes(StandardCharsets.UTF_8));
}
private List<Pair<String, String>> decompress(Compressor.Compression compression) {
- String propertiesString = new String(compressor.decompress(compression), Charset.forName("utf8"));
+ String propertiesString = new String(compressor.decompress(compression), StandardCharsets.UTF_8);
if (propertiesString.isEmpty()) return ImmutableList.of();
ImmutableList.Builder<Pair<String, String>> properties = new ImmutableList.Builder<>();
@@ -148,11 +157,13 @@ public class RawRankProfile implements RankProfilesConfig.Producer {
/**
* Creates a raw rank profile from the given rank profile
*/
- public Deriver(RankProfile rankProfile, QueryProfileRegistry queryProfiles, ImportedMlModels importedModels, AttributeFields attributeFields) {
+ Deriver(RankProfile rankProfile, QueryProfileRegistry queryProfiles, ImportedMlModels importedModels,
+ AttributeFields attributeFields, ModelContext.Properties deployProperties)
+ {
RankProfile compiled = rankProfile.compile(queryProfiles, importedModels);
attributeTypes = compiled.getAttributeTypes();
queryFeatureTypes = compiled.getQueryFeatureTypes();
- deriveRankingFeatures(compiled);
+ deriveRankingFeatures(compiled, deployProperties);
deriveRankTypeSetting(compiled, attributeFields);
deriveFilterFields(compiled);
deriveWeightProperties(compiled);
@@ -162,7 +173,7 @@ public class RawRankProfile implements RankProfilesConfig.Producer {
filterFields.addAll(rp.allFilterFields());
}
- public void deriveRankingFeatures(RankProfile rankProfile) {
+ private void deriveRankingFeatures(RankProfile rankProfile, ModelContext.Properties deployProperties) {
firstPhaseRanking = rankProfile.getFirstPhaseRanking();
secondPhaseRanking = rankProfile.getSecondPhaseRanking();
summaryFeatures = new LinkedHashSet<>(rankProfile.getSummaryFeatures());
@@ -172,7 +183,7 @@ public class RawRankProfile implements RankProfilesConfig.Producer {
numThreadsPerSearch = rankProfile.getNumThreadsPerSearch();
minHitsPerThread = rankProfile.getMinHitsPerThread();
numSearchPartitions = rankProfile.getNumSearchPartitions();
- termwiseLimit = rankProfile.getTermwiseLimit();
+ termwiseLimit = rankProfile.getTermwiseLimit().orElse(deployProperties.defaultTermwiseLimit());
keepRankCount = rankProfile.getKeepRankCount();
rankScoreDropLimit = rankProfile.getRankScoreDropLimit();
ignoreDefaultRankFeatures = rankProfile.getIgnoreDefaultRankFeatures();
@@ -263,7 +274,7 @@ public class RawRankProfile implements RankProfilesConfig.Producer {
}
}
- public void deriveNativeRankTypeSetting(String fieldName, RankType rankType, AttributeFields attributeFields, boolean isDefaultSetting) {
+ private void deriveNativeRankTypeSetting(String fieldName, RankType rankType, AttributeFields attributeFields, boolean isDefaultSetting) {
if (isDefaultSetting) return;
NativeRankTypeDefinition definition = nativeRankTypeDefinitions.getRankTypeDefinition(rankType);
@@ -290,7 +301,7 @@ public class RawRankProfile implements RankProfilesConfig.Producer {
return setting != null && setting.getValue().equals(RankType.DEFAULT);
}
- public FieldRankSettings deriveFieldRankSettings(String fieldName) {
+ private FieldRankSettings deriveFieldRankSettings(String fieldName) {
FieldRankSettings settings = fieldRankSettings.get(fieldName);
if (settings == null) {
settings = new FieldRankSettings(fieldName);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java
index f90b399d305..a8404b076d4 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java
@@ -135,8 +135,7 @@ class InstanceResolver {
}
static String packageName(ConfigDefinitionKey cKey, PackagePrefix packagePrefix) {
- String prefix = packagePrefix.value;
- return prefix + (cKey.getNamespace().isEmpty() ? CNode.DEFAULT_NAMESPACE : cKey.getNamespace());
+ return packagePrefix.value + cKey.getNamespace();
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
index f36cc3b195c..31746c39f80 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
@@ -164,11 +164,11 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
createGlobalRankProfiles(deployState.getDeployLogger(), deployState.getImportedModels(),
deployState.rankProfileRegistry(), deployState.getQueryProfiles());
this.rankProfileList = new RankProfileList(null, // null search -> global
- rankingConstants,
- AttributeFields.empty,
+ rankingConstants, AttributeFields.empty,
deployState.rankProfileRegistry(),
deployState.getQueryProfiles().getRegistry(),
- deployState.getImportedModels());
+ deployState.getImportedModels(),
+ deployState.getProperties());
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/first/AccessControlValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/first/AccessControlValidator.java
index 9a272a08fec..972a83d7a2a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/first/AccessControlValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/first/AccessControlValidator.java
@@ -29,6 +29,7 @@ public class AccessControlValidator extends Validator {
if (! deployState.isHosted()) return;
if (! deployState.zone().environment().isProduction()) return;
+ if (deployState.zone().system().isPublic()) return;
if (model.getAdmin().getApplicationType() != ApplicationType.DEFAULT) return;
List<String> offendingClusters = new ArrayList<>();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java
index d07f6c4e6fd..31231857aae 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java
@@ -86,11 +86,15 @@ public class DomConfigPayloadBuilder {
}
private static boolean validName(String name) {
+ if (name == null) return false;
+
Matcher m = namePattern.matcher(name);
return m.matches();
}
private static boolean validNamespace(String namespace) {
+ if (namespace == null) return false;
+
Matcher m = namespacePattern.matcher(namespace);
return m.matches();
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
index 1d804ba3b27..c12ef3cf30f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
@@ -304,6 +304,7 @@ public class IndexedSearchCluster extends SearchCluster
if ( ! (search instanceof DocumentOnlySearch)) {
DocumentDatabase db = new DocumentDatabase(this, search.getName(),
new DerivedConfiguration(search, deployState.getDeployLogger(),
+ deployState.getProperties(),
deployState.rankProfileRegistry(),
deployState.getQueryProfiles().getRegistry(),
deployState.getImportedModels()));
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
index 832f5bf7d6b..d668adea116 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
@@ -103,6 +103,7 @@ public class StreamingSearchCluster extends SearchCluster implements
throw new IllegalStateException("Mismatch between document type name (" + docTypeName + ") and name of search definition (" + localSearch.getName() + ")");
}
this.sdConfig = new DerivedConfiguration(localSearch, deployState.getDeployLogger(),
+ deployState.getProperties(),
deployState.rankProfileRegistry(),
deployState.getQueryProfiles().getRegistry(),
deployState.getImportedModels());
diff --git a/config-model/src/main/resources/schema/containercluster.rnc b/config-model/src/main/resources/schema/containercluster.rnc
index d5de3c11124..142abb5c63b 100644
--- a/config-model/src/main/resources/schema/containercluster.rnc
+++ b/config-model/src/main/resources/schema/containercluster.rnc
@@ -7,7 +7,8 @@ ContainerCluster = element container | jdisc {
ContainerServices &
DocumentBinding* &
Aliases? &
- NodesOfContainerCluster?
+ NodesOfContainerCluster? &
+ ClientAuthorize?
}
ContainerServices =
@@ -28,6 +29,9 @@ ContainerServices =
SecretStore? &
GenericConfig*
+# TODO(ogronnesby): Change this configuration syntax
+ClientAuthorize = element client-authorize { empty }
+
Components = element components {
Include* &
Component*
diff --git a/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java b/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java
index ae8e8fe7de5..ec9d631dec5 100644
--- a/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java
@@ -5,9 +5,10 @@ import com.google.common.io.Files;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.application.api.ApplicationMetaData;
import com.yahoo.config.application.api.UnparsedConfigDefinition;
-import com.yahoo.config.codegen.CNode;
import com.yahoo.config.application.api.ApplicationPackage;
-import com.yahoo.config.model.application.provider.*;
+import com.yahoo.config.model.application.provider.Bundle;
+import com.yahoo.config.model.application.provider.DeployData;
+import com.yahoo.config.model.application.provider.FilesApplicationPackage;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.path.Path;
import com.yahoo.document.DataType;
@@ -338,19 +339,16 @@ public class ApplicationDeployTest {
DeployState deployState = new DeployState.Builder().applicationPackage(app).build();
- ConfigDefinition def = deployState.getConfigDefinition(new ConfigDefinitionKey("foo", CNode.DEFAULT_NAMESPACE)).get();
- assertThat(def.getNamespace(), is(CNode.DEFAULT_NAMESPACE));
-
- def = deployState.getConfigDefinition(new ConfigDefinitionKey("baz", "xyzzy")).get();
+ ConfigDefinition def = deployState.getConfigDefinition(new ConfigDefinitionKey("baz", "xyzzy")).get();
assertThat(def.getNamespace(), is("xyzzy"));
def = deployState.getConfigDefinition(new ConfigDefinitionKey("foo", "qux")).get();
assertThat(def.getNamespace(), is("qux"));
// A config def without version in filename and version in file header
- def = deployState.getConfigDefinition(new ConfigDefinitionKey("xyzzy", CNode.DEFAULT_NAMESPACE)).get();
- assertThat(def.getNamespace(), is(CNode.DEFAULT_NAMESPACE));
- assertThat(def.getName(), is("xyzzy"));
+ def = deployState.getConfigDefinition(new ConfigDefinitionKey("bar", "xyzzy")).get();
+ assertThat(def.getNamespace(), is("xyzzy"));
+ assertThat(def.getName(), is("bar"));
}
@Test(expected=IllegalArgumentException.class)
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/IncorrectRankingExpressionFileRefTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/IncorrectRankingExpressionFileRefTestCase.java
index 16c6b070551..519828497fe 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/IncorrectRankingExpressionFileRefTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/IncorrectRankingExpressionFileRefTestCase.java
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchdefinition;
+import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.derived.DerivedConfiguration;
import com.yahoo.searchdefinition.parser.ParseException;
@@ -25,7 +27,7 @@ public class IncorrectRankingExpressionFileRefTestCase extends SearchDefinitionT
Search search = SearchBuilder.buildFromFile("src/test/examples/incorrectrankingexpressionfileref.sd",
registry,
new QueryProfileRegistry());
- new DerivedConfiguration(search, registry, new QueryProfileRegistry(), new ImportedMlModels()); // cause rank profile parsing
+ new DerivedConfiguration(search, new BaseDeployLogger(), new TestProperties(), registry, new QueryProfileRegistry(), new ImportedMlModels()); // cause rank profile parsing
fail("parsing should have failed");
} catch (IllegalArgumentException e) {
String message = Exceptions.toMessageString(e);
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
index 9f59801412c..5ba508e3ef3 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
@@ -3,7 +3,9 @@ package com.yahoo.searchdefinition;
import com.yahoo.collections.Pair;
import com.yahoo.component.ComponentId;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.document.DataType;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.search.query.profile.types.FieldDescription;
@@ -58,42 +60,55 @@ public class RankProfileTestCase extends SearchDefinitionTestCase {
assertEquals(RankType.DEFAULT, setting.getValue());
}
+ private String createSD(Double termwiseLimit) {
+ return "search test {\n" +
+ " document test { \n" +
+ " field a type string { \n" +
+ " indexing: index \n" +
+ " }\n" +
+ " }\n" +
+ " \n" +
+ " rank-profile parent {\n" +
+ (termwiseLimit != null ? (" termwise-limit:" + termwiseLimit + "\n") : "") +
+ " num-threads-per-search:8\n" +
+ " min-hits-per-thread:70\n" +
+ " num-search-partitions:1200\n" +
+ " }\n" +
+ " rank-profile child inherits parent { }\n" +
+ "}\n";
+ }
+
@Test
- public void testTermwiseLimitAndSomeMoreIncludingInheritance() throws ParseException {
+ public void testTermwiseLimitWithDeployOverride() throws ParseException {
+ verifyTermwiseLimitAndSomeMoreIncludingInheritance(new TestProperties(), createSD(null), null);
+ verifyTermwiseLimitAndSomeMoreIncludingInheritance(new TestProperties(), createSD(0.78), 0.78);
+ verifyTermwiseLimitAndSomeMoreIncludingInheritance(new TestProperties().setDefaultTermwiseLimit(0.09), createSD(null), 0.09);
+ verifyTermwiseLimitAndSomeMoreIncludingInheritance(new TestProperties().setDefaultTermwiseLimit(0.09), createSD(0.37), 0.37);
+ }
+
+ private void verifyTermwiseLimitAndSomeMoreIncludingInheritance(ModelContext.Properties deployProperties, String sd, Double termwiseLimit) throws ParseException {
RankProfileRegistry rankProfileRegistry = new RankProfileRegistry();
SearchBuilder builder = new SearchBuilder(rankProfileRegistry);
- builder.importString(
- "search test {\n" +
- " document test { \n" +
- " field a type string { \n" +
- " indexing: index \n" +
- " }\n" +
- " }\n" +
- " \n" +
- " rank-profile parent {\n" +
- " termwise-limit:0.78\n" +
- " num-threads-per-search:8\n" +
- " min-hits-per-thread:70\n" +
- " num-search-partitions:1200\n" +
- " }\n" +
- " rank-profile child inherits parent { }" +
- "\n" +
- "}\n");
+ builder.importString(sd);
builder.build();
Search search = builder.getSearch();
AttributeFields attributeFields = new AttributeFields(search);
- verifyRankProfile(rankProfileRegistry.get(search, "parent"), attributeFields);
- verifyRankProfile(rankProfileRegistry.get(search, "child"), attributeFields);
+ verifyRankProfile(rankProfileRegistry.get(search, "parent"), attributeFields, deployProperties, termwiseLimit);
+ verifyRankProfile(rankProfileRegistry.get(search, "child"), attributeFields, deployProperties, termwiseLimit);
}
- private void verifyRankProfile(RankProfile rankProfile, AttributeFields attributeFields) {
- assertEquals(0.78, rankProfile.getTermwiseLimit(), 0.000001);
+ private void verifyRankProfile(RankProfile rankProfile, AttributeFields attributeFields, ModelContext.Properties deployProperties,
+ Double expectedTermwiseLimit) {
assertEquals(8, rankProfile.getNumThreadsPerSearch());
assertEquals(70, rankProfile.getMinHitsPerThread());
assertEquals(1200, rankProfile.getNumSearchPartitions());
- RawRankProfile rawRankProfile = new RawRankProfile(rankProfile, new QueryProfileRegistry(), new ImportedMlModels(), attributeFields);
- assertTrue(findProperty(rawRankProfile.configProperties(), "vespa.matching.termwise_limit").isPresent());
- assertEquals("0.78", findProperty(rawRankProfile.configProperties(), "vespa.matching.termwise_limit").get());
+ RawRankProfile rawRankProfile = new RawRankProfile(rankProfile, new QueryProfileRegistry(), new ImportedMlModels(), attributeFields, deployProperties);
+ if (expectedTermwiseLimit != null) {
+ assertTrue(findProperty(rawRankProfile.configProperties(), "vespa.matching.termwise_limit").isPresent());
+ assertEquals(String.valueOf(expectedTermwiseLimit), findProperty(rawRankProfile.configProperties(), "vespa.matching.termwise_limit").get());
+ } else {
+ assertFalse(findProperty(rawRankProfile.configProperties(), "vespa.matching.termwise_limit").isPresent());
+ }
assertTrue(findProperty(rawRankProfile.configProperties(), "vespa.matching.numthreadspersearch").isPresent());
assertEquals("8", findProperty(rawRankProfile.configProperties(), "vespa.matching.numthreadspersearch").get());
assertTrue(findProperty(rawRankProfile.configProperties(), "vespa.matching.minhitsperthread").isPresent());
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionValidationTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionValidationTestCase.java
index 0107331fe68..c5027af2a0c 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionValidationTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankingExpressionValidationTestCase.java
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchdefinition;
+import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.derived.DerivedConfiguration;
import com.yahoo.searchdefinition.parser.ParseException;
@@ -25,7 +27,7 @@ public class RankingExpressionValidationTestCase extends SearchDefinitionTestCas
try {
RankProfileRegistry registry = new RankProfileRegistry();
Search search = importWithExpression(expression, registry);
- new DerivedConfiguration(search, registry, new QueryProfileRegistry(), new ImportedMlModels()); // cause rank profile parsing
+ new DerivedConfiguration(search, new BaseDeployLogger(), new TestProperties(), registry, new QueryProfileRegistry(), new ImportedMlModels()); // cause rank profile parsing
fail("No exception on incorrect ranking expression " + expression);
} catch (IllegalArgumentException e) {
// Success
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java
index 52c36ca240c..620cee49ac4 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ImplicitSearchFieldsTestCase.java
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchdefinition.processing;
+import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.Search;
import com.yahoo.searchdefinition.SearchBuilder;
@@ -88,7 +90,7 @@ public class ImplicitSearchFieldsTestCase extends SearchDefinitionTestCase {
sb.importFile("src/test/examples/nextgen/simple.sd");
sb.build();
assertNotNull(sb.getSearch());
- new DerivedConfiguration(sb.getSearch(), sb.getRankProfileRegistry(), new QueryProfileRegistry(), new ImportedMlModels());
+ new DerivedConfiguration(sb.getSearch(), new BaseDeployLogger(), new TestProperties(), sb.getRankProfileRegistry(), new QueryProfileRegistry(), new ImportedMlModels());
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
index 1a7eb96483e..96fa59a77cc 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
@@ -2,6 +2,8 @@
package com.yahoo.searchdefinition.processing;
import com.yahoo.collections.Pair;
+import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.searchdefinition.*;
import com.yahoo.searchdefinition.derived.DerivedConfiguration;
@@ -62,7 +64,7 @@ public class RankingExpressionsTestCase extends SearchDefinitionTestCase {
public void testThatIncludingFileInSubdirFails() throws IOException, ParseException {
RankProfileRegistry registry = new RankProfileRegistry();
Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressioninfile", registry).getSearch();
- new DerivedConfiguration(search, registry, new QueryProfileRegistry(), new ImportedMlModels()); // rank profile parsing happens during deriving
+ new DerivedConfiguration(search, new BaseDeployLogger(), new TestProperties(), registry, new QueryProfileRegistry(), new ImportedMlModels()); // rank profile parsing happens during deriving
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java
index 6bfd55ca5de..bbed96d3251 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java
@@ -1,13 +1,13 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.builder;
-import com.yahoo.test.ArraytypesConfig;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.config.model.builder.xml.XmlHelper;
import com.yahoo.config.model.deploy.ConfigDefinitionStore;
-import com.yahoo.test.SimpletypesConfig;
import com.yahoo.config.model.producer.UserConfigRepo;
-import com.yahoo.config.model.builder.xml.XmlHelper;
+import com.yahoo.test.ArraytypesConfig;
+import com.yahoo.test.SimpletypesConfig;
import com.yahoo.vespa.config.ConfigDefinitionKey;
import com.yahoo.vespa.config.ConfigPayload;
import com.yahoo.vespa.config.ConfigPayloadBuilder;
@@ -22,7 +22,9 @@ import java.io.StringReader;
import java.util.Optional;
import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
/**
* @author Ulf Lilleengen
diff --git a/config/src/main/java/com/yahoo/vespa/config/ConfigKey.java b/config/src/main/java/com/yahoo/vespa/config/ConfigKey.java
index 930b74ea804..a1d069da284 100755
--- a/config/src/main/java/com/yahoo/vespa/config/ConfigKey.java
+++ b/config/src/main/java/com/yahoo/vespa/config/ConfigKey.java
@@ -3,7 +3,6 @@ package com.yahoo.vespa.config;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigurationRuntimeException;
-import com.yahoo.config.codegen.CNode;
import edu.umd.cs.findbugs.annotations.NonNull;
import edu.umd.cs.findbugs.annotations.Nullable;
@@ -48,11 +47,13 @@ public class ConfigKey<CONFIGCLASS extends ConfigInstance> implements Comparable
}
public ConfigKey(String name, String configIdString, String namespace, String defMd5, Class<CONFIGCLASS> clazz) {
- if (name == null)
- throw new ConfigurationRuntimeException("Config name must be non-null!");
+ if (name == null || name.isEmpty())
+ throw new ConfigurationRuntimeException("Config name cannot be null or empty!");
+ if (namespace == null || namespace.isEmpty())
+ throw new ConfigurationRuntimeException("Config namespace cannot be null or empty!");
this.name = name;
this.configId = (configIdString == null) ? "" : configIdString;
- this.namespace = (namespace == null) ? CNode.DEFAULT_NAMESPACE : namespace;
+ this.namespace = namespace;
this.md5 = (defMd5 == null) ? "" : defMd5;
this.configClass = clazz;
}
diff --git a/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java b/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java
index 56ede8897ed..d7653572773 100644
--- a/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java
+++ b/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java
@@ -2,7 +2,6 @@
package com.yahoo.vespa.config.util;
import com.yahoo.collections.Tuple2;
-import com.yahoo.config.codegen.CNode;
import com.yahoo.io.HexDump;
import com.yahoo.io.IOUtils;
import com.yahoo.net.HostName;
@@ -302,9 +301,6 @@ public class ConfigUtils {
*/
static ConfigDefinitionKey createConfigDefinitionKeyFromDefContent(String name, byte[] content) {
String namespace = ConfigUtils.getDefNamespace(new StringReader(Utf8.toString(content)));
- if (namespace.isEmpty()) {
- namespace = CNode.DEFAULT_NAMESPACE;
- }
return new ConfigDefinitionKey(name, namespace);
}
diff --git a/config/src/test/java/com/yahoo/vespa/config/ConfigKeyTest.java b/config/src/test/java/com/yahoo/vespa/config/ConfigKeyTest.java
index 427014316cf..452d0d78897 100644
--- a/config/src/test/java/com/yahoo/vespa/config/ConfigKeyTest.java
+++ b/config/src/test/java/com/yahoo/vespa/config/ConfigKeyTest.java
@@ -7,10 +7,10 @@ import java.util.List;
import com.yahoo.foo.AppConfig;
import com.yahoo.config.ConfigurationRuntimeException;
-import com.yahoo.config.codegen.CNode;
import org.junit.Test;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
/**
*
@@ -27,7 +27,6 @@ public class ConfigKeyTest {
assertEquals(key1, key2);
ConfigKey<?> key3 = new ConfigKey<>("foo", "a/b/c/d", namespace);
- assertFalse(key1.equals(key3));
assertNotEquals(key1, key3);
assertEquals("a/b/c", new ConfigKey<>("foo", "a/b/c", namespace).getConfigId());
@@ -67,15 +66,10 @@ public class ConfigKeyTest {
// Tests namespace and equals with combinations of namespace.
@Test
public void testNamespace() {
- ConfigKey<?> noNamespace = new ConfigKey<>("name", "id", null);
ConfigKey<?> namespaceFoo = new ConfigKey<>("name", "id", "foo");
ConfigKey<?> namespaceBar = new ConfigKey<>("name", "id", "bar");
- assertEquals(noNamespace, noNamespace);
assertEquals(namespaceFoo, namespaceFoo);
- assertNotEquals(noNamespace, namespaceFoo);
- assertNotEquals(namespaceFoo, noNamespace);
assertNotEquals(namespaceFoo, namespaceBar);
- assertEquals(noNamespace.getNamespace(), CNode.DEFAULT_NAMESPACE);
assertEquals(namespaceBar.getNamespace(), "bar");
}
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/CNode.java b/configgen/src/main/java/com/yahoo/config/codegen/CNode.java
index ea88e115530..1c1fb5f5bce 100644
--- a/configgen/src/main/java/com/yahoo/config/codegen/CNode.java
+++ b/configgen/src/main/java/com/yahoo/config/codegen/CNode.java
@@ -3,17 +3,13 @@ package com.yahoo.config.codegen;
import java.util.StringTokenizer;
-import static com.yahoo.config.codegen.DefParser.DEFAULT_PACKAGE_PREFIX;
-
/**
- * Abstract superclass for all nodes representing a definition file.
+ * Abstract superclass for all nodes representing a config definition.
*
* @author gjoranv
*/
public abstract class CNode {
- public static final String DEFAULT_NAMESPACE = "config";
-
// TODO: replace by "type" enum
public final boolean isArray;
public final boolean isMap;
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/JavaClassBuilder.java b/configgen/src/main/java/com/yahoo/config/codegen/JavaClassBuilder.java
index 75149d7a50e..40c903ee929 100644
--- a/configgen/src/main/java/com/yahoo/config/codegen/JavaClassBuilder.java
+++ b/configgen/src/main/java/com/yahoo/config/codegen/JavaClassBuilder.java
@@ -23,11 +23,10 @@ import static com.yahoo.config.codegen.DefParser.DEFAULT_PACKAGE_PREFIX;
*/
public class JavaClassBuilder implements ClassBuilder {
- public static final String INDENTATION = " ";
+ static final String INDENTATION = " ";
private final InnerCNode root;
private final NormalizedDefinition nd;
- private final String packagePrefix;
private final String javaPackage;
private final String className;
private final File destDir;
@@ -35,7 +34,7 @@ public class JavaClassBuilder implements ClassBuilder {
public JavaClassBuilder(InnerCNode root, NormalizedDefinition nd, File destDir, String rawPackagePrefix) {
this.root = root;
this.nd = nd;
- this.packagePrefix = (rawPackagePrefix != null) ? rawPackagePrefix : DEFAULT_PACKAGE_PREFIX;
+ String packagePrefix = (rawPackagePrefix != null) ? rawPackagePrefix : DEFAULT_PACKAGE_PREFIX;
this.javaPackage = (root.getPackage() != null) ? root.getPackage() : packagePrefix + root.getNamespace();
this.className = createClassName(root.getName());
this.destDir = destDir;
@@ -74,15 +73,7 @@ public class JavaClassBuilder implements ClassBuilder {
"import java.io.File;\n" + //
"import java.nio.file.Path;\n" + //
"import edu.umd.cs.findbugs.annotations.NonNull;\n" + //
- getImportFrameworkClasses(root.getNamespace());
- }
-
- private String getImportFrameworkClasses(String namespace) {
- if (CNode.DEFAULT_NAMESPACE.equals(namespace) == false) {
- return "import " + packagePrefix + CNode.DEFAULT_NAMESPACE + ".*;";
- } else {
- return "";
- }
+ "import com.yahoo.config.*;";
}
// TODO: remove the extra comment line " *" if root.getCommentBlock is empty
@@ -96,7 +87,7 @@ public class JavaClassBuilder implements ClassBuilder {
" public final static String CONFIG_DEF_MD5 = \"" + root.getMd5() + "\";\n" + //
" public final static String CONFIG_DEF_NAME = \"" + root.getName() + "\";\n" + //
" public final static String CONFIG_DEF_NAMESPACE = \"" + root.getNamespace() + "\";\n" + //
- " public final static String CONFIG_DEF_VERSION = \"" + root.getVersion() + "\";\n" + // TODO: Remove on Vespa 8
+ " public final static String CONFIG_DEF_VERSION = \"" + root.getVersion() + "\";\n" + // TODO: Remove in Vespa 8
" public final static String[] CONFIG_DEF_SCHEMA = {\n" + //
"" + indentCode(INDENTATION + INDENTATION, getDefSchema()) + "\n" + //
" };\n" + //
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index 62fef0ad79a..c8b99e2c3a0 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -619,6 +619,11 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
// ---------------- Tenant operations ----------------------------------------------------------------
+
+ public TenantRepository tenantRepository() {
+ return tenantRepository;
+ }
+
public Set<TenantName> deleteUnusedTenants(Duration ttlForUnusedTenant, Instant now) {
return tenantRepository.getAllTenantNames().stream()
.filter(tenantName -> activeApplications(tenantName).isEmpty())
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java
index d0f8005ace1..e841dd9b8d9 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java
@@ -32,6 +32,7 @@ import java.util.Set;
import java.util.logging.Logger;
import java.util.stream.Collectors;
+import static com.yahoo.config.model.api.container.ContainerServiceType.CLUSTERCONTROLLER_CONTAINER;
import static com.yahoo.config.model.api.container.ContainerServiceType.CONTAINER;
import static com.yahoo.config.model.api.container.ContainerServiceType.LOGSERVER_CONTAINER;
import static com.yahoo.config.model.api.container.ContainerServiceType.QRSERVER;
@@ -51,6 +52,7 @@ public class ConfigConvergenceChecker extends AbstractComponent {
CONTAINER.serviceName,
QRSERVER.serviceName,
LOGSERVER_CONTAINER.serviceName,
+ CLUSTERCONTROLLER_CONTAINER.serviceName,
"searchnode",
"storagenode",
"distributor"
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index 64148ba5de4..b0fdc87c244 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -137,6 +137,7 @@ public class ModelContextImpl implements ModelContext {
private final boolean dispatchWithProtobuf;
private final Optional<TlsSecrets> tlsSecrets;
private final boolean enableGroupingSessionCache;
+ private final double defaultTermwiseLimit;
public Properties(ApplicationId applicationId,
boolean multitenantFromConfig,
@@ -175,6 +176,8 @@ public class ModelContextImpl implements ModelContext {
this.tlsSecrets = tlsSecrets;
this.enableGroupingSessionCache = Flags.ENABLE_GROUPING_SESSION_CACHE.bindTo(flagSource)
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
+ defaultTermwiseLimit = Flags.DEFAULT_TERM_WISE_LIMIT.bindTo(flagSource)
+ .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
}
@Override
@@ -236,6 +239,9 @@ public class ModelContextImpl implements ModelContext {
public boolean enableGroupingSessionCache() {
return enableGroupingSessionCache;
}
+
+ @Override
+ public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java
index 3caaa7693a9..ef510b7dc37 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java
@@ -37,11 +37,10 @@ public class ApplicationApiHandler extends SessionHandler {
@Inject
public ApplicationApiHandler(Context ctx,
ApplicationRepository applicationRepository,
- TenantRepository tenantRepository,
ConfigserverConfig configserverConfig,
Zone zone) {
super(ctx, applicationRepository);
- this.tenantRepository = tenantRepository;
+ this.tenantRepository = applicationRepository.tenantRepository();
this.zookeeperBarrierTimeout = Duration.ofSeconds(configserverConfig.zookeeper().barrierTimeout());
this.zone = zone;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandler.java
index b34fe490c3a..dc2c23dc9a3 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandler.java
@@ -33,12 +33,9 @@ public class SessionActiveHandler extends SessionHandler {
private final Zone zone;
@Inject
- public SessionActiveHandler(SessionHandler.Context ctx,
- ApplicationRepository applicationRepository,
- TenantRepository tenantRepository,
- Zone zone) {
+ public SessionActiveHandler(Context ctx, ApplicationRepository applicationRepository, Zone zone) {
super(ctx, applicationRepository);
- this.tenantRepository = tenantRepository;
+ this.tenantRepository = applicationRepository.tenantRepository();
this.zone = zone;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandler.java
index 94137f58a39..9f526bbdce8 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandler.java
@@ -8,7 +8,6 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.http.ContentRequest;
-import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.config.server.http.ContentHandler;
import com.yahoo.vespa.config.server.http.SessionHandler;
import com.yahoo.vespa.config.server.http.Utils;
@@ -21,15 +20,12 @@ import com.yahoo.vespa.config.server.http.Utils;
*/
public class SessionContentHandler extends SessionHandler {
- private final TenantRepository tenantRepository;
private final ContentHandler contentHandler = new ContentHandler();
@Inject
- public SessionContentHandler(SessionHandler.Context ctx,
- ApplicationRepository applicationRepository,
- TenantRepository tenantRepository) {
+ public SessionContentHandler(Context ctx,
+ ApplicationRepository applicationRepository) {
super(ctx, applicationRepository);
- this.tenantRepository = tenantRepository;
}
@Override
@@ -48,7 +44,7 @@ public class SessionContentHandler extends SessionHandler {
}
private void validateRequest(TenantName tenantName) {
- Utils.checkThatTenantExists(tenantRepository, tenantName);
+ Utils.checkThatTenantExists(applicationRepository.tenantRepository(), tenantName);
}
private SessionContentRequestV2 getContentRequest(HttpRequest request) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java
index 86b2b0d5887..286adbd256d 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandler.java
@@ -14,7 +14,6 @@ import com.yahoo.jdisc.application.UriPattern;
import com.yahoo.slime.Slime;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.deploy.DeployHandlerLogger;
-import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.http.BadRequestException;
import com.yahoo.vespa.config.server.http.SessionHandler;
@@ -34,16 +33,13 @@ public class SessionCreateHandler extends SessionHandler {
private static final String fromPattern = "http://*/application/v2/tenant/*/application/*/environment/*/region/*/instance/*";
- private final TenantRepository tenantRepository;
private final Duration zookeeperBarrierTimeout;
@Inject
- public SessionCreateHandler(SessionHandler.Context ctx,
+ public SessionCreateHandler(Context ctx,
ApplicationRepository applicationRepository,
- TenantRepository tenantRepository,
ConfigserverConfig configserverConfig) {
super(ctx, applicationRepository);
- this.tenantRepository = tenantRepository;
this.zookeeperBarrierTimeout = Duration.ofSeconds(configserverConfig.zookeeper().barrierTimeout());
}
@@ -51,7 +47,7 @@ public class SessionCreateHandler extends SessionHandler {
protected HttpResponse handlePOST(HttpRequest request) {
Slime deployLog = applicationRepository.createDeployLog();
final TenantName tenantName = Utils.getTenantNameFromSessionRequest(request);
- Utils.checkThatTenantExists(tenantRepository, tenantName);
+ Utils.checkThatTenantExists(applicationRepository.tenantRepository(), tenantName);
TimeoutBudget timeoutBudget = SessionHandler.getTimeoutBudget(request, zookeeperBarrierTimeout);
DeployLogger logger = createLogger(request, deployLog, tenantName);
long sessionId;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java
index 2251c94a8e0..bade20f45ad 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandler.java
@@ -27,12 +27,11 @@ public class SessionPrepareHandler extends SessionHandler {
private final Duration zookeeperBarrierTimeout;
@Inject
- public SessionPrepareHandler(SessionHandler.Context ctx,
+ public SessionPrepareHandler(Context ctx,
ApplicationRepository applicationRepository,
- TenantRepository tenantRepository,
ConfigserverConfig configserverConfig) {
super(ctx, applicationRepository);
- this.tenantRepository = tenantRepository;
+ this.tenantRepository = applicationRepository.tenantRepository();
this.zookeeperBarrierTimeout = Duration.ofSeconds(configserverConfig.zookeeper().barrierTimeout());
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/TenantHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/TenantHandler.java
index b79fd1c7a62..6aff3b8a361 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/TenantHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/TenantHandler.java
@@ -27,11 +27,11 @@ public class TenantHandler extends HttpHandler {
private final TenantRepository tenantRepository;
private final ApplicationRepository applicationRepository;
- @SuppressWarnings("WeakerAccess") // instantiated by dependency injection
+ // instantiated by dependency injection
@Inject
- public TenantHandler(Context ctx, TenantRepository tenantRepository, ApplicationRepository applicationRepository) {
+ public TenantHandler(Context ctx, ApplicationRepository applicationRepository) {
super(ctx);
- this.tenantRepository = tenantRepository;
+ this.tenantRepository = applicationRepository.tenantRepository();
this.applicationRepository = applicationRepository;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java
index 23a6abb2c6c..108892803c1 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.tenant;
-import com.yahoo.path.Path;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.TenantName;
import com.yahoo.vespa.config.server.rpc.ConfigResponseFactory;
@@ -9,8 +8,6 @@ import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.host.HostValidator;
import com.yahoo.vespa.config.server.RequestHandler;
import com.yahoo.vespa.config.server.application.TenantApplications;
-import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
-import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.session.*;
import java.util.Collections;
@@ -22,7 +19,6 @@ import java.util.Collections;
*/
public class TenantBuilder {
- private final Path tenantPath;
private final GlobalComponentRegistry componentRegistry;
private final TenantName tenant;
private RemoteSessionRepo remoteSessionRepo;
@@ -37,7 +33,6 @@ public class TenantBuilder {
private TenantBuilder(GlobalComponentRegistry componentRegistry, TenantName tenant) {
this.componentRegistry = componentRegistry;
- this.tenantPath = TenantRepository.getTenantPath(tenant);
this.tenant = tenant;
}
@@ -55,11 +50,6 @@ public class TenantBuilder {
return this;
}
- public TenantBuilder withRemoteSessionRepo(RemoteSessionRepo remoteSessionRepo) {
- this.remoteSessionRepo = remoteSessionRepo;
- return this;
- }
-
public TenantBuilder withApplicationRepo(TenantApplications applicationRepo) {
this.applicationRepo = applicationRepo;
return this;
@@ -83,7 +73,7 @@ public class TenantBuilder {
createSessionFactory();
createLocalSessionRepo();
return new Tenant(tenant,
- tenantPath,
+ TenantRepository.getTenantPath(tenant),
sessionFactory,
localSessionRepo,
remoteSessionRepo,
@@ -124,9 +114,7 @@ public class TenantBuilder {
Collections.singletonList(componentRegistry.getReloadListener()),
ConfigResponseFactory.create(componentRegistry.getConfigserverConfig()),
componentRegistry);
- if (hostValidator == null) {
- this.hostValidator = impl;
- }
+ this.hostValidator = impl;
if (requestHandler == null) {
requestHandler = impl;
}
@@ -141,14 +129,12 @@ public class TenantBuilder {
}
private void createRemoteSessionRepo() {
- if (remoteSessionRepo == null) {
- remoteSessionRepo = new RemoteSessionRepo(componentRegistry,
- remoteSessionFactory,
- reloadHandler,
- tenant,
- applicationRepo);
+ remoteSessionRepo = new RemoteSessionRepo(componentRegistry,
+ remoteSessionFactory,
+ reloadHandler,
+ tenant,
+ applicationRepo);
- }
}
public TenantName getTenantName() { return tenant; }
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
index 52ecc5e2bae..0982fad2bcb 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
@@ -360,7 +360,6 @@ public class SessionActiveHandlerTest extends SessionHandlerTest {
hostProvisioner,
new OrchestratorMock(),
componentRegistry.getClock()),
- tenantRepository,
Zone.defaultZone());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
index d4dd17ca280..01c6631111e 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
@@ -168,7 +168,7 @@ public class SessionContentHandlerTest extends ContentHandlerTestBase {
new ApplicationRepository(tenantRepository,
new SessionHandlerTest.MockProvisioner(),
new OrchestratorMock(),
- componentRegistry.getClock()),
- tenantRepository);
+ componentRegistry.getClock())
+ );
}
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
index 6d2c2d35ab9..5ea2ce5266b 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
@@ -219,7 +219,6 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
new SessionHandlerTest.MockProvisioner(),
new OrchestratorMock(),
componentRegistry.getClock()),
- tenantRepository,
componentRegistry.getConfigserverConfig());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index e201ce107bd..028f5f9eb8c 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -370,7 +370,6 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
new MockProvisioner(),
new OrchestratorMock(),
clock),
- tenantRepository,
componentRegistry.getConfigserverConfig());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
index 9d843a1f2c6..d1a69ac09e0 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
@@ -44,7 +44,7 @@ public class TenantHandlerTest {
new SessionHandlerTest.MockProvisioner(),
new OrchestratorMock(),
Clock.systemUTC());
- handler = new TenantHandler(TenantHandler.testOnlyContext(), tenantRepository, applicationRepository);
+ handler = new TenantHandler(TenantHandler.testOnlyContext(), applicationRepository);
}
@After
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java
index 9110671b494..552ae841c3f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java
@@ -102,10 +102,8 @@ public class RemoteSessionRepoTest {
long sessionId = 3L;
TenantName mytenant = TenantName.from("mytenant");
GlobalComponentRegistry registry = new TestComponentRegistry.Builder().curator(curator).build();
- TenantApplications applicationRepo = TenantApplications.create(registry, new MockReloadHandler(), mytenant);
curator.set(TenantRepository.getApplicationsPath(mytenant).append("mytenant:appX:default"), new byte[0]); // Invalid data
Tenant tenant = TenantBuilder.create(registry, mytenant)
- .withApplicationRepo(applicationRepo)
.build();
curator.create(TenantRepository.getSessionsPath(mytenant));
remoteSessionRepo = tenant.getRemoteSessionRepo();
diff --git a/container-disc/src/main/sh/vespa-start-container-daemon.sh b/container-disc/src/main/sh/vespa-start-container-daemon.sh
index 53b1e54dda5..d4e0a9f410a 100755
--- a/container-disc/src/main/sh/vespa-start-container-daemon.sh
+++ b/container-disc/src/main/sh/vespa-start-container-daemon.sh
@@ -98,6 +98,8 @@ configure_memory() {
configure_cpu() {
if ((jvm_availableProcessors > 0)); then
cpu_options="-XX:ActiveProcessorCount=${jvm_availableProcessors}"
+ else
+ cpu_options="-XX:ActiveProcessorCount=`nproc`"
fi
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringClient.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringClient.java
new file mode 100644
index 00000000000..ab2a8425897
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringClient.java
@@ -0,0 +1,17 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.resource;
+
+import java.util.List;
+
+/**
+ * Consumes and retrieves snapshots of resourses allocated per application.
+ *
+ * @author olaa
+ */
+public interface MeteringClient {
+
+ void consume(List<ResourceSnapshot> resources);
+
+ MeteringInfo getResourceSnapshots(String tenantName, String applicationName);
+
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringInfo.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringInfo.java
new file mode 100644
index 00000000000..8709315a83c
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/MeteringInfo.java
@@ -0,0 +1,41 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.resource;
+
+import com.yahoo.config.provision.ApplicationId;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author olaa
+ */
+public class MeteringInfo {
+
+ private final ResourceAllocation thisMonth;
+ private final ResourceAllocation lastMonth;
+ private final ResourceAllocation currentSnapshot;
+ Map<ApplicationId, List<ResourceSnapshot>> snapshotHistory;
+
+ public MeteringInfo(ResourceAllocation thisMonth, ResourceAllocation lastMonth, ResourceAllocation currentSnapshot, Map<ApplicationId, List<ResourceSnapshot>> snapshotHistory) {
+ this.thisMonth = thisMonth;
+ this.lastMonth = lastMonth;
+ this.currentSnapshot = currentSnapshot;
+ this.snapshotHistory = snapshotHistory;
+ }
+
+ public ResourceAllocation getThisMonth() {
+ return thisMonth;
+ }
+
+ public ResourceAllocation getLastMonth() {
+ return lastMonth;
+ }
+
+ public ResourceAllocation getCurrentSnapshot() {
+ return currentSnapshot;
+ }
+
+ public Map<ApplicationId, List<ResourceSnapshot>> getSnapshotHistory() {
+ return snapshotHistory;
+ }
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceAllocation.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceAllocation.java
index 3b86b7b8219..a6f47e34170 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceAllocation.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceAllocation.java
@@ -16,7 +16,7 @@ public class ResourceAllocation {
private final double memoryGb;
private final double diskGb;
- private ResourceAllocation(double cpuCores, double memoryGb, double diskGb) {
+ public ResourceAllocation(double cpuCores, double memoryGb, double diskGb) {
this.cpuCores = cpuCores;
this.memoryGb = memoryGb;
this.diskGb = diskGb;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshot.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshot.java
index e3a2781142a..bd4d31e53ae 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshot.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshot.java
@@ -15,16 +15,12 @@ import java.util.stream.Collectors;
public class ResourceSnapshot {
private final ApplicationId applicationId;
- private final double cpuCores;
- private final double memoryGb;
- private final double diskGb;
+ private final ResourceAllocation resourceAllocation;
private final Instant timestamp;
public ResourceSnapshot(ApplicationId applicationId, double cpuCores, double memoryGb, double diskGb, Instant timestamp) {
this.applicationId = applicationId;
- this.cpuCores = cpuCores;
- this.memoryGb = memoryGb;
- this.diskGb = diskGb;
+ this.resourceAllocation = new ResourceAllocation(cpuCores, memoryGb, diskGb);
this.timestamp = timestamp;
}
@@ -49,15 +45,15 @@ public class ResourceSnapshot {
}
public double getCpuCores() {
- return cpuCores;
+ return resourceAllocation.getCpuCores();
}
public double getMemoryGb() {
- return memoryGb;
+ return resourceAllocation.getMemoryGb();
}
public double getDiskGb() {
- return diskGb;
+ return resourceAllocation.getDiskGb();
}
public Instant getTimestamp() {
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshotConsumer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshotConsumer.java
deleted file mode 100644
index bb6830770e2..00000000000
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/resource/ResourceSnapshotConsumer.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.controller.api.integration.resource;
-
-import java.util.List;
-
-/**
- * Consumes a snapshot of resourses allocated/used per application.
- *
- * @author olaa
- */
-public interface ResourceSnapshotConsumer {
-
- public void consume(List<ResourceSnapshot> resources);
-
- public List<ResourceSnapshot> getResourceSnapshots(String tenantName, String applicationName);
-}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMeteringClient.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMeteringClient.java
new file mode 100644
index 00000000000..ed9c95bb795
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockMeteringClient.java
@@ -0,0 +1,42 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.stubs;
+
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringInfo;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceAllocation;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringClient;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * @author olaa
+ */
+public class MockMeteringClient implements MeteringClient {
+
+ private List<ResourceSnapshot> resources = new ArrayList<>();
+ private Optional<MeteringInfo> meteringInfo;
+
+ @Override
+ public void consume(List<ResourceSnapshot> resources){
+ this.resources = resources;
+ }
+
+ @Override
+ public MeteringInfo getResourceSnapshots(String tenantName, String applicationName) {
+ return meteringInfo.orElseGet(() -> {
+ ResourceAllocation emptyAllocation = new ResourceAllocation(0, 0, 0);
+ return new MeteringInfo(emptyAllocation, emptyAllocation, emptyAllocation, Collections.emptyMap());
+ });
+ }
+
+ public List<ResourceSnapshot> consumedResources() {
+ return this.resources;
+ }
+
+ public void setMeteringInfo(MeteringInfo meteringInfo) {
+ this.meteringInfo = Optional.of(meteringInfo);
+ }
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockResourceSnapshotConsumer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockResourceSnapshotConsumer.java
deleted file mode 100644
index 2cd3aef1903..00000000000
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockResourceSnapshotConsumer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.controller.api.integration.stubs;
-
-import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot;
-import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshotConsumer;
-
-import java.util.List;
-
-/**
- * @author olaa
- */
-public class MockResourceSnapshotConsumer implements ResourceSnapshotConsumer {
-
- private List<ResourceSnapshot> resources;
-
- @Override
- public void consume(List<ResourceSnapshot> resources){
- this.resources = resources;
- }
-
- @Override
- public List<ResourceSnapshot> getResourceSnapshots(String tenantName, String applicationName) {
- throw new UnsupportedOperationException();
- }
-
- public List<ResourceSnapshot> consumedResources() {
- return this.resources;
- }
-}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
index 621c25df914..f642ee61ec4 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
@@ -21,6 +21,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.deployment.ArtifactRepo
import com.yahoo.vespa.hosted.controller.api.integration.deployment.TesterCloud;
import com.yahoo.vespa.hosted.controller.api.integration.maven.MavenRepository;
import com.yahoo.vespa.hosted.controller.api.integration.organization.Mailer;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringClient;
import com.yahoo.vespa.hosted.controller.api.integration.routing.RoutingGenerator;
import com.yahoo.vespa.hosted.controller.api.integration.user.Roles;
import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneRegistry;
@@ -83,6 +84,7 @@ public class Controller extends AbstractComponent {
private final NameServiceForwarder nameServiceForwarder;
private final ApplicationCertificateProvider applicationCertificateProvider;
private final MavenRepository mavenRepository;
+ private final MeteringClient meteringClient;
/**
* Creates a controller
@@ -96,12 +98,12 @@ public class Controller extends AbstractComponent {
AccessControl accessControl,
ArtifactRepository artifactRepository, ApplicationStore applicationStore, TesterCloud testerCloud,
BuildService buildService, RunDataStore runDataStore, Mailer mailer, FlagSource flagSource,
- MavenRepository mavenRepository, ApplicationCertificateProvider applicationCertificateProvider) {
+ MavenRepository mavenRepository, ApplicationCertificateProvider applicationCertificateProvider, MeteringClient meteringClient) {
this(curator, rotationsConfig, zoneRegistry,
configServer, metricsService, routingGenerator,
Clock.systemUTC(), accessControl, artifactRepository, applicationStore, testerCloud,
buildService, runDataStore, com.yahoo.net.HostName::getLocalhost, mailer, flagSource,
- mavenRepository, applicationCertificateProvider);
+ mavenRepository, applicationCertificateProvider, meteringClient);
}
public Controller(CuratorDb curator, RotationsConfig rotationsConfig,
@@ -111,7 +113,7 @@ public class Controller extends AbstractComponent {
AccessControl accessControl,
ArtifactRepository artifactRepository, ApplicationStore applicationStore, TesterCloud testerCloud,
BuildService buildService, RunDataStore runDataStore, Supplier<String> hostnameSupplier,
- Mailer mailer, FlagSource flagSource, MavenRepository mavenRepository, ApplicationCertificateProvider applicationCertificateProvider) {
+ Mailer mailer, FlagSource flagSource, MavenRepository mavenRepository, ApplicationCertificateProvider applicationCertificateProvider, MeteringClient meteringClient) {
this.hostnameSupplier = Objects.requireNonNull(hostnameSupplier, "HostnameSupplier cannot be null");
this.curator = Objects.requireNonNull(curator, "Curator cannot be null");
@@ -124,6 +126,7 @@ public class Controller extends AbstractComponent {
this.nameServiceForwarder = new NameServiceForwarder(curator);
this.applicationCertificateProvider = Objects.requireNonNull(applicationCertificateProvider);
this.mavenRepository = Objects.requireNonNull(mavenRepository, "MavenRepository cannot be null");
+ this.meteringClient = meteringClient;
jobController = new JobController(this, runDataStore, Objects.requireNonNull(testerCloud));
applicationController = new ApplicationController(this, curator, accessControl,
@@ -297,6 +300,10 @@ public class Controller extends AbstractComponent {
return applicationCertificateProvider;
}
+ public MeteringClient meteringClient() {
+ return meteringClient;
+ }
+
/** Returns all other roles the given tenant role implies. */
public Set<Role> impliedRoles(TenantRole role) {
return Stream.concat(Roles.tenantRoles(role.tenant()).stream(),
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
index ee559cef6d9..5594203b0a7 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
@@ -670,9 +670,7 @@ public class InternalStepRunner implements StepRunner {
" </filtering>\n" +
" </http>\n" +
"\n" +
- " <nodes count=\"1\" flavor=\"" + flavor + "\">\n" +
- " <jvm allocated-memory=\"" + jdiscMemoryPercentage + "%\" />\n" +
- " </nodes>\n" +
+ " <nodes count=\"1\" flavor=\"" + flavor + "\" allocated-memory=\"" + jdiscMemoryPercentage + "%\" />\n" +
" </container>\n" +
"</services>\n";
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java
index 0a894a1031f..4cadefc35b5 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java
@@ -9,7 +9,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.aws.AwsEventFetcher;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeRepository;
import com.yahoo.vespa.hosted.controller.api.integration.dns.NameService;
import com.yahoo.vespa.hosted.controller.api.integration.organization.*;
-import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshotConsumer;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringClient;
import com.yahoo.vespa.hosted.controller.authority.config.ApiAuthorityConfig;
import com.yahoo.vespa.hosted.controller.maintenance.config.MaintainerConfig;
import com.yahoo.vespa.hosted.controller.persistence.CuratorDb;
@@ -62,7 +62,7 @@ public class ControllerMaintenance extends AbstractComponent {
NameService nameService, NodeRepository nodeRepository,
ContactRetriever contactRetriever,
CostReportConsumer reportConsumer,
- ResourceSnapshotConsumer resourceSnapshotConsumer,
+ MeteringClient meteringClient,
Billing billing,
SelfHostedCostConfig selfHostedCostConfig,
IssueHandler issueHandler,
@@ -86,7 +86,7 @@ public class ControllerMaintenance extends AbstractComponent {
osVersionStatusUpdater = new OsVersionStatusUpdater(controller, maintenanceInterval, jobControl);
contactInformationMaintainer = new ContactInformationMaintainer(controller, Duration.ofHours(12), jobControl, contactRetriever);
costReportMaintainer = new CostReportMaintainer(controller, Duration.ofHours(2), reportConsumer, jobControl, nodeRepository, Clock.systemUTC(), selfHostedCostConfig);
- resourceMeterMaintainer = new ResourceMeterMaintainer(controller, Duration.ofMinutes(60), jobControl, nodeRepository, Clock.systemUTC(), metric, resourceSnapshotConsumer);
+ resourceMeterMaintainer = new ResourceMeterMaintainer(controller, Duration.ofMinutes(60), jobControl, nodeRepository, Clock.systemUTC(), metric, meteringClient);
nameServiceDispatcher = new NameServiceDispatcher(controller, Duration.ofSeconds(10), jobControl, nameService);
billingMaintainer = new BillingMaintainer(controller, Duration.ofDays(3), jobControl, billing);
awsEventReporterMaintainer = new AwsEventReporterMaintainer(controller, Duration.ofDays(1), jobControl, issueHandler, awsEventFetcher);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java
index 41460cd9fdc..c63dd28c13d 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainer.java
@@ -11,7 +11,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeOwne
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeRepositoryNode;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeState;
import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot;
-import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshotConsumer;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringClient;
import java.time.Clock;
import java.time.Duration;
@@ -20,7 +20,7 @@ import java.util.List;
import java.util.stream.Collectors;
/**
- * Creates a ResourceSnapshot per application, which is then passed on to a ResourceSnapshotConsumer
+ * Creates a ResourceSnapshot per application, which is then passed on to a MeteringClient
*
* @author olaa
*/
@@ -29,7 +29,7 @@ public class ResourceMeterMaintainer extends Maintainer {
private final Clock clock;
private final Metric metric;
private final NodeRepository nodeRepository;
- private final ResourceSnapshotConsumer resourceSnapshotConsumer;
+ private final MeteringClient meteringClient;
private static final String METERING_LAST_REPORTED = "metering_last_reported";
private static final String METERING_TOTAL_REPORTED = "metering_total_reported";
@@ -41,12 +41,12 @@ public class ResourceMeterMaintainer extends Maintainer {
NodeRepository nodeRepository,
Clock clock,
Metric metric,
- ResourceSnapshotConsumer resourceSnapshotConsumer) {
+ MeteringClient meteringClient) {
super(controller, interval, jobControl, null, SystemName.all());
this.clock = clock;
this.nodeRepository = nodeRepository;
this.metric = metric;
- this.resourceSnapshotConsumer = resourceSnapshotConsumer;
+ this.meteringClient = meteringClient;
}
@Override
@@ -54,7 +54,7 @@ public class ResourceMeterMaintainer extends Maintainer {
List<NodeRepositoryNode> nodes = getNodes();
List<ResourceSnapshot> resourceSnapshots = getResourceSnapshots(nodes);
- resourceSnapshotConsumer.consume(resourceSnapshots);
+ meteringClient.consume(resourceSnapshots);
metric.set(METERING_LAST_REPORTED, clock.millis() / 1000, metric.createContext(Collections.emptyMap()));
metric.set(METERING_TOTAL_REPORTED, resourceSnapshots.stream()
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 12e536aeefe..409a93a8f2d 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -45,6 +45,9 @@ import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationV
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.SourceRevision;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringInfo;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceAllocation;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot;
import com.yahoo.vespa.hosted.controller.api.integration.routing.RoutingEndpoint;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.Change;
@@ -778,37 +781,61 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
Slime slime = new Slime();
Cursor root = slime.setObject();
+ MeteringInfo meteringInfo = controller.meteringClient().getResourceSnapshots(tenant, application);
+
+ ResourceAllocation currentSnapshot = meteringInfo.getCurrentSnapshot();
Cursor currentRate = root.setObject("currentrate");
- currentRate.setDouble("cpu", 0);
- currentRate.setDouble("mem", 0);
- currentRate.setDouble("disk", 0);
+ currentRate.setDouble("cpu", currentSnapshot.getCpuCores());
+ currentRate.setDouble("mem", currentSnapshot.getMemoryGb());
+ currentRate.setDouble("disk", currentSnapshot.getDiskGb());
+ ResourceAllocation thisMonth = meteringInfo.getThisMonth();
Cursor thismonth = root.setObject("thismonth");
- thismonth.setDouble("cpu", 0);
- thismonth.setDouble("mem", 0);
- thismonth.setDouble("disk", 0);
+ thismonth.setDouble("cpu", thisMonth.getCpuCores());
+ thismonth.setDouble("mem", thisMonth.getMemoryGb());
+ thismonth.setDouble("disk", thisMonth.getDiskGb());
+ ResourceAllocation lastMonth = meteringInfo.getLastMonth();
Cursor lastmonth = root.setObject("lastmonth");
- lastmonth.setDouble("cpu", 0);
- lastmonth.setDouble("mem", 0);
- lastmonth.setDouble("disk", 0);
+ lastmonth.setDouble("cpu", lastMonth.getCpuCores());
+ lastmonth.setDouble("mem", lastMonth.getMemoryGb());
+ lastmonth.setDouble("disk", lastMonth.getDiskGb());
+
+ Map<ApplicationId, List<ResourceSnapshot>> history = meteringInfo.getSnapshotHistory();
Cursor details = root.setObject("details");
Cursor detailsCpu = details.setObject("cpu");
- Cursor detailsCpuDummyApp = detailsCpu.setObject("dummy");
- Cursor detailsCpuDummyData = detailsCpuDummyApp.setArray("data");
+ Cursor detailsMem = details.setObject("mem");
+ Cursor detailsDisk = details.setObject("disk");
- // The data array should be filled with objects like: { unixms: <number>, valur: <number }
+ history.entrySet().stream()
+ .forEach(entry -> {
+ String instanceName = entry.getKey().instance().value();
+ Cursor detailsCpuApp = detailsCpu.setObject(instanceName);
+ Cursor detailsMemApp = detailsMem.setObject(instanceName);
+ Cursor detailsDiskApp = detailsDisk.setObject(instanceName);
+ Cursor detailsCpuData = detailsCpuApp.setArray("data");
+ Cursor detailsMemData = detailsMemApp.setArray("data");
+ Cursor detailsDiskData = detailsDiskApp.setArray("data");
+ entry.getValue().stream()
+ .forEach(resourceSnapshot -> {
- Cursor detailsMem = details.setObject("mem");
- Cursor detailsMemDummyApp = detailsMem.setObject("dummy");
- Cursor detailsMemDummyData = detailsMemDummyApp.setArray("data");
+ Cursor cpu = detailsCpuData.addObject();
+ cpu.setLong("unixms", resourceSnapshot.getTimestamp().toEpochMilli());
+ cpu.setDouble("value", resourceSnapshot.getCpuCores());
- Cursor detailsDisk = details.setObject("disk");
- Cursor detailsDiskDummyApp = detailsDisk.setObject("dummy");
- Cursor detailsDiskDummyData = detailsDiskDummyApp.setArray("data");
+ Cursor mem = detailsMemData.addObject();
+ mem.setLong("unixms", resourceSnapshot.getTimestamp().toEpochMilli());
+ mem.setDouble("value", resourceSnapshot.getMemoryGb());
+
+ Cursor disk = detailsDiskData.addObject();
+ disk.setLong("unixms", resourceSnapshot.getTimestamp().toEpochMilli());
+ disk.setDouble("value", resourceSnapshot.getDiskGb());
+ });
+
+ });
return new SlimeJsonResponse(slime);
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
index d178bf08592..7c5442edbde 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
@@ -31,6 +31,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.routing.RoutingGenerato
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockBuildService;
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMailer;
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMavenRepository;
+import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMeteringClient;
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockRunDataStore;
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockTesterCloud;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
@@ -347,7 +348,8 @@ public final class ControllerTester {
new MockMailer(),
new InMemoryFlagSource(),
new MockMavenRepository(),
- new ApplicationCertificateMock());
+ new ApplicationCertificateMock(),
+ new MockMeteringClient());
// Calculate initial versions
controller.updateVersionStatus(VersionStatus.compute(controller));
return controller;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java
index ad4511e7f11..76568ef17e0 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot;
-import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockResourceSnapshotConsumer;
+import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMeteringClient;
import com.yahoo.vespa.hosted.controller.integration.NodeRepositoryClientMock;
import com.yahoo.vespa.hosted.controller.integration.MetricsMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
@@ -22,7 +22,7 @@ public class ResourceMeterMaintainerTest {
private final double DELTA = Double.MIN_VALUE;
private NodeRepositoryClientMock nodeRepository = new NodeRepositoryClientMock();
- private MockResourceSnapshotConsumer snapshotConsumer = new MockResourceSnapshotConsumer();
+ private MockMeteringClient snapshotConsumer = new MockMeteringClient();
private MetricsMock metrics = new MetricsMock();
@Test
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ControllerContainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ControllerContainerTest.java
index 1a838f41220..fe31200dc93 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ControllerContainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ControllerContainerTest.java
@@ -74,7 +74,7 @@ public class ControllerContainerTest {
" <component id='com.yahoo.vespa.hosted.controller.api.integration.organization.MockIssueHandler'/>\n" +
" <component id='com.yahoo.vespa.hosted.controller.api.integration.aws.MockAwsEventFetcher' />\n" +
" <component id='com.yahoo.vespa.hosted.controller.api.integration.organization.MockBilling'/>\n" +
- " <component id='com.yahoo.vespa.hosted.controller.api.integration.stubs.MockResourceSnapshotConsumer'/>\n" +
+ " <component id='com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMeteringClient'/>\n" +
" <component id='com.yahoo.vespa.hosted.controller.integration.ConfigServerMock'/>\n" +
" <component id='com.yahoo.vespa.hosted.controller.integration.NodeRepositoryClientMock'/>\n" +
" <component id='com.yahoo.vespa.hosted.controller.integration.ZoneRegistryMock'/>\n" +
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
index 8db820f6c83..79fd06b52aa 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
@@ -36,6 +36,10 @@ import com.yahoo.vespa.hosted.controller.api.integration.organization.Contact;
import com.yahoo.vespa.hosted.controller.api.integration.organization.IssueId;
import com.yahoo.vespa.hosted.controller.api.integration.organization.MockContactRetriever;
import com.yahoo.vespa.hosted.controller.api.integration.organization.User;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.MeteringInfo;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceAllocation;
+import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot;
+import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMeteringClient;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.Change;
import com.yahoo.vespa.hosted.controller.application.ClusterInfo;
@@ -861,6 +865,20 @@ public class ApplicationApiTest extends ControllerContainerTest {
@Test
public void testMeteringResponses() {
+ MockMeteringClient mockMeteringClient = (MockMeteringClient) controllerTester.controller().meteringClient();
+
+ // Mock response for MeteringClient
+ ResourceAllocation currentSnapshot = new ResourceAllocation(1, 2, 3);
+ ResourceAllocation thisMonth = new ResourceAllocation(12, 24, 1000);
+ ResourceAllocation lastMonth = new ResourceAllocation(24, 48, 2000);
+ ApplicationId applicationId = ApplicationId.from("doesnotexist", "doesnotexist", "default");
+ Map<ApplicationId, List<ResourceSnapshot>> snapshotHistory = Map.of(applicationId, List.of(
+ new ResourceSnapshot(applicationId, 1, 2,3, Instant.ofEpochMilli(123)),
+ new ResourceSnapshot(applicationId, 1, 2,3, Instant.ofEpochMilli(246)),
+ new ResourceSnapshot(applicationId, 1, 2,3, Instant.ofEpochMilli(492))));
+
+ mockMeteringClient.setMeteringInfo(new MeteringInfo(thisMonth, lastMonth, currentSnapshot, snapshotHistory));
+
tester.assertResponse(request("/application/v4/tenant/doesnotexist/application/doesnotexist/metering", GET)
.userIdentity(USER_ID)
.oktaAccessToken(OKTA_AT),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-metering.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-metering.json
index 63e1c1ebbd1..2e07a7e8a96 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-metering.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-metering.json
@@ -1,33 +1,45 @@
{
"currentrate": {
- "cpu": 0.0,
- "mem": 0.0,
- "disk": 0.0
+ "cpu": 1.0,
+ "mem": 2.0,
+ "disk": 3.0
},
"thismonth": {
- "cpu": 0.0,
- "mem": 0.0,
- "disk": 0.0
+ "cpu": 12.0,
+ "mem": 24.0,
+ "disk": 1000.0
},
"lastmonth": {
- "cpu": 0.0,
- "mem": 0.0,
- "disk": 0.0
+ "cpu": 24.0,
+ "mem": 48.0,
+ "disk": 2000.0
},
"details": {
"cpu": {
- "dummy": {
- "data": []
+ "default": {
+ "data": [
+ {"unixms":123,"value":1.0},
+ {"unixms":246,"value":1.0},
+ {"unixms":492,"value":1.0}
+ ]
}
},
"mem": {
- "dummy": {
- "data": []
+ "default": {
+ "data": [
+ {"unixms":123,"value":2.0},
+ {"unixms":246,"value":2.0},
+ {"unixms":492,"value":2.0}
+ ]
}
},
"disk": {
- "dummy": {
- "data": []
+ "default": {
+ "data": [
+ {"unixms":123,"value":3.0},
+ {"unixms":246,"value":3.0},
+ {"unixms":492,"value":3.0}
+ ]
}
}
}
diff --git a/controller-server/src/test/resources/test_runner_services.xml-cd b/controller-server/src/test/resources/test_runner_services.xml-cd
index f53262fe55f..776c91eb7ef 100644
--- a/controller-server/src/test/resources/test_runner_services.xml-cd
+++ b/controller-server/src/test/resources/test_runner_services.xml-cd
@@ -39,8 +39,6 @@
</filtering>
</http>
- <nodes count="1" flavor="d-2-12-75">
- <jvm allocated-memory="17%" />
- </nodes>
+ <nodes count="1" flavor="d-2-12-75" allocated-memory="17%" />
</container>
</services>
diff --git a/documentapi/src/tests/messagebus/messagebus_test.cpp b/documentapi/src/tests/messagebus/messagebus_test.cpp
index 05275870a2e..3406db966f0 100644
--- a/documentapi/src/tests/messagebus/messagebus_test.cpp
+++ b/documentapi/src/tests/messagebus/messagebus_test.cpp
@@ -51,8 +51,8 @@ Test::Main()
TEST_DONE();
}
-Test::Test() {}
-Test::~Test() {}
+Test::Test() = default;
+Test::~Test() = default;
void Test::testMessage() {
const document::DataType *testdoc_type = _repo->getDocumentType("testdoc");
@@ -61,8 +61,7 @@ void Test::testMessage() {
UpdateDocumentMessage upd1(
document::DocumentUpdate::SP(
new document::DocumentUpdate(*_repo, *testdoc_type,
- document::DocumentId(document::DocIdString(
- "testdoc", "testme1")))));
+ document::DocumentId("id:ns:testdoc::testme1"))));
EXPECT_TRUE(upd1.getType() == DocumentProtocol::MESSAGE_UPDATEDOCUMENT);
EXPECT_TRUE(upd1.getProtocol() == "document");
@@ -82,8 +81,7 @@ void Test::testMessage() {
UpdateDocumentMessage upd2(
document::DocumentUpdate::SP(
new document::DocumentUpdate(*_repo, *testdoc_type,
- document::DocumentId(document::DocIdString(
- "testdoc", "testme2")))));
+ document::DocumentId("id:ns:testdoc::testme2"))));
EXPECT_TRUE(!(upd1.getDocumentUpdate().getId() == upd2.getDocumentUpdate().getId()));
DocumentMessage& msg2 = static_cast<DocumentMessage&>(upd2);
diff --git a/documentapi/src/tests/policyfactory/policyfactory.cpp b/documentapi/src/tests/policyfactory/policyfactory.cpp
index 41905183928..877ade22e2a 100644
--- a/documentapi/src/tests/policyfactory/policyfactory.cpp
+++ b/documentapi/src/tests/policyfactory/policyfactory.cpp
@@ -60,7 +60,7 @@ MyFactory::createPolicy(const string &param) const
mbus::Message::UP
createMessage()
{
- auto ret = std::make_unique<RemoveDocumentMessage>(document::DocumentId("doc:scheme:"));
+ auto ret = std::make_unique<RemoveDocumentMessage>(document::DocumentId("id:ns:type::"));
ret->getTrace().setLevel(9);
return ret;
}
diff --git a/eval/src/apps/tensor_conformance/generate.cpp b/eval/src/apps/tensor_conformance/generate.cpp
index 47a37824c3a..7d48307b786 100644
--- a/eval/src/apps/tensor_conformance/generate.cpp
+++ b/eval/src/apps/tensor_conformance/generate.cpp
@@ -18,11 +18,14 @@ void generate_reduce(Aggr aggr, const Sequence &seq, TestBuilder &dst) {
{x(3)},
{x(3),y(5)},
{x(3),y(5),z(7)},
+ float_cells({x(3),y(5),z(7)}),
{x({"a","b","c"})},
{x({"a","b","c"}),y({"foo","bar"})},
{x({"a","b","c"}),y({"foo","bar"}),z({"i","j","k","l"})},
+ float_cells({x({"a","b","c"}),y({"foo","bar"}),z({"i","j","k","l"})}),
{x(3),y({"foo", "bar"}),z(7)},
- {x({"a","b","c"}),y(5),z({"i","j","k","l"})}
+ {x({"a","b","c"}),y(5),z({"i","j","k","l"})},
+ float_cells({x({"a","b","c"}),y(5),z({"i","j","k","l"})})
};
for (const Layout &layout: layouts) {
TensorSpec input = spec(layout, seq);
@@ -41,7 +44,7 @@ void generate_reduce(Aggr aggr, const Sequence &seq, TestBuilder &dst) {
void generate_tensor_reduce(TestBuilder &dst) {
generate_reduce(Aggr::AVG, N(), dst);
generate_reduce(Aggr::COUNT, N(), dst);
- generate_reduce(Aggr::PROD, Sigmoid(N()), dst);
+ generate_reduce(Aggr::PROD, SigmoidF(N()), dst);
generate_reduce(Aggr::SUM, N(), dst);
generate_reduce(Aggr::MAX, N(), dst);
generate_reduce(Aggr::MIN, N(), dst);
@@ -55,11 +58,14 @@ void generate_map_expr(const vespalib::string &expr, map_fun_t ref_op, const Seq
{x(3)},
{x(3),y(5)},
{x(3),y(5),z(7)},
+ float_cells({x(3),y(5),z(7)}),
{x({"a","b","c"})},
{x({"a","b","c"}),y({"foo","bar"})},
{x({"a","b","c"}),y({"foo","bar"}),z({"i","j","k","l"})},
+ float_cells({x({"a","b","c"}),y({"foo","bar"}),z({"i","j","k","l"})}),
{x(3),y({"foo", "bar"}),z(7)},
- {x({"a","b","c"}),y(5),z({"i","j","k","l"})}
+ {x({"a","b","c"}),y(5),z({"i","j","k","l"})},
+ float_cells({x({"a","b","c"}),y(5),z({"i","j","k","l"})})
};
for (const Layout &layout: layouts) {
dst.add(expr, {{"a", spec(layout, seq)}}, spec(layout, OpSeq(seq, ref_op)));
@@ -72,50 +78,63 @@ void generate_op1_map(const vespalib::string &op1_expr, map_fun_t ref_op, const
}
void generate_tensor_map(TestBuilder &dst) {
- generate_op1_map("-a", operation::Neg::f, Sub2(Div10(N())), dst);
+ generate_op1_map("-a", operation::Neg::f, Sub2(Div16(N())), dst);
generate_op1_map("!a", operation::Not::f, Mask2Seq(SkipNth(3)), dst);
- generate_op1_map("cos(a)", operation::Cos::f, Div10(N()), dst);
- generate_op1_map("sin(a)", operation::Sin::f, Div10(N()), dst);
- generate_op1_map("tan(a)", operation::Tan::f, Div10(N()), dst);
- generate_op1_map("cosh(a)", operation::Cosh::f, Div10(N()), dst);
- generate_op1_map("sinh(a)", operation::Sinh::f, Div10(N()), dst);
- generate_op1_map("tanh(a)", operation::Tanh::f, Div10(N()), dst);
- generate_op1_map("acos(a)", operation::Acos::f, Sigmoid(Div10(N())), dst);
- generate_op1_map("asin(a)", operation::Asin::f, Sigmoid(Div10(N())), dst);
- generate_op1_map("atan(a)", operation::Atan::f, Div10(N()), dst);
- generate_op1_map("exp(a)", operation::Exp::f, Div10(N()), dst);
- generate_op1_map("log10(a)", operation::Log10::f, Div10(N()), dst);
- generate_op1_map("log(a)", operation::Log::f, Div10(N()), dst);
- generate_op1_map("sqrt(a)", operation::Sqrt::f, Div10(N()), dst);
- generate_op1_map("ceil(a)", operation::Ceil::f, Div10(N()), dst);
- generate_op1_map("fabs(a)", operation::Fabs::f, Div10(N()), dst);
- generate_op1_map("floor(a)", operation::Floor::f, Div10(N()), dst);
+ generate_op1_map("cos(a)", operation::Cos::f, Div16(N()), dst);
+ generate_op1_map("sin(a)", operation::Sin::f, Div16(N()), dst);
+ generate_op1_map("tan(a)", operation::Tan::f, Div16(N()), dst);
+ generate_op1_map("cosh(a)", operation::Cosh::f, Div16(N()), dst);
+ generate_op1_map("sinh(a)", operation::Sinh::f, Div16(N()), dst);
+ generate_op1_map("tanh(a)", operation::Tanh::f, Div16(N()), dst);
+ generate_op1_map("acos(a)", operation::Acos::f, SigmoidF(Div16(N())), dst);
+ generate_op1_map("asin(a)", operation::Asin::f, SigmoidF(Div16(N())), dst);
+ generate_op1_map("atan(a)", operation::Atan::f, Div16(N()), dst);
+ generate_op1_map("exp(a)", operation::Exp::f, Div16(N()), dst);
+ generate_op1_map("log10(a)", operation::Log10::f, Div16(N()), dst);
+ generate_op1_map("log(a)", operation::Log::f, Div16(N()), dst);
+ generate_op1_map("sqrt(a)", operation::Sqrt::f, Div16(N()), dst);
+ generate_op1_map("ceil(a)", operation::Ceil::f, Div16(N()), dst);
+ generate_op1_map("fabs(a)", operation::Fabs::f, Div16(N()), dst);
+ generate_op1_map("floor(a)", operation::Floor::f, Div16(N()), dst);
generate_op1_map("isNan(a)", operation::IsNan::f, Mask2Seq(SkipNth(3), 1.0, my_nan), dst);
- generate_op1_map("relu(a)", operation::Relu::f, Sub2(Div10(N())), dst);
- generate_op1_map("sigmoid(a)", operation::Sigmoid::f, Sub2(Div10(N())), dst);
- generate_op1_map("elu(a)", operation::Elu::f, Sub2(Div10(N())), dst);
+ generate_op1_map("relu(a)", operation::Relu::f, Sub2(Div16(N())), dst);
+ generate_op1_map("sigmoid(a)", operation::Sigmoid::f, Sub2(Div16(N())), dst);
+ generate_op1_map("elu(a)", operation::Elu::f, Sub2(Div16(N())), dst);
generate_op1_map("a in [1,5,7,13,42]", MyIn::f, N(), dst);
- generate_map_expr("map(a,f(a)((a+1)*2))", MyOp::f, Div10(N()), dst);
+ generate_map_expr("map(a,f(a)((a+1)*2))", MyOp::f, Div16(N()), dst);
}
//-----------------------------------------------------------------------------
void generate_join_expr(const vespalib::string &expr, const Sequence &seq, TestBuilder &dst) {
std::vector<Layout> layouts = {
- {}, {},
- {x(5)}, {x(5)},
- {x(5)}, {y(5)},
- {x(5)}, {x(5),y(5)},
- {x(5),y(3)}, {x(5),y(3)},
- {x(3),y(5)}, {y(5),z(7)},
- {x({"a","b","c"})}, {x({"a","b","c"})},
- {x({"a","b","c"})}, {x({"a","b"})},
- {x({"a","b","c"})}, {y({"foo","bar","baz"})},
- {x({"a","b","c"})}, {x({"a","b","c"}),y({"foo","bar","baz"})},
- {x({"a","b"}),y({"foo","bar","baz"})}, {x({"a","b","c"}),y({"foo","bar"})},
- {x({"a","b"}),y({"foo","bar","baz"})}, {y({"foo","bar"}),z({"i","j","k","l"})},
- {x(3),y({"foo", "bar"})}, {y({"foo", "bar"}),z(7)},
- {x({"a","b","c"}),y(5)}, {y(5),z({"i","j","k","l"})}
+ {}, {},
+ {}, {x(5)},
+ {x(5)}, {},
+ {}, float_cells({x(5)}),
+ float_cells({x(5)}), {},
+ {x(5)}, {x(5)},
+ {x(5)}, {y(5)},
+ {x(5)}, {x(5),y(5)},
+ {y(3)}, {x(2),z(3)},
+ {x(3),y(5)}, {y(5),z(7)},
+ float_cells({x(3),y(5)}), {y(5),z(7)},
+ {x(3),y(5)}, float_cells({y(5),z(7)}),
+ float_cells({x(3),y(5)}), float_cells({y(5),z(7)}),
+ {x({"a","b","c"})}, {x({"a","b","c"})},
+ {x({"a","b","c"})}, {x({"a","b"})},
+ {x({"a","b","c"})}, {y({"foo","bar","baz"})},
+ {x({"a","b","c"})}, {x({"a","b","c"}),y({"foo","bar","baz"})},
+ {x({"a","b"}),y({"foo","bar","baz"})}, {x({"a","b","c"}),y({"foo","bar"})},
+ {x({"a","b"}),y({"foo","bar","baz"})}, {y({"foo","bar"}),z({"i","j","k","l"})},
+ float_cells({x({"a","b"}),y({"foo","bar","baz"})}), {y({"foo","bar"}),z({"i","j","k","l"})},
+ {x({"a","b"}),y({"foo","bar","baz"})}, float_cells({y({"foo","bar"}),z({"i","j","k","l"})}),
+ float_cells({x({"a","b"}),y({"foo","bar","baz"})}), float_cells({y({"foo","bar"}),z({"i","j","k","l"})}),
+ {x(3),y({"foo", "bar"})}, {y({"foo", "bar"}),z(7)},
+ {x({"a","b","c"}),y(5)}, {y(5),z({"i","j","k","l"})},
+ float_cells({x({"a","b","c"}),y(5)}), {y(5),z({"i","j","k","l"})},
+ {x({"a","b","c"}),y(5)}, float_cells({y(5),z({"i","j","k","l"})}),
+ float_cells({x({"a","b","c"}),y(5)}), float_cells({y(5),z({"i","j","k","l"})})
};
ASSERT_TRUE((layouts.size() % 2) == 0);
for (size_t i = 0; i < layouts.size(); i += 2) {
@@ -131,43 +150,76 @@ void generate_op2_join(const vespalib::string &op2_expr, const Sequence &seq, Te
}
void generate_tensor_join(TestBuilder &dst) {
- generate_op2_join("a+b", Div10(N()), dst);
- generate_op2_join("a-b", Div10(N()), dst);
- generate_op2_join("a*b", Div10(N()), dst);
- generate_op2_join("a/b", Div10(N()), dst);
- generate_op2_join("a%b", Div10(N()), dst);
- generate_op2_join("a^b", Div10(N()), dst);
- generate_op2_join("pow(a,b)", Div10(N()), dst);
- generate_op2_join("a==b", Div10(N()), dst);
- generate_op2_join("a!=b", Div10(N()), dst);
- generate_op2_join("a~=b", Div10(N()), dst);
- generate_op2_join("a<b", Div10(N()), dst);
- generate_op2_join("a<=b", Div10(N()), dst);
- generate_op2_join("a>b", Div10(N()), dst);
- generate_op2_join("a>=b", Div10(N()), dst);
+ generate_op2_join("a+b", Div16(N()), dst);
+ generate_op2_join("a-b", Div16(N()), dst);
+ generate_op2_join("a*b", Div16(N()), dst);
+ generate_op2_join("a/b", Div16(N()), dst);
+ generate_op2_join("a%b", Div16(N()), dst);
+ generate_op2_join("a^b", Div16(N()), dst);
+ generate_op2_join("pow(a,b)", Div16(N()), dst);
+ generate_op2_join("a==b", Div16(N()), dst);
+ generate_op2_join("a!=b", Div16(N()), dst);
+ generate_op2_join("a~=b", Div16(N()), dst);
+ generate_op2_join("a<b", Div16(N()), dst);
+ generate_op2_join("a<=b", Div16(N()), dst);
+ generate_op2_join("a>b", Div16(N()), dst);
+ generate_op2_join("a>=b", Div16(N()), dst);
generate_op2_join("a&&b", Mask2Seq(SkipNth(3)), dst);
generate_op2_join("a||b", Mask2Seq(SkipNth(3)), dst);
- generate_op2_join("atan2(a,b)", Div10(N()), dst);
- generate_op2_join("ldexp(a,b)", Div10(N()), dst);
- generate_op2_join("fmod(a,b)", Div10(N()), dst);
- generate_op2_join("min(a,b)", Div10(N()), dst);
- generate_op2_join("max(a,b)", Div10(N()), dst);
- generate_join_expr("join(a,b,f(a,b)((a+b)/(a*b)))", Div10(N()), dst);
+ generate_op2_join("atan2(a,b)", Div16(N()), dst);
+ generate_op2_join("ldexp(a,b)", Div16(N()), dst);
+ generate_op2_join("fmod(a,b)", Div16(N()), dst);
+ generate_op2_join("min(a,b)", Div16(N()), dst);
+ generate_op2_join("max(a,b)", Div16(N()), dst);
+ generate_join_expr("join(a,b,f(a,b)((a+b)/(a*b)))", Div16(N()), dst);
}
//-----------------------------------------------------------------------------
+void generate_dot_product(TestBuilder &dst,
+ double expect,
+ const Layout &lhs, const Seq &lhs_seq,
+ const Layout &rhs, const Seq &rhs_seq)
+{
+ dst.add("reduce(a*b,sum)",
+ { {"a", spec(lhs, lhs_seq)},{"b", spec(rhs, rhs_seq)} },
+ spec(expect));
+}
+
+void generate_dot_product(TestBuilder &dst,
+ double expect,
+ const Layout &layout,
+ const Seq &lhs_seq,
+ const Seq &rhs_seq)
+{
+ auto fl_lay = float_cells(layout);
+ generate_dot_product(dst, expect, layout, lhs_seq, layout, rhs_seq);
+ generate_dot_product(dst, expect, fl_lay, lhs_seq, layout, rhs_seq);
+ generate_dot_product(dst, expect, layout, lhs_seq, fl_lay, rhs_seq);
+ generate_dot_product(dst, expect, fl_lay, lhs_seq, fl_lay, rhs_seq);
+}
+
void generate_dot_product(TestBuilder &dst) {
- dst.add("reduce(a*b,sum)", {{"a", spec(x(3), Seq({ 2, 3, 5 }))}, {"b", spec(x(3), Seq({ 7, 11, 13 }))}},
- spec((2 * 7) + (3 * 11) + (5 * 13)));
+ generate_dot_product(dst, ((2 * 7) + (3 * 11) + (5 * 13)), {x(3)},
+ Seq({ 2, 3, 5 }),
+ Seq({ 7, 11, 13 }));
}
//-----------------------------------------------------------------------------
void generate_xw_product(TestBuilder &dst) {
auto matrix = spec({x(2),y(3)}, Seq({ 3, 5, 7, 11, 13, 17 }));
+ auto fmatrix = spec(float_cells({x(2),y(3)}), Seq({ 3, 5, 7, 11, 13, 17 }));
dst.add("reduce(a*b,sum,x)", {{"a", spec(x(2), Seq({ 1, 2 }))}, {"b", matrix}},
spec(y(3), Seq({(1*3+2*11),(1*5+2*13),(1*7+2*17)})));
+ dst.add("reduce(a*b,sum,x)",
+ {{"a", spec(float_cells({x(2)}), Seq({ 1, 2 }))}, {"b", matrix}},
+ spec(y(3), Seq({(1*3+2*11),(1*5+2*13),(1*7+2*17)})));
+ dst.add("reduce(a*b,sum,x)", {{"a", spec(x(2), Seq({ 1, 2 }))}, {"b", fmatrix}},
+ spec(y(3), Seq({(1*3+2*11),(1*5+2*13),(1*7+2*17)})));
+ dst.add("reduce(a*b,sum,x)",
+ {{"a", spec(float_cells({x(2)}), Seq({ 1, 2 }))}, {"b", fmatrix}},
+ spec(float_cells({y(3)}), Seq({(1*3+2*11),(1*5+2*13),(1*7+2*17)})));
dst.add("reduce(a*b,sum,y)", {{"a", spec(y(3), Seq({ 1, 2, 3 }))}, {"b", matrix}},
spec(x(2), Seq({(1*3+2*5+3*7),(1*11+2*13+3*17)})));
}
@@ -190,6 +242,35 @@ void generate_tensor_concat(TestBuilder &dst) {
spec({x(2), y(2)}, Seq({1.0, 2.0, 4.0, 5.0})));
dst.add("concat(concat(a,b,x),concat(c,d,x),y)", {{"a", spec(1.0)}, {"b", spec(2.0)}, {"c", spec(3.0)}, {"d", spec(4.0)}},
spec({x(2), y(2)}, Seq({1.0, 3.0, 2.0, 4.0})));
+
+ dst.add("concat(a,b,x)",
+ {{"a", spec(float_cells({x(1)}), Seq({10.0}))}, {"b", spec(20.0) }},
+ spec(float_cells({x(2)}), Seq({10.0, 20.0})));
+
+ dst.add("concat(a,b,x)",
+ {{"a", spec(10.0)}, {"b", spec(float_cells({x(1)}), Seq({20.0}))}},
+ spec(float_cells({x(2)}), Seq({10.0, 20.0})));
+
+ dst.add("concat(a,b,x)",
+ {
+ {"a", spec(float_cells({x(3)}), Seq({1.0, 2.0, 3.0})) },
+ {"b", spec(x(2), Seq({4.0, 5.0})) }
+ },
+ spec(x(5), N()));
+
+ dst.add("concat(a,b,x)",
+ {
+ {"a", spec(x(3), Seq({1.0, 2.0, 3.0}))},
+ {"b", spec(float_cells({x(2)}), Seq({4.0, 5.0}))}
+ },
+ spec(x(5), N()));
+
+ dst.add("concat(a,b,x)",
+ {
+ {"a", spec(float_cells({x(3)}), Seq({1.0, 2.0, 3.0})) },
+ {"b", spec(float_cells({x(2)}), Seq({4.0, 5.0})) }
+ },
+ spec(float_cells({x(5)}), N()));
}
//-----------------------------------------------------------------------------
@@ -200,6 +281,7 @@ void generate_tensor_rename(TestBuilder &dst) {
dst.add("rename(a,z,x)", {{"a", spec({y(5),z(5)}, N())}}, spec({y(5),x(5)}, N()));
dst.add("rename(a,x,z)", {{"a", spec({x(5),y(5)}, N())}}, spec({z(5),y(5)}, N()));
dst.add("rename(a,y,z)", {{"a", spec({x(5),y(5)}, N())}}, spec({x(5),z(5)}, N()));
+ dst.add("rename(a,y,z)", {{"a", spec(float_cells({x(5),y(5)}), N())}}, spec(float_cells({x(5),z(5)}), N()));
dst.add("rename(a,(x,y),(y,x))", {{"a", spec({x(5),y(5)}, N())}}, spec({y(5),x(5)}, N()));
}
@@ -207,6 +289,7 @@ void generate_tensor_rename(TestBuilder &dst) {
void generate_tensor_lambda(TestBuilder &dst) {
dst.add("tensor(x[10])(x+1)", {{}}, spec(x(10), N()));
+ dst.add("tensor<float>(x[5],y[4])(x*4+(y+1))", {{}}, spec(float_cells({x(5),y(4)}), N()));
dst.add("tensor(x[5],y[4])(x*4+(y+1))", {{}}, spec({x(5),y(4)}, N()));
dst.add("tensor(x[5],y[4])(x==y)", {{}}, spec({x(5),y(4)},
Seq({ 1.0, 0.0, 0.0, 0.0,
diff --git a/eval/src/apps/tensor_conformance/test_spec.json b/eval/src/apps/tensor_conformance/test_spec.json
index b5374e6033d..6ee9f3aa083 100644
--- a/eval/src/apps/tensor_conformance/test_spec.json
+++ b/eval/src/apps/tensor_conformance/test_spec.json
@@ -7,6 +7,10 @@
{"expression":"reduce(a,avg,y)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017A07402E00000000000040300000000000004031000000000000403200000000000040330000000000004034000000000000403500000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C00000000000"}}
{"expression":"reduce(a,avg,z)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x02020178030179054010000000000000402600000000000040320000000000004039000000000000404000000000000040438000000000004047000000000000404A800000000000404E0000000000004050C000000000004052800000000000405440000000000040560000000000004057C000000000004059800000000000"}}
{"expression":"reduce(a,avg)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0200404A800000000000"}}
+{"expression":"reduce(a,avg,x)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017905017A07421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000"}}
+{"expression":"reduce(a,avg,y)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017803017A07417000004180000041880000419000004198000041A0000041A8000042480000424C0000425000004254000042580000425C00004260000042AA000042AC000042AE000042B0000042B2000042B4000042B60000"}}
+{"expression":"reduce(a,avg,z)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x06010201780301790540800000413000004190000041C8000042000000421C0000423800004254000042700000428600004294000042A2000042B0000042BE000042CC0000"}}
+{"expression":"reduce(a,avg)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x0200404A800000000000"}}
{"expression":"reduce(a,avg,x)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004000000000000000"}}
{"expression":"reduce(a,avg)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004000000000000000"}}
{"expression":"reduce(a,avg,x)","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010101790203626172401000000000000003666F6F4008000000000000"}}
@@ -16,6 +20,10 @@
{"expression":"reduce(a,avg,y)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017A0C0161016940080000000000000161016A40100000000000000161016B40140000000000000161016C40180000000000000162016940260000000000000162016A40280000000000000162016B402A0000000000000162016C402C0000000000000163016940330000000000000163016A40340000000000000163016B40350000000000000163016C4036000000000000"}}
{"expression":"reduce(a,avg,z)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017906016103626172401A000000000000016103666F6F4004000000000000016203626172402D000000000000016203666F6F40250000000000000163036261724036800000000000016303666F6F4032800000000000"}}
{"expression":"reduce(a,avg)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x02004029000000000000"}}
+{"expression":"reduce(a,avg,x)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020179017A080362617201694150000003626172016A4160000003626172016B4170000003626172016C4180000003666F6F01694110000003666F6F016A4120000003666F6F016B4130000003666F6F016C41400000"}}
+{"expression":"reduce(a,avg,y)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020178017A0C01610169404000000161016A408000000161016B40A000000161016C40C0000001620169413000000162016A414000000162016B415000000162016C4160000001630169419800000163016A41A000000163016B41A800000163016C41B00000"}}
+{"expression":"reduce(a,avg,z)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x050102017801790601610362617240D00000016103666F6F4020000001620362617241680000016203666F6F4128000001630362617241B40000016303666F6F41940000"}}
+{"expression":"reduce(a,avg)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x02004029000000000000"}}
{"expression":"reduce(a,avg,x)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017A0702036261724036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C00000000000003666F6F402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000"}}
{"expression":"reduce(a,avg,y)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0202017803017A0740120000000000004016000000000000401A000000000000401E000000000000402100000000000040230000000000004025000000000000403280000000000040338000000000004034800000000000403580000000000040368000000000004037800000000000403880000000000040404000000000004040C0000000000040414000000000004041C0000000000040424000000000004042C000000000004043400000000000"}}
{"expression":"reduce(a,avg,z)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017803020362617240260000000000004039000000000000404380000000000003666F6F401000000000000040320000000000004040000000000000"}}
@@ -24,6 +32,10 @@
{"expression":"reduce(a,avg,y)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x01020178017A0C0161016940220000000000000161016A40240000000000000161016B40260000000000000161016C402800000000000001620169403D0000000000000162016A403E0000000000000162016B403F0000000000000162016C40400000000000000163016940488000000000000163016A40490000000000000163016B40498000000000000163016C404A000000000000"}}
{"expression":"reduce(a,avg,z)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x03010178010179050301614004000000000000401A0000000000004025000000000000402D000000000000403280000000000001624036800000000000403A800000000000403E800000000000404140000000000040434000000000000163404540000000000040474000000000004049400000000000404B400000000000404D400000000000"}}
{"expression":"reduce(a,avg)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x0200403E800000000000"}}
+{"expression":"reduce(a,avg,x)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x070101017A0101790504016941A8000041C8000041E800004204000042140000016A41B0000041D0000041F000004208000042180000016B41B8000041D8000041F80000420C0000421C0000016C41C0000041E00000420000004210000042200000"}}
+{"expression":"reduce(a,avg,y)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0501020178017A0C01610169411000000161016A412000000161016B413000000161016C414000000162016941E800000162016A41F000000162016B41F800000162016C4200000001630169424400000163016A424800000163016B424C00000163016C42500000"}}
+{"expression":"reduce(a,avg,z)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0701010178010179050301614020000040D00000412800004168000041940000016241B4000041D4000041F40000420A0000421A00000163422A0000423A0000424A0000425A0000426A0000"}}
+{"expression":"reduce(a,avg)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0200403E800000000000"}}
{"expression":"reduce(a,count,x)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,count)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,count,x)","inputs":{"a":"0x02020178030179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E000000000000"},"result":{"expect":"0x020101790540080000000000004008000000000000400800000000000040080000000000004008000000000000"}}
@@ -33,6 +45,10 @@
{"expression":"reduce(a,count,y)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017A07401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000"}}
{"expression":"reduce(a,count,z)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017905401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000"}}
{"expression":"reduce(a,count)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0200405A400000000000"}}
+{"expression":"reduce(a,count,x)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017905017A074040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000"}}
+{"expression":"reduce(a,count,y)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017803017A0740A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A00000"}}
+{"expression":"reduce(a,count,z)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x06010201780301790540E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E00000"}}
+{"expression":"reduce(a,count)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x0200405A400000000000"}}
{"expression":"reduce(a,count,x)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,count)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,count,x)","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010101790203626172400800000000000003666F6F4008000000000000"}}
@@ -42,6 +58,10 @@
{"expression":"reduce(a,count,y)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017A0C0161016940000000000000000161016A40000000000000000161016B40000000000000000161016C40000000000000000162016940000000000000000162016A40000000000000000162016B40000000000000000162016C40000000000000000163016940000000000000000163016A40000000000000000163016B40000000000000000163016C4000000000000000"}}
{"expression":"reduce(a,count,z)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x010201780179060161036261724010000000000000016103666F6F40100000000000000162036261724010000000000000016203666F6F40100000000000000163036261724010000000000000016303666F6F4010000000000000"}}
{"expression":"reduce(a,count)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x02004038000000000000"}}
+{"expression":"reduce(a,count,x)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020179017A080362617201694040000003626172016A4040000003626172016B4040000003626172016C4040000003666F6F01694040000003666F6F016A4040000003666F6F016B4040000003666F6F016C40400000"}}
+{"expression":"reduce(a,count,y)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020178017A0C01610169400000000161016A400000000161016B400000000161016C4000000001620169400000000162016A400000000162016B400000000162016C4000000001630169400000000163016A400000000163016B400000000163016C40000000"}}
+{"expression":"reduce(a,count,z)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x050102017801790601610362617240800000016103666F6F4080000001620362617240800000016203666F6F4080000001630362617240800000016303666F6F40800000"}}
+{"expression":"reduce(a,count)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x02004038000000000000"}}
{"expression":"reduce(a,count,x)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017A070203626172400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000003666F6F4008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000"}}
{"expression":"reduce(a,count,y)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0202017803017A07400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000"}}
{"expression":"reduce(a,count,z)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x03010179010178030203626172401C000000000000401C000000000000401C00000000000003666F6F401C000000000000401C000000000000401C000000000000"}}
@@ -50,32 +70,48 @@
{"expression":"reduce(a,count,y)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x01020178017A0C0161016940140000000000000161016A40140000000000000161016B40140000000000000161016C40140000000000000162016940140000000000000162016A40140000000000000162016B40140000000000000162016C40140000000000000163016940140000000000000163016A40140000000000000163016B40140000000000000163016C4014000000000000"}}
{"expression":"reduce(a,count,z)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x030101780101790503016140100000000000004010000000000000401000000000000040100000000000004010000000000000016240100000000000004010000000000000401000000000000040100000000000004010000000000000016340100000000000004010000000000000401000000000000040100000000000004010000000000000"}}
{"expression":"reduce(a,count)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x0200404E000000000000"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x02010178033FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD"},"result":{"expect":"0x02003FE3A0C6D6CDDF1C"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x02010178033FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD"},"result":{"expect":"0x02003FE3A0C6D6CDDF1C"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x02020178030179053FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E39"},"result":{"expect":"0x02010179053FE755EC89C2D9973FEC28DF270AB4843FEE78DA4B7665D13FEF6BA85949A8FF3FEFC8CCDE39ABB0"}}
-{"expression":"reduce(a,prod,y)","inputs":{"a":"0x02020178030179053FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E39"},"result":{"expect":"0x02010178033FE3255FF45BC60C3FEFE02F161461673FEFFFC8F6CE767E"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x02020178030179053FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E39"},"result":{"expect":"0x02003FE31235F3827378"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x0203017803017905017A073FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0202017905017A073FE764D4F5D5A2BC3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA"}}
-{"expression":"reduce(a,prod,y)","inputs":{"a":"0x0203017803017905017A073FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0202017803017A073FE762D25A1D34B23FEC2E9937280B433FEE7B21F6215AF13FEF6C85C1C891CA3FEFC91F437A7BCC3FEFEBB9CCF1B66A3FEFF887A4B0D8603FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"reduce(a,prod,z)","inputs":{"a":"0x0203017803017905017A073FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02020178030179053FE314CD1BECD3773FEFFBA87FF697C23FEFFFFEFC6DCB133FEFFFFFFFC367BC3FEFFFFFFFFFF1DA3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x0203017803017905017A073FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02003FE31235BA8C31C4"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x010101780301613FE764D4F5D5A2BD01623FEC2F7D5A8A79C901633FEE7B7CBC36FABD"},"result":{"expect":"0x02003FE3A0C6D6CDDF1C"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x010101780301613FE764D4F5D5A2BD01623FEC2F7D5A8A79C901633FEE7B7CBC36FABD"},"result":{"expect":"0x02003FE3A0C6D6CDDF1C"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x010201780179060161036261723FEC2F7D5A8A79C9016103666F6F3FE764D4F5D5A2BD0162036261723FEF6CA82F0DE1EA016203666F6F3FEE7B7CBC36FABD0163036261723FEFEBBE888D0581016303666F6F3FEFC92C130538E2"},"result":{"expect":"0x0101017902036261723FEB9C30A7B9060803666F6F3FE6229FF7F09CEC"}}
-{"expression":"reduce(a,prod,y)","inputs":{"a":"0x010201780179060161036261723FEC2F7D5A8A79C9016103666F6F3FE764D4F5D5A2BD0162036261723FEF6CA82F0DE1EA016203666F6F3FEE7B7CBC36FABD0163036261723FEFEBBE888D0581016303666F6F3FEFC92C130538E2"},"result":{"expect":"0x010101780301613FE49AF213F4B34901623FEDEF21D071F12801633FEFB50D50317D96"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x010201780179060161036261723FEC2F7D5A8A79C9016103666F6F3FE764D4F5D5A2BD0162036261723FEF6CA82F0DE1EA016203666F6F3FEE7B7CBC36FABD0163036261723FEFEBBE888D0581016303666F6F3FEFC92C130538E2"},"result":{"expect":"0x02003FE319416D005C7C"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C130538E2016103626172016A3FEFEBBE888D0581016103626172016B3FEFF889631D483C016103626172016C3FEFFD40B84505A2016103666F6F01693FE764D4F5D5A2BD016103666F6F016A3FEC2F7D5A8A79C9016103666F6F016B3FEE7B7CBC36FABD016103666F6F016C3FEF6CA82F0DE1EA01620362617201693FEFFFFB427F64DC016203626172016A3FEFFFFE4193A878016203626172016B3FEFFFFF5BC51E39016203626172016C3FEFFFFFC39548FC016203666F6F01693FEFFEFD390A9CC1016203666F6F016A3FEFFFA0CB346F89016203666F6F016B3FEFFFDCF97E0F4A016203666F6F016C3FEFFFF31D5F129E01630362617201693FEFFFFFFF97C93C016303626172016A3FEFFFFFFFD9A96E016303626172016B3FEFFFFFFFF1E56C016303626172016C3FEFFFFFFFFACFBE016303666F6F01693FEFFFFFE9C61CF7016303666F6F016A3FEFFFFFF7D2CEBC016303666F6F016B3FEFFFFFFCFDF520016303666F6F016C3FEFFFFFFEE4B79A"},"result":{"expect":"0x01020179017A080362617201693FEFC9275D3C474103626172016A3FEFEBBCCB1504B303626172016B3FEFF888BEFA9CCB03626172016C3FEFFD407BDA4E9E03666F6F01693FE76417B72E39DD03666F6F016A3FEC2F2977DA44B303666F6F016B3FEE7B5B5C161BC003666F6F016C3FEF6C9B86AB347B"}}
-{"expression":"reduce(a,prod,y)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C130538E2016103626172016A3FEFEBBE888D0581016103626172016B3FEFF889631D483C016103626172016C3FEFFD40B84505A2016103666F6F01693FE764D4F5D5A2BD016103666F6F016A3FEC2F7D5A8A79C9016103666F6F016B3FEE7B7CBC36FABD016103666F6F016C3FEF6CA82F0DE1EA01620362617201693FEFFFFB427F64DC016203626172016A3FEFFFFE4193A878016203626172016B3FEFFFFF5BC51E39016203626172016C3FEFFFFFC39548FC016203666F6F01693FEFFEFD390A9CC1016203666F6F016A3FEFFFA0CB346F89016203666F6F016B3FEFFFDCF97E0F4A016203666F6F016C3FEFFFF31D5F129E01630362617201693FEFFFFFFF97C93C016303626172016A3FEFFFFFFFD9A96E016303626172016B3FEFFFFFFFF1E56C016303626172016C3FEFFFFFFFFACFBE016303666F6F01693FEFFFFFE9C61CF7016303666F6F016A3FEFFFFFF7D2CEBC016303666F6F016B3FEFFFFFFCFDF520016303666F6F016C3FEFFFFFFEE4B79A"},"result":{"expect":"0x01020178017A0C016101693FE73CBFE05B9D5C0161016A3FEC1DA6028563590161016B3FEE7460BC1FE1680161016C3FEF69F58D8E659A016201693FEFFEF87BB056F30162016A3FEFFF9F0CCD48330162016B3FEFFFDC5543E1450162016C3FEFFFF2E0F473EE016301693FEFFFFFE95DE6330163016A3FEFFFFFF7AC782A0163016B3FEFFFFFFCEFDA8C0163016C3FEFFFFFFEDF8758"}}
-{"expression":"reduce(a,prod,z)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C130538E2016103626172016A3FEFEBBE888D0581016103626172016B3FEFF889631D483C016103626172016C3FEFFD40B84505A2016103666F6F01693FE764D4F5D5A2BD016103666F6F016A3FEC2F7D5A8A79C9016103666F6F016B3FEE7B7CBC36FABD016103666F6F016C3FEF6CA82F0DE1EA01620362617201693FEFFFFB427F64DC016203626172016A3FEFFFFE4193A878016203626172016B3FEFFFFF5BC51E39016203626172016C3FEFFFFFC39548FC016203666F6F01693FEFFEFD390A9CC1016203666F6F016A3FEFFFA0CB346F89016203666F6F016B3FEFFFDCF97E0F4A016203666F6F016C3FEFFFF31D5F129E01630362617201693FEFFFFFFF97C93C016303626172016A3FEFFFFFFFD9A96E016303626172016B3FEFFFFFFFF1E56C016303626172016C3FEFFFFFFFFACFBE016303666F6F01693FEFFFFFE9C61CF7016303666F6F016A3FEFFFFFF7D2CEBC016303666F6F016B3FEFFFFFFCFDF520016303666F6F016C3FEFFFFFFEE4B79A"},"result":{"expect":"0x010201780179060161036261723FEFAAEFF82A7803016103666F6F3FE34666681CF69B0162036261723FEFFFF8A36DE565016203666F6F3FEFFE6E203E29E40163036261723FEFFFFFFF5E27D4016303666F6F3FEFFFFFDD7B9877"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C130538E2016103626172016A3FEFEBBE888D0581016103626172016B3FEFF889631D483C016103626172016C3FEFFD40B84505A2016103666F6F01693FE764D4F5D5A2BD016103666F6F016A3FEC2F7D5A8A79C9016103666F6F016B3FEE7B7CBC36FABD016103666F6F016C3FEF6CA82F0DE1EA01620362617201693FEFFFFB427F64DC016203626172016A3FEFFFFE4193A878016203626172016B3FEFFFFF5BC51E39016203626172016C3FEFFFFFC39548FC016203666F6F01693FEFFEFD390A9CC1016203666F6F016A3FEFFFA0CB346F89016203666F6F016B3FEFFFDCF97E0F4A016203666F6F016C3FEFFFF31D5F129E01630362617201693FEFFFFFFF97C93C016303626172016A3FEFFFFFFFD9A96E016303626172016B3FEFFFFFFFF1E56C016303626172016C3FEFFFFFFFFACFBE016303666F6F01693FEFFFFFE9C61CF7016303666F6F016A3FEFFFFFF7D2CEBC016303666F6F016B3FEFFFFFFCFDF520016303666F6F016C3FEFFFFFFEE4B79A"},"result":{"expect":"0x02003FE31235BA8DFE78"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA"},"result":{"expect":"0x0301017901017A0702036261723FEFFD40B81EB2593FEFFEFD38FC829F3FEFFFA0CB2F3F563FEFFFDCF97C26A83FEFFFF31D5E5EDC3FEFFFFB427F22BA3FEFFFFE4193902403666F6F3FE764D47DC5CCF53FEC2F7D25536D573FEE7B7CA70AEF9A3FEF6CA8270656413FEFC92C100855363FEFEBBE8772705C3FEFF88962B529C0"}}
-{"expression":"reduce(a,prod,y)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA"},"result":{"expect":"0x0202017803017A073FE762D2D23EC0703FEC2E996C69D52A3FEE7B220B52184C3FEF6C85C9D1F4823FEFC91F467810D23FEFEBB9CE0C8D5D3FEFF887A5190F233FEFFFFF5B9EC7A83FEFFFFFC3872E683FEFFFFFE9C0ECB53FEFFFFFF7D0E6183FEFFFFFFCFD415E3FEFFFFFFEE475783FEFFFFFFF97B0E83FEFFFFFFFFFF70A3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA"}}
-{"expression":"reduce(a,prod,z)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA"},"result":{"expect":"0x030101790101780302036261723FEFFBA87FF697C23FEFFFFFFFC367BC3FEFFFFFFFFFFFFE03666F6F3FE314CD1BECD3773FEFFFFEFC6DCB143FEFFFFFFFFFF1DA"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40B84505A23FEFFEFD390A9CC13FEFFFA0CB346F893FEFFFDCF97E0F4A3FEFFFF31D5F129E3FEFFFFB427F64DC3FEFFFFE4193A8783FEFFFFFFFD9A96E3FEFFFFFFFF1E56C3FEFFFFFFFFACFBE3FEFFFFFFFFE175C3FEFFFFFFFFF4C3E3FEFFFFFFFFFBDDE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFFFE3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D4F5D5A2BD3FEC2F7D5A8A79C93FEE7B7CBC36FABD3FEF6CA82F0DE1EA3FEFC92C130538E23FEFEBBE888D05813FEFF889631D483C3FEFFFFF5BC51E393FEFFFFFC39548FC3FEFFFFFE9C61CF73FEFFFFFF7D2CEBC3FEFFFFFFCFDF5203FEFFFFFFEE4B79A3FEFFFFFFF97C93C3FEFFFFFFFFFF70C3FEFFFFFFFFFFCB63FEFFFFFFFFFFECA3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFD63FEFFFFFFFFFFFF03FEFFFFFFFFFFFFA"},"result":{"expect":"0x02003FE31235BA8C31C5"}}
-{"expression":"reduce(a,prod,x)","inputs":{"a":"0x03020178017A010179050C016101693FE764D4F5D5A2BD3FEFC92C130538E23FEFFEFD390A9CC13FEFFFFB427F64DC3FEFFFFFE9C61CF70161016A3FEC2F7D5A8A79C93FEFEBBE888D05813FEFFFA0CB346F893FEFFFFE4193A8783FEFFFFFF7D2CEBC0161016B3FEE7B7CBC36FABD3FEFF889631D483C3FEFFFDCF97E0F4A3FEFFFFF5BC51E393FEFFFFFFCFDF5200161016C3FEF6CA82F0DE1EA3FEFFD40B84505A23FEFFFF31D5F129E3FEFFFFFC39548FC3FEFFFFFFEE4B79A016201693FEFFFFFFF97C93C3FEFFFFFFFFE175C3FEFFFFFFFFFF70C3FEFFFFFFFFFFFD63FF00000000000000162016A3FEFFFFFFFD9A96E3FEFFFFFFFFF4C3E3FEFFFFFFFFFFCB63FEFFFFFFFFFFFF03FF00000000000000162016B3FEFFFFFFFF1E56C3FEFFFFFFFFFBDDE3FEFFFFFFFFFFECA3FEFFFFFFFFFFFFA3FF00000000000000162016C3FEFFFFFFFFACFBE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFFE3FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0301017A010179050401693FE764D4F58972FF3FEFC92C130353833FEFFEFD390A93CD3FEFFFFB427F64B23FEFFFFFE9C61CF7016A3FEC2F7D5A68B5243FEFEBBE888C52313FEFFFA0CB346C3F3FEFFFFE4193A8683FEFFFFFF7D2CEBC016B3FEE7B7CBC298B653FEFF889631D06293FEFFFDCF97E0E143FEFFFFF5BC51E333FEFFFFFFCFDF520016C3FEF6CA82F08C98C3FEFFD40B844ED503FEFFFF31D5F122C3FEFFFFFC39548FA3FEFFFFFFEE4B79A"}}
-{"expression":"reduce(a,prod,y)","inputs":{"a":"0x03020178017A010179050C016101693FE764D4F5D5A2BD3FEFC92C130538E23FEFFEFD390A9CC13FEFFFFB427F64DC3FEFFFFFE9C61CF70161016A3FEC2F7D5A8A79C93FEFEBBE888D05813FEFFFA0CB346F893FEFFFFE4193A8783FEFFFFFF7D2CEBC0161016B3FEE7B7CBC36FABD3FEFF889631D483C3FEFFFDCF97E0F4A3FEFFFFF5BC51E393FEFFFFFFCFDF5200161016C3FEF6CA82F0DE1EA3FEFFD40B84505A23FEFFFF31D5F129E3FEFFFFFC39548FC3FEFFFFFFEE4B79A016201693FEFFFFFFF97C93C3FEFFFFFFFFE175C3FEFFFFFFFFFF70C3FEFFFFFFFFFFFD63FF00000000000000162016A3FEFFFFFFFD9A96E3FEFFFFFFFFF4C3E3FEFFFFFFFFFFCB63FEFFFFFFFFFFFF03FF00000000000000162016B3FEFFFFFFFF1E56C3FEFFFFFFFFFBDDE3FEFFFFFFFFFFECA3FEFFFFFFFFFFFFA3FF00000000000000162016C3FEFFFFFFFFACFBE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFFE3FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x01020178017A0C016101693FE73C0074DAE91E0161016A3FEC1D50CCB69E9E0161016B3FEE743EC77BF1470161016C3FEF69E8AAF29095016201693FEFFFFFFF95D77A0162016A3FEFFFFFFFD8F2520162016B3FEFFFFFFFF1A20E0162016C3FEFFFFFFFFAB6F6016301693FF00000000000000163016A3FF00000000000000163016B3FF00000000000000163016C3FF0000000000000"}}
-{"expression":"reduce(a,prod,z)","inputs":{"a":"0x03020178017A010179050C016101693FE764D4F5D5A2BD3FEFC92C130538E23FEFFEFD390A9CC13FEFFFFB427F64DC3FEFFFFFE9C61CF70161016A3FEC2F7D5A8A79C93FEFEBBE888D05813FEFFFA0CB346F893FEFFFFE4193A8783FEFFFFFF7D2CEBC0161016B3FEE7B7CBC36FABD3FEFF889631D483C3FEFFFDCF97E0F4A3FEFFFFF5BC51E393FEFFFFFFCFDF5200161016C3FEF6CA82F0DE1EA3FEFFD40B84505A23FEFFFF31D5F129E3FEFFFFFC39548FC3FEFFFFFFEE4B79A016201693FEFFFFFFF97C93C3FEFFFFFFFFE175C3FEFFFFFFFFFF70C3FEFFFFFFFFFFFD63FF00000000000000162016A3FEFFFFFFFD9A96E3FEFFFFFFFFF4C3E3FEFFFFFFFFFFCB63FEFFFFFFFFFFFF03FF00000000000000162016B3FEFFFFFFFF1E56C3FEFFFFFFFFFBDDE3FEFFFFFFFFFFECA3FEFFFFFFFFFFFFA3FF00000000000000162016C3FEFFFFFFFFACFBE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFFE3FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x03010178010179050301613FE34666681CF69B3FEFAAEFF82A78023FEFFE6E203E29E43FEFFFF8A36DE5653FEFFFFFDD7B987701623FEFFFFFFF5E27D43FEFFFFFFFFD09243FEFFFFFFFFFF21A3FEFFFFFFFFFFFBE3FF000000000000001633FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"reduce(a,prod)","inputs":{"a":"0x03020178017A010179050C016101693FE764D4F5D5A2BD3FEFC92C130538E23FEFFEFD390A9CC13FEFFFFB427F64DC3FEFFFFFE9C61CF70161016A3FEC2F7D5A8A79C93FEFEBBE888D05813FEFFFA0CB346F893FEFFFFE4193A8783FEFFFFFF7D2CEBC0161016B3FEE7B7CBC36FABD3FEFF889631D483C3FEFFFDCF97E0F4A3FEFFFFF5BC51E393FEFFFFFFCFDF5200161016C3FEF6CA82F0DE1EA3FEFFD40B84505A23FEFFFF31D5F129E3FEFFFFFC39548FC3FEFFFFFFEE4B79A016201693FEFFFFFFF97C93C3FEFFFFFFFFE175C3FEFFFFFFFFFF70C3FEFFFFFFFFFFFD63FF00000000000000162016A3FEFFFFFFFD9A96E3FEFFFFFFFFF4C3E3FEFFFFFFFFFFCB63FEFFFFFFFFFFFF03FF00000000000000162016B3FEFFFFFFFF1E56C3FEFFFFFFFFFBDDE3FEFFFFFFFFFFECA3FEFFFFFFFFFFFFA3FF00000000000000162016C3FEFFFFFFFFACFBE3FEFFFFFFFFFE7AC3FEFFFFFFFFFFF8E3FEFFFFFFFFFFFFE3FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02003FE31235BA8C31C5"}}
+{"expression":"reduce(a,count,x)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x070101017A010179050401694040000040400000404000004040000040400000016A4040000040400000404000004040000040400000016B4040000040400000404000004040000040400000016C4040000040400000404000004040000040400000"}}
+{"expression":"reduce(a,count,y)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0501020178017A0C0161016940A000000161016A40A000000161016B40A000000161016C40A000000162016940A000000162016A40A000000162016B40A000000162016C40A000000163016940A000000163016A40A000000163016B40A000000163016C40A00000"}}
+{"expression":"reduce(a,count,z)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x07010101780101790503016140800000408000004080000040800000408000000162408000004080000040800000408000004080000001634080000040800000408000004080000040800000"}}
+{"expression":"reduce(a,count)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0200404E000000000000"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x02010178033FE764D5000000003FEC2F7D600000003FEE7B7CC0000000"},"result":{"expect":"0x02003FE3A0C6E59280EA"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x02010178033FE764D5000000003FEC2F7D600000003FEE7B7CC0000000"},"result":{"expect":"0x02003FE3A0C6E59280EA"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x02020178030179053FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF60000000"},"result":{"expect":"0x02010179053FE755EC926559383FEC28DF2C10E16A3FEE78DA543B581D3FEF6BA84F8540D83FEFC8CCE446A530"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x02020178030179053FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF60000000"},"result":{"expect":"0x02010178033FE325600168F45C3FEFE02F0DE8C3243FEFFFC9001920DD"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x02020178030179053FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF60000000"},"result":{"expect":"0x02003FE312360128D14A"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x0203017803017905017A073FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0202017905017A073FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x0203017803017905017A073FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0202017803017A073FE762D26D20DF963FEC2E993FA306D03FEE7B21E5F38A7C3FEF6C85C1281D003FEFC91F560F3F203FEFEBB9C301B9003FEFF887A0687CC03FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x0203017803017905017A073FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02020178030179053FE314CD21F656DC3FEFFBA88881F6443FEFFFFF000002203FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x0203017803017905017A073FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02003FE31235C7F22F6F"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x060103017803017905017A073F3B26A83F617BEB3F73DBE63F7B65413F7E49613F7F5DF43F7FC44B3F7FEA063F7FF7EA3F7FFD063F7FFEE83F7FFF993F7FFFDA3F7FFFF23F7FFFFB3F7FFFFE3F7FFFFF3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x060102017905017A073F3B26A83F617BEB3F73DBE63F7B65413F7E49613F7F5DF43F7FC44B3F7FEA063F7FF7EA3F7FFD063F7FFEE83F7FFF993F7FFFDA3F7FFFF23F7FFFFB3F7FFFFE3F7FFFFF3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x060103017803017905017A073F3B26A83F617BEB3F73DBE63F7B65413F7E49613F7F5DF43F7FC44B3F7FEA063F7FF7EA3F7FFD063F7FFEE83F7FFF993F7FFFDA3F7FFFF23F7FFFFB3F7FFFFE3F7FFFFF3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x060102017803017A073F3B16933F6174CA3F73D90F3F7B642E3F7E48FB3F7F5DCE3F7FC43D3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x060103017803017905017A073F3B26A83F617BEB3F73DBE63F7B65413F7E49613F7F5DF43F7FC44B3F7FEA063F7FF7EA3F7FFD063F7FFEE83F7FFF993F7FFFDA3F7FFFF23F7FFFFB3F7FFFFE3F7FFFFF3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x0601020178030179053F18A6693F7FDD443F7FFFF83F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x060103017803017905017A073F3B26A83F617BEB3F73DBE63F7B65413F7E49613F7F5DF43F7FC44B3F7FEA063F7FF7EA3F7FFD063F7FFEE83F7FFF993F7FFFDA3F7FFFF23F7FFFFB3F7FFFFE3F7FFFFF3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x02003FE31235C7F22F6F"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x010101780301613FE764D50000000001623FEC2F7D6000000001633FEE7B7CC0000000"},"result":{"expect":"0x02003FE3A0C6E59280EA"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x010101780301613FE764D50000000001623FEC2F7D6000000001633FEE7B7CC0000000"},"result":{"expect":"0x02003FE3A0C6E59280EA"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x010201780179060161036261723FEC2F7D60000000016103666F6F3FE764D5000000000162036261723FEF6CA820000000016203666F6F3FEE7B7CC00000000163036261723FEFEBBE80000000016303666F6F3FEFC92C20000000"},"result":{"expect":"0x0101017902036261723FEB9C30987284AF03666F6F3FE622A00D5893C0"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x010201780179060161036261723FEC2F7D60000000016103666F6F3FE764D5000000000162036261723FEF6CA820000000016203666F6F3FEE7B7CC00000000163036261723FEFEBBE80000000016303666F6F3FEFC92C20000000"},"result":{"expect":"0x010101780301613FE49AF220E6870001623FEDEF21C5D26CC001633FEFB50D54A5AE80"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x010201780179060161036261723FEC2F7D60000000016103666F6F3FE764D5000000000162036261723FEF6CA820000000016203666F6F3FEE7B7CC00000000163036261723FEFEBBE80000000016303666F6F3FEFC92C20000000"},"result":{"expect":"0x02003FE3194174E78FE1"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C20000000016103626172016A3FEFEBBE80000000016103626172016B3FEFF88960000000016103626172016C3FEFFD40C0000000016103666F6F01693FE764D500000000016103666F6F016A3FEC2F7D60000000016103666F6F016B3FEE7B7CC0000000016103666F6F016C3FEF6CA82000000001620362617201693FEFFFFB40000000016203626172016A3FEFFFFE40000000016203626172016B3FEFFFFF60000000016203626172016C3FEFFFFFC0000000016203666F6F01693FEFFEFD40000000016203666F6F016A3FEFFFA0C0000000016203666F6F016B3FEFFFDD00000000016203666F6F016C3FEFFFF32000000001630362617201693FF0000000000000016303626172016A3FF0000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FEFFFFFE0000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x01020179017A080362617201693FEFC9276823734003626172016A3FEFEBBCC11B950003626172016B3FEFF888C025512003626172016C3FEFFD4080057E8003666F6F01693FE76417BF499A2903666F6F016A3FEC2F297AA4D04003666F6F016B3FEE7B5B68EF8E0003666F6F016C3FEF6C9B7B485B20"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C20000000016103626172016A3FEFEBBE80000000016103626172016B3FEFF88960000000016103626172016C3FEFFD40C0000000016103666F6F01693FE764D500000000016103666F6F016A3FEC2F7D60000000016103666F6F016B3FEE7B7CC0000000016103666F6F016C3FEF6CA82000000001620362617201693FEFFFFB40000000016203626172016A3FEFFFFE40000000016203626172016B3FEFFFFF60000000016203626172016C3FEFFFFFC0000000016203666F6F01693FEFFEFD40000000016203666F6F016A3FEFFFA0C0000000016203666F6F016B3FEFFFDD00000000016203666F6F016C3FEFFFF32000000001630362617201693FF0000000000000016303626172016A3FF0000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FEFFFFFE0000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x01020178017A0C016101693FE73CBFF3F1B5000161016A3FEC1DA6006F5F800161016B3FEE7460BCF08C400161016C3FEF69F5861930C0016201693FEFFEF8802668800162016A3FEFFF9F000535800162016B3FEFFFDC6000AF000162016C3FEFFFF2E00019C0016301693FEFFFFFE00000000163016A3FF00000000000000163016B3FF00000000000000163016C3FF0000000000000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C20000000016103626172016A3FEFEBBE80000000016103626172016B3FEFF88960000000016103626172016C3FEFFD40C0000000016103666F6F01693FE764D500000000016103666F6F016A3FEC2F7D60000000016103666F6F016B3FEE7B7CC0000000016103666F6F016C3FEF6CA82000000001620362617201693FEFFFFB40000000016203626172016A3FEFFFFE40000000016203626172016B3FEFFFFF60000000016203626172016C3FEFFFFFC0000000016203666F6F01693FEFFEFD40000000016203666F6F016A3FEFFFA0C0000000016203666F6F016B3FEFFFDD00000000016203666F6F016C3FEFFFF32000000001630362617201693FF0000000000000016303626172016A3FF0000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FEFFFFFE0000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x010201780179060161036261723FEFAAF0012E9A25016103666F6F3FE346666D61B77C0162036261723FEFFFF8A0007140016203666F6F3FEFFE6E2521DD640163036261723FF0000000000000016303666F6F3FEFFFFFE0000000"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x010301780179017A1801610362617201693FEFC92C20000000016103626172016A3FEFEBBE80000000016103626172016B3FEFF88960000000016103626172016C3FEFFD40C0000000016103666F6F01693FE764D500000000016103666F6F016A3FEC2F7D60000000016103666F6F016B3FEE7B7CC0000000016103666F6F016C3FEF6CA82000000001620362617201693FEFFFFB40000000016203626172016A3FEFFFFE40000000016203626172016B3FEFFFFF60000000016203626172016C3FEFFFFFC0000000016203666F6F01693FEFFEFD40000000016203666F6F016A3FEFFFA0C0000000016203666F6F016B3FEFFFDD00000000016203666F6F016C3FEFFFF32000000001630362617201693FF0000000000000016303626172016A3FF0000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FEFFFFFE0000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x02003FE31235C7F22F6F"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x05010301780179017A1801610362617201693F7E4961016103626172016A3F7F5DF4016103626172016B3F7FC44B016103626172016C3F7FEA06016103666F6F01693F3B26A8016103666F6F016A3F617BEB016103666F6F016B3F73DBE6016103666F6F016C3F7B654101620362617201693F7FFFDA016203626172016A3F7FFFF2016203626172016B3F7FFFFB016203626172016C3F7FFFFE016203666F6F01693F7FF7EA016203666F6F016A3F7FFD06016203666F6F016B3F7FFEE8016203666F6F016C3F7FFF9901630362617201693F800000016303626172016A3F800000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F7FFFFF016303666F6F016A3F800000016303666F6F016B3F800000016303666F6F016C3F800000"},"result":{"expect":"0x0501020179017A080362617201693F7E493B03626172016A3F7F5DE603626172016B3F7FC44603626172016C3F7FEA0403666F6F01693F3B20BE03666F6F016A3F61794C03666F6F016B3F73DADB03666F6F016C3F7B64DC"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x05010301780179017A1801610362617201693F7E4961016103626172016A3F7F5DF4016103626172016B3F7FC44B016103626172016C3F7FEA06016103666F6F01693F3B26A8016103666F6F016A3F617BEB016103666F6F016B3F73DBE6016103666F6F016C3F7B654101620362617201693F7FFFDA016203626172016A3F7FFFF2016203626172016B3F7FFFFB016203626172016C3F7FFFFE016203666F6F01693F7FF7EA016203666F6F016A3F7FFD06016203666F6F016B3F7FFEE8016203666F6F016C3F7FFF9901630362617201693F800000016303626172016A3F800000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F7FFFFF016303666F6F016A3F800000016303666F6F016B3F800000016303666F6F016C3F800000"},"result":{"expect":"0x0501020178017A0C016101693F39E6000161016A3F60ED300161016B3F73A3060161016C3F7B4FAC016201693F7FF7C40162016A3F7FFCF80162016B3F7FFEE30162016C3F7FFF97016301693F7FFFFF0163016A3F8000000163016B3F8000000163016C3F800000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x05010301780179017A1801610362617201693F7E4961016103626172016A3F7F5DF4016103626172016B3F7FC44B016103626172016C3F7FEA06016103666F6F01693F3B26A8016103666F6F016A3F617BEB016103666F6F016B3F73DBE6016103666F6F016C3F7B654101620362617201693F7FFFDA016203626172016A3F7FFFF2016203626172016B3F7FFFFB016203626172016C3F7FFFFE016203666F6F01693F7FF7EA016203666F6F016A3F7FFD06016203666F6F016B3F7FFEE8016203666F6F016C3F7FFF9901630362617201693F800000016303626172016A3F800000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F7FFFFF016303666F6F016A3F800000016303666F6F016B3F800000016303666F6F016C3F800000"},"result":{"expect":"0x05010201780179060161036261723F7D5780016103666F6F3F1A33330162036261723F7FFFC5016203666F6F3F7FF3710163036261723F800000016303666F6F3F7FFFFF"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x05010301780179017A1801610362617201693F7E4961016103626172016A3F7F5DF4016103626172016B3F7FC44B016103626172016C3F7FEA06016103666F6F01693F3B26A8016103666F6F016A3F617BEB016103666F6F016B3F73DBE6016103666F6F016C3F7B654101620362617201693F7FFFDA016203626172016A3F7FFFF2016203626172016B3F7FFFFB016203626172016C3F7FFFFE016203666F6F01693F7FF7EA016203666F6F016A3F7FFD06016203666F6F016B3F7FFEE8016203666F6F016C3F7FFF9901630362617201693F800000016303626172016A3F800000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F7FFFFF016303666F6F016A3F800000016303666F6F016B3F800000016303666F6F016C3F800000"},"result":{"expect":"0x02003FE31235C7F22F6F"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0301017901017A0702036261723FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE4000000003666F6F3FE764D48B07D7003FEC2F7D27A105403FEE7B7CA18483403FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF88960000000"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0202017803017A073FE762D2E20EFE003FEC2E99780039C03FEE7B22046EAC803FEF6C85C1281D003FEFC91F560F3F203FEFEBB9C301B9003FEFF887A0687CC03FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x030101790101780302036261723FEFFBA88881F6443FF00000000000003FF000000000000003666F6F3FE314CD21F656DB3FEFFFFF000002203FF0000000000000"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x0301017902017803017A0702036261723FEFFD40C00000003FEFFEFD400000003FEFFFA0C00000003FEFFFDD000000003FEFFFF3200000003FEFFFFB400000003FEFFFFE400000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FE764D5000000003FEC2F7D600000003FEE7B7CC00000003FEF6CA8200000003FEFC92C200000003FEFEBBE800000003FEFF889600000003FEFFFFF600000003FEFFFFFC00000003FEFFFFFE00000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02003FE31235C7F22F6E"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x03020178017A010179050C016101693FE764D5000000003FEFC92C200000003FEFFEFD400000003FEFFFFB400000003FEFFFFFE00000000161016A3FEC2F7D600000003FEFEBBE800000003FEFFFA0C00000003FEFFFFE400000003FF00000000000000161016B3FEE7B7CC00000003FEFF889600000003FEFFFDD000000003FEFFFFF600000003FF00000000000000161016C3FEF6CA8200000003FEFFD40C00000003FEFFFF3200000003FEFFFFFC00000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0301017A010179050401693FE764D5000000003FEFC92C200000003FEFFEFD400000003FEFFFFB400000003FEFFFFFE0000000016A3FEC2F7D600000003FEFEBBE800000003FEFFFA0C00000003FEFFFFE400000003FF0000000000000016B3FEE7B7CC00000003FEFF889600000003FEFFFDD000000003FEFFFFF600000003FF0000000000000016C3FEF6CA8200000003FEFFD40C00000003FEFFFF3200000003FEFFFFFC00000003FF0000000000000"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x03020178017A010179050C016101693FE764D5000000003FEFC92C200000003FEFFEFD400000003FEFFFFB400000003FEFFFFFE00000000161016A3FEC2F7D600000003FEFEBBE800000003FEFFFA0C00000003FEFFFFE400000003FF00000000000000161016B3FEE7B7CC00000003FEFF889600000003FEFFFDD000000003FEFFFFF600000003FF00000000000000161016C3FEF6CA8200000003FEFFD40C00000003FEFFFF3200000003FEFFFFFC00000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x01020178017A0C016101693FE73C008494FBB00161016A3FEC1D50C694C1D20161016B3FEE743ED56180740161016C3FEF69E8A3A39606016201693FF00000000000000162016A3FF00000000000000162016B3FF00000000000000162016C3FF0000000000000016301693FF00000000000000163016A3FF00000000000000163016B3FF00000000000000163016C3FF0000000000000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x03020178017A010179050C016101693FE764D5000000003FEFC92C200000003FEFFEFD400000003FEFFFFB400000003FEFFFFFE00000000161016A3FEC2F7D600000003FEFEBBE800000003FEFFFA0C00000003FEFFFFE400000003FF00000000000000161016B3FEE7B7CC00000003FEFF889600000003FEFFFDD000000003FEFFFFF600000003FF00000000000000161016C3FEF6CA8200000003FEFFD40C00000003FEFFFF3200000003FEFFFFFC00000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x03010178010179050301613FE346666D61B77C3FEFAAF0012E9A253FEFFE6E2521DD643FEFFFF8A00071403FEFFFFFE000000001623FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001633FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x03020178017A010179050C016101693FE764D5000000003FEFC92C200000003FEFFEFD400000003FEFFFFB400000003FEFFFFFE00000000161016A3FEC2F7D600000003FEFEBBE800000003FEFFFA0C00000003FEFFFFE400000003FF00000000000000161016B3FEE7B7CC00000003FEFF889600000003FEFFFDD000000003FEFFFFF600000003FF00000000000000161016C3FEF6CA8200000003FEFFD40C00000003FEFFFF3200000003FEFFFFFC00000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02003FE31235C7F22F6E"}}
+{"expression":"reduce(a,prod,x)","inputs":{"a":"0x0701020178017A010179050C016101693F3B26A83F7E49613F7FF7EA3F7FFFDA3F7FFFFF0161016A3F617BEB3F7F5DF43F7FFD063F7FFFF23F8000000161016B3F73DBE63F7FC44B3F7FFEE83F7FFFFB3F8000000161016C3F7B65413F7FEA063F7FFF993F7FFFFE3F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F8000003F8000003F8000003F8000003F8000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F8000003F8000003F8000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x070101017A010179050401693F3B26A83F7E49613F7FF7EA3F7FFFDA3F7FFFFF016A3F617BEB3F7F5DF43F7FFD063F7FFFF23F800000016B3F73DBE63F7FC44B3F7FFEE83F7FFFFB3F800000016C3F7B65413F7FEA063F7FFF993F7FFFFE3F800000"}}
+{"expression":"reduce(a,prod,y)","inputs":{"a":"0x0701020178017A010179050C016101693F3B26A83F7E49613F7FF7EA3F7FFFDA3F7FFFFF0161016A3F617BEB3F7F5DF43F7FFD063F7FFFF23F8000000161016B3F73DBE63F7FC44B3F7FFEE83F7FFFFB3F8000000161016C3F7B65413F7FEA063F7FFF993F7FFFFE3F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F8000003F8000003F8000003F8000003F8000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F8000003F8000003F8000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x0501020178017A0C016101693F39E0040161016A3F60EA860161016B3F73A1F70161016C3F7B4F45016201693F8000000162016A3F8000000162016B3F8000000162016C3F800000016301693F8000000163016A3F8000000163016B3F8000000163016C3F800000"}}
+{"expression":"reduce(a,prod,z)","inputs":{"a":"0x0701020178017A010179050C016101693F3B26A83F7E49613F7FF7EA3F7FFFDA3F7FFFFF0161016A3F617BEB3F7F5DF43F7FFD063F7FFFF23F8000000161016B3F73DBE63F7FC44B3F7FFEE83F7FFFFB3F8000000161016C3F7B65413F7FEA063F7FFF993F7FFFFE3F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F8000003F8000003F8000003F8000003F8000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F8000003F8000003F8000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x0701010178010179050301613F1A33333F7D57803F7FF3713F7FFFC53F7FFFFF01623F8000003F8000003F8000003F8000003F80000001633F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"reduce(a,prod)","inputs":{"a":"0x0701020178017A010179050C016101693F3B26A83F7E49613F7FF7EA3F7FFFDA3F7FFFFF0161016A3F617BEB3F7F5DF43F7FFD063F7FFFF23F8000000161016B3F73DBE63F7FC44B3F7FFEE83F7FFFFB3F8000000161016C3F7B65413F7FEA063F7FFF993F7FFFFE3F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F8000003F8000003F8000003F8000003F8000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F8000003F8000003F8000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"},"result":{"expect":"0x02003FE31235C7F22F6E"}}
{"expression":"reduce(a,sum,x)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02004018000000000000"}}
{"expression":"reduce(a,sum)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02004018000000000000"}}
{"expression":"reduce(a,sum,x)","inputs":{"a":"0x02020178030179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E000000000000"},"result":{"expect":"0x0201017905403200000000000040350000000000004038000000000000403B000000000000403E000000000000"}}
@@ -85,6 +121,10 @@
{"expression":"reduce(a,sum,y)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017A074052C000000000004054000000000000405540000000000040568000000000004057C000000000004059000000000000405A400000000000406F400000000000406FE00000000000407040000000000040709000000000004070E0000000000040713000000000004071800000000000407A900000000000407AE00000000000407B300000000000407B800000000000407BD00000000000407C200000000000407C700000000000"}}
{"expression":"reduce(a,sum,z)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017905403C0000000000004053400000000000405F8000000000004065E00000000000406C000000000000407110000000000040742000000000004077300000000000407A400000000000407D50000000000040803000000000004081B8000000000040834000000000004084C800000000004086500000000000"}}
{"expression":"reduce(a,sum)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x020040B5BD0000000000"}}
+{"expression":"reduce(a,sum,x)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017905017A0742D8000042DE000042E4000042EA000042F0000042F6000042FC0000430100004304000043070000430A0000430D000043100000431300004316000043190000431C0000431F0000432200004325000043280000432B0000432E0000433100004334000043370000433A0000433D000043400000434300004346000043490000434C0000434F000043520000"}}
+{"expression":"reduce(a,sum,y)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017803017A074296000042A0000042AA000042B4000042BE000042C8000042D20000437A0000437F000043820000438480004387000043898000438C000043D4800043D7000043D9800043DC000043DE800043E1000043E38000"}}
+{"expression":"reduce(a,sum,z)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x06010201780301790541E00000429A000042FC0000432F0000436000004388800043A1000043B9800043D2000043EA800044018000440DC000441A00004426400044328000"}}
+{"expression":"reduce(a,sum)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x020040B5BD0000000000"}}
{"expression":"reduce(a,sum,x)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004018000000000000"}}
{"expression":"reduce(a,sum)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004018000000000000"}}
{"expression":"reduce(a,sum,x)","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010101790203626172402800000000000003666F6F4022000000000000"}}
@@ -94,6 +134,10 @@
{"expression":"reduce(a,sum,y)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017A0C0161016940180000000000000161016A40200000000000000161016B40240000000000000161016C40280000000000000162016940360000000000000162016A40380000000000000162016B403A0000000000000162016C403C0000000000000163016940430000000000000163016A40440000000000000163016B40450000000000000163016C4046000000000000"}}
{"expression":"reduce(a,sum,z)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017906016103626172403A000000000000016103666F6F4024000000000000016203626172404D000000000000016203666F6F40450000000000000163036261724056800000000000016303666F6F4052800000000000"}}
{"expression":"reduce(a,sum)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x02004072C00000000000"}}
+{"expression":"reduce(a,sum,x)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020179017A08036261720169421C000003626172016A4228000003626172016B4234000003626172016C4240000003666F6F016941D8000003666F6F016A41F0000003666F6F016B4204000003666F6F016C42100000"}}
+{"expression":"reduce(a,sum,y)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020178017A0C0161016940C000000161016A410000000161016B412000000161016C414000000162016941B000000162016A41C000000162016B41D000000162016C41E0000001630169421800000163016A422000000163016B422800000163016C42300000"}}
+{"expression":"reduce(a,sum,z)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x050102017801790601610362617241D00000016103666F6F4120000001620362617242680000016203666F6F4228000001630362617242B40000016303666F6F42940000"}}
+{"expression":"reduce(a,sum)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x02004072C00000000000"}}
{"expression":"reduce(a,sum,x)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017A0702036261724050800000000000405140000000000040520000000000004052C0000000000040538000000000004054400000000000405500000000000003666F6F404680000000000040480000000000004049800000000000404B000000000000404C800000000000404E000000000000404F800000000000"}}
{"expression":"reduce(a,sum,y)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0202017803017A0740220000000000004026000000000000402A000000000000402E000000000000403100000000000040330000000000004035000000000000404280000000000040438000000000004044800000000000404580000000000040468000000000004047800000000000404880000000000040504000000000004050C0000000000040514000000000004051C0000000000040524000000000004052C000000000004053400000000000"}}
{"expression":"reduce(a,sum,z)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017803020362617240534000000000004065E00000000000407110000000000003666F6F403C000000000000405F800000000000406C000000000000"}}
@@ -102,6 +146,10 @@
{"expression":"reduce(a,sum,y)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x01020178017A0C0161016940468000000000000161016A40490000000000000161016B404B8000000000000161016C404E0000000000000162016940622000000000000162016A4062C000000000000162016B40636000000000000162016C406400000000000001630169406EA000000000000163016A406F4000000000000163016B406FE000000000000163016C4070400000000000"}}
{"expression":"reduce(a,sum,z)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x03010178010179050301614024000000000000403A0000000000004045000000000000404D000000000000405280000000000001624056800000000000405A800000000000405E800000000000406140000000000040634000000000000163406540000000000040674000000000004069400000000000406B400000000000406D400000000000"}}
{"expression":"reduce(a,sum)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x0200409C980000000000"}}
+{"expression":"reduce(a,sum,x)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x070101017A01017905040169427C00004296000042AE000042C6000042DE0000016A42840000429C000042B4000042CC000042E40000016B428A000042A2000042BA000042D2000042EA0000016C4290000042A8000042C0000042D8000042F00000"}}
+{"expression":"reduce(a,sum,y)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0501020178017A0C01610169423400000161016A424800000161016B425C00000161016C4270000001620169431100000162016A431600000162016B431B00000162016C4320000001630169437500000163016A437A00000163016B437F00000163016C43820000"}}
+{"expression":"reduce(a,sum,z)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0701010178010179050301614120000041D00000422800004268000042940000016242B4000042D4000042F40000430A0000431A00000163432A0000433A0000434A0000435A0000436A0000"}}
+{"expression":"reduce(a,sum)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0200409C980000000000"}}
{"expression":"reduce(a,max,x)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,max)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,max,x)","inputs":{"a":"0x02020178030179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E000000000000"},"result":{"expect":"0x020101790540260000000000004028000000000000402A000000000000402C000000000000402E000000000000"}}
@@ -111,6 +159,10 @@
{"expression":"reduce(a,max,y)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017A07403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"}}
{"expression":"reduce(a,max,z)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017905401C000000000000402C0000000000004035000000000000403C000000000000404180000000000040450000000000004048800000000000404C000000000000404F8000000000004051800000000000405340000000000040550000000000004056C000000000004058800000000000405A400000000000"}}
{"expression":"reduce(a,max)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0200405A400000000000"}}
+{"expression":"reduce(a,max,x)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017905017A07428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"}}
+{"expression":"reduce(a,max,y)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017803017A0741E8000041F0000041F80000420000004204000042080000420C00004280000042820000428400004286000042880000428A0000428C000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"}}
+{"expression":"reduce(a,max,z)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x06010201780301790540E000004160000041A8000041E00000420C0000422800004244000042600000427C0000428C0000429A000042A8000042B6000042C4000042D20000"}}
+{"expression":"reduce(a,max)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x0200405A400000000000"}}
{"expression":"reduce(a,max,x)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,max)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02004008000000000000"}}
{"expression":"reduce(a,max,x)","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010101790203626172401800000000000003666F6F4014000000000000"}}
@@ -120,6 +172,10 @@
{"expression":"reduce(a,max,y)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017A0C0161016940140000000000000161016A40180000000000000161016B401C0000000000000161016C402000000000000001620169402A0000000000000162016A402C0000000000000162016B402E0000000000000162016C40300000000000000163016940350000000000000163016A40360000000000000163016B40370000000000000163016C4038000000000000"}}
{"expression":"reduce(a,max,z)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x010201780179060161036261724020000000000000016103666F6F40100000000000000162036261724030000000000000016203666F6F40280000000000000163036261724038000000000000016303666F6F4034000000000000"}}
{"expression":"reduce(a,max)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x02004038000000000000"}}
+{"expression":"reduce(a,max,x)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020179017A0803626172016941A8000003626172016A41B0000003626172016B41B8000003626172016C41C0000003666F6F01694188000003666F6F016A4190000003666F6F016B4198000003666F6F016C41A00000"}}
+{"expression":"reduce(a,max,y)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020178017A0C0161016940A000000161016A40C000000161016B40E000000161016C4100000001620169415000000162016A416000000162016B417000000162016C418000000163016941A800000163016A41B000000163016B41B800000163016C41C00000"}}
+{"expression":"reduce(a,max,z)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x050102017801790601610362617241000000016103666F6F4080000001620362617241800000016203666F6F4140000001630362617241C00000016303666F6F41A00000"}}
+{"expression":"reduce(a,max)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x02004038000000000000"}}
{"expression":"reduce(a,max,x)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017A070203626172404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"}}
{"expression":"reduce(a,max,y)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0202017803017A0740200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C0000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000"}}
{"expression":"reduce(a,max,z)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x03010179010178030203626172402C000000000000403C000000000000404500000000000003666F6F401C00000000000040350000000000004041800000000000"}}
@@ -128,6 +184,10 @@
{"expression":"reduce(a,max,y)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x01020178017A0C0161016940310000000000000161016A40320000000000000161016B40330000000000000161016C40340000000000000162016940428000000000000162016A40430000000000000162016B40438000000000000162016C404400000000000001630169404C8000000000000163016A404D0000000000000163016B404D8000000000000163016C404E000000000000"}}
{"expression":"reduce(a,max,z)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x03010178010179050301614010000000000000402000000000000040280000000000004030000000000000403400000000000001624038000000000000403C000000000000404000000000000040420000000000004044000000000000016340460000000000004048000000000000404A000000000000404C000000000000404E000000000000"}}
{"expression":"reduce(a,max)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x0200404E000000000000"}}
+{"expression":"reduce(a,max,x)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x070101017A010179050401694224000042340000424400004254000042640000016A4228000042380000424800004258000042680000016B422C0000423C0000424C0000425C0000426C0000016C4230000042400000425000004260000042700000"}}
+{"expression":"reduce(a,max,y)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0501020178017A0C01610169418800000161016A419000000161016B419800000161016C41A0000001620169421400000162016A421800000162016B421C00000162016C4220000001630169426400000163016A426800000163016B426C00000163016C42700000"}}
+{"expression":"reduce(a,max,z)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0701010178010179050301614080000041000000414000004180000041A00000016241C0000041E0000042000000421000004220000001634230000042400000425000004260000042700000"}}
+{"expression":"reduce(a,max)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0200404E000000000000"}}
{"expression":"reduce(a,min,x)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"reduce(a,min)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"reduce(a,min,x)","inputs":{"a":"0x02020178030179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E000000000000"},"result":{"expect":"0x02010179053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"}}
@@ -137,6 +197,10 @@
{"expression":"reduce(a,min,y)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0202017803017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040420000000000004042800000000000404300000000000040438000000000004044000000000000404480000000000040450000000000004051C000000000004052000000000000405240000000000040528000000000004052C0000000000040530000000000004053400000000000"}}
{"expression":"reduce(a,min,z)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x02020178030179053FF00000000000004020000000000000402E0000000000004036000000000000403D000000000000404200000000000040458000000000004049000000000000404C80000000000040500000000000004051C000000000004053800000000000405540000000000040570000000000004058C00000000000"}}
{"expression":"reduce(a,min)","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"reduce(a,min,x)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000"}}
+{"expression":"reduce(a,min,y)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060102017803017A073F80000040000000404000004080000040A0000040C0000040E00000421000004214000042180000421C0000422000004224000042280000428E00004290000042920000429400004296000042980000429A0000"}}
+{"expression":"reduce(a,min,z)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x0601020178030179053F800000410000004170000041B0000041E8000042100000422C0000424800004264000042800000428E0000429C000042AA000042B8000042C60000"}}
+{"expression":"reduce(a,min)","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"reduce(a,min,x)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"reduce(a,min)","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"reduce(a,min,x)","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010101790203626172400000000000000003666F6F3FF0000000000000"}}
@@ -146,6 +210,10 @@
{"expression":"reduce(a,min,y)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x01020178017A0C016101693FF00000000000000161016A40000000000000000161016B40080000000000000161016C40100000000000000162016940220000000000000162016A40240000000000000162016B40260000000000000162016C40280000000000000163016940310000000000000163016A40320000000000000163016B40330000000000000163016C4034000000000000"}}
{"expression":"reduce(a,min,z)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x010201780179060161036261724014000000000000016103666F6F3FF0000000000000016203626172402A000000000000016203666F6F40220000000000000163036261724035000000000000016303666F6F4031000000000000"}}
{"expression":"reduce(a,min)","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"reduce(a,min,x)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020179017A0803626172016940A0000003626172016A40C0000003626172016B40E0000003626172016C4100000003666F6F01693F80000003666F6F016A4000000003666F6F016B4040000003666F6F016C40800000"}}
+{"expression":"reduce(a,min,y)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x0501020178017A0C016101693F8000000161016A400000000161016B404000000161016C4080000001620169411000000162016A412000000162016B413000000162016C4140000001630169418800000163016A419000000163016B419800000163016C41A00000"}}
+{"expression":"reduce(a,min,z)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x050102017801790601610362617240A00000016103666F6F3F80000001620362617241500000016203666F6F4110000001630362617241A80000016303666F6F41880000"}}
+{"expression":"reduce(a,min)","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"reduce(a,min,x)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C00000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000"}}
{"expression":"reduce(a,min,y)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0202017803017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"}}
{"expression":"reduce(a,min,z)","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017901017803020362617240200000000000004036000000000000404200000000000003666F6F3FF0000000000000402E000000000000403D000000000000"}}
@@ -154,1033 +222,1743 @@
{"expression":"reduce(a,min,y)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x01020178017A0C016101693FF00000000000000161016A40000000000000000161016B40080000000000000161016C40100000000000000162016940350000000000000162016A40360000000000000162016B40370000000000000162016C40380000000000000163016940448000000000000163016A40450000000000000163016B40458000000000000163016C4046000000000000"}}
{"expression":"reduce(a,min,z)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x03010178010179050301613FF000000000000040140000000000004022000000000000402A0000000000004031000000000000016240350000000000004039000000000000403D000000000000404080000000000040428000000000000163404480000000000040468000000000004048800000000000404A800000000000404C800000000000"}}
{"expression":"reduce(a,min)","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"-a","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x02003FFE666666666666"}}
-{"expression":"-a","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x02010178033FFE6666666666663FFCCCCCCCCCCCCD3FFB333333333333"}}
-{"expression":"-a","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x02020178030179053FFE6666666666663FFCCCCCCCCCCCCD3FFB3333333333333FF999999999999A3FF80000000000003FF66666666666663FF4CCCCCCCCCCCD3FF33333333333333FF199999999999A3FF00000000000003FECCCCCCCCCCCCC3FE999999999999A3FE66666666666663FE33333333333343FE0000000000000"}}
-{"expression":"-a","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A073FFE6666666666663FFCCCCCCCCCCCCD3FFB3333333333333FF999999999999A3FF80000000000003FF66666666666663FF4CCCCCCCCCCCD3FF33333333333333FF199999999999A3FF00000000000003FECCCCCCCCCCCCC3FE999999999999A3FE66666666666663FE33333333333343FE00000000000003FD99999999999983FD33333333333343FC99999999999983FB99999999999A08000000000000000BFB99999999999A0BFC99999999999A0BFD3333333333330BFD9999999999998BFE0000000000000BFE3333333333334BFE6666666666668BFE9999999999998BFECCCCCCCCCCCCCBFF0000000000000BFF199999999999ABFF3333333333334BFF4CCCCCCCCCCCCBFF6666666666666BFF8000000000000BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000C000CCCCCCCCCCCCC00199999999999AC002666666666666C003333333333334C004000000000000C004CCCCCCCCCCCCC00599999999999AC006666666666666C007333333333334C008000000000000C008CCCCCCCCCCCCC00999999999999AC00A666666666666C00B333333333334C00C000000000000C00CCCCCCCCCCCCCC00D99999999999AC00E666666666666C00F333333333334C010000000000000C010666666666666C010CCCCCCCCCCCDC011333333333333C01199999999999AC012000000000000C012666666666666C012CCCCCCCCCCCDC013333333333333C01399999999999AC014000000000000C014666666666666C014CCCCCCCCCCCDC015333333333333C01599999999999AC016000000000000C016666666666666C016CCCCCCCCCCCDC017333333333333C01799999999999AC018000000000000C018666666666666C018CCCCCCCCCCCCC019333333333334C01999999999999AC01A000000000000C01A666666666666C01ACCCCCCCCCCCCC01B333333333334C01B99999999999AC01C000000000000C01C666666666666C01CCCCCCCCCCCCCC01D333333333334C01D99999999999AC01E000000000000C01E666666666666C01ECCCCCCCCCCCCC01F333333333334C01F99999999999AC020000000000000C020333333333333C020666666666666C02099999999999AC020CCCCCCCCCCCDC021000000000000"}}
-{"expression":"-a","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x010101780301613FFE66666666666601623FFCCCCCCCCCCCCD01633FFB333333333333"}}
-{"expression":"-a","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x010201780179060161036261723FFCCCCCCCCCCCCD016103666F6F3FFE6666666666660162036261723FF999999999999A016203666F6F3FFB3333333333330163036261723FF6666666666666016303666F6F3FF8000000000000"}}
-{"expression":"-a","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF8000000000000016103626172016A3FF6666666666666016103626172016B3FF4CCCCCCCCCCCD016103626172016C3FF3333333333333016103666F6F01693FFE666666666666016103666F6F016A3FFCCCCCCCCCCCCD016103666F6F016B3FFB333333333333016103666F6F016C3FF999999999999A01620362617201693FE6666666666666016203626172016A3FE3333333333334016203626172016B3FE0000000000000016203626172016C3FD9999999999998016203666F6F01693FF199999999999A016203666F6F016A3FF0000000000000016203666F6F016B3FECCCCCCCCCCCCC016203666F6F016C3FE999999999999A0163036261720169BFB99999999999A0016303626172016ABFC99999999999A0016303626172016BBFD3333333333330016303626172016CBFD9999999999998016303666F6F01693FD3333333333334016303666F6F016A3FC9999999999998016303666F6F016B3FB99999999999A0016303666F6F016C8000000000000000"}}
-{"expression":"-a","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF33333333333333FF199999999999A3FF00000000000003FECCCCCCCCCCCCC3FE999999999999A3FE66666666666663FE3333333333334BFC99999999999A0BFD3333333333330BFD9999999999998BFE0000000000000BFE3333333333334BFE6666666666668BFE9999999999998BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000C000CCCCCCCCCCCCC00199999999999A03666F6F3FFE6666666666663FFCCCCCCCCCCCCD3FFB3333333333333FF999999999999A3FF80000000000003FF66666666666663FF4CCCCCCCCCCCD3FE00000000000003FD99999999999983FD33333333333343FC99999999999983FB99999999999A08000000000000000BFB99999999999A0BFECCCCCCCCCCCCCBFF0000000000000BFF199999999999ABFF3333333333334BFF4CCCCCCCCCCCCBFF6666666666666BFF8000000000000"}}
-{"expression":"-a","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FFE6666666666663FF80000000000003FF199999999999A3FE66666666666663FD33333333333340161016A3FFCCCCCCCCCCCCD3FF66666666666663FF00000000000003FE33333333333343FC99999999999980161016B3FFB3333333333333FF4CCCCCCCCCCCD3FECCCCCCCCCCCCC3FE00000000000003FB99999999999A00161016C3FF999999999999A3FF33333333333333FE999999999999A3FD9999999999998800000000000000001620169BFB99999999999A0BFE0000000000000BFECCCCCCCCCCCCCBFF4CCCCCCCCCCCCBFFB3333333333340162016ABFC99999999999A0BFE3333333333334BFF0000000000000BFF6666666666666BFFCCCCCCCCCCCCC0162016BBFD3333333333330BFE6666666666668BFF199999999999ABFF8000000000000BFFE6666666666660162016CBFD9999999999998BFE9999999999998BFF3333333333334BFF999999999999AC00000000000000001630169C000CCCCCCCCCCCCC004000000000000C007333333333334C00A666666666666C00D99999999999A0163016AC00199999999999AC004CCCCCCCCCCCCC008000000000000C00B333333333334C00E6666666666660163016BC002666666666666C00599999999999AC008CCCCCCCCCCCCC00C000000000000C00F3333333333340163016CC003333333333334C006666666666666C00999999999999AC00CCCCCCCCCCCCCC010000000000000"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x02003FFE666666666666"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x02010178033FFE6666666666663FFCCCCCCCCCCCCD3FFB333333333333"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x02020178030179053FFE6666666666663FFCCCCCCCCCCCCD3FFB3333333333333FF999999999999A3FF80000000000003FF66666666666663FF4CCCCCCCCCCCD3FF33333333333333FF199999999999A3FF00000000000003FECCCCCCCCCCCCC3FE999999999999A3FE66666666666663FE33333333333343FE0000000000000"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A073FFE6666666666663FFCCCCCCCCCCCCD3FFB3333333333333FF999999999999A3FF80000000000003FF66666666666663FF4CCCCCCCCCCCD3FF33333333333333FF199999999999A3FF00000000000003FECCCCCCCCCCCCC3FE999999999999A3FE66666666666663FE33333333333343FE00000000000003FD99999999999983FD33333333333343FC99999999999983FB99999999999A08000000000000000BFB99999999999A0BFC99999999999A0BFD3333333333330BFD9999999999998BFE0000000000000BFE3333333333334BFE6666666666668BFE9999999999998BFECCCCCCCCCCCCCBFF0000000000000BFF199999999999ABFF3333333333334BFF4CCCCCCCCCCCCBFF6666666666666BFF8000000000000BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000C000CCCCCCCCCCCCC00199999999999AC002666666666666C003333333333334C004000000000000C004CCCCCCCCCCCCC00599999999999AC006666666666666C007333333333334C008000000000000C008CCCCCCCCCCCCC00999999999999AC00A666666666666C00B333333333334C00C000000000000C00CCCCCCCCCCCCCC00D99999999999AC00E666666666666C00F333333333334C010000000000000C010666666666666C010CCCCCCCCCCCDC011333333333333C01199999999999AC012000000000000C012666666666666C012CCCCCCCCCCCDC013333333333333C01399999999999AC014000000000000C014666666666666C014CCCCCCCCCCCDC015333333333333C01599999999999AC016000000000000C016666666666666C016CCCCCCCCCCCDC017333333333333C01799999999999AC018000000000000C018666666666666C018CCCCCCCCCCCCC019333333333334C01999999999999AC01A000000000000C01A666666666666C01ACCCCCCCCCCCCC01B333333333334C01B99999999999AC01C000000000000C01C666666666666C01CCCCCCCCCCCCCC01D333333333334C01D99999999999AC01E000000000000C01E666666666666C01ECCCCCCCCCCCCC01F333333333334C01F99999999999AC020000000000000C020333333333333C020666666666666C02099999999999AC020CCCCCCCCCCCDC021000000000000"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x010101780301613FFE66666666666601623FFCCCCCCCCCCCCD01633FFB333333333333"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x010201780179060161036261723FFCCCCCCCCCCCCD016103666F6F3FFE6666666666660162036261723FF999999999999A016203666F6F3FFB3333333333330163036261723FF6666666666666016303666F6F3FF8000000000000"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF8000000000000016103626172016A3FF6666666666666016103626172016B3FF4CCCCCCCCCCCD016103626172016C3FF3333333333333016103666F6F01693FFE666666666666016103666F6F016A3FFCCCCCCCCCCCCD016103666F6F016B3FFB333333333333016103666F6F016C3FF999999999999A01620362617201693FE6666666666666016203626172016A3FE3333333333334016203626172016B3FE0000000000000016203626172016C3FD9999999999998016203666F6F01693FF199999999999A016203666F6F016A3FF0000000000000016203666F6F016B3FECCCCCCCCCCCCC016203666F6F016C3FE999999999999A0163036261720169BFB99999999999A0016303626172016ABFC99999999999A0016303626172016BBFD3333333333330016303626172016CBFD9999999999998016303666F6F01693FD3333333333334016303666F6F016A3FC9999999999998016303666F6F016B3FB99999999999A0016303666F6F016C8000000000000000"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF33333333333333FF199999999999A3FF00000000000003FECCCCCCCCCCCCC3FE999999999999A3FE66666666666663FE3333333333334BFC99999999999A0BFD3333333333330BFD9999999999998BFE0000000000000BFE3333333333334BFE6666666666668BFE9999999999998BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000C000CCCCCCCCCCCCC00199999999999A03666F6F3FFE6666666666663FFCCCCCCCCCCCCD3FFB3333333333333FF999999999999A3FF80000000000003FF66666666666663FF4CCCCCCCCCCCD3FE00000000000003FD99999999999983FD33333333333343FC99999999999983FB99999999999A08000000000000000BFB99999999999A0BFECCCCCCCCCCCCCBFF0000000000000BFF199999999999ABFF3333333333334BFF4CCCCCCCCCCCCBFF6666666666666BFF8000000000000"}}
-{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FFE6666666666663FF80000000000003FF199999999999A3FE66666666666663FD33333333333340161016A3FFCCCCCCCCCCCCD3FF66666666666663FF00000000000003FE33333333333343FC99999999999980161016B3FFB3333333333333FF4CCCCCCCCCCCD3FECCCCCCCCCCCCC3FE00000000000003FB99999999999A00161016C3FF999999999999A3FF33333333333333FE999999999999A3FD9999999999998800000000000000001620169BFB99999999999A0BFE0000000000000BFECCCCCCCCCCCCCBFF4CCCCCCCCCCCCBFFB3333333333340162016ABFC99999999999A0BFE3333333333334BFF0000000000000BFF6666666666666BFFCCCCCCCCCCCCC0162016BBFD3333333333330BFE6666666666668BFF199999999999ABFF8000000000000BFFE6666666666660162016CBFD9999999999998BFE9999999999998BFF3333333333334BFF999999999999AC00000000000000001630169C000CCCCCCCCCCCCC004000000000000C007333333333334C00A666666666666C00D99999999999A0163016AC00199999999999AC004CCCCCCCCCCCCC008000000000000C00B333333333334C00E6666666666660163016BC002666666666666C00599999999999AC008CCCCCCCCCCCCC00C000000000000C00F3333333333340163016CC003333333333334C006666666666666C00999999999999AC00CCCCCCCCCCCCCC010000000000000"}}
+{"expression":"reduce(a,min,x)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x070101017A010179050401693F80000040A00000411000004150000041880000016A4000000040C00000412000004160000041900000016B4040000040E00000413000004170000041980000016C4080000041000000414000004180000041A00000"}}
+{"expression":"reduce(a,min,y)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0501020178017A0C016101693F8000000161016A400000000161016B404000000161016C408000000162016941A800000162016A41B000000162016B41B800000162016C41C0000001630169422400000163016A422800000163016B422C00000163016C42300000"}}
+{"expression":"reduce(a,min,z)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0701010178010179050301613F80000040A00000411000004150000041880000016241A8000041C8000041E80000420400004214000001634224000042340000424400004254000042640000"}}
+{"expression":"reduce(a,min)","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"-a","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x02003FFF000000000000"}}
+{"expression":"-a","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x02010178033FFF0000000000003FFE0000000000003FFD000000000000"}}
+{"expression":"-a","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x02020178030179053FFF0000000000003FFE0000000000003FFD0000000000003FFC0000000000003FFB0000000000003FFA0000000000003FF90000000000003FF80000000000003FF70000000000003FF60000000000003FF50000000000003FF40000000000003FF30000000000003FF20000000000003FF1000000000000"}}
+{"expression":"-a","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A073FFF0000000000003FFE0000000000003FFD0000000000003FFC0000000000003FFB0000000000003FFA0000000000003FF90000000000003FF80000000000003FF70000000000003FF60000000000003FF50000000000003FF40000000000003FF30000000000003FF20000000000003FF10000000000003FF00000000000003FEE0000000000003FEC0000000000003FEA0000000000003FE80000000000003FE60000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000008000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE000000000000BFFF000000000000C000000000000000C000800000000000C001000000000000C001800000000000C002000000000000C002800000000000C003000000000000C003800000000000C004000000000000C004800000000000C005000000000000C005800000000000C006000000000000C006800000000000C007000000000000C007800000000000C008000000000000C008800000000000C009000000000000C009800000000000C00A000000000000C00A800000000000C00B000000000000C00B800000000000C00C000000000000C00C800000000000C00D000000000000C00D800000000000C00E000000000000C00E800000000000C00F000000000000C00F800000000000C010000000000000C010400000000000C010800000000000C010C00000000000C011000000000000C011400000000000C011800000000000C011C00000000000C012000000000000C012400000000000"}}
+{"expression":"-a","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A073FF800003FF000003FE800003FE000003FD800003FD000003FC800003FC000003FB800003FB000003FA800003FA000003F9800003F9000003F8800003F8000003F7000003F6000003F5000003F4000003F3000003F2000003F1000003F0000003EE000003EC000003EA000003E8000003E4000003E0000003D80000080000000BD800000BE000000BE400000BE800000BEA00000BEC00000BEE00000BF000000BF100000BF200000BF300000BF400000BF500000BF600000BF700000BF800000BF880000BF900000BF980000BFA00000BFA80000BFB00000BFB80000BFC00000BFC80000BFD00000BFD80000BFE00000BFE80000BFF00000BFF80000C0000000C0040000C0080000C00C0000C0100000C0140000C0180000C01C0000C0200000C0240000C0280000C02C0000C0300000C0340000C0380000C03C0000C0400000C0440000C0480000C04C0000C0500000C0540000C0580000C05C0000C0600000C0640000C0680000C06C0000C0700000C0740000C0780000C07C0000C0800000C0820000C0840000C0860000C0880000C08A0000C08C0000C08E0000C0900000C0920000"}}
+{"expression":"-a","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x010101780301613FFF00000000000001623FFE00000000000001633FFD000000000000"}}
+{"expression":"-a","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x010201780179060161036261723FFE000000000000016103666F6F3FFF0000000000000162036261723FFC000000000000016203666F6F3FFD0000000000000163036261723FFA000000000000016303666F6F3FFB000000000000"}}
+{"expression":"-a","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FFB000000000000016103626172016A3FFA000000000000016103626172016B3FF9000000000000016103626172016C3FF8000000000000016103666F6F01693FFF000000000000016103666F6F016A3FFE000000000000016103666F6F016B3FFD000000000000016103666F6F016C3FFC00000000000001620362617201693FF3000000000000016203626172016A3FF2000000000000016203626172016B3FF1000000000000016203626172016C3FF0000000000000016203666F6F01693FF7000000000000016203666F6F016A3FF6000000000000016203666F6F016B3FF5000000000000016203666F6F016C3FF400000000000001630362617201693FE6000000000000016303626172016A3FE4000000000000016303626172016B3FE2000000000000016303626172016C3FE0000000000000016303666F6F01693FEE000000000000016303666F6F016A3FEC000000000000016303666F6F016B3FEA000000000000016303666F6F016C3FE8000000000000"}}
+{"expression":"-a","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A1801610362617201693FD80000016103626172016A3FD00000016103626172016B3FC80000016103626172016C3FC00000016103666F6F01693FF80000016103666F6F016A3FF00000016103666F6F016B3FE80000016103666F6F016C3FE0000001620362617201693F980000016203626172016A3F900000016203626172016B3F880000016203626172016C3F800000016203666F6F01693FB80000016203666F6F016A3FB00000016203666F6F016B3FA80000016203666F6F016C3FA0000001630362617201693F300000016303626172016A3F200000016303626172016B3F100000016303626172016C3F000000016303666F6F01693F700000016303666F6F016A3F600000016303666F6F016B3F500000016303666F6F016C3F400000"}}
+{"expression":"-a","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF80000000000003FF70000000000003FF60000000000003FF50000000000003FF40000000000003FF30000000000003FF20000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD0000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE400000000000003666F6F3FFF0000000000003FFE0000000000003FFD0000000000003FFC0000000000003FFB0000000000003FFA0000000000003FF90000000000003FF10000000000003FF00000000000003FEE0000000000003FEC0000000000003FEA0000000000003FE80000000000003FE60000000000003FC80000000000003FC00000000000003FB00000000000008000000000000000BFB0000000000000BFC0000000000000BFC8000000000000"}}
+{"expression":"-a","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FFF0000000000003FFB0000000000003FF70000000000003FF30000000000003FEE0000000000000161016A3FFE0000000000003FFA0000000000003FF60000000000003FF20000000000003FEC0000000000000161016B3FFD0000000000003FF90000000000003FF50000000000003FF10000000000003FEA0000000000000161016C3FFC0000000000003FF80000000000003FF40000000000003FF00000000000003FE8000000000000016201693FE60000000000003FDC0000000000003FC8000000000000BFB0000000000000BFD40000000000000162016A3FE40000000000003FD80000000000003FC0000000000000BFC0000000000000BFD80000000000000162016B3FE20000000000003FD40000000000003FB0000000000000BFC8000000000000BFDC0000000000000162016C3FE00000000000003FD00000000000008000000000000000BFD0000000000000BFE000000000000001630169BFE2000000000000BFEA000000000000BFF1000000000000BFF5000000000000BFF90000000000000163016ABFE4000000000000BFEC000000000000BFF2000000000000BFF6000000000000BFFA0000000000000163016BBFE6000000000000BFEE000000000000BFF3000000000000BFF7000000000000BFFB0000000000000163016CBFE8000000000000BFF0000000000000BFF4000000000000BFF8000000000000BFFC000000000000"}}
+{"expression":"-a","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C016101693FF800003FD800003FB800003F9800003F7000000161016A3FF000003FD000003FB000003F9000003F6000000161016B3FE800003FC800003FA800003F8800003F5000000161016C3FE000003FC000003FA000003F8000003F400000016201693F3000003EE000003E400000BD800000BEA000000162016A3F2000003EC000003E000000BE000000BEC000000162016B3F1000003EA000003D800000BE400000BEE000000162016C3F0000003E80000080000000BE800000BF00000001630169BF100000BF500000BF880000BFA80000BFC800000163016ABF200000BF600000BF900000BFB00000BFD000000163016BBF300000BF700000BF980000BFB80000BFD800000163016CBF400000BF800000BFA00000BFC00000BFE00000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x02003FFF000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x02010178033FFF0000000000003FFE0000000000003FFD000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x02020178030179053FFF0000000000003FFE0000000000003FFD0000000000003FFC0000000000003FFB0000000000003FFA0000000000003FF90000000000003FF80000000000003FF70000000000003FF60000000000003FF50000000000003FF40000000000003FF30000000000003FF20000000000003FF1000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A073FFF0000000000003FFE0000000000003FFD0000000000003FFC0000000000003FFB0000000000003FFA0000000000003FF90000000000003FF80000000000003FF70000000000003FF60000000000003FF50000000000003FF40000000000003FF30000000000003FF20000000000003FF10000000000003FF00000000000003FEE0000000000003FEC0000000000003FEA0000000000003FE80000000000003FE60000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000008000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE000000000000BFFF000000000000C000000000000000C000800000000000C001000000000000C001800000000000C002000000000000C002800000000000C003000000000000C003800000000000C004000000000000C004800000000000C005000000000000C005800000000000C006000000000000C006800000000000C007000000000000C007800000000000C008000000000000C008800000000000C009000000000000C009800000000000C00A000000000000C00A800000000000C00B000000000000C00B800000000000C00C000000000000C00C800000000000C00D000000000000C00D800000000000C00E000000000000C00E800000000000C00F000000000000C00F800000000000C010000000000000C010400000000000C010800000000000C010C00000000000C011000000000000C011400000000000C011800000000000C011C00000000000C012000000000000C012400000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A073FF800003FF000003FE800003FE000003FD800003FD000003FC800003FC000003FB800003FB000003FA800003FA000003F9800003F9000003F8800003F8000003F7000003F6000003F5000003F4000003F3000003F2000003F1000003F0000003EE000003EC000003EA000003E8000003E4000003E0000003D80000080000000BD800000BE000000BE400000BE800000BEA00000BEC00000BEE00000BF000000BF100000BF200000BF300000BF400000BF500000BF600000BF700000BF800000BF880000BF900000BF980000BFA00000BFA80000BFB00000BFB80000BFC00000BFC80000BFD00000BFD80000BFE00000BFE80000BFF00000BFF80000C0000000C0040000C0080000C00C0000C0100000C0140000C0180000C01C0000C0200000C0240000C0280000C02C0000C0300000C0340000C0380000C03C0000C0400000C0440000C0480000C04C0000C0500000C0540000C0580000C05C0000C0600000C0640000C0680000C06C0000C0700000C0740000C0780000C07C0000C0800000C0820000C0840000C0860000C0880000C08A0000C08C0000C08E0000C0900000C0920000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x010101780301613FFF00000000000001623FFE00000000000001633FFD000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x010201780179060161036261723FFE000000000000016103666F6F3FFF0000000000000162036261723FFC000000000000016203666F6F3FFD0000000000000163036261723FFA000000000000016303666F6F3FFB000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FFB000000000000016103626172016A3FFA000000000000016103626172016B3FF9000000000000016103626172016C3FF8000000000000016103666F6F01693FFF000000000000016103666F6F016A3FFE000000000000016103666F6F016B3FFD000000000000016103666F6F016C3FFC00000000000001620362617201693FF3000000000000016203626172016A3FF2000000000000016203626172016B3FF1000000000000016203626172016C3FF0000000000000016203666F6F01693FF7000000000000016203666F6F016A3FF6000000000000016203666F6F016B3FF5000000000000016203666F6F016C3FF400000000000001630362617201693FE6000000000000016303626172016A3FE4000000000000016303626172016B3FE2000000000000016303626172016C3FE0000000000000016303666F6F01693FEE000000000000016303666F6F016A3FEC000000000000016303666F6F016B3FEA000000000000016303666F6F016C3FE8000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A1801610362617201693FD80000016103626172016A3FD00000016103626172016B3FC80000016103626172016C3FC00000016103666F6F01693FF80000016103666F6F016A3FF00000016103666F6F016B3FE80000016103666F6F016C3FE0000001620362617201693F980000016203626172016A3F900000016203626172016B3F880000016203626172016C3F800000016203666F6F01693FB80000016203666F6F016A3FB00000016203666F6F016B3FA80000016203666F6F016C3FA0000001630362617201693F300000016303626172016A3F200000016303626172016B3F100000016303626172016C3F000000016303666F6F01693F700000016303666F6F016A3F600000016303666F6F016B3F500000016303666F6F016C3F400000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF80000000000003FF70000000000003FF60000000000003FF50000000000003FF40000000000003FF30000000000003FF20000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD0000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE400000000000003666F6F3FFF0000000000003FFE0000000000003FFD0000000000003FFC0000000000003FFB0000000000003FFA0000000000003FF90000000000003FF10000000000003FF00000000000003FEE0000000000003FEC0000000000003FEA0000000000003FE80000000000003FE60000000000003FC80000000000003FC00000000000003FB00000000000008000000000000000BFB0000000000000BFC0000000000000BFC8000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FFF0000000000003FFB0000000000003FF70000000000003FF30000000000003FEE0000000000000161016A3FFE0000000000003FFA0000000000003FF60000000000003FF20000000000003FEC0000000000000161016B3FFD0000000000003FF90000000000003FF50000000000003FF10000000000003FEA0000000000000161016C3FFC0000000000003FF80000000000003FF40000000000003FF00000000000003FE8000000000000016201693FE60000000000003FDC0000000000003FC8000000000000BFB0000000000000BFD40000000000000162016A3FE40000000000003FD80000000000003FC0000000000000BFC0000000000000BFD80000000000000162016B3FE20000000000003FD40000000000003FB0000000000000BFC8000000000000BFDC0000000000000162016C3FE00000000000003FD00000000000008000000000000000BFD0000000000000BFE000000000000001630169BFE2000000000000BFEA000000000000BFF1000000000000BFF5000000000000BFF90000000000000163016ABFE4000000000000BFEC000000000000BFF2000000000000BFF6000000000000BFFA0000000000000163016BBFE6000000000000BFEE000000000000BFF3000000000000BFF7000000000000BFFB0000000000000163016CBFE8000000000000BFF0000000000000BFF4000000000000BFF8000000000000BFFC000000000000"}}
+{"expression":"map(a,f(a)(-a))","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C016101693FF800003FD800003FB800003F9800003F7000000161016A3FF000003FD000003FB000003F9000003F6000000161016B3FE800003FC800003FA800003F8800003F5000000161016C3FE000003FC000003FA000003F8000003F400000016201693F3000003EE000003E400000BD800000BEA000000162016A3F2000003EC000003E000000BE000000BEC000000162016B3F1000003EA000003D800000BE400000BEE000000162016C3F0000003E80000080000000BE800000BF00000001630169BF100000BF500000BF880000BFA80000BFC800000163016ABF200000BF600000BF900000BFB00000BFD000000163016BBF300000BF700000BF980000BFB80000BFD800000163016CBF400000BF800000BFA00000BFC00000BFE00000"}}
{"expression":"!a","inputs":{"a":"0x02000000000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"!a","inputs":{"a":"0x020101780300000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02010178033FF000000000000000000000000000000000000000000000"}}
{"expression":"!a","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02020178030179053FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
{"expression":"!a","inputs":{"a":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A073FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"!a","inputs":{"a":"0x060103017803017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000"},"result":{"expect":"0x060103017803017905017A073F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F8000000000000000000000"}}
{"expression":"!a","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x010101780301613FF00000000000000162000000000000000001630000000000000000"}}
{"expression":"!a","inputs":{"a":"0x010201780179060161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
{"expression":"!a","inputs":{"a":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A0000000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201693FF0000000000000016303626172016A0000000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B0000000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B3FF0000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A3FF0000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B3FF0000000000000016303666F6F016C0000000000000000"}}
+{"expression":"!a","inputs":{"a":"0x05010301780179017A1801610362617201693F800000016103626172016A3F800000016103626172016B00000000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C00000000016203626172016900000000016203626172016A3F800000016203626172016B3F800000016203626172016C00000000016203666F6F01693F800000016203666F6F016A00000000016203666F6F016B3F800000016203666F6F016C3F80000001630362617201693F800000016303626172016A00000000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F800000016303666F6F016A3F800000016303666F6F016B00000000016303666F6F016C3F800000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B3F800000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C3F80000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A3F800000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A3F800000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B3F800000016303666F6F016C00000000"}}
{"expression":"!a","inputs":{"a":"0x0301017902017803017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000"}}
{"expression":"!a","inputs":{"a":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000161016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016A00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000162016B3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000162016C3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016301693FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016A3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000163016B00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016C3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000161016A000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016B00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016C3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016C00000000000000003FF0000000000000000000000000000000000000000000003FF000000000000001630169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"!a","inputs":{"a":"0x0701020178017A010179050C01610169000000003F8000003F800000000000003F8000000161016A3F8000003F800000000000003F8000003F8000000161016B3F800000000000003F8000003F800000000000000161016C000000003F8000003F800000000000003F800000016201693F800000000000003F8000003F800000000000000162016A000000003F8000003F800000000000003F8000000162016B3F8000003F800000000000003F8000003F8000000162016C3F800000000000003F8000003F80000000000000016301693F8000003F800000000000003F8000003F8000000163016A3F800000000000003F8000003F800000000000000163016B000000003F8000003F800000000000003F8000000163016C3F8000003F800000000000003F8000003F800000"},"result":{"expect":"0x0701020178017A010179050C016101693F80000000000000000000003F800000000000000161016A00000000000000003F80000000000000000000000161016B000000003F80000000000000000000003F8000000161016C3F80000000000000000000003F8000000000000001620169000000003F80000000000000000000003F8000000162016A3F80000000000000000000003F800000000000000162016B00000000000000003F80000000000000000000000162016C000000003F80000000000000000000003F8000000163016900000000000000003F80000000000000000000000163016A000000003F80000000000000000000003F8000000163016B3F80000000000000000000003F800000000000000163016C00000000000000003F8000000000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x02000000000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x020101780300000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02010178033FF000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02020178030179053FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A073FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x060103017803017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000"},"result":{"expect":"0x060103017803017905017A073F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F8000000000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x010101780301613FF00000000000000162000000000000000001630000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x010201780179060161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A0000000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201693FF0000000000000016303626172016A0000000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B0000000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B3FF0000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A3FF0000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B3FF0000000000000016303666F6F016C0000000000000000"}}
+{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x05010301780179017A1801610362617201693F800000016103626172016A3F800000016103626172016B00000000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C00000000016203626172016900000000016203626172016A3F800000016203626172016B3F800000016203626172016C00000000016203666F6F01693F800000016203666F6F016A00000000016203666F6F016B3F800000016203666F6F016C3F80000001630362617201693F800000016303626172016A00000000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F800000016303666F6F016A3F800000016303666F6F016B00000000016303666F6F016C3F800000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B3F800000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C3F80000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A3F800000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A3F800000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B3F800000016303666F6F016C00000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x0301017902017803017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000"}}
{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000161016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016A00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000162016B3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000162016C3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016301693FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016A3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000163016B00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016C3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000161016A000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016B00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016C3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016C00000000000000003FF0000000000000000000000000000000000000000000003FF000000000000001630169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"cos(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FEFD712F9A817C1"}}
-{"expression":"cos(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA"}}
-{"expression":"cos(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA3FED7954E7DBA2F83FEC1528065B7D503FEA69263C485B153FE87996529F9D933FE64B6BDE7198653FE3E43A9692E21C3FE14A280FB5068C3FDD07B806C761113FD730DE943B79D43FD11EB3682A4C5F3FC5C17BBC13570B3FB21BD54FC5F9A7"}}
-{"expression":"cos(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA3FED7954E7DBA2F83FEC1528065B7D503FEA69263C485B153FE87996529F9D933FE64B6BDE7198653FE3E43A9692E21C3FE14A280FB5068C3FDD07B806C761113FD730DE943B79D43FD11EB3682A4C5F3FC5C17BBC13570B3FB21BD54FC5F9A7BF9DE67AC55F1633BFC07DF9F4A26C86BFCD14F54F250E7ABFD4B0C6B93445ABBFDAA22657537205BFE027B304989ECABFE2D5004B88AD70BFE5522217302FE1BFE798BAB490D185BFE9A2F7EF858B7DBFEB6BA1F680F470BFECEE28B36603A6BFEE26AF7757704ABFEF1216DBA340C9BFEFAE04BE85E5D2BFEFF8EA4756A624BFEFF207E2B9CBB6BFEF996F2CA70BB6BFEEF002C35EBE04BFEDF77403C11A5FBFECB23EB4D22C59BFEB23A2AD7DD937BFE94F9B84DBA8EBBFE73AD66234C8EABFE4EAA606DB24C1BFE264F5306A2D6ABFDF606EEC8AC71DBFD9A6B192163B53BFD3AB577C62C2AABFCAFB5B54583D6ABFBCB6072B598DCABF895F3A43506A343FB66655584E40403FC7DFA3277C16643FD22785706B4AD93FD830C98EE45C9C3FDDFC2D59376AEE3FE1BD6F3F7432D53FE44F676F25B08C3FE6AD6C3C07D4483FE8D16F88830A7F3FEAB5F7960DFE2A3FEC562D06A772233FEDADE73EF950293FEEB9B7097822F53FEF76EF5F4998B23FEFE3AC4079A9CE3FEFFED789FC7A413FEFC82BBD1E4CA13FEF4034B145C3C83FEE684E2E41C42D3FED42A072B5E51B3FEBD21AAF88DCFB3FEA1A6B8672124B3FE81FF79ED920173FE5E7CE691EA5463FE3779D2D0CA0EA3FE0D5A0848A01CB3FDC1128CF6B887D3FD62F45E66F5C2F3FD014A429AC16E13FC3A1C134C1C59E3FABA00B7D845AFABFA78D9732562AABBFC29FBEBF632F94BFCF2C746FB6AF1DBFD5B4B6970D1EA6BFDB9BADA059A170BFE09E033D53AE3FBFE343AE773AB08EBFE5B8131ACC20FBBFE7F4E9CF633AD1BFE9F479562D158DBFEBB1A52E0FEB79BFED27FAA6A6196BBFEE53BC40DBB50ABFEF31EB4014A490BFEFC04F53629ED4BFEFFD7C43328F13BFEFE8D594EB0C48BFEF82901B2CEEB6BFEECBB16EB638EABFEDC60D5140EE7DBFEC7441010D641ABFEAD9AC890C6B1FBFE8FA6A1EC3FF04BFE6DB43A4039D37BFE481A6673F777BBFE1F39541E710BCBFDE6F3270721E39"}}
-{"expression":"cos(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FEFD712F9A817C101623FEF5CB49577627A01633FEE921DD42F09BA"}}
-{"expression":"cos(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FEF5CB49577627A016103666F6F3FEFD712F9A817C10162036261723FED7954E7DBA2F8016203666F6F3FEE921DD42F09BA0163036261723FEA69263C485B15016303666F6F3FEC1528065B7D50"}}
-{"expression":"cos(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FEC1528065B7D50016103626172016A3FEA69263C485B15016103626172016B3FE87996529F9D93016103626172016C3FE64B6BDE719865016103666F6F01693FEFD712F9A817C1016103666F6F016A3FEF5CB49577627A016103666F6F016B3FEE921DD42F09BA016103666F6F016C3FED7954E7DBA2F801620362617201693FD11EB3682A4C5F016203626172016A3FC5C17BBC13570B016203626172016B3FB21BD54FC5F9A7016203626172016CBF9DE67AC55F1633016203666F6F01693FE3E43A9692E21C016203666F6F016A3FE14A280FB5068C016203666F6F016B3FDD07B806C76111016203666F6F016C3FD730DE943B79D40163036261720169BFE027B304989ECA016303626172016ABFE2D5004B88AD70016303626172016BBFE5522217302FE1016303626172016CBFE798BAB490D185016303666F6F0169BFC07DF9F4A26C86016303666F6F016ABFCD14F54F250E7A016303666F6F016BBFD4B0C6B93445AB016303666F6F016CBFDAA22657537205"}}
-{"expression":"cos(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE64B6BDE7198653FE3E43A9692E21C3FE14A280FB5068C3FDD07B806C761113FD730DE943B79D43FD11EB3682A4C5F3FC5C17BBC13570BBFE2D5004B88AD70BFE5522217302FE1BFE798BAB490D185BFE9A2F7EF858B7DBFEB6BA1F680F470BFECEE28B36603A6BFEE26AF7757704ABFECB23EB4D22C59BFEB23A2AD7DD937BFE94F9B84DBA8EBBFE73AD66234C8EABFE4EAA606DB24C1BFE264F5306A2D6ABFDF606EEC8AC71D03666F6F3FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA3FED7954E7DBA2F83FEC1528065B7D503FEA69263C485B153FE87996529F9D933FB21BD54FC5F9A7BF9DE67AC55F1633BFC07DF9F4A26C86BFCD14F54F250E7ABFD4B0C6B93445ABBFDAA22657537205BFE027B304989ECABFEF1216DBA340C9BFEFAE04BE85E5D2BFEFF8EA4756A624BFEFF207E2B9CBB6BFEF996F2CA70BB6BFEEF002C35EBE04BFEDF77403C11A5F"}}
-{"expression":"cos(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEFD712F9A817C13FEC1528065B7D503FE3E43A9692E21C3FD11EB3682A4C5FBFC07DF9F4A26C860161016A3FEF5CB49577627A3FEA69263C485B153FE14A280FB5068C3FC5C17BBC13570BBFCD14F54F250E7A0161016B3FEE921DD42F09BA3FE87996529F9D933FDD07B806C761113FB21BD54FC5F9A7BFD4B0C6B93445AB0161016C3FED7954E7DBA2F83FE64B6BDE7198653FD730DE943B79D4BF9DE67AC55F1633BFDAA2265753720501620169BFE027B304989ECABFE9A2F7EF858B7DBFEF1216DBA340C9BFEF996F2CA70BB6BFEB23A2AD7DD9370162016ABFE2D5004B88AD70BFEB6BA1F680F470BFEFAE04BE85E5D2BFEEF002C35EBE04BFE94F9B84DBA8EB0162016BBFE5522217302FE1BFECEE28B36603A6BFEFF8EA4756A624BFEDF77403C11A5FBFE73AD66234C8EA0162016CBFE798BAB490D185BFEE26AF7757704ABFEFF207E2B9CBB6BFECB23EB4D22C59BFE4EAA606DB24C101630169BFE264F5306A2D6ABFCAFB5B54583D6A3FC7DFA3277C16643FE1BD6F3F7432D53FEAB5F7960DFE2A0163016ABFDF606EEC8AC71DBFBCB6072B598DCA3FD22785706B4AD93FE44F676F25B08C3FEC562D06A772230163016BBFD9A6B192163B53BF895F3A43506A343FD830C98EE45C9C3FE6AD6C3C07D4483FEDADE73EF950290163016CBFD3AB577C62C2AA3FB66655584E40403FDDFC2D59376AEE3FE8D16F88830A7F3FEEB9B7097822F5"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FEFD712F9A817C1"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA3FED7954E7DBA2F83FEC1528065B7D503FEA69263C485B153FE87996529F9D933FE64B6BDE7198653FE3E43A9692E21C3FE14A280FB5068C3FDD07B806C761113FD730DE943B79D43FD11EB3682A4C5F3FC5C17BBC13570B3FB21BD54FC5F9A7"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA3FED7954E7DBA2F83FEC1528065B7D503FEA69263C485B153FE87996529F9D933FE64B6BDE7198653FE3E43A9692E21C3FE14A280FB5068C3FDD07B806C761113FD730DE943B79D43FD11EB3682A4C5F3FC5C17BBC13570B3FB21BD54FC5F9A7BF9DE67AC55F1633BFC07DF9F4A26C86BFCD14F54F250E7ABFD4B0C6B93445ABBFDAA22657537205BFE027B304989ECABFE2D5004B88AD70BFE5522217302FE1BFE798BAB490D185BFE9A2F7EF858B7DBFEB6BA1F680F470BFECEE28B36603A6BFEE26AF7757704ABFEF1216DBA340C9BFEFAE04BE85E5D2BFEFF8EA4756A624BFEFF207E2B9CBB6BFEF996F2CA70BB6BFEEF002C35EBE04BFEDF77403C11A5FBFECB23EB4D22C59BFEB23A2AD7DD937BFE94F9B84DBA8EBBFE73AD66234C8EABFE4EAA606DB24C1BFE264F5306A2D6ABFDF606EEC8AC71DBFD9A6B192163B53BFD3AB577C62C2AABFCAFB5B54583D6ABFBCB6072B598DCABF895F3A43506A343FB66655584E40403FC7DFA3277C16643FD22785706B4AD93FD830C98EE45C9C3FDDFC2D59376AEE3FE1BD6F3F7432D53FE44F676F25B08C3FE6AD6C3C07D4483FE8D16F88830A7F3FEAB5F7960DFE2A3FEC562D06A772233FEDADE73EF950293FEEB9B7097822F53FEF76EF5F4998B23FEFE3AC4079A9CE3FEFFED789FC7A413FEFC82BBD1E4CA13FEF4034B145C3C83FEE684E2E41C42D3FED42A072B5E51B3FEBD21AAF88DCFB3FEA1A6B8672124B3FE81FF79ED920173FE5E7CE691EA5463FE3779D2D0CA0EA3FE0D5A0848A01CB3FDC1128CF6B887D3FD62F45E66F5C2F3FD014A429AC16E13FC3A1C134C1C59E3FABA00B7D845AFABFA78D9732562AABBFC29FBEBF632F94BFCF2C746FB6AF1DBFD5B4B6970D1EA6BFDB9BADA059A170BFE09E033D53AE3FBFE343AE773AB08EBFE5B8131ACC20FBBFE7F4E9CF633AD1BFE9F479562D158DBFEBB1A52E0FEB79BFED27FAA6A6196BBFEE53BC40DBB50ABFEF31EB4014A490BFEFC04F53629ED4BFEFFD7C43328F13BFEFE8D594EB0C48BFEF82901B2CEEB6BFEECBB16EB638EABFEDC60D5140EE7DBFEC7441010D641ABFEAD9AC890C6B1FBFE8FA6A1EC3FF04BFE6DB43A4039D37BFE481A6673F777BBFE1F39541E710BCBFDE6F3270721E39"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FEFD712F9A817C101623FEF5CB49577627A01633FEE921DD42F09BA"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FEF5CB49577627A016103666F6F3FEFD712F9A817C10162036261723FED7954E7DBA2F8016203666F6F3FEE921DD42F09BA0163036261723FEA69263C485B15016303666F6F3FEC1528065B7D50"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FEC1528065B7D50016103626172016A3FEA69263C485B15016103626172016B3FE87996529F9D93016103626172016C3FE64B6BDE719865016103666F6F01693FEFD712F9A817C1016103666F6F016A3FEF5CB49577627A016103666F6F016B3FEE921DD42F09BA016103666F6F016C3FED7954E7DBA2F801620362617201693FD11EB3682A4C5F016203626172016A3FC5C17BBC13570B016203626172016B3FB21BD54FC5F9A7016203626172016CBF9DE67AC55F1633016203666F6F01693FE3E43A9692E21C016203666F6F016A3FE14A280FB5068C016203666F6F016B3FDD07B806C76111016203666F6F016C3FD730DE943B79D40163036261720169BFE027B304989ECA016303626172016ABFE2D5004B88AD70016303626172016BBFE5522217302FE1016303626172016CBFE798BAB490D185016303666F6F0169BFC07DF9F4A26C86016303666F6F016ABFCD14F54F250E7A016303666F6F016BBFD4B0C6B93445AB016303666F6F016CBFDAA22657537205"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE64B6BDE7198653FE3E43A9692E21C3FE14A280FB5068C3FDD07B806C761113FD730DE943B79D43FD11EB3682A4C5F3FC5C17BBC13570BBFE2D5004B88AD70BFE5522217302FE1BFE798BAB490D185BFE9A2F7EF858B7DBFEB6BA1F680F470BFECEE28B36603A6BFEE26AF7757704ABFECB23EB4D22C59BFEB23A2AD7DD937BFE94F9B84DBA8EBBFE73AD66234C8EABFE4EAA606DB24C1BFE264F5306A2D6ABFDF606EEC8AC71D03666F6F3FEFD712F9A817C13FEF5CB49577627A3FEE921DD42F09BA3FED7954E7DBA2F83FEC1528065B7D503FEA69263C485B153FE87996529F9D933FB21BD54FC5F9A7BF9DE67AC55F1633BFC07DF9F4A26C86BFCD14F54F250E7ABFD4B0C6B93445ABBFDAA22657537205BFE027B304989ECABFEF1216DBA340C9BFEFAE04BE85E5D2BFEFF8EA4756A624BFEFF207E2B9CBB6BFEF996F2CA70BB6BFEEF002C35EBE04BFEDF77403C11A5F"}}
-{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEFD712F9A817C13FEC1528065B7D503FE3E43A9692E21C3FD11EB3682A4C5FBFC07DF9F4A26C860161016A3FEF5CB49577627A3FEA69263C485B153FE14A280FB5068C3FC5C17BBC13570BBFCD14F54F250E7A0161016B3FEE921DD42F09BA3FE87996529F9D933FDD07B806C761113FB21BD54FC5F9A7BFD4B0C6B93445AB0161016C3FED7954E7DBA2F83FE64B6BDE7198653FD730DE943B79D4BF9DE67AC55F1633BFDAA2265753720501620169BFE027B304989ECABFE9A2F7EF858B7DBFEF1216DBA340C9BFEF996F2CA70BB6BFEB23A2AD7DD9370162016ABFE2D5004B88AD70BFEB6BA1F680F470BFEFAE04BE85E5D2BFEEF002C35EBE04BFE94F9B84DBA8EB0162016BBFE5522217302FE1BFECEE28B36603A6BFEFF8EA4756A624BFEDF77403C11A5FBFE73AD66234C8EA0162016CBFE798BAB490D185BFEE26AF7757704ABFEFF207E2B9CBB6BFECB23EB4D22C59BFE4EAA606DB24C101630169BFE264F5306A2D6ABFCAFB5B54583D6A3FC7DFA3277C16643FE1BD6F3F7432D53FEAB5F7960DFE2A0163016ABFDF606EEC8AC71DBFBCB6072B598DCA3FD22785706B4AD93FE44F676F25B08C3FEC562D06A772230163016BBFD9A6B192163B53BF895F3A43506A343FD830C98EE45C9C3FE6AD6C3C07D4483FEDADE73EF950290163016CBFD3AB577C62C2AA3FB66655584E40403FDDFC2D59376AEE3FE8D16F88830A7F3FEEB9B7097822F5"}}
-{"expression":"sin(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB98EAECB8BCB2C"}}
-{"expression":"sin(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA33"}}
-{"expression":"sin(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA333FD8EC3AE92B676B3FDEAEE8744B05F03FE2118D17A541593FE49D6E694619B83FE6F494C2BFFECD3FE91103985DA8413FEAED548F090CEE3FEC84C54C2D63383FEDD343A21A55C43FEED577F9C51E4B3FEF88CDDF44E1023FEFEB7A9B2C6D8B"}}
-{"expression":"sin(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA333FD8EC3AE92B676B3FDEAEE8744B05F03FE2118D17A541593FE49D6E694619B83FE6F494C2BFFECD3FE91103985DA8413FEAED548F090CEE3FEC84C54C2D63383FEDD343A21A55C43FEED577F9C51E4B3FEF88CDDF44E1023FEFEB7A9B2C6D8B3FEFFC81C7E042C53FEFBBB7D72F98B63FEF29C281BD15F03FEE48171F1A38573FED18F6EAD1B4463FEB9F693FEB72FB3FE9DF33D9AAD7083FE7DCD12D582F243FE59D64F5C3D19B3FE326AF0DCFCAB13FE07EFCBBA085BB3FDB5A312424A70C3FD57072235DE5C83FCE9FB8D64830E33FC210386DB6D55B3FA54A0F8298102EBFADE33739E82D32BFC43102CAB70C87BFD05AC910FF4C6CBFD6733B7EBA621FBFDC524143F0D1F1BFE0F46AEC2E1B41BFE39456FFECC09DBFE6022E2D1FB3CBBFE837B9DDDC1EAEBFEA2F537AE2C8B8BFEBE3F2DFD012D8BFED513B3A018A25BFEE7386314528EFBFEF47ED3DC74080BFEFCC51135DECB9BFEFFF5F0F37EC52BFEFE0949A0C3E00BFEF70407622EBA4BFEEAF81F5E09933BFEDA0461CD822BCBFEC4542B2BA24D7BFEAA1EF54BC123BBFE8BA7C97320570BFE693C94E0AB057BFE433561796F5BBBFE19F37497AC7A0BFDDBC0AC78EDFD8BFD7ED98640BBD1BBFD1E1F18AB0A2C0BFC75119D733FB7BBFB54558DBBECD1D3F9137A9C2CB3E7E3FBDD62B2F352A2C3FCB890D40C6CB3C3FD3F04B2FE909833FD9E90FA43588FC3FDF9F8D9AEA10FB3FE282941BD81ABF3FE50608C26D0A083FE753B6E16463863FE965BA25E3C90F3FEB36C6DC1D74453FECC2377B0529F63FEE041886FCAE303FEEF932AD10F80D3FEF9F12FCEE54583FEFF4112C80B72F3FEFF753D53A5FA93FEFA8D2A028CF7B3FEF09565B49B4673FEE1A76F7E933333FECDE97772B614F3FEB58DFCF2DF7993FE98D34D85FD9FC3FE7802E57B4B12D3FE5370B3F2EA2033FE2B7A442CAD2DD3FE0085CE42337803FDA6026360C2F913FD46C1B899FD9173FCC87A81DD59BA93FBFDC3EBECE2C503F995EBAA84441E2BFB33D1A94A4277ABFC650570815B6E9BFD16486AEB1A154BFD77464E0B36E02BFDD4844A120B670BFE1689EF5F34F52BFE400942955E6D4BFE6655F99D0663FBFE890E1D4D1362FBFEA7D8DEF6F8D9FBFEC2677B8F04315"}}
-{"expression":"sin(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB98EAECB8BCB2C01623FC96DFF233DD2BC01633FD2E9CD95BABA33"}}
-{"expression":"sin(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC96DFF233DD2BC016103666F6F3FB98EAECB8BCB2C0162036261723FD8EC3AE92B676B016203666F6F3FD2E9CD95BABA330163036261723FE2118D17A54159016303666F6F3FDEAEE8744B05F0"}}
-{"expression":"sin(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FDEAEE8744B05F0016103626172016A3FE2118D17A54159016103626172016B3FE49D6E694619B8016103626172016C3FE6F494C2BFFECD016103666F6F01693FB98EAECB8BCB2C016103666F6F016A3FC96DFF233DD2BC016103666F6F016B3FD2E9CD95BABA33016103666F6F016C3FD8EC3AE92B676B01620362617201693FEED577F9C51E4B016203626172016A3FEF88CDDF44E102016203626172016B3FEFEB7A9B2C6D8B016203626172016C3FEFFC81C7E042C5016203666F6F01693FE91103985DA841016203666F6F016A3FEAED548F090CEE016203666F6F016B3FEC84C54C2D6338016203666F6F016C3FEDD343A21A55C401630362617201693FEB9F693FEB72FB016303626172016A3FE9DF33D9AAD708016303626172016B3FE7DCD12D582F24016303626172016C3FE59D64F5C3D19B016303666F6F01693FEFBBB7D72F98B6016303666F6F016A3FEF29C281BD15F0016303666F6F016B3FEE48171F1A3857016303666F6F016C3FED18F6EAD1B446"}}
-{"expression":"sin(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE6F494C2BFFECD3FE91103985DA8413FEAED548F090CEE3FEC84C54C2D63383FEDD343A21A55C43FEED577F9C51E4B3FEF88CDDF44E1023FE9DF33D9AAD7083FE7DCD12D582F243FE59D64F5C3D19B3FE326AF0DCFCAB13FE07EFCBBA085BB3FDB5A312424A70C3FD57072235DE5C8BFDC524143F0D1F1BFE0F46AEC2E1B41BFE39456FFECC09DBFE6022E2D1FB3CBBFE837B9DDDC1EAEBFEA2F537AE2C8B8BFEBE3F2DFD012D803666F6F3FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA333FD8EC3AE92B676B3FDEAEE8744B05F03FE2118D17A541593FE49D6E694619B83FEFEB7A9B2C6D8B3FEFFC81C7E042C53FEFBBB7D72F98B63FEF29C281BD15F03FEE48171F1A38573FED18F6EAD1B4463FEB9F693FEB72FB3FCE9FB8D64830E33FC210386DB6D55B3FA54A0F8298102EBFADE33739E82D32BFC43102CAB70C87BFD05AC910FF4C6CBFD6733B7EBA621F"}}
-{"expression":"sin(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB98EAECB8BCB2C3FDEAEE8744B05F03FE91103985DA8413FEED577F9C51E4B3FEFBBB7D72F98B60161016A3FC96DFF233DD2BC3FE2118D17A541593FEAED548F090CEE3FEF88CDDF44E1023FEF29C281BD15F00161016B3FD2E9CD95BABA333FE49D6E694619B83FEC84C54C2D63383FEFEB7A9B2C6D8B3FEE48171F1A38570161016C3FD8EC3AE92B676B3FE6F494C2BFFECD3FEDD343A21A55C43FEFFC81C7E042C53FED18F6EAD1B446016201693FEB9F693FEB72FB3FE326AF0DCFCAB13FCE9FB8D64830E3BFC43102CAB70C87BFE0F46AEC2E1B410162016A3FE9DF33D9AAD7083FE07EFCBBA085BB3FC210386DB6D55BBFD05AC910FF4C6CBFE39456FFECC09D0162016B3FE7DCD12D582F243FDB5A312424A70C3FA54A0F8298102EBFD6733B7EBA621FBFE6022E2D1FB3CB0162016C3FE59D64F5C3D19B3FD57072235DE5C8BFADE33739E82D32BFDC524143F0D1F1BFE837B9DDDC1EAE01630169BFEA2F537AE2C8B8BFEF47ED3DC74080BFEF70407622EBA4BFEAA1EF54BC123BBFE19F37497AC7A00163016ABFEBE3F2DFD012D8BFEFCC51135DECB9BFEEAF81F5E09933BFE8BA7C97320570BFDDBC0AC78EDFD80163016BBFED513B3A018A25BFEFFF5F0F37EC52BFEDA0461CD822BCBFE693C94E0AB057BFD7ED98640BBD1B0163016CBFEE7386314528EFBFEFE0949A0C3E00BFEC4542B2BA24D7BFE433561796F5BBBFD1E1F18AB0A2C0"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB98EAECB8BCB2C"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA33"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA333FD8EC3AE92B676B3FDEAEE8744B05F03FE2118D17A541593FE49D6E694619B83FE6F494C2BFFECD3FE91103985DA8413FEAED548F090CEE3FEC84C54C2D63383FEDD343A21A55C43FEED577F9C51E4B3FEF88CDDF44E1023FEFEB7A9B2C6D8B"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA333FD8EC3AE92B676B3FDEAEE8744B05F03FE2118D17A541593FE49D6E694619B83FE6F494C2BFFECD3FE91103985DA8413FEAED548F090CEE3FEC84C54C2D63383FEDD343A21A55C43FEED577F9C51E4B3FEF88CDDF44E1023FEFEB7A9B2C6D8B3FEFFC81C7E042C53FEFBBB7D72F98B63FEF29C281BD15F03FEE48171F1A38573FED18F6EAD1B4463FEB9F693FEB72FB3FE9DF33D9AAD7083FE7DCD12D582F243FE59D64F5C3D19B3FE326AF0DCFCAB13FE07EFCBBA085BB3FDB5A312424A70C3FD57072235DE5C83FCE9FB8D64830E33FC210386DB6D55B3FA54A0F8298102EBFADE33739E82D32BFC43102CAB70C87BFD05AC910FF4C6CBFD6733B7EBA621FBFDC524143F0D1F1BFE0F46AEC2E1B41BFE39456FFECC09DBFE6022E2D1FB3CBBFE837B9DDDC1EAEBFEA2F537AE2C8B8BFEBE3F2DFD012D8BFED513B3A018A25BFEE7386314528EFBFEF47ED3DC74080BFEFCC51135DECB9BFEFFF5F0F37EC52BFEFE0949A0C3E00BFEF70407622EBA4BFEEAF81F5E09933BFEDA0461CD822BCBFEC4542B2BA24D7BFEAA1EF54BC123BBFE8BA7C97320570BFE693C94E0AB057BFE433561796F5BBBFE19F37497AC7A0BFDDBC0AC78EDFD8BFD7ED98640BBD1BBFD1E1F18AB0A2C0BFC75119D733FB7BBFB54558DBBECD1D3F9137A9C2CB3E7E3FBDD62B2F352A2C3FCB890D40C6CB3C3FD3F04B2FE909833FD9E90FA43588FC3FDF9F8D9AEA10FB3FE282941BD81ABF3FE50608C26D0A083FE753B6E16463863FE965BA25E3C90F3FEB36C6DC1D74453FECC2377B0529F63FEE041886FCAE303FEEF932AD10F80D3FEF9F12FCEE54583FEFF4112C80B72F3FEFF753D53A5FA93FEFA8D2A028CF7B3FEF09565B49B4673FEE1A76F7E933333FECDE97772B614F3FEB58DFCF2DF7993FE98D34D85FD9FC3FE7802E57B4B12D3FE5370B3F2EA2033FE2B7A442CAD2DD3FE0085CE42337803FDA6026360C2F913FD46C1B899FD9173FCC87A81DD59BA93FBFDC3EBECE2C503F995EBAA84441E2BFB33D1A94A4277ABFC650570815B6E9BFD16486AEB1A154BFD77464E0B36E02BFDD4844A120B670BFE1689EF5F34F52BFE400942955E6D4BFE6655F99D0663FBFE890E1D4D1362FBFEA7D8DEF6F8D9FBFEC2677B8F04315"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB98EAECB8BCB2C01623FC96DFF233DD2BC01633FD2E9CD95BABA33"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC96DFF233DD2BC016103666F6F3FB98EAECB8BCB2C0162036261723FD8EC3AE92B676B016203666F6F3FD2E9CD95BABA330163036261723FE2118D17A54159016303666F6F3FDEAEE8744B05F0"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FDEAEE8744B05F0016103626172016A3FE2118D17A54159016103626172016B3FE49D6E694619B8016103626172016C3FE6F494C2BFFECD016103666F6F01693FB98EAECB8BCB2C016103666F6F016A3FC96DFF233DD2BC016103666F6F016B3FD2E9CD95BABA33016103666F6F016C3FD8EC3AE92B676B01620362617201693FEED577F9C51E4B016203626172016A3FEF88CDDF44E102016203626172016B3FEFEB7A9B2C6D8B016203626172016C3FEFFC81C7E042C5016203666F6F01693FE91103985DA841016203666F6F016A3FEAED548F090CEE016203666F6F016B3FEC84C54C2D6338016203666F6F016C3FEDD343A21A55C401630362617201693FEB9F693FEB72FB016303626172016A3FE9DF33D9AAD708016303626172016B3FE7DCD12D582F24016303626172016C3FE59D64F5C3D19B016303666F6F01693FEFBBB7D72F98B6016303666F6F016A3FEF29C281BD15F0016303666F6F016B3FEE48171F1A3857016303666F6F016C3FED18F6EAD1B446"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE6F494C2BFFECD3FE91103985DA8413FEAED548F090CEE3FEC84C54C2D63383FEDD343A21A55C43FEED577F9C51E4B3FEF88CDDF44E1023FE9DF33D9AAD7083FE7DCD12D582F243FE59D64F5C3D19B3FE326AF0DCFCAB13FE07EFCBBA085BB3FDB5A312424A70C3FD57072235DE5C8BFDC524143F0D1F1BFE0F46AEC2E1B41BFE39456FFECC09DBFE6022E2D1FB3CBBFE837B9DDDC1EAEBFEA2F537AE2C8B8BFEBE3F2DFD012D803666F6F3FB98EAECB8BCB2C3FC96DFF233DD2BC3FD2E9CD95BABA333FD8EC3AE92B676B3FDEAEE8744B05F03FE2118D17A541593FE49D6E694619B83FEFEB7A9B2C6D8B3FEFFC81C7E042C53FEFBBB7D72F98B63FEF29C281BD15F03FEE48171F1A38573FED18F6EAD1B4463FEB9F693FEB72FB3FCE9FB8D64830E33FC210386DB6D55B3FA54A0F8298102EBFADE33739E82D32BFC43102CAB70C87BFD05AC910FF4C6CBFD6733B7EBA621F"}}
-{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB98EAECB8BCB2C3FDEAEE8744B05F03FE91103985DA8413FEED577F9C51E4B3FEFBBB7D72F98B60161016A3FC96DFF233DD2BC3FE2118D17A541593FEAED548F090CEE3FEF88CDDF44E1023FEF29C281BD15F00161016B3FD2E9CD95BABA333FE49D6E694619B83FEC84C54C2D63383FEFEB7A9B2C6D8B3FEE48171F1A38570161016C3FD8EC3AE92B676B3FE6F494C2BFFECD3FEDD343A21A55C43FEFFC81C7E042C53FED18F6EAD1B446016201693FEB9F693FEB72FB3FE326AF0DCFCAB13FCE9FB8D64830E3BFC43102CAB70C87BFE0F46AEC2E1B410162016A3FE9DF33D9AAD7083FE07EFCBBA085BB3FC210386DB6D55BBFD05AC910FF4C6CBFE39456FFECC09D0162016B3FE7DCD12D582F243FDB5A312424A70C3FA54A0F8298102EBFD6733B7EBA621FBFE6022E2D1FB3CB0162016C3FE59D64F5C3D19B3FD57072235DE5C8BFADE33739E82D32BFDC524143F0D1F1BFE837B9DDDC1EAE01630169BFEA2F537AE2C8B8BFEF47ED3DC74080BFEF70407622EBA4BFEAA1EF54BC123BBFE19F37497AC7A00163016ABFEBE3F2DFD012D8BFEFCC51135DECB9BFEEAF81F5E09933BFE8BA7C97320570BFDDBC0AC78EDFD80163016BBFED513B3A018A25BFEFFF5F0F37EC52BFEDA0461CD822BCBFE693C94E0AB057BFD7ED98640BBD1B0163016CBFEE7386314528EFBFEFE0949A0C3E00BFEC4542B2BA24D7BFE433561796F5BBBFD1E1F18AB0A2C0"}}
-{"expression":"tan(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB9AF8877430B80"}}
-{"expression":"tan(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E29998"}}
-{"expression":"tan(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E299983FDB0F0B49DCDCD83FE17B4F5BF3474A3FE5E472E03A280C3FEAF406C2FC78AE3FF079664793B60B3FF4299BA9C2A1383FF8EB245CBEE3A63FFF6FA7D286214E400493C43ACB164D400CD11B1696E97E401731086DC00A35402C33ED50B88777"}}
-{"expression":"tan(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E299983FDB0F0B49DCDCD83FE17B4F5BF3474A3FE5E472E03A280C3FEAF406C2FC78AE3FF079664793B60B3FF4299BA9C2A1383FF8EB245CBEE3A63FFF6FA7D286214E400493C43ACB164D400CD11B1696E97E401731086DC00A35402C33ED50B88777C0411DC3A1F73BEAC01EC952123D33F2C0112521C7CA80BDC0076AB21A0DF38BC0017AF62E0950F8BFFB5B880C6F419EBFF5FB2DE2B500EBBFF1E84C9047C337BFED4FFD331A1C6CBFE7E79B4E00BB15BFE340478A535B2BBFDE412B62BA7143BFD6C10031EC6D8FBFCF8A364255739FBFC23EF71254B86FBFA54EC734D416903FADF048F92660603FC4728C74EFFCF33FD0EA916F405CD13FD7F9360C8212A73FDF94F57ABCC0183FE3FDD037DA35543FE8C0F8B3CAA42E3FEE514D7FDCC3DA3FF2866F9BE4DE133FF6C6C3B4A4F47E3FFC71C9347017784002496A9CA760A94008C54566FDBDEC40128CA0C62BF5954021B868D80B4C1140542D9DE890C6A9C026C50DC43253B3C01511E9B3C687CBC00B0B4B739BBB07C00398597A58D5D2BFFE2B96D13EA593BFF80537409587B1BFF37B0C1674A47BBFEFDBD31615B07ABFEA0BD2C907E03EBFE51C83499B4CC8BFE0CA10D11279EFBFD9CC91A8E776FCBFD29FD86EBB95BEBFC7B6AC3AFF3643BFB5583DEE907AF93F9138494AF2A7463FBE0A94A390BBE93FCC320B15C520E83FD4FBA0262423563FDC5623343B6BE13FE22FD752AF75CB3FE6B109DE2CBE283FEBE2E6E13EEA793FF109CD601B305A3FF4DFBA34F373AF3FF9DD6F83006FB1400064EF1934ECE04005A5EA99227D5B400ED170AD3162CE4019C5805C97CBEA403281BF104956AFC035B7119FEAF168C01B32E78F49A1E4C00FDBF39CABB7C1C00630A37877CC77C000BB24225BAC36BFFA54D4C53D3438BFF538C9CD26B92ABFF150013B15FD40BFEC567B80303594BFE713A29CC6B6A4BFE2868AC2A1D792BFDCF2BD61315C1CBFD58C805D64CFB4BFCD4421B0D2E0C3BFC00E13BA44EE32BF9960B92D8859EA3FB34B121CC03DD03FC6A92B1538D9403FD212A6916D90193FD93561369E93C63FE07737A93F0A8E3FE4BF5F34BE37823FE9A010E3634DCB3FEF5AF2C1E7E6863FF32ADA63074E7F3FF79C55F5777A7A3FFD9930BC49E27B"}}
-{"expression":"tan(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB9AF8877430B8001623FC9F267068A55EC01633FD3CC2A44E29998"}}
-{"expression":"tan(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC9F267068A55EC016103666F6F3FB9AF8877430B800162036261723FDB0F0B49DCDCD8016203666F6F3FD3CC2A44E299980163036261723FE5E472E03A280C016303666F6F3FE17B4F5BF3474A"}}
-{"expression":"tan(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE17B4F5BF3474A016103626172016A3FE5E472E03A280C016103626172016B3FEAF406C2FC78AE016103626172016C3FF079664793B60B016103666F6F01693FB9AF8877430B80016103666F6F016A3FC9F267068A55EC016103666F6F016B3FD3CC2A44E29998016103666F6F016C3FDB0F0B49DCDCD80162036261720169400CD11B1696E97E016203626172016A401731086DC00A35016203626172016B402C33ED50B88777016203626172016CC0411DC3A1F73BEA016203666F6F01693FF4299BA9C2A138016203666F6F016A3FF8EB245CBEE3A6016203666F6F016B3FFF6FA7D286214E016203666F6F016C400493C43ACB164D0163036261720169BFFB5B880C6F419E016303626172016ABFF5FB2DE2B500EB016303626172016BBFF1E84C9047C337016303626172016CBFED4FFD331A1C6C016303666F6F0169C01EC952123D33F2016303666F6F016AC0112521C7CA80BD016303666F6F016BC0076AB21A0DF38B016303666F6F016CC0017AF62E0950F8"}}
-{"expression":"tan(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF079664793B60B3FF4299BA9C2A1383FF8EB245CBEE3A63FFF6FA7D286214E400493C43ACB164D400CD11B1696E97E401731086DC00A35BFF5FB2DE2B500EBBFF1E84C9047C337BFED4FFD331A1C6CBFE7E79B4E00BB15BFE340478A535B2BBFDE412B62BA7143BFD6C10031EC6D8F3FDF94F57ABCC0183FE3FDD037DA35543FE8C0F8B3CAA42E3FEE514D7FDCC3DA3FF2866F9BE4DE133FF6C6C3B4A4F47E3FFC71C93470177803666F6F3FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E299983FDB0F0B49DCDCD83FE17B4F5BF3474A3FE5E472E03A280C3FEAF406C2FC78AE402C33ED50B88777C0411DC3A1F73BEAC01EC952123D33F2C0112521C7CA80BDC0076AB21A0DF38BC0017AF62E0950F8BFFB5B880C6F419EBFCF8A364255739FBFC23EF71254B86FBFA54EC734D416903FADF048F92660603FC4728C74EFFCF33FD0EA916F405CD13FD7F9360C8212A7"}}
-{"expression":"tan(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB9AF8877430B803FE17B4F5BF3474A3FF4299BA9C2A138400CD11B1696E97EC01EC952123D33F20161016A3FC9F267068A55EC3FE5E472E03A280C3FF8EB245CBEE3A6401731086DC00A35C0112521C7CA80BD0161016B3FD3CC2A44E299983FEAF406C2FC78AE3FFF6FA7D286214E402C33ED50B88777C0076AB21A0DF38B0161016C3FDB0F0B49DCDCD83FF079664793B60B400493C43ACB164DC0411DC3A1F73BEAC0017AF62E0950F801620169BFFB5B880C6F419EBFE7E79B4E00BB15BFCF8A364255739F3FC4728C74EFFCF33FE3FDD037DA35540162016ABFF5FB2DE2B500EBBFE340478A535B2BBFC23EF71254B86F3FD0EA916F405CD13FE8C0F8B3CAA42E0162016BBFF1E84C9047C337BFDE412B62BA7143BFA54EC734D416903FD7F9360C8212A73FEE514D7FDCC3DA0162016CBFED4FFD331A1C6CBFD6C10031EC6D8F3FADF048F92660603FDF94F57ABCC0183FF2866F9BE4DE13016301693FF6C6C3B4A4F47E40128CA0C62BF595C01511E9B3C687CBBFF80537409587B1BFE51C83499B4CC80163016A3FFC71C9347017784021B868D80B4C11C00B0B4B739BBB07BFF37B0C1674A47BBFE0CA10D11279EF0163016B4002496A9CA760A940542D9DE890C6A9C00398597A58D5D2BFEFDBD31615B07ABFD9CC91A8E776FC0163016C4008C54566FDBDECC026C50DC43253B3BFFE2B96D13EA593BFEA0BD2C907E03EBFD29FD86EBB95BE"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB9AF8877430B80"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E29998"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E299983FDB0F0B49DCDCD83FE17B4F5BF3474A3FE5E472E03A280C3FEAF406C2FC78AE3FF079664793B60B3FF4299BA9C2A1383FF8EB245CBEE3A63FFF6FA7D286214E400493C43ACB164D400CD11B1696E97E401731086DC00A35402C33ED50B88777"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E299983FDB0F0B49DCDCD83FE17B4F5BF3474A3FE5E472E03A280C3FEAF406C2FC78AE3FF079664793B60B3FF4299BA9C2A1383FF8EB245CBEE3A63FFF6FA7D286214E400493C43ACB164D400CD11B1696E97E401731086DC00A35402C33ED50B88777C0411DC3A1F73BEAC01EC952123D33F2C0112521C7CA80BDC0076AB21A0DF38BC0017AF62E0950F8BFFB5B880C6F419EBFF5FB2DE2B500EBBFF1E84C9047C337BFED4FFD331A1C6CBFE7E79B4E00BB15BFE340478A535B2BBFDE412B62BA7143BFD6C10031EC6D8FBFCF8A364255739FBFC23EF71254B86FBFA54EC734D416903FADF048F92660603FC4728C74EFFCF33FD0EA916F405CD13FD7F9360C8212A73FDF94F57ABCC0183FE3FDD037DA35543FE8C0F8B3CAA42E3FEE514D7FDCC3DA3FF2866F9BE4DE133FF6C6C3B4A4F47E3FFC71C9347017784002496A9CA760A94008C54566FDBDEC40128CA0C62BF5954021B868D80B4C1140542D9DE890C6A9C026C50DC43253B3C01511E9B3C687CBC00B0B4B739BBB07C00398597A58D5D2BFFE2B96D13EA593BFF80537409587B1BFF37B0C1674A47BBFEFDBD31615B07ABFEA0BD2C907E03EBFE51C83499B4CC8BFE0CA10D11279EFBFD9CC91A8E776FCBFD29FD86EBB95BEBFC7B6AC3AFF3643BFB5583DEE907AF93F9138494AF2A7463FBE0A94A390BBE93FCC320B15C520E83FD4FBA0262423563FDC5623343B6BE13FE22FD752AF75CB3FE6B109DE2CBE283FEBE2E6E13EEA793FF109CD601B305A3FF4DFBA34F373AF3FF9DD6F83006FB1400064EF1934ECE04005A5EA99227D5B400ED170AD3162CE4019C5805C97CBEA403281BF104956AFC035B7119FEAF168C01B32E78F49A1E4C00FDBF39CABB7C1C00630A37877CC77C000BB24225BAC36BFFA54D4C53D3438BFF538C9CD26B92ABFF150013B15FD40BFEC567B80303594BFE713A29CC6B6A4BFE2868AC2A1D792BFDCF2BD61315C1CBFD58C805D64CFB4BFCD4421B0D2E0C3BFC00E13BA44EE32BF9960B92D8859EA3FB34B121CC03DD03FC6A92B1538D9403FD212A6916D90193FD93561369E93C63FE07737A93F0A8E3FE4BF5F34BE37823FE9A010E3634DCB3FEF5AF2C1E7E6863FF32ADA63074E7F3FF79C55F5777A7A3FFD9930BC49E27B"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB9AF8877430B8001623FC9F267068A55EC01633FD3CC2A44E29998"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC9F267068A55EC016103666F6F3FB9AF8877430B800162036261723FDB0F0B49DCDCD8016203666F6F3FD3CC2A44E299980163036261723FE5E472E03A280C016303666F6F3FE17B4F5BF3474A"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE17B4F5BF3474A016103626172016A3FE5E472E03A280C016103626172016B3FEAF406C2FC78AE016103626172016C3FF079664793B60B016103666F6F01693FB9AF8877430B80016103666F6F016A3FC9F267068A55EC016103666F6F016B3FD3CC2A44E29998016103666F6F016C3FDB0F0B49DCDCD80162036261720169400CD11B1696E97E016203626172016A401731086DC00A35016203626172016B402C33ED50B88777016203626172016CC0411DC3A1F73BEA016203666F6F01693FF4299BA9C2A138016203666F6F016A3FF8EB245CBEE3A6016203666F6F016B3FFF6FA7D286214E016203666F6F016C400493C43ACB164D0163036261720169BFFB5B880C6F419E016303626172016ABFF5FB2DE2B500EB016303626172016BBFF1E84C9047C337016303626172016CBFED4FFD331A1C6C016303666F6F0169C01EC952123D33F2016303666F6F016AC0112521C7CA80BD016303666F6F016BC0076AB21A0DF38B016303666F6F016CC0017AF62E0950F8"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF079664793B60B3FF4299BA9C2A1383FF8EB245CBEE3A63FFF6FA7D286214E400493C43ACB164D400CD11B1696E97E401731086DC00A35BFF5FB2DE2B500EBBFF1E84C9047C337BFED4FFD331A1C6CBFE7E79B4E00BB15BFE340478A535B2BBFDE412B62BA7143BFD6C10031EC6D8F3FDF94F57ABCC0183FE3FDD037DA35543FE8C0F8B3CAA42E3FEE514D7FDCC3DA3FF2866F9BE4DE133FF6C6C3B4A4F47E3FFC71C93470177803666F6F3FB9AF8877430B803FC9F267068A55EC3FD3CC2A44E299983FDB0F0B49DCDCD83FE17B4F5BF3474A3FE5E472E03A280C3FEAF406C2FC78AE402C33ED50B88777C0411DC3A1F73BEAC01EC952123D33F2C0112521C7CA80BDC0076AB21A0DF38BC0017AF62E0950F8BFFB5B880C6F419EBFCF8A364255739FBFC23EF71254B86FBFA54EC734D416903FADF048F92660603FC4728C74EFFCF33FD0EA916F405CD13FD7F9360C8212A7"}}
-{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB9AF8877430B803FE17B4F5BF3474A3FF4299BA9C2A138400CD11B1696E97EC01EC952123D33F20161016A3FC9F267068A55EC3FE5E472E03A280C3FF8EB245CBEE3A6401731086DC00A35C0112521C7CA80BD0161016B3FD3CC2A44E299983FEAF406C2FC78AE3FFF6FA7D286214E402C33ED50B88777C0076AB21A0DF38B0161016C3FDB0F0B49DCDCD83FF079664793B60B400493C43ACB164DC0411DC3A1F73BEAC0017AF62E0950F801620169BFFB5B880C6F419EBFE7E79B4E00BB15BFCF8A364255739F3FC4728C74EFFCF33FE3FDD037DA35540162016ABFF5FB2DE2B500EBBFE340478A535B2BBFC23EF71254B86F3FD0EA916F405CD13FE8C0F8B3CAA42E0162016BBFF1E84C9047C337BFDE412B62BA7143BFA54EC734D416903FD7F9360C8212A73FEE514D7FDCC3DA0162016CBFED4FFD331A1C6CBFD6C10031EC6D8F3FADF048F92660603FDF94F57ABCC0183FF2866F9BE4DE13016301693FF6C6C3B4A4F47E40128CA0C62BF595C01511E9B3C687CBBFF80537409587B1BFE51C83499B4CC80163016A3FFC71C9347017784021B868D80B4C11C00B0B4B739BBB07BFF37B0C1674A47BBFE0CA10D11279EF0163016B4002496A9CA760A940542D9DE890C6A9C00398597A58D5D2BFEFDBD31615B07ABFD9CC91A8E776FC0163016C4008C54566FDBDECC026C50DC43253B3BFFE2B96D13EA593BFEA0BD2C907E03EBFD29FD86EBB95BE"}}
-{"expression":"cosh(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0147F40224B38"}}
-{"expression":"cosh(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C"}}
-{"expression":"cosh(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C3FF14C128B1A7C2C3FF20AC1862AE8D03FF2F7AA606E56303FF4152C1862342F3FF566222FAE825A3FF6EDEBFD5D86803FF8B07551D9F5503FFAB24082D6F9113FFCF871F8DFA8003FFF88DD5C2795044001350A412F0A804002D1BC21E22022"}}
-{"expression":"cosh(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C3FF14C128B1A7C2C3FF20AC1862AE8D03FF2F7AA606E56303FF4152C1862342F3FF566222FAE825A3FF6EDEBFD5D86803FF8B07551D9F5503FFAB24082D6F9113FFCF871F8DFA8003FFF88DD5C2795044001350A412F0A804002D1BC21E2202240049EA5B153125D4006A063DAD344F74008DC1AE58BD6D7400B5783A0F8AAB7400E18FA0DF2D9BC401093C6D4ED2D7340124589C2CEF9C14014261D2B7D618040163A505BAEDDE840188776E4B30AA3401B137642174316401DE4D4F525D240402081659E7A607940223AAACAED2BB1402422A497D6185E40263E35479AFBFD402892C34A71B792402B2647145E3E5A402DFF5A694CAEB1403092A4A33C887B403250124A3CA07D40343C6B68E7BD6340365C9D757C59534038B61ABD3F1CC5403B4EE858DE3E80403E2DAD98F061824040ACE28909C20940426DA7BA2CBB0240445DA42F240C79404681CEB06413584048DFA3B77D356D404B7D337D8FCF85404E6131844D2CE64050C982E0A9933240528D6FCBEFF3AA405480E568BDF76F4056A8E365AAC4CA40590AF009D7E905405BAD265C831F92405E9645C9B6718B4060E6E1B6159D2F4062ADEE9455E4194064A4D765F3FC074066D0A4B06BA24F406936E67DB9B919406BDDC29CF0766B406ECC04628691BC40710497085E60A24072CEC60A59B4FD4074C92524BD9DDC4076F8C5BBCD4B7C40796341A69E26DE407C0EC988C8A46B407F0234AE7705FB4081228949BA3A8B4082EFDF2112744A4084EDB9DE03AFC040872133D14E1EF140898FF0AEA7314E408C402BFFAED3CD408F38C91BEAA0AE409140B26758798E409311346C1DB0F540951290BDECC6BC409749EAA93F4E764099BCEFCF595DAA409C71E6B2AE9B68409F6FBECAFA076C40A15F11251D39C740A332C4E00D669F40A537A8E70B8D1440A772E991FCDF8740A9EA3E8112E92F40ACA3F942CCEE5B40AFA715845D889540B17DA57AF77EE540B35490884ECAA440B55D027868B0B340B79C30BE7A7BDC40BA17DD0B3504D640BCD6640C8F676040BFDECDBAAC368540C19C6FADCE5A0D40C37697B614FFBC40C5829DD053712E40C7C5C09B15224840CA45CBE94012F740CD09279BD639B340D00B7405C63B5240D1BB7016220CC0"}}
-{"expression":"cosh(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF0147F40224B3801623FF0523184B1EE9D01633FF0B9B4E0B6EC4C"}}
-{"expression":"cosh(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FF0523184B1EE9D016103666F6F3FF0147F40224B380162036261723FF14C128B1A7C2C016203666F6F3FF0B9B4E0B6EC4C0163036261723FF2F7AA606E5630016303666F6F3FF20AC1862AE8D0"}}
-{"expression":"cosh(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF20AC1862AE8D0016103626172016A3FF2F7AA606E5630016103626172016B3FF4152C1862342F016103626172016C3FF566222FAE825A016103666F6F01693FF0147F40224B38016103666F6F016A3FF0523184B1EE9D016103666F6F016B3FF0B9B4E0B6EC4C016103666F6F016C3FF14C128B1A7C2C01620362617201693FFF88DD5C279504016203626172016A4001350A412F0A80016203626172016B4002D1BC21E22022016203626172016C40049EA5B153125D016203666F6F01693FF6EDEBFD5D8680016203666F6F016A3FF8B07551D9F550016203666F6F016B3FFAB24082D6F911016203666F6F016C3FFCF871F8DFA8000163036261720169401093C6D4ED2D73016303626172016A40124589C2CEF9C1016303626172016B4014261D2B7D6180016303626172016C40163A505BAEDDE8016303666F6F01694006A063DAD344F7016303666F6F016A4008DC1AE58BD6D7016303666F6F016B400B5783A0F8AAB7016303666F6F016C400E18FA0DF2D9BC"}}
-{"expression":"cosh(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF566222FAE825A3FF6EDEBFD5D86803FF8B07551D9F5503FFAB24082D6F9113FFCF871F8DFA8003FFF88DD5C2795044001350A412F0A8040124589C2CEF9C14014261D2B7D618040163A505BAEDDE840188776E4B30AA3401B137642174316401DE4D4F525D240402081659E7A6079403250124A3CA07D40343C6B68E7BD6340365C9D757C59534038B61ABD3F1CC5403B4EE858DE3E80403E2DAD98F061824040ACE28909C20903666F6F3FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C3FF14C128B1A7C2C3FF20AC1862AE8D03FF2F7AA606E56303FF4152C1862342F4002D1BC21E2202240049EA5B153125D4006A063DAD344F74008DC1AE58BD6D7400B5783A0F8AAB7400E18FA0DF2D9BC401093C6D4ED2D7340223AAACAED2BB1402422A497D6185E40263E35479AFBFD402892C34A71B792402B2647145E3E5A402DFF5A694CAEB1403092A4A33C887B"}}
-{"expression":"cosh(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0147F40224B383FF20AC1862AE8D03FF6EDEBFD5D86803FFF88DD5C2795044006A063DAD344F70161016A3FF0523184B1EE9D3FF2F7AA606E56303FF8B07551D9F5504001350A412F0A804008DC1AE58BD6D70161016B3FF0B9B4E0B6EC4C3FF4152C1862342F3FFAB24082D6F9114002D1BC21E22022400B5783A0F8AAB70161016C3FF14C128B1A7C2C3FF566222FAE825A3FFCF871F8DFA80040049EA5B153125D400E18FA0DF2D9BC01620169401093C6D4ED2D7340188776E4B30AA340223AAACAED2BB1402B2647145E3E5A40343C6B68E7BD630162016A40124589C2CEF9C1401B137642174316402422A497D6185E402DFF5A694CAEB140365C9D757C59530162016B4014261D2B7D6180401DE4D4F525D24040263E35479AFBFD403092A4A33C887B4038B61ABD3F1CC50162016C40163A505BAEDDE8402081659E7A6079402892C34A71B792403250124A3CA07D403B4EE858DE3E8001630169403E2DAD98F06182404681CEB06413584050C982E0A9933240590AF009D7E9054062ADEE9455E4190163016A4040ACE28909C2094048DFA3B77D356D40528D6FCBEFF3AA405BAD265C831F924064A4D765F3FC070163016B40426DA7BA2CBB02404B7D337D8FCF85405480E568BDF76F405E9645C9B6718B4066D0A4B06BA24F0163016C40445DA42F240C79404E6131844D2CE64056A8E365AAC4CA4060E6E1B6159D2F406936E67DB9B919"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0147F40224B38"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C3FF14C128B1A7C2C3FF20AC1862AE8D03FF2F7AA606E56303FF4152C1862342F3FF566222FAE825A3FF6EDEBFD5D86803FF8B07551D9F5503FFAB24082D6F9113FFCF871F8DFA8003FFF88DD5C2795044001350A412F0A804002D1BC21E22022"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C3FF14C128B1A7C2C3FF20AC1862AE8D03FF2F7AA606E56303FF4152C1862342F3FF566222FAE825A3FF6EDEBFD5D86803FF8B07551D9F5503FFAB24082D6F9113FFCF871F8DFA8003FFF88DD5C2795044001350A412F0A804002D1BC21E2202240049EA5B153125D4006A063DAD344F74008DC1AE58BD6D7400B5783A0F8AAB7400E18FA0DF2D9BC401093C6D4ED2D7340124589C2CEF9C14014261D2B7D618040163A505BAEDDE840188776E4B30AA3401B137642174316401DE4D4F525D240402081659E7A607940223AAACAED2BB1402422A497D6185E40263E35479AFBFD402892C34A71B792402B2647145E3E5A402DFF5A694CAEB1403092A4A33C887B403250124A3CA07D40343C6B68E7BD6340365C9D757C59534038B61ABD3F1CC5403B4EE858DE3E80403E2DAD98F061824040ACE28909C20940426DA7BA2CBB0240445DA42F240C79404681CEB06413584048DFA3B77D356D404B7D337D8FCF85404E6131844D2CE64050C982E0A9933240528D6FCBEFF3AA405480E568BDF76F4056A8E365AAC4CA40590AF009D7E905405BAD265C831F92405E9645C9B6718B4060E6E1B6159D2F4062ADEE9455E4194064A4D765F3FC074066D0A4B06BA24F406936E67DB9B919406BDDC29CF0766B406ECC04628691BC40710497085E60A24072CEC60A59B4FD4074C92524BD9DDC4076F8C5BBCD4B7C40796341A69E26DE407C0EC988C8A46B407F0234AE7705FB4081228949BA3A8B4082EFDF2112744A4084EDB9DE03AFC040872133D14E1EF140898FF0AEA7314E408C402BFFAED3CD408F38C91BEAA0AE409140B26758798E409311346C1DB0F540951290BDECC6BC409749EAA93F4E764099BCEFCF595DAA409C71E6B2AE9B68409F6FBECAFA076C40A15F11251D39C740A332C4E00D669F40A537A8E70B8D1440A772E991FCDF8740A9EA3E8112E92F40ACA3F942CCEE5B40AFA715845D889540B17DA57AF77EE540B35490884ECAA440B55D027868B0B340B79C30BE7A7BDC40BA17DD0B3504D640BCD6640C8F676040BFDECDBAAC368540C19C6FADCE5A0D40C37697B614FFBC40C5829DD053712E40C7C5C09B15224840CA45CBE94012F740CD09279BD639B340D00B7405C63B5240D1BB7016220CC0"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF0147F40224B3801623FF0523184B1EE9D01633FF0B9B4E0B6EC4C"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FF0523184B1EE9D016103666F6F3FF0147F40224B380162036261723FF14C128B1A7C2C016203666F6F3FF0B9B4E0B6EC4C0163036261723FF2F7AA606E5630016303666F6F3FF20AC1862AE8D0"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF20AC1862AE8D0016103626172016A3FF2F7AA606E5630016103626172016B3FF4152C1862342F016103626172016C3FF566222FAE825A016103666F6F01693FF0147F40224B38016103666F6F016A3FF0523184B1EE9D016103666F6F016B3FF0B9B4E0B6EC4C016103666F6F016C3FF14C128B1A7C2C01620362617201693FFF88DD5C279504016203626172016A4001350A412F0A80016203626172016B4002D1BC21E22022016203626172016C40049EA5B153125D016203666F6F01693FF6EDEBFD5D8680016203666F6F016A3FF8B07551D9F550016203666F6F016B3FFAB24082D6F911016203666F6F016C3FFCF871F8DFA8000163036261720169401093C6D4ED2D73016303626172016A40124589C2CEF9C1016303626172016B4014261D2B7D6180016303626172016C40163A505BAEDDE8016303666F6F01694006A063DAD344F7016303666F6F016A4008DC1AE58BD6D7016303666F6F016B400B5783A0F8AAB7016303666F6F016C400E18FA0DF2D9BC"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF566222FAE825A3FF6EDEBFD5D86803FF8B07551D9F5503FFAB24082D6F9113FFCF871F8DFA8003FFF88DD5C2795044001350A412F0A8040124589C2CEF9C14014261D2B7D618040163A505BAEDDE840188776E4B30AA3401B137642174316401DE4D4F525D240402081659E7A6079403250124A3CA07D40343C6B68E7BD6340365C9D757C59534038B61ABD3F1CC5403B4EE858DE3E80403E2DAD98F061824040ACE28909C20903666F6F3FF0147F40224B383FF0523184B1EE9D3FF0B9B4E0B6EC4C3FF14C128B1A7C2C3FF20AC1862AE8D03FF2F7AA606E56303FF4152C1862342F4002D1BC21E2202240049EA5B153125D4006A063DAD344F74008DC1AE58BD6D7400B5783A0F8AAB7400E18FA0DF2D9BC401093C6D4ED2D7340223AAACAED2BB1402422A497D6185E40263E35479AFBFD402892C34A71B792402B2647145E3E5A402DFF5A694CAEB1403092A4A33C887B"}}
-{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0147F40224B383FF20AC1862AE8D03FF6EDEBFD5D86803FFF88DD5C2795044006A063DAD344F70161016A3FF0523184B1EE9D3FF2F7AA606E56303FF8B07551D9F5504001350A412F0A804008DC1AE58BD6D70161016B3FF0B9B4E0B6EC4C3FF4152C1862342F3FFAB24082D6F9114002D1BC21E22022400B5783A0F8AAB70161016C3FF14C128B1A7C2C3FF566222FAE825A3FFCF871F8DFA80040049EA5B153125D400E18FA0DF2D9BC01620169401093C6D4ED2D7340188776E4B30AA340223AAACAED2BB1402B2647145E3E5A40343C6B68E7BD630162016A40124589C2CEF9C1401B137642174316402422A497D6185E402DFF5A694CAEB140365C9D757C59530162016B4014261D2B7D6180401DE4D4F525D24040263E35479AFBFD403092A4A33C887B4038B61ABD3F1CC50162016C40163A505BAEDDE8402081659E7A6079402892C34A71B792403250124A3CA07D403B4EE858DE3E8001630169403E2DAD98F06182404681CEB06413584050C982E0A9933240590AF009D7E9054062ADEE9455E4190163016A4040ACE28909C2094048DFA3B77D356D40528D6FCBEFF3AA405BAD265C831F924064A4D765F3FC070163016B40426DA7BA2CBB02404B7D337D8FCF85405480E568BDF76F405E9645C9B6718B4066D0A4B06BA24F0163016C40445DA42F240C79404E6131844D2CE64056A8E365AAC4CA4060E6E1B6159D2F406936E67DB9B919"}}
-{"expression":"sinh(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB9A487337B59B3"}}
-{"expression":"sinh(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B926"}}
-{"expression":"sinh(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B9263FDA49C41F850ED23FE0ACD00FE63B973FE45F775546A77D3FE8465153D5BDBC3FEC6B5D3C9C16EF3FF06C9CCD5B6AF83FF2CD9FC44EB9823FF55ECFE1B2B2153FF826C0F34123483FFB2C9310045C643FFE7804D9E7541C400108C3AABD6A60"}}
-{"expression":"sinh(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B9263FDA49C41F850ED23FE0ACD00FE63B973FE45F775546A77D3FE8465153D5BDBC3FEC6B5D3C9C16EF3FF06C9CCD5B6AF83FF2CD9FC44EB9823FF55ECFE1B2B2153FF826C0F34123483FFB2C9310045C643FFE7804D9E7541C400108C3AABD6A6040030129C5635D7C40052A411348AC5640078992AC540633400A253298B81D35400D03CF63B6E1A0401016619D230D2A4011D41360B922FD4013BF72EA61AF1A4015DD6B30E4B6E840183368CDB0B6D3401AC767E2A1B654401DA0036F88823C402062431F5DE40B40221E7ECA07D84B40240926E70949AE402627249735007D40287DE481D7B796402B1364BAA2B89C402DEE441C2E9A1F40308AE99F364F3B403249139A3E4F914034361720F61B9F403656E35E36D7254038B0EC2A5371B3403B4A3803703630403E296F7D9585EA4040AAF72905BE5F40426BEB1CDA1FF840445C11E1595DAF40468062AB5FA9FC4048DE5A56945091404B7C0974D8F5F0404E6023D82DF5E04050C908DF6DE2C640528D0166F0737440548081852230564056A8890384D34A40590A9E4194C393405BACDC5C994386405E9602D48D06614060E6C36B1A25E94062ADD32B565D454064A4BE98B5E83E4066D08E3F636553406936D22F67C805406BDDB03D4E0647406ECBF3C2804AF04071048F82DD113A4072CEBF3C14D29B4074C91EFC453B364076F8C0295A47C64079633C9BE9C102407C0EC4F8E7E70F407F02308DB9AEA3408122876BA380C94082EFDD707ABF004084EDB85696A2B4408721326F20D75F40898FEF6E2E3C5D408C402ADDB5198D408F38C815892C5C409140B1F0A3C1CA4093113400B4D79F409512905CBC9936409749EA514ECA664099BCEF7FC732FA409C71E66AAEEB00409F6FBE89D458D840A15F1107A3EE2B40A332C4C56222A340A537A8CEE9FC5A40A772E97C272E4F40A9EA3E6D5125ED40ACA3F930EC7A6540AFA7157430966F40B17DA573A60DE740B3549081AFA1B640B55D02726AD89D40B79C30B90E9AB440BA17DD064D36AB40BCD664081F1AAB40BFDECDB6A80BE940C19C6FABFD30A540C37697B4701A6C40C5829DCED6999240C7C5C099BC889C40CA45CBE808445140CD09279ABC172D40D00B74054696B040D1BB7015AE8DB6"}}
-{"expression":"sinh(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB9A487337B59B301623FC9C560CD35EF8201633FD37D42AF54B926"}}
-{"expression":"sinh(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC9C560CD35EF82016103666F6F3FB9A487337B59B30162036261723FDA49C41F850ED2016203666F6F3FD37D42AF54B9260163036261723FE45F775546A77D016303666F6F3FE0ACD00FE63B97"}}
-{"expression":"sinh(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE0ACD00FE63B97016103626172016A3FE45F775546A77D016103626172016B3FE8465153D5BDBC016103626172016C3FEC6B5D3C9C16EF016103666F6F01693FB9A487337B59B3016103666F6F016A3FC9C560CD35EF82016103666F6F016B3FD37D42AF54B926016103666F6F016C3FDA49C41F850ED201620362617201693FFB2C9310045C64016203626172016A3FFE7804D9E7541C016203626172016B400108C3AABD6A60016203626172016C40030129C5635D7C016203666F6F01693FF06C9CCD5B6AF8016203666F6F016A3FF2CD9FC44EB982016203666F6F016B3FF55ECFE1B2B215016203666F6F016C3FF826C0F34123480163036261720169401016619D230D2A016303626172016A4011D41360B922FD016303626172016B4013BF72EA61AF1A016303626172016C4015DD6B30E4B6E8016303666F6F016940052A411348AC56016303666F6F016A40078992AC540633016303666F6F016B400A253298B81D35016303666F6F016C400D03CF63B6E1A0"}}
-{"expression":"sinh(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FEC6B5D3C9C16EF3FF06C9CCD5B6AF83FF2CD9FC44EB9823FF55ECFE1B2B2153FF826C0F34123483FFB2C9310045C643FFE7804D9E7541C4011D41360B922FD4013BF72EA61AF1A4015DD6B30E4B6E840183368CDB0B6D3401AC767E2A1B654401DA0036F88823C402062431F5DE40B403249139A3E4F914034361720F61B9F403656E35E36D7254038B0EC2A5371B3403B4A3803703630403E296F7D9585EA4040AAF72905BE5F03666F6F3FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B9263FDA49C41F850ED23FE0ACD00FE63B973FE45F775546A77D3FE8465153D5BDBC400108C3AABD6A6040030129C5635D7C40052A411348AC5640078992AC540633400A253298B81D35400D03CF63B6E1A0401016619D230D2A40221E7ECA07D84B40240926E70949AE402627249735007D40287DE481D7B796402B1364BAA2B89C402DEE441C2E9A1F40308AE99F364F3B"}}
-{"expression":"sinh(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB9A487337B59B33FE0ACD00FE63B973FF06C9CCD5B6AF83FFB2C9310045C6440052A411348AC560161016A3FC9C560CD35EF823FE45F775546A77D3FF2CD9FC44EB9823FFE7804D9E7541C40078992AC5406330161016B3FD37D42AF54B9263FE8465153D5BDBC3FF55ECFE1B2B215400108C3AABD6A60400A253298B81D350161016C3FDA49C41F850ED23FEC6B5D3C9C16EF3FF826C0F341234840030129C5635D7C400D03CF63B6E1A001620169401016619D230D2A40183368CDB0B6D340221E7ECA07D84B402B1364BAA2B89C4034361720F61B9F0162016A4011D41360B922FD401AC767E2A1B65440240926E70949AE402DEE441C2E9A1F403656E35E36D7250162016B4013BF72EA61AF1A401DA0036F88823C402627249735007D40308AE99F364F3B4038B0EC2A5371B30162016C4015DD6B30E4B6E8402062431F5DE40B40287DE481D7B796403249139A3E4F91403B4A380370363001630169403E296F7D9585EA40468062AB5FA9FC4050C908DF6DE2C640590A9E4194C3934062ADD32B565D450163016A4040AAF72905BE5F4048DE5A5694509140528D0166F07374405BACDC5C9943864064A4BE98B5E83E0163016B40426BEB1CDA1FF8404B7C0974D8F5F04054808185223056405E9602D48D06614066D08E3F6365530163016C40445C11E1595DAF404E6023D82DF5E04056A8890384D34A4060E6C36B1A25E9406936D22F67C805"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB9A487337B59B3"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B926"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B9263FDA49C41F850ED23FE0ACD00FE63B973FE45F775546A77D3FE8465153D5BDBC3FEC6B5D3C9C16EF3FF06C9CCD5B6AF83FF2CD9FC44EB9823FF55ECFE1B2B2153FF826C0F34123483FFB2C9310045C643FFE7804D9E7541C400108C3AABD6A60"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B9263FDA49C41F850ED23FE0ACD00FE63B973FE45F775546A77D3FE8465153D5BDBC3FEC6B5D3C9C16EF3FF06C9CCD5B6AF83FF2CD9FC44EB9823FF55ECFE1B2B2153FF826C0F34123483FFB2C9310045C643FFE7804D9E7541C400108C3AABD6A6040030129C5635D7C40052A411348AC5640078992AC540633400A253298B81D35400D03CF63B6E1A0401016619D230D2A4011D41360B922FD4013BF72EA61AF1A4015DD6B30E4B6E840183368CDB0B6D3401AC767E2A1B654401DA0036F88823C402062431F5DE40B40221E7ECA07D84B40240926E70949AE402627249735007D40287DE481D7B796402B1364BAA2B89C402DEE441C2E9A1F40308AE99F364F3B403249139A3E4F914034361720F61B9F403656E35E36D7254038B0EC2A5371B3403B4A3803703630403E296F7D9585EA4040AAF72905BE5F40426BEB1CDA1FF840445C11E1595DAF40468062AB5FA9FC4048DE5A56945091404B7C0974D8F5F0404E6023D82DF5E04050C908DF6DE2C640528D0166F0737440548081852230564056A8890384D34A40590A9E4194C393405BACDC5C994386405E9602D48D06614060E6C36B1A25E94062ADD32B565D454064A4BE98B5E83E4066D08E3F636553406936D22F67C805406BDDB03D4E0647406ECBF3C2804AF04071048F82DD113A4072CEBF3C14D29B4074C91EFC453B364076F8C0295A47C64079633C9BE9C102407C0EC4F8E7E70F407F02308DB9AEA3408122876BA380C94082EFDD707ABF004084EDB85696A2B4408721326F20D75F40898FEF6E2E3C5D408C402ADDB5198D408F38C815892C5C409140B1F0A3C1CA4093113400B4D79F409512905CBC9936409749EA514ECA664099BCEF7FC732FA409C71E66AAEEB00409F6FBE89D458D840A15F1107A3EE2B40A332C4C56222A340A537A8CEE9FC5A40A772E97C272E4F40A9EA3E6D5125ED40ACA3F930EC7A6540AFA7157430966F40B17DA573A60DE740B3549081AFA1B640B55D02726AD89D40B79C30B90E9AB440BA17DD064D36AB40BCD664081F1AAB40BFDECDB6A80BE940C19C6FABFD30A540C37697B4701A6C40C5829DCED6999240C7C5C099BC889C40CA45CBE808445140CD09279ABC172D40D00B74054696B040D1BB7015AE8DB6"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB9A487337B59B301623FC9C560CD35EF8201633FD37D42AF54B926"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC9C560CD35EF82016103666F6F3FB9A487337B59B30162036261723FDA49C41F850ED2016203666F6F3FD37D42AF54B9260163036261723FE45F775546A77D016303666F6F3FE0ACD00FE63B97"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE0ACD00FE63B97016103626172016A3FE45F775546A77D016103626172016B3FE8465153D5BDBC016103626172016C3FEC6B5D3C9C16EF016103666F6F01693FB9A487337B59B3016103666F6F016A3FC9C560CD35EF82016103666F6F016B3FD37D42AF54B926016103666F6F016C3FDA49C41F850ED201620362617201693FFB2C9310045C64016203626172016A3FFE7804D9E7541C016203626172016B400108C3AABD6A60016203626172016C40030129C5635D7C016203666F6F01693FF06C9CCD5B6AF8016203666F6F016A3FF2CD9FC44EB982016203666F6F016B3FF55ECFE1B2B215016203666F6F016C3FF826C0F34123480163036261720169401016619D230D2A016303626172016A4011D41360B922FD016303626172016B4013BF72EA61AF1A016303626172016C4015DD6B30E4B6E8016303666F6F016940052A411348AC56016303666F6F016A40078992AC540633016303666F6F016B400A253298B81D35016303666F6F016C400D03CF63B6E1A0"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FEC6B5D3C9C16EF3FF06C9CCD5B6AF83FF2CD9FC44EB9823FF55ECFE1B2B2153FF826C0F34123483FFB2C9310045C643FFE7804D9E7541C4011D41360B922FD4013BF72EA61AF1A4015DD6B30E4B6E840183368CDB0B6D3401AC767E2A1B654401DA0036F88823C402062431F5DE40B403249139A3E4F914034361720F61B9F403656E35E36D7254038B0EC2A5371B3403B4A3803703630403E296F7D9585EA4040AAF72905BE5F03666F6F3FB9A487337B59B33FC9C560CD35EF823FD37D42AF54B9263FDA49C41F850ED23FE0ACD00FE63B973FE45F775546A77D3FE8465153D5BDBC400108C3AABD6A6040030129C5635D7C40052A411348AC5640078992AC540633400A253298B81D35400D03CF63B6E1A0401016619D230D2A40221E7ECA07D84B40240926E70949AE402627249735007D40287DE481D7B796402B1364BAA2B89C402DEE441C2E9A1F40308AE99F364F3B"}}
-{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB9A487337B59B33FE0ACD00FE63B973FF06C9CCD5B6AF83FFB2C9310045C6440052A411348AC560161016A3FC9C560CD35EF823FE45F775546A77D3FF2CD9FC44EB9823FFE7804D9E7541C40078992AC5406330161016B3FD37D42AF54B9263FE8465153D5BDBC3FF55ECFE1B2B215400108C3AABD6A60400A253298B81D350161016C3FDA49C41F850ED23FEC6B5D3C9C16EF3FF826C0F341234840030129C5635D7C400D03CF63B6E1A001620169401016619D230D2A40183368CDB0B6D340221E7ECA07D84B402B1364BAA2B89C4034361720F61B9F0162016A4011D41360B922FD401AC767E2A1B65440240926E70949AE402DEE441C2E9A1F403656E35E36D7250162016B4013BF72EA61AF1A401DA0036F88823C402627249735007D40308AE99F364F3B4038B0EC2A5371B30162016C4015DD6B30E4B6E8402062431F5DE40B40287DE481D7B796403249139A3E4F91403B4A380370363001630169403E296F7D9585EA40468062AB5FA9FC4050C908DF6DE2C640590A9E4194C3934062ADD32B565D450163016A4040AAF72905BE5F4048DE5A5694509140528D0166F07374405BACDC5C9943864064A4BE98B5E83E0163016B40426BEB1CDA1FF8404B7C0974D8F5F04054808185223056405E9602D48D06614066D08E3F6365530163016C40445C11E1595DAF404E6023D82DF5E04056A8890384D34A4060E6C36B1A25E9406936D22F67C805"}}
-{"expression":"tanh(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB983D7795F413A"}}
-{"expression":"tanh(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA"}}
-{"expression":"tanh(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA3FD8511573C242D63FDD9353D7568AF33FE12F8292D2CCFC3FE356FB17AF2E923FE53FCA0A748A423FE6EBE982D6605D3FE85EFAB514F3943FE99DB01FDE24053FEAAD4C6D28DCAF3FEB933C726E9B3A3FEC54CCFACFA1183FECF6F9786DF577"}}
-{"expression":"tanh(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA3FD8511573C242D63FDD9353D7568AF33FE12F8292D2CCFC3FE356FB17AF2E923FE53FCA0A748A423FE6EBE982D6605D3FE85EFAB514F3943FE99DB01FDE24053FEAAD4C6D28DCAF3FEB933C726E9B3A3FEC54CCFACFA1183FECF6F9786DF5773FED7E4F0D5DAD303FEDEEDF00D3E7F53FEE4C3C1F9A968E3FEE997F4C3BCD483FEED9505E1BC3D43FEF0DF13843075E3FEF3949A819042D3FEF5CF31E1C81033FEF7A43B1F623503FEF9258260A71C23FEFA61CCB69A6603FEFB655437478D53FEFC3A32D87C3723FEFCE8BD82660E83FEFD77D111A0B003FEFDED130CA91243FEFE4D27BE70B933FEFE9BDF44F7C033FEFEDC5AF87E3383FEFF112C63A90773FEFF3C6EDA3A2963FEFF5FDC948488C3FEFF7CE0126A2893FEFF94A269AEF873FEFFA81708A0B423FEFFB8055F328883FEFFC510CD4C09B3FEFFCFBF24C09553FEFFD87DFFC38C53FEFFDFA721539833FEFFE5840BAA36E3FEFFEA50F0EEA103FEFFEE3F1BF80C23FEFFF176E9994C13FEFFF419668DF113FEFFF641A285DA73FEFFF805C5D55893FEFFF977F4E09A23FEFFFAA70A595BE3FEFFFB9F2FC1E913FEFFFC6A5A500D83FEFFFD10B1303023FEFFFD98E14151B3FEFFFE0861A4EEF3FEFFFE63ABE253C3FEFFFEAE69DD8FE3FEFFFEEB9B79E833FEFFFF1DB56A2C03FEFFFF46BA6B57C3FEFFFF684FEC9B93FEFFFF83CEF8EBF3FEFFFF9A520FD1F3FEFFFFACC07BB5A3FEFFFFBBD79A16D3FEFFFFC832750F23FEFFFFD24FFC2DC3FEFFFFDA981C98F3FEFFFFE15FECCB43FEFFFFE6ED16C4D3FEFFFFEB78A3C733FEFFFFEF314653A3FEFFFFF23D39F083FEFFFFF4BBCBF7C3FEFFFFF6C69D3103FEFFFFF872A91F83FEFFFFF9D11D9663FEFFFFFAF00B37E3FEFFFFFBDAF5F783FEFFFFFC9B4B6923FEFFFFFD38C39F03FEFFFFFDB9B077D3FEFFFFFE233E8D43FEFFFFFE79AA5CE3FEFFFFFEC06BCEB3FEFFFFFEFA59D783FEFFFFFF29C7A5A3FEFFFFFF509C8433FEFFFFFF70676973FEFFFFFF8A6EF9E3FEFFFFFF9FBEA413FEFFFFFFB1315C83FEFFFFFFBF7A6723FEFFFFFFCB2C8913FEFFFFFFD4BFEC73FEFFFFFFDC96F353FEFFFFFFE3022A53FEFFFFFFE8438403FEFFFFFFEC90FED3FEFFFFFFF016CF93FEFFFFFFF2F9279"}}
-{"expression":"tanh(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB983D7795F413A01623FC9439830B3A59001633FD2A4DDA7D914FA"}}
-{"expression":"tanh(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC9439830B3A590016103666F6F3FB983D7795F413A0162036261723FD8511573C242D6016203666F6F3FD2A4DDA7D914FA0163036261723FE12F8292D2CCFC016303666F6F3FDD9353D7568AF3"}}
-{"expression":"tanh(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FDD9353D7568AF3016103626172016A3FE12F8292D2CCFC016103626172016B3FE356FB17AF2E92016103626172016C3FE53FCA0A748A42016103666F6F01693FB983D7795F413A016103666F6F016A3FC9439830B3A590016103666F6F016B3FD2A4DDA7D914FA016103666F6F016C3FD8511573C242D601620362617201693FEB933C726E9B3A016203626172016A3FEC54CCFACFA118016203626172016B3FECF6F9786DF577016203626172016C3FED7E4F0D5DAD30016203666F6F01693FE6EBE982D6605D016203666F6F016A3FE85EFAB514F394016203666F6F016B3FE99DB01FDE2405016203666F6F016C3FEAAD4C6D28DCAF01630362617201693FEF0DF13843075E016303626172016A3FEF3949A819042D016303626172016B3FEF5CF31E1C8103016303626172016C3FEF7A43B1F62350016303666F6F01693FEDEEDF00D3E7F5016303666F6F016A3FEE4C3C1F9A968E016303666F6F016B3FEE997F4C3BCD48016303666F6F016C3FEED9505E1BC3D4"}}
-{"expression":"tanh(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE53FCA0A748A423FE6EBE982D6605D3FE85EFAB514F3943FE99DB01FDE24053FEAAD4C6D28DCAF3FEB933C726E9B3A3FEC54CCFACFA1183FEF3949A819042D3FEF5CF31E1C81033FEF7A43B1F623503FEF9258260A71C23FEFA61CCB69A6603FEFB655437478D53FEFC3A32D87C3723FEFF3C6EDA3A2963FEFF5FDC948488C3FEFF7CE0126A2893FEFF94A269AEF873FEFFA81708A0B423FEFFB8055F328883FEFFC510CD4C09B03666F6F3FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA3FD8511573C242D63FDD9353D7568AF33FE12F8292D2CCFC3FE356FB17AF2E923FECF6F9786DF5773FED7E4F0D5DAD303FEDEEDF00D3E7F53FEE4C3C1F9A968E3FEE997F4C3BCD483FEED9505E1BC3D43FEF0DF13843075E3FEFCE8BD82660E83FEFD77D111A0B003FEFDED130CA91243FEFE4D27BE70B933FEFE9BDF44F7C033FEFEDC5AF87E3383FEFF112C63A9077"}}
-{"expression":"tanh(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB983D7795F413A3FDD9353D7568AF33FE6EBE982D6605D3FEB933C726E9B3A3FEDEEDF00D3E7F50161016A3FC9439830B3A5903FE12F8292D2CCFC3FE85EFAB514F3943FEC54CCFACFA1183FEE4C3C1F9A968E0161016B3FD2A4DDA7D914FA3FE356FB17AF2E923FE99DB01FDE24053FECF6F9786DF5773FEE997F4C3BCD480161016C3FD8511573C242D63FE53FCA0A748A423FEAAD4C6D28DCAF3FED7E4F0D5DAD303FEED9505E1BC3D4016201693FEF0DF13843075E3FEF9258260A71C23FEFCE8BD82660E83FEFE9BDF44F7C033FEFF5FDC948488C0162016A3FEF3949A819042D3FEFA61CCB69A6603FEFD77D111A0B003FEFEDC5AF87E3383FEFF7CE0126A2890162016B3FEF5CF31E1C81033FEFB655437478D53FEFDED130CA91243FEFF112C63A90773FEFF94A269AEF870162016C3FEF7A43B1F623503FEFC3A32D87C3723FEFE4D27BE70B933FEFF3C6EDA3A2963FEFFA81708A0B42016301693FEFFB8055F328883FEFFDFA721539833FEFFF176E9994C13FEFFF977F4E09A23FEFFFD10B1303020163016A3FEFFC510CD4C09B3FEFFE5840BAA36E3FEFFF419668DF113FEFFFAA70A595BE3FEFFFD98E14151B0163016B3FEFFCFBF24C09553FEFFEA50F0EEA103FEFFF641A285DA73FEFFFB9F2FC1E913FEFFFE0861A4EEF0163016C3FEFFD87DFFC38C53FEFFEE3F1BF80C23FEFFF805C5D55893FEFFFC6A5A500D83FEFFFE63ABE253C"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB983D7795F413A"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA3FD8511573C242D63FDD9353D7568AF33FE12F8292D2CCFC3FE356FB17AF2E923FE53FCA0A748A423FE6EBE982D6605D3FE85EFAB514F3943FE99DB01FDE24053FEAAD4C6D28DCAF3FEB933C726E9B3A3FEC54CCFACFA1183FECF6F9786DF577"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA3FD8511573C242D63FDD9353D7568AF33FE12F8292D2CCFC3FE356FB17AF2E923FE53FCA0A748A423FE6EBE982D6605D3FE85EFAB514F3943FE99DB01FDE24053FEAAD4C6D28DCAF3FEB933C726E9B3A3FEC54CCFACFA1183FECF6F9786DF5773FED7E4F0D5DAD303FEDEEDF00D3E7F53FEE4C3C1F9A968E3FEE997F4C3BCD483FEED9505E1BC3D43FEF0DF13843075E3FEF3949A819042D3FEF5CF31E1C81033FEF7A43B1F623503FEF9258260A71C23FEFA61CCB69A6603FEFB655437478D53FEFC3A32D87C3723FEFCE8BD82660E83FEFD77D111A0B003FEFDED130CA91243FEFE4D27BE70B933FEFE9BDF44F7C033FEFEDC5AF87E3383FEFF112C63A90773FEFF3C6EDA3A2963FEFF5FDC948488C3FEFF7CE0126A2893FEFF94A269AEF873FEFFA81708A0B423FEFFB8055F328883FEFFC510CD4C09B3FEFFCFBF24C09553FEFFD87DFFC38C53FEFFDFA721539833FEFFE5840BAA36E3FEFFEA50F0EEA103FEFFEE3F1BF80C23FEFFF176E9994C13FEFFF419668DF113FEFFF641A285DA73FEFFF805C5D55893FEFFF977F4E09A23FEFFFAA70A595BE3FEFFFB9F2FC1E913FEFFFC6A5A500D83FEFFFD10B1303023FEFFFD98E14151B3FEFFFE0861A4EEF3FEFFFE63ABE253C3FEFFFEAE69DD8FE3FEFFFEEB9B79E833FEFFFF1DB56A2C03FEFFFF46BA6B57C3FEFFFF684FEC9B93FEFFFF83CEF8EBF3FEFFFF9A520FD1F3FEFFFFACC07BB5A3FEFFFFBBD79A16D3FEFFFFC832750F23FEFFFFD24FFC2DC3FEFFFFDA981C98F3FEFFFFE15FECCB43FEFFFFE6ED16C4D3FEFFFFEB78A3C733FEFFFFEF314653A3FEFFFFF23D39F083FEFFFFF4BBCBF7C3FEFFFFF6C69D3103FEFFFFF872A91F83FEFFFFF9D11D9663FEFFFFFAF00B37E3FEFFFFFBDAF5F783FEFFFFFC9B4B6923FEFFFFFD38C39F03FEFFFFFDB9B077D3FEFFFFFE233E8D43FEFFFFFE79AA5CE3FEFFFFFEC06BCEB3FEFFFFFEFA59D783FEFFFFFF29C7A5A3FEFFFFFF509C8433FEFFFFFF70676973FEFFFFFF8A6EF9E3FEFFFFFF9FBEA413FEFFFFFFB1315C83FEFFFFFFBF7A6723FEFFFFFFCB2C8913FEFFFFFFD4BFEC73FEFFFFFFDC96F353FEFFFFFFE3022A53FEFFFFFFE8438403FEFFFFFFEC90FED3FEFFFFFFF016CF93FEFFFFFFF2F9279"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB983D7795F413A01623FC9439830B3A59001633FD2A4DDA7D914FA"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC9439830B3A590016103666F6F3FB983D7795F413A0162036261723FD8511573C242D6016203666F6F3FD2A4DDA7D914FA0163036261723FE12F8292D2CCFC016303666F6F3FDD9353D7568AF3"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FDD9353D7568AF3016103626172016A3FE12F8292D2CCFC016103626172016B3FE356FB17AF2E92016103626172016C3FE53FCA0A748A42016103666F6F01693FB983D7795F413A016103666F6F016A3FC9439830B3A590016103666F6F016B3FD2A4DDA7D914FA016103666F6F016C3FD8511573C242D601620362617201693FEB933C726E9B3A016203626172016A3FEC54CCFACFA118016203626172016B3FECF6F9786DF577016203626172016C3FED7E4F0D5DAD30016203666F6F01693FE6EBE982D6605D016203666F6F016A3FE85EFAB514F394016203666F6F016B3FE99DB01FDE2405016203666F6F016C3FEAAD4C6D28DCAF01630362617201693FEF0DF13843075E016303626172016A3FEF3949A819042D016303626172016B3FEF5CF31E1C8103016303626172016C3FEF7A43B1F62350016303666F6F01693FEDEEDF00D3E7F5016303666F6F016A3FEE4C3C1F9A968E016303666F6F016B3FEE997F4C3BCD48016303666F6F016C3FEED9505E1BC3D4"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE53FCA0A748A423FE6EBE982D6605D3FE85EFAB514F3943FE99DB01FDE24053FEAAD4C6D28DCAF3FEB933C726E9B3A3FEC54CCFACFA1183FEF3949A819042D3FEF5CF31E1C81033FEF7A43B1F623503FEF9258260A71C23FEFA61CCB69A6603FEFB655437478D53FEFC3A32D87C3723FEFF3C6EDA3A2963FEFF5FDC948488C3FEFF7CE0126A2893FEFF94A269AEF873FEFFA81708A0B423FEFFB8055F328883FEFFC510CD4C09B03666F6F3FB983D7795F413A3FC9439830B3A5903FD2A4DDA7D914FA3FD8511573C242D63FDD9353D7568AF33FE12F8292D2CCFC3FE356FB17AF2E923FECF6F9786DF5773FED7E4F0D5DAD303FEDEEDF00D3E7F53FEE4C3C1F9A968E3FEE997F4C3BCD483FEED9505E1BC3D43FEF0DF13843075E3FEFCE8BD82660E83FEFD77D111A0B003FEFDED130CA91243FEFE4D27BE70B933FEFE9BDF44F7C033FEFEDC5AF87E3383FEFF112C63A9077"}}
-{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB983D7795F413A3FDD9353D7568AF33FE6EBE982D6605D3FEB933C726E9B3A3FEDEEDF00D3E7F50161016A3FC9439830B3A5903FE12F8292D2CCFC3FE85EFAB514F3943FEC54CCFACFA1183FEE4C3C1F9A968E0161016B3FD2A4DDA7D914FA3FE356FB17AF2E923FE99DB01FDE24053FECF6F9786DF5773FEE997F4C3BCD480161016C3FD8511573C242D63FE53FCA0A748A423FEAAD4C6D28DCAF3FED7E4F0D5DAD303FEED9505E1BC3D4016201693FEF0DF13843075E3FEF9258260A71C23FEFCE8BD82660E83FEFE9BDF44F7C033FEFF5FDC948488C0162016A3FEF3949A819042D3FEFA61CCB69A6603FEFD77D111A0B003FEFEDC5AF87E3383FEFF7CE0126A2890162016B3FEF5CF31E1C81033FEFB655437478D53FEFDED130CA91243FEFF112C63A90773FEFF94A269AEF870162016C3FEF7A43B1F623503FEFC3A32D87C3723FEFE4D27BE70B933FEFF3C6EDA3A2963FEFFA81708A0B42016301693FEFFB8055F328883FEFFDFA721539833FEFFF176E9994C13FEFFF977F4E09A23FEFFFD10B1303020163016A3FEFFC510CD4C09B3FEFFE5840BAA36E3FEFFF419668DF113FEFFFAA70A595BE3FEFFFD98E14151B0163016B3FEFFCFBF24C09553FEFFEA50F0EEA103FEFFF641A285DA73FEFFFB9F2FC1E913FEFFFE0861A4EEF0163016C3FEFFD87DFFC38C53FEFFEE3F1BF80C23FEFFF805C5D55893FEFFFC6A5A500D83FEFFFE63ABE253C"}}
-{"expression":"acos(a)","inputs":{"a":"0x02003FE0CCA12729AFB8"},"result":{"expect":"0x02003FF04A292B02A075"}}
-{"expression":"acos(a)","inputs":{"a":"0x02010178033FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B"},"result":{"expect":"0x02010178033FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A3"}}
-{"expression":"acos(a)","inputs":{"a":"0x02020178030179053FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A97914"},"result":{"expect":"0x02020178030179053FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A33FEDB9D521101D5B3FECC3E9DFD275683FEBCE2484AAE47C3FEAD94D1BC729013FE9E6224E17FF153FE8F5574FE8BE1B3FE8079235D8AAA83FE71D6AB318C1A43FE637693F4D0FF83FE556069E9D4DC33FE479ABC37FED283FE3A2B1FFA9ACBD"}}
-{"expression":"acos(a)","inputs":{"a":"0x0203017803017905017A073FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A933FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF3FEF925599378CD23FEF9CA4D40C82163FEFA5FEB616FE8F3FEFAE798F0E40823FEFB629BE21D26E3FEFBD21D8FB11A83FEFC372D07518CD3FEFC92C130538E23FEFCE5BACD8BFA43FEFD30E65B4D32F3FEFD74FDCAB1CF83FEFDB2AA1BA3C6B3FEFDEA84D73D7203FEFE1D196C3E1BA3FEFE4AE66F5A36A3FEFE745EC1330753FEFE99EA9BBCE223FEFEBBE888D05813FEFEDAAE43934F83FEFEF68986548923FEFF0FC0C65F7393FEFF2693DF385C93FEFF3B3CAE9A9D03FEFF4DEFA27BE023FEFF5EDC3A4177B3FEFF6E2D7C3F19D3FEFF7C0A60819EE3FEFF889631D483C3FEFF93F0E5DE28B3FEFF9E376D1D14B3FEFFA783FB7FEAC3FEFFAFEE4A424463FEFFB78BD3AA3B93FEFFBE7009351453FEFFC4AC84B51D53FEFFCA5134D77C33FEFFCF6C857E1CB3FEFFD40B84505A23FEFFD83A01DC2373FEFFDC02AF994433FEFFDF6F3B191333FEFFE28866A604D3FEFFE5561F907333FEFFE7DF92604AB3FEFFEA2B3D1E27B3FEFFEC3EFFE1C633FEFFEE202BCF6283FEFFEFD390A9CC13FEFFF15D891B6543FEFFF2C205D51B73FEFFF404979F78F3FEFFF52878775093FEFFF63093CD1D33FEFFF71F8DFC0623FEFFF7F7CB0B7D23FEFFF8BB74CCA603FEFFF96C80631433FEFFFA0CB346F893FEFFFA9DA7CD7F33FEFFFB20D142ED33FEFFFB977FA0F2F3FEFFFC02E2EAAC43FEFFFC640E36E19"},"result":{"expect":"0x0203017803017905017A073FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A33FEDB9D521101D5B3FECC3E9DFD275683FEBCE2484AAE47C3FEAD94D1BC729013FE9E6224E17FF153FE8F5574FE8BE1B3FE8079235D8AAA83FE71D6AB318C1A43FE637693F4D0FF83FE556069E9D4DC33FE479ABC37FED283FE3A2B1FFA9ACBD3FE2D1637843BBA63FE205FBD106D6FF3FE140A901FC29FC3FE0818C4C49E6003FDF917686EAB7453FDE2C81C389C2013FDCD43D3F9685023FDB889B1118E1B43FDA497E8A09BFC33FD916BE363A9F533FD7F025BA663A7B3FD6D57790AAB7303FD5C66EA04F51FB3FD4C2BFB00C3DED3FD3CA1AB319300C3FD2DC2BF21514323FD1F89D1170130D3FD11F15F768EB5E3FD04F3D93EFE0D83FCF117519C78DC23FCD9667A24F622C3FCC2CA22A0EE4173FCAD37674967B893FC98A394C771A6F3FC850430F622CA13FC724F01E47BA963FC607A135043F403FC4F7BBACDB21753FC3F4A9ACA8726D3FC2FDDA4965FAE03FC212C19955C5183FC132D8BBDFCDD73FC05D9DD7F195CC3FBF252824EA1FB13FBDA286FC8144963FBC32720D67200C3FBAD40CAC114FED3FB986837088B6803FB8490BF70598723FB71AE49C9BAF6C3FB5FB543913F3723FB4E9A9D6E60AEF3FB3E53C6A1D177C3FB2ED6A86D26E423FB2019A17CC06C73FB1213815B3AC083FB04BB83F46918F3FAF0129A59567253FAD7E9C920F31573FAC0ED623E596F63FAAB0EEA669E27F3FA964095145816F3FA82753CD79F7B03FA6FA05BE877F803FA5DB604FC76E7E3FA4CAADC5FE28B43FA3C741152054EA3FA2D0757A40DA8D3FA1E5AE1997BA8D3FA10655A08DCE053FA031DDEBB621C23F9ECF7F613611FE3F9D4EF4568613B33F9BE1259EA118183F9A8529F93C1B143F993A236E7066833F97FF3EC52D117B3F96D3B2FFE82B4B3F95B6C0DF51F92D3F94A7B26ACD00923F93A5DA7E6F2F3E3F92B0945E5189CF3F91C7434EF50BF83F90E95232850E213F9016332AC0ECBB3F8E9ABE7EB24BFF3F8D1CAC11194AC63F8BB13ABBAB8AD63F8A578210EFD2243F890EA4F381A1B53F87D5D109A270893F86AC3E37888C453F85912E2018A5703F8483EBABC100C03F8383CA95288E243F829026FB6FA8BA3F81A864F9BBB3153F80CBF043D041A53F7FF4778EEDBCE83F7E6582A4F5A65F"}}
-{"expression":"acos(a)","inputs":{"a":"0x010101780301613FE0CCA12729AFB801623FE1983D7795F41401633FE261D545E46A8B"},"result":{"expect":"0x010101780301613FF04A292B02A07501623FEFA2DD25F534F101633FEEAF1748E5C5A3"}}
-{"expression":"acos(a)","inputs":{"a":"0x010201780179060161036261723FE1983D7795F414016103666F6F3FE0CCA12729AFB80162036261723FE32873061674B2016203666F6F3FE261D545E46A8B0163036261723FE4A93769F6453E016303666F6F3FE3EB2FD4D34391"},"result":{"expect":"0x010201780179060161036261723FEFA2DD25F534F1016103666F6F3FF04A292B02A0750162036261723FEDB9D521101D5B016203666F6F3FEEAF1748E5C5A30163036261723FEBCE2484AAE47C016303666F6F3FECC3E9DFD27568"}}
-{"expression":"acos(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE3EB2FD4D34391016103626172016A3FE4A93769F6453E016103626172016B3FE561CB52A19476016103626172016C3FE614455CF090B6016103666F6F01693FE0CCA12729AFB8016103666F6F016A3FE1983D7795F414016103666F6F016B3FE261D545E46A8B016103666F6F016C3FE32873061674B201620362617201693FE9258F68070E5E016203626172016A3FE9AB7D8BD79748016203626172016B3FEA2991F2A97914016203626172016C3FEA9FE5053A4520016203666F6F01693FE6C0192BDC382E016203666F6F016A3FE764D4F5D5A2BD016203666F6F016B3FE802217B20C902016203666F6F016C3FE897C14969667D01630362617201693FEC8247621BC0C8016303626172016A3FECCED80FEF1202016303626172016B3FED15854CD0D92B016303626172016C3FED56A636946E58016303666F6F01693FEB0E9EDC4324D8016303666F6F016A3FEB75F4C16B302F016303666F6F016B3FEBD626C0B5B606016303666F6F016C3FEC2F7D5A8A79C9"},"result":{"expect":"0x010301780179017A1801610362617201693FECC3E9DFD27568016103626172016A3FEBCE2484AAE47C016103626172016B3FEAD94D1BC72901016103626172016C3FE9E6224E17FF15016103666F6F01693FF04A292B02A075016103666F6F016A3FEFA2DD25F534F1016103666F6F016B3FEEAF1748E5C5A3016103666F6F016C3FEDB9D521101D5B01620362617201693FE556069E9D4DC3016203626172016A3FE479ABC37FED28016203626172016B3FE3A2B1FFA9ACBD016203626172016C3FE2D1637843BBA6016203666F6F01693FE8F5574FE8BE1B016203666F6F016A3FE8079235D8AAA8016203666F6F016B3FE71D6AB318C1A4016203666F6F016C3FE637693F4D0FF801630362617201693FDE2C81C389C201016303626172016A3FDCD43D3F968502016303626172016B3FDB889B1118E1B4016303626172016C3FDA497E8A09BFC3016303666F6F01693FE205FBD106D6FF016303666F6F016A3FE140A901FC29FC016303666F6F016B3FE0818C4C49E600016303666F6F016C3FDF917686EAB745"}}
-{"expression":"acos(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF03666F6F3FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A93"},"result":{"expect":"0x0301017902017803017A0702036261723FE9E6224E17FF153FE8F5574FE8BE1B3FE8079235D8AAA83FE71D6AB318C1A43FE637693F4D0FF83FE556069E9D4DC33FE479ABC37FED283FDCD43D3F9685023FDB889B1118E1B43FDA497E8A09BFC33FD916BE363A9F533FD7F025BA663A7B3FD6D57790AAB7303FD5C66EA04F51FB3FCD9667A24F622C3FCC2CA22A0EE4173FCAD37674967B893FC98A394C771A6F3FC850430F622CA13FC724F01E47BA963FC607A135043F4003666F6F3FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A33FEDB9D521101D5B3FECC3E9DFD275683FEBCE2484AAE47C3FEAD94D1BC729013FE3A2B1FFA9ACBD3FE2D1637843BBA63FE205FBD106D6FF3FE140A901FC29FC3FE0818C4C49E6003FDF917686EAB7453FDE2C81C389C2013FD4C2BFB00C3DED3FD3CA1AB319300C3FD2DC2BF21514323FD1F89D1170130D3FD11F15F768EB5E3FD04F3D93EFE0D83FCF117519C78DC2"}}
-{"expression":"acos(a)","inputs":{"a":"0x03020178017A010179050C016101693FE0CCA12729AFB83FE3EB2FD4D343913FE6C0192BDC382E3FE9258F68070E5E3FEB0E9EDC4324D80161016A3FE1983D7795F4143FE4A93769F6453E3FE764D4F5D5A2BD3FE9AB7D8BD797483FEB75F4C16B302F0161016B3FE261D545E46A8B3FE561CB52A194763FE802217B20C9023FEA2991F2A979143FEBD626C0B5B6060161016C3FE32873061674B23FE614455CF090B63FE897C14969667D3FEA9FE5053A45203FEC2F7D5A8A79C9016201693FEC8247621BC0C83FED9291DDB596F83FEE54C20D06AA953FEEDC99CF2C9D4D3FEF3A59F801F5820162016A3FECCED80FEF12023FEDC99E39374D9E3FEE7B7CBC36FABD3FEEF76F8069F3FA3FEF4CBFA61DE6A30162016B3FED15854CD0D92B3FEDFC1F4CE6E8223FEE9EDD88B9D8AF3FEF0FDFCBF19A933FEF5D77DCF758080162016C3FED56A636946E583FEE2A667D67D08C3FEEBF2786AED6983FEF261E0FCD4B463FEF6CA82F0DE1EA016301693FEF7A732E4B69463FEFA5FEB616FE8F3FEFC372D07518CD3FEFD74FDCAB1CF83FEFE4AE66F5A36A0163016A3FEF86F89C2183AF3FEFAE798F0E40823FEFC92C130538E23FEFDB2AA1BA3C6B3FEFE745EC1330750163016B3FEF925599378CD23FEFB629BE21D26E3FEFCE5BACD8BFA43FEFDEA84D73D7203FEFE99EA9BBCE220163016C3FEF9CA4D40C82163FEFBD21D8FB11A83FEFD30E65B4D32F3FEFE1D196C3E1BA3FEFEBBE888D0581"},"result":{"expect":"0x03020178017A010179050C016101693FF04A292B02A0753FECC3E9DFD275683FE8F5574FE8BE1B3FE556069E9D4DC33FE205FBD106D6FF0161016A3FEFA2DD25F534F13FEBCE2484AAE47C3FE8079235D8AAA83FE479ABC37FED283FE140A901FC29FC0161016B3FEEAF1748E5C5A33FEAD94D1BC729013FE71D6AB318C1A43FE3A2B1FFA9ACBD3FE0818C4C49E6000161016C3FEDB9D521101D5B3FE9E6224E17FF153FE637693F4D0FF83FE2D1637843BBA63FDF917686EAB745016201693FDE2C81C389C2013FD916BE363A9F533FD4C2BFB00C3DED3FD11F15F768EB5E3FCC2CA22A0EE4170162016A3FDCD43D3F9685023FD7F025BA663A7B3FD3CA1AB319300C3FD04F3D93EFE0D83FCAD37674967B890162016B3FDB889B1118E1B43FD6D57790AAB7303FD2DC2BF21514323FCF117519C78DC23FC98A394C771A6F0162016C3FDA497E8A09BFC33FD5C66EA04F51FB3FD1F89D1170130D3FCD9667A24F622C3FC850430F622CA1016301693FC724F01E47BA963FC2FDDA4965FAE03FBF252824EA1FB13FB986837088B6803FB4E9A9D6E60AEF0163016A3FC607A135043F403FC212C19955C5183FBDA286FC8144963FB8490BF70598723FB3E53C6A1D177C0163016B3FC4F7BBACDB21753FC132D8BBDFCDD73FBC32720D67200C3FB71AE49C9BAF6C3FB2ED6A86D26E420163016C3FC3F4A9ACA8726D3FC05D9DD7F195CC3FBAD40CAC114FED3FB5FB543913F3723FB2019A17CC06C7"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x02003FE0CCA12729AFB8"},"result":{"expect":"0x02003FF04A292B02A075"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x02010178033FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B"},"result":{"expect":"0x02010178033FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A3"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x02020178030179053FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A97914"},"result":{"expect":"0x02020178030179053FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A33FEDB9D521101D5B3FECC3E9DFD275683FEBCE2484AAE47C3FEAD94D1BC729013FE9E6224E17FF153FE8F5574FE8BE1B3FE8079235D8AAA83FE71D6AB318C1A43FE637693F4D0FF83FE556069E9D4DC33FE479ABC37FED283FE3A2B1FFA9ACBD"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x0203017803017905017A073FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A933FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF3FEF925599378CD23FEF9CA4D40C82163FEFA5FEB616FE8F3FEFAE798F0E40823FEFB629BE21D26E3FEFBD21D8FB11A83FEFC372D07518CD3FEFC92C130538E23FEFCE5BACD8BFA43FEFD30E65B4D32F3FEFD74FDCAB1CF83FEFDB2AA1BA3C6B3FEFDEA84D73D7203FEFE1D196C3E1BA3FEFE4AE66F5A36A3FEFE745EC1330753FEFE99EA9BBCE223FEFEBBE888D05813FEFEDAAE43934F83FEFEF68986548923FEFF0FC0C65F7393FEFF2693DF385C93FEFF3B3CAE9A9D03FEFF4DEFA27BE023FEFF5EDC3A4177B3FEFF6E2D7C3F19D3FEFF7C0A60819EE3FEFF889631D483C3FEFF93F0E5DE28B3FEFF9E376D1D14B3FEFFA783FB7FEAC3FEFFAFEE4A424463FEFFB78BD3AA3B93FEFFBE7009351453FEFFC4AC84B51D53FEFFCA5134D77C33FEFFCF6C857E1CB3FEFFD40B84505A23FEFFD83A01DC2373FEFFDC02AF994433FEFFDF6F3B191333FEFFE28866A604D3FEFFE5561F907333FEFFE7DF92604AB3FEFFEA2B3D1E27B3FEFFEC3EFFE1C633FEFFEE202BCF6283FEFFEFD390A9CC13FEFFF15D891B6543FEFFF2C205D51B73FEFFF404979F78F3FEFFF52878775093FEFFF63093CD1D33FEFFF71F8DFC0623FEFFF7F7CB0B7D23FEFFF8BB74CCA603FEFFF96C80631433FEFFFA0CB346F893FEFFFA9DA7CD7F33FEFFFB20D142ED33FEFFFB977FA0F2F3FEFFFC02E2EAAC43FEFFFC640E36E19"},"result":{"expect":"0x0203017803017905017A073FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A33FEDB9D521101D5B3FECC3E9DFD275683FEBCE2484AAE47C3FEAD94D1BC729013FE9E6224E17FF153FE8F5574FE8BE1B3FE8079235D8AAA83FE71D6AB318C1A43FE637693F4D0FF83FE556069E9D4DC33FE479ABC37FED283FE3A2B1FFA9ACBD3FE2D1637843BBA63FE205FBD106D6FF3FE140A901FC29FC3FE0818C4C49E6003FDF917686EAB7453FDE2C81C389C2013FDCD43D3F9685023FDB889B1118E1B43FDA497E8A09BFC33FD916BE363A9F533FD7F025BA663A7B3FD6D57790AAB7303FD5C66EA04F51FB3FD4C2BFB00C3DED3FD3CA1AB319300C3FD2DC2BF21514323FD1F89D1170130D3FD11F15F768EB5E3FD04F3D93EFE0D83FCF117519C78DC23FCD9667A24F622C3FCC2CA22A0EE4173FCAD37674967B893FC98A394C771A6F3FC850430F622CA13FC724F01E47BA963FC607A135043F403FC4F7BBACDB21753FC3F4A9ACA8726D3FC2FDDA4965FAE03FC212C19955C5183FC132D8BBDFCDD73FC05D9DD7F195CC3FBF252824EA1FB13FBDA286FC8144963FBC32720D67200C3FBAD40CAC114FED3FB986837088B6803FB8490BF70598723FB71AE49C9BAF6C3FB5FB543913F3723FB4E9A9D6E60AEF3FB3E53C6A1D177C3FB2ED6A86D26E423FB2019A17CC06C73FB1213815B3AC083FB04BB83F46918F3FAF0129A59567253FAD7E9C920F31573FAC0ED623E596F63FAAB0EEA669E27F3FA964095145816F3FA82753CD79F7B03FA6FA05BE877F803FA5DB604FC76E7E3FA4CAADC5FE28B43FA3C741152054EA3FA2D0757A40DA8D3FA1E5AE1997BA8D3FA10655A08DCE053FA031DDEBB621C23F9ECF7F613611FE3F9D4EF4568613B33F9BE1259EA118183F9A8529F93C1B143F993A236E7066833F97FF3EC52D117B3F96D3B2FFE82B4B3F95B6C0DF51F92D3F94A7B26ACD00923F93A5DA7E6F2F3E3F92B0945E5189CF3F91C7434EF50BF83F90E95232850E213F9016332AC0ECBB3F8E9ABE7EB24BFF3F8D1CAC11194AC63F8BB13ABBAB8AD63F8A578210EFD2243F890EA4F381A1B53F87D5D109A270893F86AC3E37888C453F85912E2018A5703F8483EBABC100C03F8383CA95288E243F829026FB6FA8BA3F81A864F9BBB3153F80CBF043D041A53F7FF4778EEDBCE83F7E6582A4F5A65F"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x010101780301613FE0CCA12729AFB801623FE1983D7795F41401633FE261D545E46A8B"},"result":{"expect":"0x010101780301613FF04A292B02A07501623FEFA2DD25F534F101633FEEAF1748E5C5A3"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x010201780179060161036261723FE1983D7795F414016103666F6F3FE0CCA12729AFB80162036261723FE32873061674B2016203666F6F3FE261D545E46A8B0163036261723FE4A93769F6453E016303666F6F3FE3EB2FD4D34391"},"result":{"expect":"0x010201780179060161036261723FEFA2DD25F534F1016103666F6F3FF04A292B02A0750162036261723FEDB9D521101D5B016203666F6F3FEEAF1748E5C5A30163036261723FEBCE2484AAE47C016303666F6F3FECC3E9DFD27568"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE3EB2FD4D34391016103626172016A3FE4A93769F6453E016103626172016B3FE561CB52A19476016103626172016C3FE614455CF090B6016103666F6F01693FE0CCA12729AFB8016103666F6F016A3FE1983D7795F414016103666F6F016B3FE261D545E46A8B016103666F6F016C3FE32873061674B201620362617201693FE9258F68070E5E016203626172016A3FE9AB7D8BD79748016203626172016B3FEA2991F2A97914016203626172016C3FEA9FE5053A4520016203666F6F01693FE6C0192BDC382E016203666F6F016A3FE764D4F5D5A2BD016203666F6F016B3FE802217B20C902016203666F6F016C3FE897C14969667D01630362617201693FEC8247621BC0C8016303626172016A3FECCED80FEF1202016303626172016B3FED15854CD0D92B016303626172016C3FED56A636946E58016303666F6F01693FEB0E9EDC4324D8016303666F6F016A3FEB75F4C16B302F016303666F6F016B3FEBD626C0B5B606016303666F6F016C3FEC2F7D5A8A79C9"},"result":{"expect":"0x010301780179017A1801610362617201693FECC3E9DFD27568016103626172016A3FEBCE2484AAE47C016103626172016B3FEAD94D1BC72901016103626172016C3FE9E6224E17FF15016103666F6F01693FF04A292B02A075016103666F6F016A3FEFA2DD25F534F1016103666F6F016B3FEEAF1748E5C5A3016103666F6F016C3FEDB9D521101D5B01620362617201693FE556069E9D4DC3016203626172016A3FE479ABC37FED28016203626172016B3FE3A2B1FFA9ACBD016203626172016C3FE2D1637843BBA6016203666F6F01693FE8F5574FE8BE1B016203666F6F016A3FE8079235D8AAA8016203666F6F016B3FE71D6AB318C1A4016203666F6F016C3FE637693F4D0FF801630362617201693FDE2C81C389C201016303626172016A3FDCD43D3F968502016303626172016B3FDB889B1118E1B4016303626172016C3FDA497E8A09BFC3016303666F6F01693FE205FBD106D6FF016303666F6F016A3FE140A901FC29FC016303666F6F016B3FE0818C4C49E600016303666F6F016C3FDF917686EAB745"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF03666F6F3FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A93"},"result":{"expect":"0x0301017902017803017A0702036261723FE9E6224E17FF153FE8F5574FE8BE1B3FE8079235D8AAA83FE71D6AB318C1A43FE637693F4D0FF83FE556069E9D4DC33FE479ABC37FED283FDCD43D3F9685023FDB889B1118E1B43FDA497E8A09BFC33FD916BE363A9F533FD7F025BA663A7B3FD6D57790AAB7303FD5C66EA04F51FB3FCD9667A24F622C3FCC2CA22A0EE4173FCAD37674967B893FC98A394C771A6F3FC850430F622CA13FC724F01E47BA963FC607A135043F4003666F6F3FF04A292B02A0753FEFA2DD25F534F13FEEAF1748E5C5A33FEDB9D521101D5B3FECC3E9DFD275683FEBCE2484AAE47C3FEAD94D1BC729013FE3A2B1FFA9ACBD3FE2D1637843BBA63FE205FBD106D6FF3FE140A901FC29FC3FE0818C4C49E6003FDF917686EAB7453FDE2C81C389C2013FD4C2BFB00C3DED3FD3CA1AB319300C3FD2DC2BF21514323FD1F89D1170130D3FD11F15F768EB5E3FD04F3D93EFE0D83FCF117519C78DC2"}}
-{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x03020178017A010179050C016101693FE0CCA12729AFB83FE3EB2FD4D343913FE6C0192BDC382E3FE9258F68070E5E3FEB0E9EDC4324D80161016A3FE1983D7795F4143FE4A93769F6453E3FE764D4F5D5A2BD3FE9AB7D8BD797483FEB75F4C16B302F0161016B3FE261D545E46A8B3FE561CB52A194763FE802217B20C9023FEA2991F2A979143FEBD626C0B5B6060161016C3FE32873061674B23FE614455CF090B63FE897C14969667D3FEA9FE5053A45203FEC2F7D5A8A79C9016201693FEC8247621BC0C83FED9291DDB596F83FEE54C20D06AA953FEEDC99CF2C9D4D3FEF3A59F801F5820162016A3FECCED80FEF12023FEDC99E39374D9E3FEE7B7CBC36FABD3FEEF76F8069F3FA3FEF4CBFA61DE6A30162016B3FED15854CD0D92B3FEDFC1F4CE6E8223FEE9EDD88B9D8AF3FEF0FDFCBF19A933FEF5D77DCF758080162016C3FED56A636946E583FEE2A667D67D08C3FEEBF2786AED6983FEF261E0FCD4B463FEF6CA82F0DE1EA016301693FEF7A732E4B69463FEFA5FEB616FE8F3FEFC372D07518CD3FEFD74FDCAB1CF83FEFE4AE66F5A36A0163016A3FEF86F89C2183AF3FEFAE798F0E40823FEFC92C130538E23FEFDB2AA1BA3C6B3FEFE745EC1330750163016B3FEF925599378CD23FEFB629BE21D26E3FEFCE5BACD8BFA43FEFDEA84D73D7203FEFE99EA9BBCE220163016C3FEF9CA4D40C82163FEFBD21D8FB11A83FEFD30E65B4D32F3FEFE1D196C3E1BA3FEFEBBE888D0581"},"result":{"expect":"0x03020178017A010179050C016101693FF04A292B02A0753FECC3E9DFD275683FE8F5574FE8BE1B3FE556069E9D4DC33FE205FBD106D6FF0161016A3FEFA2DD25F534F13FEBCE2484AAE47C3FE8079235D8AAA83FE479ABC37FED283FE140A901FC29FC0161016B3FEEAF1748E5C5A33FEAD94D1BC729013FE71D6AB318C1A43FE3A2B1FFA9ACBD3FE0818C4C49E6000161016C3FEDB9D521101D5B3FE9E6224E17FF153FE637693F4D0FF83FE2D1637843BBA63FDF917686EAB745016201693FDE2C81C389C2013FD916BE363A9F533FD4C2BFB00C3DED3FD11F15F768EB5E3FCC2CA22A0EE4170162016A3FDCD43D3F9685023FD7F025BA663A7B3FD3CA1AB319300C3FD04F3D93EFE0D83FCAD37674967B890162016B3FDB889B1118E1B43FD6D57790AAB7303FD2DC2BF21514323FCF117519C78DC23FC98A394C771A6F0162016C3FDA497E8A09BFC33FD5C66EA04F51FB3FD1F89D1170130D3FCD9667A24F622C3FC850430F622CA1016301693FC724F01E47BA963FC2FDDA4965FAE03FBF252824EA1FB13FB986837088B6803FB4E9A9D6E60AEF0163016A3FC607A135043F403FC212C19955C5183FBDA286FC8144963FB8490BF70598723FB3E53C6A1D177C0163016B3FC4F7BBACDB21753FC132D8BBDFCDD73FBC32720D67200C3FB71AE49C9BAF6C3FB2ED6A86D26E420163016C3FC3F4A9ACA8726D3FC05D9DD7F195CC3FBAD40CAC114FED3FB5FB543913F3723FB2019A17CC06C7"}}
-{"expression":"asin(a)","inputs":{"a":"0x02003FE0CCA12729AFB8"},"result":{"expect":"0x02003FE1AFA452831947"}}
-{"expression":"asin(a)","inputs":{"a":"0x02010178033FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B"},"result":{"expect":"0x02010178033FE1AFA4528319473FE2A119829325403FE394DF5FA2948D"}}
-{"expression":"asin(a)","inputs":{"a":"0x02020178030179053FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A97914"},"result":{"expect":"0x02020178030179053FE1AFA4528319473FE2A119829325403FE394DF5FA2948D3FE48A2187783CD63FE5800CC8B5E4C93FE675D223DD75B43FE76AA98CC1312F3FE85DD45A705B1B3FE94E9F589F9C163FEA3C6472AFAF883FEB268BF56F988D3FEC0C8D693B4A383FECEDF009EB0C6D3FEDCA4AE5086D093FEEA144A8DEAD73"}}
-{"expression":"asin(a)","inputs":{"a":"0x0203017803017905017A073FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A933FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF3FEF925599378CD23FEF9CA4D40C82163FEFA5FEB616FE8F3FEFAE798F0E40823FEFB629BE21D26E3FEFBD21D8FB11A83FEFC372D07518CD3FEFC92C130538E23FEFCE5BACD8BFA43FEFD30E65B4D32F3FEFD74FDCAB1CF83FEFDB2AA1BA3C6B3FEFDEA84D73D7203FEFE1D196C3E1BA3FEFE4AE66F5A36A3FEFE745EC1330753FEFE99EA9BBCE223FEFEBBE888D05813FEFEDAAE43934F83FEFEF68986548923FEFF0FC0C65F7393FEFF2693DF385C93FEFF3B3CAE9A9D03FEFF4DEFA27BE023FEFF5EDC3A4177B3FEFF6E2D7C3F19D3FEFF7C0A60819EE3FEFF889631D483C3FEFF93F0E5DE28B3FEFF9E376D1D14B3FEFFA783FB7FEAC3FEFFAFEE4A424463FEFFB78BD3AA3B93FEFFBE7009351453FEFFC4AC84B51D53FEFFCA5134D77C33FEFFCF6C857E1CB3FEFFD40B84505A23FEFFD83A01DC2373FEFFDC02AF994433FEFFDF6F3B191333FEFFE28866A604D3FEFFE5561F907333FEFFE7DF92604AB3FEFFEA2B3D1E27B3FEFFEC3EFFE1C633FEFFEE202BCF6283FEFFEFD390A9CC13FEFFF15D891B6543FEFFF2C205D51B73FEFFF404979F78F3FEFFF52878775093FEFFF63093CD1D33FEFFF71F8DFC0623FEFFF7F7CB0B7D23FEFFF8BB74CCA603FEFFF96C80631433FEFFFA0CB346F893FEFFFA9DA7CD7F33FEFFFB20D142ED33FEFFFB977FA0F2F3FEFFFC02E2EAAC43FEFFFC640E36E19"},"result":{"expect":"0x0203017803017905017A073FE1AFA4528319473FE2A119829325403FE394DF5FA2948D3FE48A2187783CD63FE5800CC8B5E4C93FE675D223DD75B43FE76AA98CC1312F3FE85DD45A705B1B3FE94E9F589F9C163FEA3C6472AFAF883FEB268BF56F988D3FEC0C8D693B4A383FECEDF009EB0C6D3FEDCA4AE5086D093FEEA144A8DEAD733FEF729330449E8A3FF01EFD6BC0C1993FF081A6D346181A3FF0E1352E1F3A183FF13D9DB2897F473FF196DAE361BC983FF1ECEC045E8BD83FF23FD48FFDF4AB3FF28F9BB1C1BD283FF2DC4BC6B585443FF325F1E5AA9E7A3FF36C9D70197F4C3FF3B05FAC3058993FF3F14B68411D9D3FF42F74A77DE1153FF46AF057BEE80C3FF4A3D40FE828553FF4DA35D669F2413FF50E2BEF4834E23FF53FCCB10B3B603FF56F2E5FFA40D33FF59C670F0250953FF5C78C85B15DA73FF5F0B42AB549CA3FF617F2F257E7843FF63D5D507B35C63FF661072DA3A5303FF68303DEA8C8EA3FF6A3661EAF1ECB3FF6C2400B176DBC3FF6DFA3211974753FF6FBA03CC8335D3FF716479945FA5F3FF72FA8D1F58B1D3FF747D2E47C18CF3FF75ED4336DBB173FF774BA898318193FF789931D3BA1B03FF79D6A94D3D3913FF7B04D0A7A72223FF7C24610B2EDE13FF7D360B6D5CC693FF7E3A78DA25BA13FF7F324ABD706343FF801E1B2C76CAC3FF80FE7D2E8F2583FF81D3FD04FC3FF3FF829F2071781DF3FF836066FB3B38E3FF84184A32500613FF84C73DF10DE043FF856DB09BA010D3FF860C0B5D85D5B3FF86A2B264FF11C3FF8732051C5F1A43FF87BA5E6143BD33FF883C14B9B2A713FF88B77A87226443FF892CDE3776F443FF899C8A73FBEA83FF8A06C64E67C0A3FF8A6BD56BF54D03FF8ACBF82EA14C93FF8B276BDC9A8B83FF8B7E6AC5F3CAC3FF8BD12C68A6B7E3FF8C1FE592F78D23FF8C6AC88448C6B3FF8CB2050C6E5343FF8CF5C8A98F9163FF8D363EA4A705B3FF8D73902CAE6F13FF8DADE470858E83FF8DE560B7A18E03FF8E1A2879929653FF8E4C5D746C8803FF8E7C1FC21FA833FF8EA98DECCD6033FF8ED4C50224D743FF8EFDE0A5D29D53FF8F24FB230E8373FF8F4A2D7D51C003FF8F6D8F803FBCD3FF8F8F37CECAB173FF8FAF3BF19DBFC3FF8FCDB064D4DC73FF8FEAA8A50B5B23FF9006373BC8C953FF90206DCB53F5B3FF90395D19F3772"}}
-{"expression":"asin(a)","inputs":{"a":"0x010101780301613FE0CCA12729AFB801623FE1983D7795F41401633FE261D545E46A8B"},"result":{"expect":"0x010101780301613FE1AFA45283194701623FE2A1198293254001633FE394DF5FA2948D"}}
-{"expression":"asin(a)","inputs":{"a":"0x010201780179060161036261723FE1983D7795F414016103666F6F3FE0CCA12729AFB80162036261723FE32873061674B2016203666F6F3FE261D545E46A8B0163036261723FE4A93769F6453E016303666F6F3FE3EB2FD4D34391"},"result":{"expect":"0x010201780179060161036261723FE2A11982932540016103666F6F3FE1AFA4528319470162036261723FE48A2187783CD6016203666F6F3FE394DF5FA2948D0163036261723FE675D223DD75B4016303666F6F3FE5800CC8B5E4C9"}}
-{"expression":"asin(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE3EB2FD4D34391016103626172016A3FE4A93769F6453E016103626172016B3FE561CB52A19476016103626172016C3FE614455CF090B6016103666F6F01693FE0CCA12729AFB8016103666F6F016A3FE1983D7795F414016103666F6F016B3FE261D545E46A8B016103666F6F016C3FE32873061674B201620362617201693FE9258F68070E5E016203626172016A3FE9AB7D8BD79748016203626172016B3FEA2991F2A97914016203626172016C3FEA9FE5053A4520016203666F6F01693FE6C0192BDC382E016203666F6F016A3FE764D4F5D5A2BD016203666F6F016B3FE802217B20C902016203666F6F016C3FE897C14969667D01630362617201693FEC8247621BC0C8016303626172016A3FECCED80FEF1202016303626172016B3FED15854CD0D92B016303626172016C3FED56A636946E58016303666F6F01693FEB0E9EDC4324D8016303666F6F016A3FEB75F4C16B302F016303666F6F016B3FEBD626C0B5B606016303666F6F016C3FEC2F7D5A8A79C9"},"result":{"expect":"0x010301780179017A1801610362617201693FE5800CC8B5E4C9016103626172016A3FE675D223DD75B4016103626172016B3FE76AA98CC1312F016103626172016C3FE85DD45A705B1B016103666F6F01693FE1AFA452831947016103666F6F016A3FE2A11982932540016103666F6F016B3FE394DF5FA2948D016103666F6F016C3FE48A2187783CD601620362617201693FECEDF009EB0C6D016203626172016A3FEDCA4AE5086D09016203626172016B3FEEA144A8DEAD73016203626172016C3FEF729330449E8A016203666F6F01693FE94E9F589F9C16016203666F6F016A3FEA3C6472AFAF88016203666F6F016B3FEB268BF56F988D016203666F6F016C3FEC0C8D693B4A3801630362617201693FF196DAE361BC98016303626172016A3FF1ECEC045E8BD8016303626172016B3FF23FD48FFDF4AB016303626172016C3FF28F9BB1C1BD28016303666F6F01693FF01EFD6BC0C199016303666F6F016A3FF081A6D346181A016303666F6F016B3FF0E1352E1F3A18016303666F6F016C3FF13D9DB2897F47"}}
-{"expression":"asin(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF03666F6F3FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A93"},"result":{"expect":"0x0301017902017803017A0702036261723FE85DD45A705B1B3FE94E9F589F9C163FEA3C6472AFAF883FEB268BF56F988D3FEC0C8D693B4A383FECEDF009EB0C6D3FEDCA4AE5086D093FF1ECEC045E8BD83FF23FD48FFDF4AB3FF28F9BB1C1BD283FF2DC4BC6B585443FF325F1E5AA9E7A3FF36C9D70197F4C3FF3B05FAC3058993FF56F2E5FFA40D33FF59C670F0250953FF5C78C85B15DA73FF5F0B42AB549CA3FF617F2F257E7843FF63D5D507B35C63FF661072DA3A53003666F6F3FE1AFA4528319473FE2A119829325403FE394DF5FA2948D3FE48A2187783CD63FE5800CC8B5E4C93FE675D223DD75B43FE76AA98CC1312F3FEEA144A8DEAD733FEF729330449E8A3FF01EFD6BC0C1993FF081A6D346181A3FF0E1352E1F3A183FF13D9DB2897F473FF196DAE361BC983FF3F14B68411D9D3FF42F74A77DE1153FF46AF057BEE80C3FF4A3D40FE828553FF4DA35D669F2413FF50E2BEF4834E23FF53FCCB10B3B60"}}
-{"expression":"asin(a)","inputs":{"a":"0x03020178017A010179050C016101693FE0CCA12729AFB83FE3EB2FD4D343913FE6C0192BDC382E3FE9258F68070E5E3FEB0E9EDC4324D80161016A3FE1983D7795F4143FE4A93769F6453E3FE764D4F5D5A2BD3FE9AB7D8BD797483FEB75F4C16B302F0161016B3FE261D545E46A8B3FE561CB52A194763FE802217B20C9023FEA2991F2A979143FEBD626C0B5B6060161016C3FE32873061674B23FE614455CF090B63FE897C14969667D3FEA9FE5053A45203FEC2F7D5A8A79C9016201693FEC8247621BC0C83FED9291DDB596F83FEE54C20D06AA953FEEDC99CF2C9D4D3FEF3A59F801F5820162016A3FECCED80FEF12023FEDC99E39374D9E3FEE7B7CBC36FABD3FEEF76F8069F3FA3FEF4CBFA61DE6A30162016B3FED15854CD0D92B3FEDFC1F4CE6E8223FEE9EDD88B9D8AF3FEF0FDFCBF19A933FEF5D77DCF758080162016C3FED56A636946E583FEE2A667D67D08C3FEEBF2786AED6983FEF261E0FCD4B463FEF6CA82F0DE1EA016301693FEF7A732E4B69463FEFA5FEB616FE8F3FEFC372D07518CD3FEFD74FDCAB1CF83FEFE4AE66F5A36A0163016A3FEF86F89C2183AF3FEFAE798F0E40823FEFC92C130538E23FEFDB2AA1BA3C6B3FEFE745EC1330750163016B3FEF925599378CD23FEFB629BE21D26E3FEFCE5BACD8BFA43FEFDEA84D73D7203FEFE99EA9BBCE220163016C3FEF9CA4D40C82163FEFBD21D8FB11A83FEFD30E65B4D32F3FEFE1D196C3E1BA3FEFEBBE888D0581"},"result":{"expect":"0x03020178017A010179050C016101693FE1AFA4528319473FE5800CC8B5E4C93FE94E9F589F9C163FECEDF009EB0C6D3FF01EFD6BC0C1990161016A3FE2A119829325403FE675D223DD75B43FEA3C6472AFAF883FEDCA4AE5086D093FF081A6D346181A0161016B3FE394DF5FA2948D3FE76AA98CC1312F3FEB268BF56F988D3FEEA144A8DEAD733FF0E1352E1F3A180161016C3FE48A2187783CD63FE85DD45A705B1B3FEC0C8D693B4A383FEF729330449E8A3FF13D9DB2897F47016201693FF196DAE361BC983FF2DC4BC6B585443FF3F14B68411D9D3FF4DA35D669F2413FF59C670F0250950162016A3FF1ECEC045E8BD83FF325F1E5AA9E7A3FF42F74A77DE1153FF50E2BEF4834E23FF5C78C85B15DA70162016B3FF23FD48FFDF4AB3FF36C9D70197F4C3FF46AF057BEE80C3FF53FCCB10B3B603FF5F0B42AB549CA0162016C3FF28F9BB1C1BD283FF3B05FAC3058993FF4A3D40FE828553FF56F2E5FFA40D33FF617F2F257E784016301693FF63D5D507B35C63FF6C2400B176DBC3FF72FA8D1F58B1D3FF789931D3BA1B03FF7D360B6D5CC690163016A3FF661072DA3A5303FF6DFA3211974753FF747D2E47C18CF3FF79D6A94D3D3913FF7E3A78DA25BA10163016B3FF68303DEA8C8EA3FF6FBA03CC8335D3FF75ED4336DBB173FF7B04D0A7A72223FF7F324ABD706340163016C3FF6A3661EAF1ECB3FF716479945FA5F3FF774BA898318193FF7C24610B2EDE13FF801E1B2C76CAC"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x02003FE0CCA12729AFB8"},"result":{"expect":"0x02003FE1AFA452831947"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x02010178033FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B"},"result":{"expect":"0x02010178033FE1AFA4528319473FE2A119829325403FE394DF5FA2948D"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x02020178030179053FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A97914"},"result":{"expect":"0x02020178030179053FE1AFA4528319473FE2A119829325403FE394DF5FA2948D3FE48A2187783CD63FE5800CC8B5E4C93FE675D223DD75B43FE76AA98CC1312F3FE85DD45A705B1B3FE94E9F589F9C163FEA3C6472AFAF883FEB268BF56F988D3FEC0C8D693B4A383FECEDF009EB0C6D3FEDCA4AE5086D093FEEA144A8DEAD73"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x0203017803017905017A073FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A933FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF3FEF925599378CD23FEF9CA4D40C82163FEFA5FEB616FE8F3FEFAE798F0E40823FEFB629BE21D26E3FEFBD21D8FB11A83FEFC372D07518CD3FEFC92C130538E23FEFCE5BACD8BFA43FEFD30E65B4D32F3FEFD74FDCAB1CF83FEFDB2AA1BA3C6B3FEFDEA84D73D7203FEFE1D196C3E1BA3FEFE4AE66F5A36A3FEFE745EC1330753FEFE99EA9BBCE223FEFEBBE888D05813FEFEDAAE43934F83FEFEF68986548923FEFF0FC0C65F7393FEFF2693DF385C93FEFF3B3CAE9A9D03FEFF4DEFA27BE023FEFF5EDC3A4177B3FEFF6E2D7C3F19D3FEFF7C0A60819EE3FEFF889631D483C3FEFF93F0E5DE28B3FEFF9E376D1D14B3FEFFA783FB7FEAC3FEFFAFEE4A424463FEFFB78BD3AA3B93FEFFBE7009351453FEFFC4AC84B51D53FEFFCA5134D77C33FEFFCF6C857E1CB3FEFFD40B84505A23FEFFD83A01DC2373FEFFDC02AF994433FEFFDF6F3B191333FEFFE28866A604D3FEFFE5561F907333FEFFE7DF92604AB3FEFFEA2B3D1E27B3FEFFEC3EFFE1C633FEFFEE202BCF6283FEFFEFD390A9CC13FEFFF15D891B6543FEFFF2C205D51B73FEFFF404979F78F3FEFFF52878775093FEFFF63093CD1D33FEFFF71F8DFC0623FEFFF7F7CB0B7D23FEFFF8BB74CCA603FEFFF96C80631433FEFFFA0CB346F893FEFFFA9DA7CD7F33FEFFFB20D142ED33FEFFFB977FA0F2F3FEFFFC02E2EAAC43FEFFFC640E36E19"},"result":{"expect":"0x0203017803017905017A073FE1AFA4528319473FE2A119829325403FE394DF5FA2948D3FE48A2187783CD63FE5800CC8B5E4C93FE675D223DD75B43FE76AA98CC1312F3FE85DD45A705B1B3FE94E9F589F9C163FEA3C6472AFAF883FEB268BF56F988D3FEC0C8D693B4A383FECEDF009EB0C6D3FEDCA4AE5086D093FEEA144A8DEAD733FEF729330449E8A3FF01EFD6BC0C1993FF081A6D346181A3FF0E1352E1F3A183FF13D9DB2897F473FF196DAE361BC983FF1ECEC045E8BD83FF23FD48FFDF4AB3FF28F9BB1C1BD283FF2DC4BC6B585443FF325F1E5AA9E7A3FF36C9D70197F4C3FF3B05FAC3058993FF3F14B68411D9D3FF42F74A77DE1153FF46AF057BEE80C3FF4A3D40FE828553FF4DA35D669F2413FF50E2BEF4834E23FF53FCCB10B3B603FF56F2E5FFA40D33FF59C670F0250953FF5C78C85B15DA73FF5F0B42AB549CA3FF617F2F257E7843FF63D5D507B35C63FF661072DA3A5303FF68303DEA8C8EA3FF6A3661EAF1ECB3FF6C2400B176DBC3FF6DFA3211974753FF6FBA03CC8335D3FF716479945FA5F3FF72FA8D1F58B1D3FF747D2E47C18CF3FF75ED4336DBB173FF774BA898318193FF789931D3BA1B03FF79D6A94D3D3913FF7B04D0A7A72223FF7C24610B2EDE13FF7D360B6D5CC693FF7E3A78DA25BA13FF7F324ABD706343FF801E1B2C76CAC3FF80FE7D2E8F2583FF81D3FD04FC3FF3FF829F2071781DF3FF836066FB3B38E3FF84184A32500613FF84C73DF10DE043FF856DB09BA010D3FF860C0B5D85D5B3FF86A2B264FF11C3FF8732051C5F1A43FF87BA5E6143BD33FF883C14B9B2A713FF88B77A87226443FF892CDE3776F443FF899C8A73FBEA83FF8A06C64E67C0A3FF8A6BD56BF54D03FF8ACBF82EA14C93FF8B276BDC9A8B83FF8B7E6AC5F3CAC3FF8BD12C68A6B7E3FF8C1FE592F78D23FF8C6AC88448C6B3FF8CB2050C6E5343FF8CF5C8A98F9163FF8D363EA4A705B3FF8D73902CAE6F13FF8DADE470858E83FF8DE560B7A18E03FF8E1A2879929653FF8E4C5D746C8803FF8E7C1FC21FA833FF8EA98DECCD6033FF8ED4C50224D743FF8EFDE0A5D29D53FF8F24FB230E8373FF8F4A2D7D51C003FF8F6D8F803FBCD3FF8F8F37CECAB173FF8FAF3BF19DBFC3FF8FCDB064D4DC73FF8FEAA8A50B5B23FF9006373BC8C953FF90206DCB53F5B3FF90395D19F3772"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x010101780301613FE0CCA12729AFB801623FE1983D7795F41401633FE261D545E46A8B"},"result":{"expect":"0x010101780301613FE1AFA45283194701623FE2A1198293254001633FE394DF5FA2948D"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x010201780179060161036261723FE1983D7795F414016103666F6F3FE0CCA12729AFB80162036261723FE32873061674B2016203666F6F3FE261D545E46A8B0163036261723FE4A93769F6453E016303666F6F3FE3EB2FD4D34391"},"result":{"expect":"0x010201780179060161036261723FE2A11982932540016103666F6F3FE1AFA4528319470162036261723FE48A2187783CD6016203666F6F3FE394DF5FA2948D0163036261723FE675D223DD75B4016303666F6F3FE5800CC8B5E4C9"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE3EB2FD4D34391016103626172016A3FE4A93769F6453E016103626172016B3FE561CB52A19476016103626172016C3FE614455CF090B6016103666F6F01693FE0CCA12729AFB8016103666F6F016A3FE1983D7795F414016103666F6F016B3FE261D545E46A8B016103666F6F016C3FE32873061674B201620362617201693FE9258F68070E5E016203626172016A3FE9AB7D8BD79748016203626172016B3FEA2991F2A97914016203626172016C3FEA9FE5053A4520016203666F6F01693FE6C0192BDC382E016203666F6F016A3FE764D4F5D5A2BD016203666F6F016B3FE802217B20C902016203666F6F016C3FE897C14969667D01630362617201693FEC8247621BC0C8016303626172016A3FECCED80FEF1202016303626172016B3FED15854CD0D92B016303626172016C3FED56A636946E58016303666F6F01693FEB0E9EDC4324D8016303666F6F016A3FEB75F4C16B302F016303666F6F016B3FEBD626C0B5B606016303666F6F016C3FEC2F7D5A8A79C9"},"result":{"expect":"0x010301780179017A1801610362617201693FE5800CC8B5E4C9016103626172016A3FE675D223DD75B4016103626172016B3FE76AA98CC1312F016103626172016C3FE85DD45A705B1B016103666F6F01693FE1AFA452831947016103666F6F016A3FE2A11982932540016103666F6F016B3FE394DF5FA2948D016103666F6F016C3FE48A2187783CD601620362617201693FECEDF009EB0C6D016203626172016A3FEDCA4AE5086D09016203626172016B3FEEA144A8DEAD73016203626172016C3FEF729330449E8A016203666F6F01693FE94E9F589F9C16016203666F6F016A3FEA3C6472AFAF88016203666F6F016B3FEB268BF56F988D016203666F6F016C3FEC0C8D693B4A3801630362617201693FF196DAE361BC98016303626172016A3FF1ECEC045E8BD8016303626172016B3FF23FD48FFDF4AB016303626172016C3FF28F9BB1C1BD28016303666F6F01693FF01EFD6BC0C199016303666F6F016A3FF081A6D346181A016303666F6F016B3FF0E1352E1F3A18016303666F6F016C3FF13D9DB2897F47"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667D3FE9258F68070E5E3FE9AB7D8BD797483FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9E3FEDFC1F4CE6E8223FEE2A667D67D08C3FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF03666F6F3FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8B3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FA3FEF0FDFCBF19A93"},"result":{"expect":"0x0301017902017803017A0702036261723FE85DD45A705B1B3FE94E9F589F9C163FEA3C6472AFAF883FEB268BF56F988D3FEC0C8D693B4A383FECEDF009EB0C6D3FEDCA4AE5086D093FF1ECEC045E8BD83FF23FD48FFDF4AB3FF28F9BB1C1BD283FF2DC4BC6B585443FF325F1E5AA9E7A3FF36C9D70197F4C3FF3B05FAC3058993FF56F2E5FFA40D33FF59C670F0250953FF5C78C85B15DA73FF5F0B42AB549CA3FF617F2F257E7843FF63D5D507B35C63FF661072DA3A53003666F6F3FE1AFA4528319473FE2A119829325403FE394DF5FA2948D3FE48A2187783CD63FE5800CC8B5E4C93FE675D223DD75B43FE76AA98CC1312F3FEEA144A8DEAD733FEF729330449E8A3FF01EFD6BC0C1993FF081A6D346181A3FF0E1352E1F3A183FF13D9DB2897F473FF196DAE361BC983FF3F14B68411D9D3FF42F74A77DE1153FF46AF057BEE80C3FF4A3D40FE828553FF4DA35D669F2413FF50E2BEF4834E23FF53FCCB10B3B60"}}
-{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x03020178017A010179050C016101693FE0CCA12729AFB83FE3EB2FD4D343913FE6C0192BDC382E3FE9258F68070E5E3FEB0E9EDC4324D80161016A3FE1983D7795F4143FE4A93769F6453E3FE764D4F5D5A2BD3FE9AB7D8BD797483FEB75F4C16B302F0161016B3FE261D545E46A8B3FE561CB52A194763FE802217B20C9023FEA2991F2A979143FEBD626C0B5B6060161016C3FE32873061674B23FE614455CF090B63FE897C14969667D3FEA9FE5053A45203FEC2F7D5A8A79C9016201693FEC8247621BC0C83FED9291DDB596F83FEE54C20D06AA953FEEDC99CF2C9D4D3FEF3A59F801F5820162016A3FECCED80FEF12023FEDC99E39374D9E3FEE7B7CBC36FABD3FEEF76F8069F3FA3FEF4CBFA61DE6A30162016B3FED15854CD0D92B3FEDFC1F4CE6E8223FEE9EDD88B9D8AF3FEF0FDFCBF19A933FEF5D77DCF758080162016C3FED56A636946E583FEE2A667D67D08C3FEEBF2786AED6983FEF261E0FCD4B463FEF6CA82F0DE1EA016301693FEF7A732E4B69463FEFA5FEB616FE8F3FEFC372D07518CD3FEFD74FDCAB1CF83FEFE4AE66F5A36A0163016A3FEF86F89C2183AF3FEFAE798F0E40823FEFC92C130538E23FEFDB2AA1BA3C6B3FEFE745EC1330750163016B3FEF925599378CD23FEFB629BE21D26E3FEFCE5BACD8BFA43FEFDEA84D73D7203FEFE99EA9BBCE220163016C3FEF9CA4D40C82163FEFBD21D8FB11A83FEFD30E65B4D32F3FEFE1D196C3E1BA3FEFEBBE888D0581"},"result":{"expect":"0x03020178017A010179050C016101693FE1AFA4528319473FE5800CC8B5E4C93FE94E9F589F9C163FECEDF009EB0C6D3FF01EFD6BC0C1990161016A3FE2A119829325403FE675D223DD75B43FEA3C6472AFAF883FEDCA4AE5086D093FF081A6D346181A0161016B3FE394DF5FA2948D3FE76AA98CC1312F3FEB268BF56F988D3FEEA144A8DEAD733FF0E1352E1F3A180161016C3FE48A2187783CD63FE85DD45A705B1B3FEC0C8D693B4A383FEF729330449E8A3FF13D9DB2897F47016201693FF196DAE361BC983FF2DC4BC6B585443FF3F14B68411D9D3FF4DA35D669F2413FF59C670F0250950162016A3FF1ECEC045E8BD83FF325F1E5AA9E7A3FF42F74A77DE1153FF50E2BEF4834E23FF5C78C85B15DA70162016B3FF23FD48FFDF4AB3FF36C9D70197F4C3FF46AF057BEE80C3FF53FCCB10B3B603FF5F0B42AB549CA0162016C3FF28F9BB1C1BD283FF3B05FAC3058993FF4A3D40FE828553FF56F2E5FFA40D33FF617F2F257E784016301693FF63D5D507B35C63FF6C2400B176DBC3FF72FA8D1F58B1D3FF789931D3BA1B03FF7D360B6D5CC690163016A3FF661072DA3A5303FF6DFA3211974753FF747D2E47C18CF3FF79D6A94D3D3913FF7E3A78DA25BA10163016B3FF68303DEA8C8EA3FF6FBA03CC8335D3FF75ED4336DBB173FF7B04D0A7A72223FF7F324ABD706340163016C3FF6A3661EAF1ECB3FF716479945FA5F3FF774BA898318193FF7C24610B2EDE13FF801E1B2C76CAC"}}
-{"expression":"atan(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB983E282E2CC4D"}}
-{"expression":"atan(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF06"}}
-{"expression":"atan(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF063FD85A376B677DC03FDDAC670561BB4F3FE14B1DD5F90CE13FE38B112D7BD4AD3FE5977A5103EA933FE77338A80603BE3FE921FB54442D183FEAA7C8545183CD3FEC08AAE496EFA63FED488143AD8C443FEE6AE1355353CF3FEF730BD281F69B"}}
-{"expression":"atan(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF063FD85A376B677DC03FDDAC670561BB4F3FE14B1DD5F90CE13FE38B112D7BD4AD3FE5977A5103EA933FE77338A80603BE3FE921FB54442D183FEAA7C8545183CD3FEC08AAE496EFA63FED488143AD8C443FEE6AE1355353CF3FEF730BD281F69B3FF031F57E54ADBE3FF0A00A3BCE369F3FF104E80200BA003FF1618F66769C693FF1B6E192EBBE443FF205A4030058993FF24E83FA9B4E483FF29219A49709A13FF2D0EAD60663953FF30B6D796A4DA83FF34209A8C109803FF3751B7ED2AEC13FF3A4F4A8668B693FF3D1DDBDAD64F03FF3FC176B7A85603FF423DB7312CEBC3FF4495D868232253FF46CCC069C173F3FF48E50A711C89D3FF4AE10FC6589A53FF4CC2EF6F1A7103FF4E8C94DBF54E53FF503FBDB7F996E3FF51DDFEF9EBC943FF5368C951E9CFD3FF54E16D0A3F5133FF56491D6EC41CD3FF57A0F3CB41AD73FF58E9F20EF0D553FF5A25052114E603FF5B5306F0FEB7C3FF5C74C04A4AF413FF5D8AEA74F117A3FF5E9630A7AAA8E3FF5F973152548573FF608E7F45288B83FF617CA2B906EFA3FF62621A3C77CB43FF633F5B889326A3FF6414D44094C7C3FF64E2EA9E86D153FF65A9FE0F207753FF666A67BEB2F363FF67247B18C4D843FF67D8863BC99BD3FF6886D2623789F3FF692FA442186183FF69D33C640FCC23FF6A71D772B60CB3FF6B0BAE830C0703FF6BA0F756B7B143FF6C31E498A4A303FF6CBEA614937203FF6D4768EA1396A3FF6DCC57BB565FD3FF6E4D9AD83DD983FF6ECB5866003F03FF6F45B483AF72D3FF6FBCD16BEBE403FF7030CF94031973FF70A1CDC8B3BC93FF710FE948CB4CC3FF717B3DDDCC9553FF71E3E5F2C979F3FF7249FAA996A213FF72AD93EE7BEE23FF730EC88A816253FF736DAE34754A93FF73CA59A0C5BE23FF7424DE90454D43FF747D4FDDF08893FF74D3BF8BC82613FF75283ECED1D003FF757ADE1A501BE3FF75CBAD2A40BD53FF761ABB0D2EC513FF7668162D6591B3FF76B3CC59900DB3FF76FDEACCCEE113FF77467E364F6013FF778D92C06C36F3FF77D33417601AC3FF78176D6F922013FF785A498B82BF83FF789BD2C1600543FF78DC130046E823FF791B13D53751C3FF7958DE6FBFF433FF79957BA666AB33FF79D0F3FAD1C92"}}
-{"expression":"atan(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB983E282E2CC4D01623FC94441F8F7260C01633FD2A73A661EAF06"}}
-{"expression":"atan(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC94441F8F7260C016103666F6F3FB983E282E2CC4D0162036261723FD85A376B677DC0016203666F6F3FD2A73A661EAF060163036261723FE14B1DD5F90CE1016303666F6F3FDDAC670561BB4F"}}
-{"expression":"atan(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FDDAC670561BB4F016103626172016A3FE14B1DD5F90CE1016103626172016B3FE38B112D7BD4AD016103626172016C3FE5977A5103EA93016103666F6F01693FB983E282E2CC4D016103666F6F016A3FC94441F8F7260C016103666F6F016B3FD2A73A661EAF06016103666F6F016C3FD85A376B677DC001620362617201693FED488143AD8C44016203626172016A3FEE6AE1355353CF016203626172016B3FEF730BD281F69B016203626172016C3FF031F57E54ADBE016203666F6F01693FE77338A80603BE016203666F6F016A3FE921FB54442D18016203666F6F016B3FEAA7C8545183CD016203666F6F016C3FEC08AAE496EFA601630362617201693FF205A403005899016303626172016A3FF24E83FA9B4E48016303626172016B3FF29219A49709A1016303626172016C3FF2D0EAD6066395016303666F6F01693FF0A00A3BCE369F016303666F6F016A3FF104E80200BA00016303666F6F016B3FF1618F66769C69016303666F6F016C3FF1B6E192EBBE44"}}
-{"expression":"atan(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE5977A5103EA933FE77338A80603BE3FE921FB54442D183FEAA7C8545183CD3FEC08AAE496EFA63FED488143AD8C443FEE6AE1355353CF3FF24E83FA9B4E483FF29219A49709A13FF2D0EAD60663953FF30B6D796A4DA83FF34209A8C109803FF3751B7ED2AEC13FF3A4F4A8668B693FF4CC2EF6F1A7103FF4E8C94DBF54E53FF503FBDB7F996E3FF51DDFEF9EBC943FF5368C951E9CFD3FF54E16D0A3F5133FF56491D6EC41CD03666F6F3FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF063FD85A376B677DC03FDDAC670561BB4F3FE14B1DD5F90CE13FE38B112D7BD4AD3FEF730BD281F69B3FF031F57E54ADBE3FF0A00A3BCE369F3FF104E80200BA003FF1618F66769C693FF1B6E192EBBE443FF205A4030058993FF3D1DDBDAD64F03FF3FC176B7A85603FF423DB7312CEBC3FF4495D868232253FF46CCC069C173F3FF48E50A711C89D3FF4AE10FC6589A5"}}
-{"expression":"atan(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB983E282E2CC4D3FDDAC670561BB4F3FE77338A80603BE3FED488143AD8C443FF0A00A3BCE369F0161016A3FC94441F8F7260C3FE14B1DD5F90CE13FE921FB54442D183FEE6AE1355353CF3FF104E80200BA000161016B3FD2A73A661EAF063FE38B112D7BD4AD3FEAA7C8545183CD3FEF730BD281F69B3FF1618F66769C690161016C3FD85A376B677DC03FE5977A5103EA933FEC08AAE496EFA63FF031F57E54ADBE3FF1B6E192EBBE44016201693FF205A4030058993FF30B6D796A4DA83FF3D1DDBDAD64F03FF46CCC069C173F3FF4E8C94DBF54E50162016A3FF24E83FA9B4E483FF34209A8C109803FF3FC176B7A85603FF48E50A711C89D3FF503FBDB7F996E0162016B3FF29219A49709A13FF3751B7ED2AEC13FF423DB7312CEBC3FF4AE10FC6589A53FF51DDFEF9EBC940162016C3FF2D0EAD60663953FF3A4F4A8668B693FF4495D868232253FF4CC2EF6F1A7103FF5368C951E9CFD016301693FF54E16D0A3F5133FF5A25052114E603FF5E9630A7AAA8E3FF62621A3C77CB43FF65A9FE0F207750163016A3FF56491D6EC41CD3FF5B5306F0FEB7C3FF5F973152548573FF633F5B889326A3FF666A67BEB2F360163016B3FF57A0F3CB41AD73FF5C74C04A4AF413FF608E7F45288B83FF6414D44094C7C3FF67247B18C4D840163016C3FF58E9F20EF0D553FF5D8AEA74F117A3FF617CA2B906EFA3FF64E2EA9E86D153FF67D8863BC99BD"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB983E282E2CC4D"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF06"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF063FD85A376B677DC03FDDAC670561BB4F3FE14B1DD5F90CE13FE38B112D7BD4AD3FE5977A5103EA933FE77338A80603BE3FE921FB54442D183FEAA7C8545183CD3FEC08AAE496EFA63FED488143AD8C443FEE6AE1355353CF3FEF730BD281F69B"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF063FD85A376B677DC03FDDAC670561BB4F3FE14B1DD5F90CE13FE38B112D7BD4AD3FE5977A5103EA933FE77338A80603BE3FE921FB54442D183FEAA7C8545183CD3FEC08AAE496EFA63FED488143AD8C443FEE6AE1355353CF3FEF730BD281F69B3FF031F57E54ADBE3FF0A00A3BCE369F3FF104E80200BA003FF1618F66769C693FF1B6E192EBBE443FF205A4030058993FF24E83FA9B4E483FF29219A49709A13FF2D0EAD60663953FF30B6D796A4DA83FF34209A8C109803FF3751B7ED2AEC13FF3A4F4A8668B693FF3D1DDBDAD64F03FF3FC176B7A85603FF423DB7312CEBC3FF4495D868232253FF46CCC069C173F3FF48E50A711C89D3FF4AE10FC6589A53FF4CC2EF6F1A7103FF4E8C94DBF54E53FF503FBDB7F996E3FF51DDFEF9EBC943FF5368C951E9CFD3FF54E16D0A3F5133FF56491D6EC41CD3FF57A0F3CB41AD73FF58E9F20EF0D553FF5A25052114E603FF5B5306F0FEB7C3FF5C74C04A4AF413FF5D8AEA74F117A3FF5E9630A7AAA8E3FF5F973152548573FF608E7F45288B83FF617CA2B906EFA3FF62621A3C77CB43FF633F5B889326A3FF6414D44094C7C3FF64E2EA9E86D153FF65A9FE0F207753FF666A67BEB2F363FF67247B18C4D843FF67D8863BC99BD3FF6886D2623789F3FF692FA442186183FF69D33C640FCC23FF6A71D772B60CB3FF6B0BAE830C0703FF6BA0F756B7B143FF6C31E498A4A303FF6CBEA614937203FF6D4768EA1396A3FF6DCC57BB565FD3FF6E4D9AD83DD983FF6ECB5866003F03FF6F45B483AF72D3FF6FBCD16BEBE403FF7030CF94031973FF70A1CDC8B3BC93FF710FE948CB4CC3FF717B3DDDCC9553FF71E3E5F2C979F3FF7249FAA996A213FF72AD93EE7BEE23FF730EC88A816253FF736DAE34754A93FF73CA59A0C5BE23FF7424DE90454D43FF747D4FDDF08893FF74D3BF8BC82613FF75283ECED1D003FF757ADE1A501BE3FF75CBAD2A40BD53FF761ABB0D2EC513FF7668162D6591B3FF76B3CC59900DB3FF76FDEACCCEE113FF77467E364F6013FF778D92C06C36F3FF77D33417601AC3FF78176D6F922013FF785A498B82BF83FF789BD2C1600543FF78DC130046E823FF791B13D53751C3FF7958DE6FBFF433FF79957BA666AB33FF79D0F3FAD1C92"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB983E282E2CC4D01623FC94441F8F7260C01633FD2A73A661EAF06"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC94441F8F7260C016103666F6F3FB983E282E2CC4D0162036261723FD85A376B677DC0016203666F6F3FD2A73A661EAF060163036261723FE14B1DD5F90CE1016303666F6F3FDDAC670561BB4F"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FDDAC670561BB4F016103626172016A3FE14B1DD5F90CE1016103626172016B3FE38B112D7BD4AD016103626172016C3FE5977A5103EA93016103666F6F01693FB983E282E2CC4D016103666F6F016A3FC94441F8F7260C016103666F6F016B3FD2A73A661EAF06016103666F6F016C3FD85A376B677DC001620362617201693FED488143AD8C44016203626172016A3FEE6AE1355353CF016203626172016B3FEF730BD281F69B016203626172016C3FF031F57E54ADBE016203666F6F01693FE77338A80603BE016203666F6F016A3FE921FB54442D18016203666F6F016B3FEAA7C8545183CD016203666F6F016C3FEC08AAE496EFA601630362617201693FF205A403005899016303626172016A3FF24E83FA9B4E48016303626172016B3FF29219A49709A1016303626172016C3FF2D0EAD6066395016303666F6F01693FF0A00A3BCE369F016303666F6F016A3FF104E80200BA00016303666F6F016B3FF1618F66769C69016303666F6F016C3FF1B6E192EBBE44"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE5977A5103EA933FE77338A80603BE3FE921FB54442D183FEAA7C8545183CD3FEC08AAE496EFA63FED488143AD8C443FEE6AE1355353CF3FF24E83FA9B4E483FF29219A49709A13FF2D0EAD60663953FF30B6D796A4DA83FF34209A8C109803FF3751B7ED2AEC13FF3A4F4A8668B693FF4CC2EF6F1A7103FF4E8C94DBF54E53FF503FBDB7F996E3FF51DDFEF9EBC943FF5368C951E9CFD3FF54E16D0A3F5133FF56491D6EC41CD03666F6F3FB983E282E2CC4D3FC94441F8F7260C3FD2A73A661EAF063FD85A376B677DC03FDDAC670561BB4F3FE14B1DD5F90CE13FE38B112D7BD4AD3FEF730BD281F69B3FF031F57E54ADBE3FF0A00A3BCE369F3FF104E80200BA003FF1618F66769C693FF1B6E192EBBE443FF205A4030058993FF3D1DDBDAD64F03FF3FC176B7A85603FF423DB7312CEBC3FF4495D868232253FF46CCC069C173F3FF48E50A711C89D3FF4AE10FC6589A5"}}
-{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB983E282E2CC4D3FDDAC670561BB4F3FE77338A80603BE3FED488143AD8C443FF0A00A3BCE369F0161016A3FC94441F8F7260C3FE14B1DD5F90CE13FE921FB54442D183FEE6AE1355353CF3FF104E80200BA000161016B3FD2A73A661EAF063FE38B112D7BD4AD3FEAA7C8545183CD3FEF730BD281F69B3FF1618F66769C690161016C3FD85A376B677DC03FE5977A5103EA933FEC08AAE496EFA63FF031F57E54ADBE3FF1B6E192EBBE44016201693FF205A4030058993FF30B6D796A4DA83FF3D1DDBDAD64F03FF46CCC069C173F3FF4E8C94DBF54E50162016A3FF24E83FA9B4E483FF34209A8C109803FF3FC176B7A85603FF48E50A711C89D3FF503FBDB7F996E0162016B3FF29219A49709A13FF3751B7ED2AEC13FF423DB7312CEBC3FF4AE10FC6589A53FF51DDFEF9EBC940162016C3FF2D0EAD60663953FF3A4F4A8668B693FF4495D868232253FF4CC2EF6F1A7103FF5368C951E9CFD016301693FF54E16D0A3F5133FF5A25052114E603FF5E9630A7AAA8E3FF62621A3C77CB43FF65A9FE0F207750163016A3FF56491D6EC41CD3FF5B5306F0FEB7C3FF5F973152548573FF633F5B889326A3FF666A67BEB2F360163016B3FF57A0F3CB41AD73FF5C74C04A4AF413FF608E7F45288B83FF6414D44094C7C3FF67247B18C4D840163016C3FF58E9F20EF0D553FF5D8AEA74F117A3FF617CA2B906EFA3FF64E2EA9E86D153FF67D8863BC99BD"}}
-{"expression":"exp(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF1AEC7B35A00D4"}}
-{"expression":"exp(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A96"}}
-{"expression":"exp(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A963FF7DE8392FBBFE03FFA61298E1E069C3FFD27660B11A9EF40001C2A612689874001CDE866FE46E94003AD44655C78BC4005BF0A8B145769400808883244D593400A8F99761065A4400D5AB83615F8B44010388657115A474011ED3FE64FC541"}}
-{"expression":"exp(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A963FF7DE8392FBBFE03FFA61298E1E069C3FFD27660B11A9EF40001C2A612689874001CDE866FE46E94003AD44655C78BC4005BF0A8B145769400808883244D593400A8F99761065A4400D5AB83615F8B44010388657115A474011ED3FE64FC5414013CFE7BB5B37EC4015E552770DF8A7401832D6C8EFEE85401ABE5B1CD863F6401D8E64B8D4DDAE4020551439081D4F40220CCE91C40E5F4023F2C80AEF884D40260BDDC649CA6840285D6FD931E0BB402AED6F125C7CB5402DC26C32572A3E403071D45EEC224240322C94CA7A81FE403415E5BF6FB106403632ACEF67FE3D40388853E624B794403B1CD5E7807B7B403DF6CF42BDA46840408EC721396BDB40424C92F23D78074044394144EEEC81404659C069D9983C4048B38373C9473C404B4C902E273A58404E2B8E8B42F3B64050ABECD907C03440526CC96B836D7D40545CDB083EB51440568118ADE1DEAA4058DEFF0708C2FF405B7C9E793462BB405E60AAAE3D91634060C945E00BBAFC40628D389970338F406480B376F013E34066A8B63497CC0A40690AC725B6564C406BAD015C8E318C406E96244F21BBF64070E6D29097E18C4072ADE0DFD620AF4074A4CAFF54F2234076D09977E783D1407936DC5690C08F407BDDB96D1F3E59407ECBFC12836E5640810493459DB8EE4082CEC2A33743CC4084C92210816C894086F8C2F293C9A14089633F2143F3F0408C0EC740D845BD408F02329E185A4F409122885AAEDDAA4092EFDE48C699A54094EDB91A4D293A4097213320377B2840998FF00E6AB6D5409C402B6EB1F6AD409F38C898B9E68540A140B22BFE1DAC40A311343669444A40A512908D54AFF940A749EA7D470C6E40A9BCEFA790485240AC71E68EAEC33440AF6FBEAA67302240B15F11166093F940B332C4D2B7C4A140B537A8DAFAC4B740B772E9871206EB40B9EA3E7732078E40BCA3F939DCB46040BFA7157C470F8240C17DA5774EC66640C3549084FF362D40C55D027569C4A840C79C30BBC48B4840CA17DD08C11DC140CCD6640A57410540CFDECDB8AA213740D19C6FACE5C55940D37697B5428D1440D5829DCF95056040D7C5C09A68D57240DA45CBE8A42BA440DD09279B49287040E00B740586690140E1BB7015E84D3B"}}
-{"expression":"exp(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF1AEC7B35A00D401623FF38ADD9E58AC8D01633FF599058C8C1A96"}}
-{"expression":"exp(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FF38ADD9E58AC8D016103666F6F3FF1AEC7B35A00D40162036261723FF7DE8392FBBFE0016203666F6F3FF599058C8C1A960163036261723FFD27660B11A9EF016303666F6F3FFA61298E1E069C"}}
-{"expression":"exp(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FFA61298E1E069C016103626172016A3FFD27660B11A9EF016103626172016B40001C2A61268987016103626172016C4001CDE866FE46E9016103666F6F01693FF1AEC7B35A00D4016103666F6F016A3FF38ADD9E58AC8D016103666F6F016B3FF599058C8C1A96016103666F6F016C3FF7DE8392FBBFE00162036261720169400D5AB83615F8B4016203626172016A4010388657115A47016203626172016B4011ED3FE64FC541016203626172016C4013CFE7BB5B37EC016203666F6F01694003AD44655C78BC016203666F6F016A4005BF0A8B145769016203666F6F016B400808883244D593016203666F6F016C400A8F99761065A401630362617201694020551439081D4F016303626172016A40220CCE91C40E5F016303626172016B4023F2C80AEF884D016303626172016C40260BDDC649CA68016303666F6F01694015E552770DF8A7016303666F6F016A401832D6C8EFEE85016303666F6F016B401ABE5B1CD863F6016303666F6F016C401D8E64B8D4DDAE"}}
-{"expression":"exp(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261724001CDE866FE46E94003AD44655C78BC4005BF0A8B145769400808883244D593400A8F99761065A4400D5AB83615F8B44010388657115A4740220CCE91C40E5F4023F2C80AEF884D40260BDDC649CA6840285D6FD931E0BB402AED6F125C7CB5402DC26C32572A3E403071D45EEC224240424C92F23D78074044394144EEEC81404659C069D9983C4048B38373C9473C404B4C902E273A58404E2B8E8B42F3B64050ABECD907C03403666F6F3FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A963FF7DE8392FBBFE03FFA61298E1E069C3FFD27660B11A9EF40001C2A612689874011ED3FE64FC5414013CFE7BB5B37EC4015E552770DF8A7401832D6C8EFEE85401ABE5B1CD863F6401D8E64B8D4DDAE4020551439081D4F40322C94CA7A81FE403415E5BF6FB106403632ACEF67FE3D40388853E624B794403B1CD5E7807B7B403DF6CF42BDA46840408EC721396BDB"}}
-{"expression":"exp(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF1AEC7B35A00D43FFA61298E1E069C4003AD44655C78BC400D5AB83615F8B44015E552770DF8A70161016A3FF38ADD9E58AC8D3FFD27660B11A9EF4005BF0A8B1457694010388657115A47401832D6C8EFEE850161016B3FF599058C8C1A9640001C2A61268987400808883244D5934011ED3FE64FC541401ABE5B1CD863F60161016C3FF7DE8392FBBFE04001CDE866FE46E9400A8F99761065A44013CFE7BB5B37EC401D8E64B8D4DDAE016201694020551439081D4F40285D6FD931E0BB40322C94CA7A81FE403B1CD5E7807B7B4044394144EEEC810162016A40220CCE91C40E5F402AED6F125C7CB5403415E5BF6FB106403DF6CF42BDA468404659C069D9983C0162016B4023F2C80AEF884D402DC26C32572A3E403632ACEF67FE3D40408EC721396BDB4048B38373C9473C0162016C40260BDDC649CA68403071D45EEC224240388853E624B79440424C92F23D7807404B4C902E273A5801630169404E2B8E8B42F3B640568118ADE1DEAA4060C945E00BBAFC40690AC725B6564C4072ADE0DFD620AF0163016A4050ABECD907C0344058DEFF0708C2FF40628D389970338F406BAD015C8E318C4074A4CAFF54F2230163016B40526CC96B836D7D405B7C9E793462BB406480B376F013E3406E96244F21BBF64076D09977E783D10163016C40545CDB083EB514405E60AAAE3D91634066A8B63497CC0A4070E6D29097E18C407936DC5690C08F"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF1AEC7B35A00D4"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A96"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A963FF7DE8392FBBFE03FFA61298E1E069C3FFD27660B11A9EF40001C2A612689874001CDE866FE46E94003AD44655C78BC4005BF0A8B145769400808883244D593400A8F99761065A4400D5AB83615F8B44010388657115A474011ED3FE64FC541"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A963FF7DE8392FBBFE03FFA61298E1E069C3FFD27660B11A9EF40001C2A612689874001CDE866FE46E94003AD44655C78BC4005BF0A8B145769400808883244D593400A8F99761065A4400D5AB83615F8B44010388657115A474011ED3FE64FC5414013CFE7BB5B37EC4015E552770DF8A7401832D6C8EFEE85401ABE5B1CD863F6401D8E64B8D4DDAE4020551439081D4F40220CCE91C40E5F4023F2C80AEF884D40260BDDC649CA6840285D6FD931E0BB402AED6F125C7CB5402DC26C32572A3E403071D45EEC224240322C94CA7A81FE403415E5BF6FB106403632ACEF67FE3D40388853E624B794403B1CD5E7807B7B403DF6CF42BDA46840408EC721396BDB40424C92F23D78074044394144EEEC81404659C069D9983C4048B38373C9473C404B4C902E273A58404E2B8E8B42F3B64050ABECD907C03440526CC96B836D7D40545CDB083EB51440568118ADE1DEAA4058DEFF0708C2FF405B7C9E793462BB405E60AAAE3D91634060C945E00BBAFC40628D389970338F406480B376F013E34066A8B63497CC0A40690AC725B6564C406BAD015C8E318C406E96244F21BBF64070E6D29097E18C4072ADE0DFD620AF4074A4CAFF54F2234076D09977E783D1407936DC5690C08F407BDDB96D1F3E59407ECBFC12836E5640810493459DB8EE4082CEC2A33743CC4084C92210816C894086F8C2F293C9A14089633F2143F3F0408C0EC740D845BD408F02329E185A4F409122885AAEDDAA4092EFDE48C699A54094EDB91A4D293A4097213320377B2840998FF00E6AB6D5409C402B6EB1F6AD409F38C898B9E68540A140B22BFE1DAC40A311343669444A40A512908D54AFF940A749EA7D470C6E40A9BCEFA790485240AC71E68EAEC33440AF6FBEAA67302240B15F11166093F940B332C4D2B7C4A140B537A8DAFAC4B740B772E9871206EB40B9EA3E7732078E40BCA3F939DCB46040BFA7157C470F8240C17DA5774EC66640C3549084FF362D40C55D027569C4A840C79C30BBC48B4840CA17DD08C11DC140CCD6640A57410540CFDECDB8AA213740D19C6FACE5C55940D37697B5428D1440D5829DCF95056040D7C5C09A68D57240DA45CBE8A42BA440DD09279B49287040E00B740586690140E1BB7015E84D3B"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF1AEC7B35A00D401623FF38ADD9E58AC8D01633FF599058C8C1A96"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FF38ADD9E58AC8D016103666F6F3FF1AEC7B35A00D40162036261723FF7DE8392FBBFE0016203666F6F3FF599058C8C1A960163036261723FFD27660B11A9EF016303666F6F3FFA61298E1E069C"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FFA61298E1E069C016103626172016A3FFD27660B11A9EF016103626172016B40001C2A61268987016103626172016C4001CDE866FE46E9016103666F6F01693FF1AEC7B35A00D4016103666F6F016A3FF38ADD9E58AC8D016103666F6F016B3FF599058C8C1A96016103666F6F016C3FF7DE8392FBBFE00162036261720169400D5AB83615F8B4016203626172016A4010388657115A47016203626172016B4011ED3FE64FC541016203626172016C4013CFE7BB5B37EC016203666F6F01694003AD44655C78BC016203666F6F016A4005BF0A8B145769016203666F6F016B400808883244D593016203666F6F016C400A8F99761065A401630362617201694020551439081D4F016303626172016A40220CCE91C40E5F016303626172016B4023F2C80AEF884D016303626172016C40260BDDC649CA68016303666F6F01694015E552770DF8A7016303666F6F016A401832D6C8EFEE85016303666F6F016B401ABE5B1CD863F6016303666F6F016C401D8E64B8D4DDAE"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261724001CDE866FE46E94003AD44655C78BC4005BF0A8B145769400808883244D593400A8F99761065A4400D5AB83615F8B44010388657115A4740220CCE91C40E5F4023F2C80AEF884D40260BDDC649CA6840285D6FD931E0BB402AED6F125C7CB5402DC26C32572A3E403071D45EEC224240424C92F23D78074044394144EEEC81404659C069D9983C4048B38373C9473C404B4C902E273A58404E2B8E8B42F3B64050ABECD907C03403666F6F3FF1AEC7B35A00D43FF38ADD9E58AC8D3FF599058C8C1A963FF7DE8392FBBFE03FFA61298E1E069C3FFD27660B11A9EF40001C2A612689874011ED3FE64FC5414013CFE7BB5B37EC4015E552770DF8A7401832D6C8EFEE85401ABE5B1CD863F6401D8E64B8D4DDAE4020551439081D4F40322C94CA7A81FE403415E5BF6FB106403632ACEF67FE3D40388853E624B794403B1CD5E7807B7B403DF6CF42BDA46840408EC721396BDB"}}
-{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF1AEC7B35A00D43FFA61298E1E069C4003AD44655C78BC400D5AB83615F8B44015E552770DF8A70161016A3FF38ADD9E58AC8D3FFD27660B11A9EF4005BF0A8B1457694010388657115A47401832D6C8EFEE850161016B3FF599058C8C1A9640001C2A61268987400808883244D5934011ED3FE64FC541401ABE5B1CD863F60161016C3FF7DE8392FBBFE04001CDE866FE46E9400A8F99761065A44013CFE7BB5B37EC401D8E64B8D4DDAE016201694020551439081D4F40285D6FD931E0BB40322C94CA7A81FE403B1CD5E7807B7B4044394144EEEC810162016A40220CCE91C40E5F402AED6F125C7CB5403415E5BF6FB106403DF6CF42BDA468404659C069D9983C0162016B4023F2C80AEF884D402DC26C32572A3E403632ACEF67FE3D40408EC721396BDB4048B38373C9473C0162016C40260BDDC649CA68403071D45EEC224240388853E624B79440424C92F23D7807404B4C902E273A5801630169404E2B8E8B42F3B640568118ADE1DEAA4060C945E00BBAFC40690AC725B6564C4072ADE0DFD620AF0163016A4050ABECD907C0344058DEFF0708C2FF40628D389970338F406BAD015C8E318C4074A4CAFF54F2230163016B40526CC96B836D7D405B7C9E793462BB406480B376F013E3406E96244F21BBF64076D09977E783D10163016C40545CDB083EB514405E60AAAE3D91634066A8B63497CC0A4070E6D29097E18C407936DC5690C08F"}}
-{"expression":"log10(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x0200BFF0000000000000"}}
-{"expression":"log10(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803BFF0000000000000BFE65DF657B04300BFE0BB6C34D81502"}}
-{"expression":"log10(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017803017905BFF0000000000000BFE65DF657B04300BFE0BB6C34D81502BFD977D95EC10C02BFD34413509F79FFBFCC658A32216008BFC3D3D3D21CCF04BFB8CF183886480BBFA76D869B02A02E00000000000000003FA5316C0A18ADD63FB44538DE3B27EB3FBD2B643BC124F43FC2B452CF2224FA3FC68A288B60B7FC"}}
-{"expression":"log10(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A07BFF0000000000000BFE65DF657B04300BFE0BB6C34D81502BFD977D95EC10C02BFD34413509F79FFBFCC658A32216008BFC3D3D3D21CCF04BFB8CF183886480BBFA76D869B02A02E00000000000000003FA5316C0A18ADD63FB44538DE3B27EB3FBD2B643BC124F43FC2B452CF2224FA3FC68A288B60B7FC3FCA209A84FBCFF93FCD7F59AA5BECB93FD056627D3F25F93FD1D71957EF04413FD34413509F79FF3FD49F3DAD416E7C3FD5EA40D1E28FBA3FD7268C826FE5FC3FD85561882E43FA3FD977D95EC10C023FDA8EEC5F8FC33C3FDB9B76C2EF81F83FDC9E3CB8308C7C3FDD97EDC5AD8FA83FDE8927964FD5FD3FDF727851619F993FE02A30498EB0FE3FE097AA8BC975DB3FE101E012E6B82E3FE1690163290F403FE1CD3AE6EF4FFC3FE22EB561CCC1003FE28D9654473F203FE2EA0052A00F9D3FE34413509F79FF3FE39BECE40418B03FE3F1A87EF0743D3FE4455FA37861EB3FE4972A114104DC3FE4E71DEE0018FE3FE5354FE987AFFE3FE581D35DF1753C3FE5CCBA6C66DEFC3FE6161616F1987F3FE65DF657B043013FE6A46A35BEE62D3FE6E97FD8179E9E3FE72D4496A6F4873FE76FC509C77DFB3FE7B10D1851CDDE3FE7F1280468033E3FE83020771F6D203FE86E008B2684D43FE8AAD1D681E1DC3FE8E69D7377A7FE3FE9216C08BE37DF3FE95B45D1008CCC3FE99432A1C8A23C3FE9CC39F1DE6DFD3FEA0362DF28679F3FEA39B4341932DB3FEA6F346CB4CA5C3FEAA3E9BB36752D3FEAD7DA0C5FDDFD3FEB0B0B0B78CC3F3FEB3D82260640A63FEB6F448F3F0CFC3FEBA057434368C83FEBD0BF0A1C7E003FEC00807A8871003FEC2F9FFC96FC203FEC5E21CC1A571C3FEC8C09FAEFCC9C3FECB95C732312DC3FECE61CF8EF36FE3FED124F2C9FABFA3FED3DF68C53D5B03FED691675A735B23FED93B22740313D3FEDBDCCC2473E2F3FEDE7694BC81EEA3FEE108AADFEB2D23FEE3933B990C1DC3FEE616726B60D4C3FEE8927964FD5FD3FEEB07792F0F0DD3FEED75991D76CFD3FEEFDCFF3D8BACB3FEF23DD0641323B3FEF498303A7C5213FEF6EC414B69BFC3FEF93A250E94D9C3FEFB81FBF41557E3FEFDC3E56F160DA3FF00000000000003FF011B349F11FB63FF02339EF0751963FF03494CE447B5D3FF045C4C033ADCE3FF056CA97287D1F"}}
-{"expression":"log10(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x01010178030161BFF00000000000000162BFE65DF657B043000163BFE0BB6C34D81502"}}
-{"expression":"log10(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x01020178017906016103626172BFE65DF657B04300016103666F6FBFF0000000000000016203626172BFD977D95EC10C02016203666F6FBFE0BB6C34D81502016303626172BFCC658A32216008016303666F6FBFD34413509F79FF"}}
-{"expression":"log10(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFD34413509F79FF016103626172016ABFCC658A32216008016103626172016BBFC3D3D3D21CCF04016103626172016CBFB8CF183886480B016103666F6F0169BFF0000000000000016103666F6F016ABFE65DF657B04300016103666F6F016BBFE0BB6C34D81502016103666F6F016CBFD977D95EC10C0201620362617201693FBD2B643BC124F4016203626172016A3FC2B452CF2224FA016203626172016B3FC68A288B60B7FC016203626172016C3FCA209A84FBCFF9016203666F6F0169BFA76D869B02A02E016203666F6F016A0000000000000000016203666F6F016B3FA5316C0A18ADD6016203666F6F016C3FB44538DE3B27EB01630362617201693FD49F3DAD416E7C016303626172016A3FD5EA40D1E28FBA016303626172016B3FD7268C826FE5FC016303626172016C3FD85561882E43FA016303666F6F01693FCD7F59AA5BECB9016303666F6F016A3FD056627D3F25F9016303666F6F016B3FD1D71957EF0441016303666F6F016C3FD34413509F79FF"}}
-{"expression":"log10(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFB8CF183886480BBFA76D869B02A02E00000000000000003FA5316C0A18ADD63FB44538DE3B27EB3FBD2B643BC124F43FC2B452CF2224FA3FD5EA40D1E28FBA3FD7268C826FE5FC3FD85561882E43FA3FD977D95EC10C023FDA8EEC5F8FC33C3FDB9B76C2EF81F83FDC9E3CB8308C7C3FE1CD3AE6EF4FFC3FE22EB561CCC1003FE28D9654473F203FE2EA0052A00F9D3FE34413509F79FF3FE39BECE40418B03FE3F1A87EF0743D03666F6FBFF0000000000000BFE65DF657B04300BFE0BB6C34D81502BFD977D95EC10C02BFD34413509F79FFBFCC658A32216008BFC3D3D3D21CCF043FC68A288B60B7FC3FCA209A84FBCFF93FCD7F59AA5BECB93FD056627D3F25F93FD1D71957EF04413FD34413509F79FF3FD49F3DAD416E7C3FDD97EDC5AD8FA83FDE8927964FD5FD3FDF727851619F993FE02A30498EB0FE3FE097AA8BC975DB3FE101E012E6B82E3FE1690163290F40"}}
-{"expression":"log10(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFF0000000000000BFD34413509F79FFBFA76D869B02A02E3FBD2B643BC124F43FCD7F59AA5BECB90161016ABFE65DF657B04300BFCC658A3221600800000000000000003FC2B452CF2224FA3FD056627D3F25F90161016BBFE0BB6C34D81502BFC3D3D3D21CCF043FA5316C0A18ADD63FC68A288B60B7FC3FD1D71957EF04410161016CBFD977D95EC10C02BFB8CF183886480B3FB44538DE3B27EB3FCA209A84FBCFF93FD34413509F79FF016201693FD49F3DAD416E7C3FD977D95EC10C023FDD97EDC5AD8FA83FE097AA8BC975DB3FE22EB561CCC1000162016A3FD5EA40D1E28FBA3FDA8EEC5F8FC33C3FDE8927964FD5FD3FE101E012E6B82E3FE28D9654473F200162016B3FD7268C826FE5FC3FDB9B76C2EF81F83FDF727851619F993FE1690163290F403FE2EA0052A00F9D0162016C3FD85561882E43FA3FDC9E3CB8308C7C3FE02A30498EB0FE3FE1CD3AE6EF4FFC3FE34413509F79FF016301693FE39BECE40418B03FE4E71DEE0018FE3FE6161616F1987F3FE72D4496A6F4873FE83020771F6D200163016A3FE3F1A87EF0743D3FE5354FE987AFFE3FE65DF657B043013FE76FC509C77DFB3FE86E008B2684D40163016B3FE4455FA37861EB3FE581D35DF1753C3FE6A46A35BEE62D3FE7B10D1851CDDE3FE8AAD1D681E1DC0163016C3FE4972A114104DC3FE5CCBA6C66DEFC3FE6E97FD8179E9E3FE7F1280468033E3FE8E69D7377A7FE"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x0200BFF0000000000000"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803BFF0000000000000BFE65DF657B04300BFE0BB6C34D81502"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017803017905BFF0000000000000BFE65DF657B04300BFE0BB6C34D81502BFD977D95EC10C02BFD34413509F79FFBFCC658A32216008BFC3D3D3D21CCF04BFB8CF183886480BBFA76D869B02A02E00000000000000003FA5316C0A18ADD63FB44538DE3B27EB3FBD2B643BC124F43FC2B452CF2224FA3FC68A288B60B7FC"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A07BFF0000000000000BFE65DF657B04300BFE0BB6C34D81502BFD977D95EC10C02BFD34413509F79FFBFCC658A32216008BFC3D3D3D21CCF04BFB8CF183886480BBFA76D869B02A02E00000000000000003FA5316C0A18ADD63FB44538DE3B27EB3FBD2B643BC124F43FC2B452CF2224FA3FC68A288B60B7FC3FCA209A84FBCFF93FCD7F59AA5BECB93FD056627D3F25F93FD1D71957EF04413FD34413509F79FF3FD49F3DAD416E7C3FD5EA40D1E28FBA3FD7268C826FE5FC3FD85561882E43FA3FD977D95EC10C023FDA8EEC5F8FC33C3FDB9B76C2EF81F83FDC9E3CB8308C7C3FDD97EDC5AD8FA83FDE8927964FD5FD3FDF727851619F993FE02A30498EB0FE3FE097AA8BC975DB3FE101E012E6B82E3FE1690163290F403FE1CD3AE6EF4FFC3FE22EB561CCC1003FE28D9654473F203FE2EA0052A00F9D3FE34413509F79FF3FE39BECE40418B03FE3F1A87EF0743D3FE4455FA37861EB3FE4972A114104DC3FE4E71DEE0018FE3FE5354FE987AFFE3FE581D35DF1753C3FE5CCBA6C66DEFC3FE6161616F1987F3FE65DF657B043013FE6A46A35BEE62D3FE6E97FD8179E9E3FE72D4496A6F4873FE76FC509C77DFB3FE7B10D1851CDDE3FE7F1280468033E3FE83020771F6D203FE86E008B2684D43FE8AAD1D681E1DC3FE8E69D7377A7FE3FE9216C08BE37DF3FE95B45D1008CCC3FE99432A1C8A23C3FE9CC39F1DE6DFD3FEA0362DF28679F3FEA39B4341932DB3FEA6F346CB4CA5C3FEAA3E9BB36752D3FEAD7DA0C5FDDFD3FEB0B0B0B78CC3F3FEB3D82260640A63FEB6F448F3F0CFC3FEBA057434368C83FEBD0BF0A1C7E003FEC00807A8871003FEC2F9FFC96FC203FEC5E21CC1A571C3FEC8C09FAEFCC9C3FECB95C732312DC3FECE61CF8EF36FE3FED124F2C9FABFA3FED3DF68C53D5B03FED691675A735B23FED93B22740313D3FEDBDCCC2473E2F3FEDE7694BC81EEA3FEE108AADFEB2D23FEE3933B990C1DC3FEE616726B60D4C3FEE8927964FD5FD3FEEB07792F0F0DD3FEED75991D76CFD3FEEFDCFF3D8BACB3FEF23DD0641323B3FEF498303A7C5213FEF6EC414B69BFC3FEF93A250E94D9C3FEFB81FBF41557E3FEFDC3E56F160DA3FF00000000000003FF011B349F11FB63FF02339EF0751963FF03494CE447B5D3FF045C4C033ADCE3FF056CA97287D1F"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x01010178030161BFF00000000000000162BFE65DF657B043000163BFE0BB6C34D81502"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x01020178017906016103626172BFE65DF657B04300016103666F6FBFF0000000000000016203626172BFD977D95EC10C02016203666F6FBFE0BB6C34D81502016303626172BFCC658A32216008016303666F6FBFD34413509F79FF"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFD34413509F79FF016103626172016ABFCC658A32216008016103626172016BBFC3D3D3D21CCF04016103626172016CBFB8CF183886480B016103666F6F0169BFF0000000000000016103666F6F016ABFE65DF657B04300016103666F6F016BBFE0BB6C34D81502016103666F6F016CBFD977D95EC10C0201620362617201693FBD2B643BC124F4016203626172016A3FC2B452CF2224FA016203626172016B3FC68A288B60B7FC016203626172016C3FCA209A84FBCFF9016203666F6F0169BFA76D869B02A02E016203666F6F016A0000000000000000016203666F6F016B3FA5316C0A18ADD6016203666F6F016C3FB44538DE3B27EB01630362617201693FD49F3DAD416E7C016303626172016A3FD5EA40D1E28FBA016303626172016B3FD7268C826FE5FC016303626172016C3FD85561882E43FA016303666F6F01693FCD7F59AA5BECB9016303666F6F016A3FD056627D3F25F9016303666F6F016B3FD1D71957EF0441016303666F6F016C3FD34413509F79FF"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFB8CF183886480BBFA76D869B02A02E00000000000000003FA5316C0A18ADD63FB44538DE3B27EB3FBD2B643BC124F43FC2B452CF2224FA3FD5EA40D1E28FBA3FD7268C826FE5FC3FD85561882E43FA3FD977D95EC10C023FDA8EEC5F8FC33C3FDB9B76C2EF81F83FDC9E3CB8308C7C3FE1CD3AE6EF4FFC3FE22EB561CCC1003FE28D9654473F203FE2EA0052A00F9D3FE34413509F79FF3FE39BECE40418B03FE3F1A87EF0743D03666F6FBFF0000000000000BFE65DF657B04300BFE0BB6C34D81502BFD977D95EC10C02BFD34413509F79FFBFCC658A32216008BFC3D3D3D21CCF043FC68A288B60B7FC3FCA209A84FBCFF93FCD7F59AA5BECB93FD056627D3F25F93FD1D71957EF04413FD34413509F79FF3FD49F3DAD416E7C3FDD97EDC5AD8FA83FDE8927964FD5FD3FDF727851619F993FE02A30498EB0FE3FE097AA8BC975DB3FE101E012E6B82E3FE1690163290F40"}}
-{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFF0000000000000BFD34413509F79FFBFA76D869B02A02E3FBD2B643BC124F43FCD7F59AA5BECB90161016ABFE65DF657B04300BFCC658A3221600800000000000000003FC2B452CF2224FA3FD056627D3F25F90161016BBFE0BB6C34D81502BFC3D3D3D21CCF043FA5316C0A18ADD63FC68A288B60B7FC3FD1D71957EF04410161016CBFD977D95EC10C02BFB8CF183886480B3FB44538DE3B27EB3FCA209A84FBCFF93FD34413509F79FF016201693FD49F3DAD416E7C3FD977D95EC10C023FDD97EDC5AD8FA83FE097AA8BC975DB3FE22EB561CCC1000162016A3FD5EA40D1E28FBA3FDA8EEC5F8FC33C3FDE8927964FD5FD3FE101E012E6B82E3FE28D9654473F200162016B3FD7268C826FE5FC3FDB9B76C2EF81F83FDF727851619F993FE1690163290F403FE2EA0052A00F9D0162016C3FD85561882E43FA3FDC9E3CB8308C7C3FE02A30498EB0FE3FE1CD3AE6EF4FFC3FE34413509F79FF016301693FE39BECE40418B03FE4E71DEE0018FE3FE6161616F1987F3FE72D4496A6F4873FE83020771F6D200163016A3FE3F1A87EF0743D3FE5354FE987AFFE3FE65DF657B043013FE76FC509C77DFB3FE86E008B2684D40163016B3FE4455FA37861EB3FE581D35DF1753C3FE6A46A35BEE62D3FE7B10D1851CDDE3FE8AAD1D681E1DC0163016C3FE4972A114104DC3FE5CCBA6C66DEFC3FE6E97FD8179E9E3FE7F1280468033E3FE8E69D7377A7FE"}}
-{"expression":"log(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x0200C0026BB1BBB55515"}}
-{"expression":"log(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803C0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721"}}
-{"expression":"log(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017803017905C0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721BFED5240F0E0E077BFE62E42FEFA39EFBFE058AEFA811452BFD6D3C324E13F50BFCC8FF7C79A9A20BFBAF8E8210A415C00000000000000003FB8663F793C46CC3FC7565011E496753FD0CA937BE1B9DC3FD588C2D913348F3FD9F323ECBF984C"}}
-{"expression":"log(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A07C0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721BFED5240F0E0E077BFE62E42FEFA39EFBFE058AEFA811452BFD6D3C324E13F50BFCC8FF7C79A9A20BFBAF8E8210A415C00000000000000003FB8663F793C46CC3FC7565011E496753FD0CA937BE1B9DC3FD588C2D913348F3FD9F323ECBF984C3FDE148A1A2726CF3FE0FAE81914A9913FE2CF25FAD8F1C43FE48A11293D785B3FE62E42FEFA39EF3FE7BDF362E9666E3FE93B0AEE21C2C93FEAA73108717B693FEC03D703735F8C3FED5240F0E0E0783FEE938CBCEB16DD3FEFC8B7F138BDEA3FF0795235C1EA1B3FF1090E203152123FF193EA7AAD030B3FF21A3919B7AC893FF29C440606E6AB3FF31A4E7240C7773FF394958C0771C03FF40B512EB53D603FF47EB47CE995D93FF4EEEE650AE5503FF55C2A141BD9253FF5C68F59A571813FF62E42FEFA39EF3FF6936713B2AE703FF6F61B30F1D02F3FF7567CB4BF2DF73FF7B4A6F68DFE5C3FF810B375DCE91E3FF86ABA03B5DAAC3FF8C2D0E7B737423FF9190D0136CCBE3FF96D81E4FA0A843FF9C041F7ED8D333FFA115E873757D33FFA60E7DDF2A8663FFAAEED58D9CF2A3FFAFB7D78197BED3FFB46A5EF8151A03FFB9073B53F07133FFBD8F30F4BBF393FFC202F9FAE6F0A3FFC66346FB1FBB83FFCAB0BFA2A20023FFCEEC034DF06083FFD315A9934C9813FFD72E42C21B6413FFDB365858403A33FFDF2E6D6E5FBAA3FFE316FF1BDE46E3FFE6F084D359A8B3FFEABB70B848EB83FFEE782FEE5C0C03FFF2272AE325A573FFF5C8C5928B0F93FFF95D5FC66B2D13FFFCE55551E156E40000307F244012440001E85798EB9A3400039A5C9CC7B0E4000546B52E30F6240006ED86C91473D400088EF57AA0DD14000A2B23F3BAB734000BC2339A4B1004000D5444997E5B44000EE175F1073EE4001069E5837769340011EDB023BF0FE400136CF1A1E257740014E7C4D6F2A8E400165E43B058DAA40017D0873A7C0D7400193EA7AAD030B4001AA8BC69564674001C0EDC1997BD24001D711CA3257CA4001ECF9339A2A1D400202A5464624B1400218174059F4DB40022D50561542DA40024251B23B93BE4002571C7676E54140026BB1BBB555164002801292821F4C40029440035A3A654002A83B0EFCD2C24002BC04AEB7E2AF4002CF9DD4B12035"}}
-{"expression":"log(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x01010178030161C0026BB1BBB555150162BFF9C041F7ED8D330163BFF34378FCBDA721"}}
-{"expression":"log(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x01020178017906016103626172BFF9C041F7ED8D33016103666F6FC0026BB1BBB55515016203626172BFED5240F0E0E077016203666F6FBFF34378FCBDA721016303626172BFE058AEFA811452016303666F6FBFE62E42FEFA39EF"}}
-{"expression":"log(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFE62E42FEFA39EF016103626172016ABFE058AEFA811452016103626172016BBFD6D3C324E13F50016103626172016CBFCC8FF7C79A9A20016103666F6F0169C0026BB1BBB55515016103666F6F016ABFF9C041F7ED8D33016103666F6F016BBFF34378FCBDA721016103666F6F016CBFED5240F0E0E07701620362617201693FD0CA937BE1B9DC016203626172016A3FD588C2D913348F016203626172016B3FD9F323ECBF984C016203626172016C3FDE148A1A2726CF016203666F6F0169BFBAF8E8210A415C016203666F6F016A0000000000000000016203666F6F016B3FB8663F793C46CC016203666F6F016C3FC7565011E4967501630362617201693FE7BDF362E9666E016303626172016A3FE93B0AEE21C2C9016303626172016B3FEAA73108717B69016303626172016C3FEC03D703735F8C016303666F6F01693FE0FAE81914A991016303666F6F016A3FE2CF25FAD8F1C4016303666F6F016B3FE48A11293D785B016303666F6F016C3FE62E42FEFA39EF"}}
-{"expression":"log(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFCC8FF7C79A9A20BFBAF8E8210A415C00000000000000003FB8663F793C46CC3FC7565011E496753FD0CA937BE1B9DC3FD588C2D913348F3FE93B0AEE21C2C93FEAA73108717B693FEC03D703735F8C3FED5240F0E0E0783FEE938CBCEB16DD3FEFC8B7F138BDEA3FF0795235C1EA1B3FF47EB47CE995D93FF4EEEE650AE5503FF55C2A141BD9253FF5C68F59A571813FF62E42FEFA39EF3FF6936713B2AE703FF6F61B30F1D02F03666F6FC0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721BFED5240F0E0E077BFE62E42FEFA39EFBFE058AEFA811452BFD6D3C324E13F503FD9F323ECBF984C3FDE148A1A2726CF3FE0FAE81914A9913FE2CF25FAD8F1C43FE48A11293D785B3FE62E42FEFA39EF3FE7BDF362E9666E3FF1090E203152123FF193EA7AAD030B3FF21A3919B7AC893FF29C440606E6AB3FF31A4E7240C7773FF394958C0771C03FF40B512EB53D60"}}
-{"expression":"log(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C01610169C0026BB1BBB55515BFE62E42FEFA39EFBFBAF8E8210A415C3FD0CA937BE1B9DC3FE0FAE81914A9910161016ABFF9C041F7ED8D33BFE058AEFA81145200000000000000003FD588C2D913348F3FE2CF25FAD8F1C40161016BBFF34378FCBDA721BFD6D3C324E13F503FB8663F793C46CC3FD9F323ECBF984C3FE48A11293D785B0161016CBFED5240F0E0E077BFCC8FF7C79A9A203FC7565011E496753FDE148A1A2726CF3FE62E42FEFA39EF016201693FE7BDF362E9666E3FED5240F0E0E0783FF1090E203152123FF31A4E7240C7773FF4EEEE650AE5500162016A3FE93B0AEE21C2C93FEE938CBCEB16DD3FF193EA7AAD030B3FF394958C0771C03FF55C2A141BD9250162016B3FEAA73108717B693FEFC8B7F138BDEA3FF21A3919B7AC893FF40B512EB53D603FF5C68F59A571810162016C3FEC03D703735F8C3FF0795235C1EA1B3FF29C440606E6AB3FF47EB47CE995D93FF62E42FEFA39EF016301693FF6936713B2AE703FF810B375DCE91E3FF96D81E4FA0A843FFAAEED58D9CF2A3FFBD8F30F4BBF390163016A3FF6F61B30F1D02F3FF86ABA03B5DAAC3FF9C041F7ED8D333FFAFB7D78197BED3FFC202F9FAE6F0A0163016B3FF7567CB4BF2DF73FF8C2D0E7B737423FFA115E873757D33FFB46A5EF8151A03FFC66346FB1FBB80163016C3FF7B4A6F68DFE5C3FF9190D0136CCBE3FFA60E7DDF2A8663FFB9073B53F07133FFCAB0BFA2A2002"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x0200C0026BB1BBB55515"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803C0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017803017905C0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721BFED5240F0E0E077BFE62E42FEFA39EFBFE058AEFA811452BFD6D3C324E13F50BFCC8FF7C79A9A20BFBAF8E8210A415C00000000000000003FB8663F793C46CC3FC7565011E496753FD0CA937BE1B9DC3FD588C2D913348F3FD9F323ECBF984C"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A07C0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721BFED5240F0E0E077BFE62E42FEFA39EFBFE058AEFA811452BFD6D3C324E13F50BFCC8FF7C79A9A20BFBAF8E8210A415C00000000000000003FB8663F793C46CC3FC7565011E496753FD0CA937BE1B9DC3FD588C2D913348F3FD9F323ECBF984C3FDE148A1A2726CF3FE0FAE81914A9913FE2CF25FAD8F1C43FE48A11293D785B3FE62E42FEFA39EF3FE7BDF362E9666E3FE93B0AEE21C2C93FEAA73108717B693FEC03D703735F8C3FED5240F0E0E0783FEE938CBCEB16DD3FEFC8B7F138BDEA3FF0795235C1EA1B3FF1090E203152123FF193EA7AAD030B3FF21A3919B7AC893FF29C440606E6AB3FF31A4E7240C7773FF394958C0771C03FF40B512EB53D603FF47EB47CE995D93FF4EEEE650AE5503FF55C2A141BD9253FF5C68F59A571813FF62E42FEFA39EF3FF6936713B2AE703FF6F61B30F1D02F3FF7567CB4BF2DF73FF7B4A6F68DFE5C3FF810B375DCE91E3FF86ABA03B5DAAC3FF8C2D0E7B737423FF9190D0136CCBE3FF96D81E4FA0A843FF9C041F7ED8D333FFA115E873757D33FFA60E7DDF2A8663FFAAEED58D9CF2A3FFAFB7D78197BED3FFB46A5EF8151A03FFB9073B53F07133FFBD8F30F4BBF393FFC202F9FAE6F0A3FFC66346FB1FBB83FFCAB0BFA2A20023FFCEEC034DF06083FFD315A9934C9813FFD72E42C21B6413FFDB365858403A33FFDF2E6D6E5FBAA3FFE316FF1BDE46E3FFE6F084D359A8B3FFEABB70B848EB83FFEE782FEE5C0C03FFF2272AE325A573FFF5C8C5928B0F93FFF95D5FC66B2D13FFFCE55551E156E40000307F244012440001E85798EB9A3400039A5C9CC7B0E4000546B52E30F6240006ED86C91473D400088EF57AA0DD14000A2B23F3BAB734000BC2339A4B1004000D5444997E5B44000EE175F1073EE4001069E5837769340011EDB023BF0FE400136CF1A1E257740014E7C4D6F2A8E400165E43B058DAA40017D0873A7C0D7400193EA7AAD030B4001AA8BC69564674001C0EDC1997BD24001D711CA3257CA4001ECF9339A2A1D400202A5464624B1400218174059F4DB40022D50561542DA40024251B23B93BE4002571C7676E54140026BB1BBB555164002801292821F4C40029440035A3A654002A83B0EFCD2C24002BC04AEB7E2AF4002CF9DD4B12035"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x01010178030161C0026BB1BBB555150162BFF9C041F7ED8D330163BFF34378FCBDA721"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x01020178017906016103626172BFF9C041F7ED8D33016103666F6FC0026BB1BBB55515016203626172BFED5240F0E0E077016203666F6FBFF34378FCBDA721016303626172BFE058AEFA811452016303666F6FBFE62E42FEFA39EF"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFE62E42FEFA39EF016103626172016ABFE058AEFA811452016103626172016BBFD6D3C324E13F50016103626172016CBFCC8FF7C79A9A20016103666F6F0169C0026BB1BBB55515016103666F6F016ABFF9C041F7ED8D33016103666F6F016BBFF34378FCBDA721016103666F6F016CBFED5240F0E0E07701620362617201693FD0CA937BE1B9DC016203626172016A3FD588C2D913348F016203626172016B3FD9F323ECBF984C016203626172016C3FDE148A1A2726CF016203666F6F0169BFBAF8E8210A415C016203666F6F016A0000000000000000016203666F6F016B3FB8663F793C46CC016203666F6F016C3FC7565011E4967501630362617201693FE7BDF362E9666E016303626172016A3FE93B0AEE21C2C9016303626172016B3FEAA73108717B69016303626172016C3FEC03D703735F8C016303666F6F01693FE0FAE81914A991016303666F6F016A3FE2CF25FAD8F1C4016303666F6F016B3FE48A11293D785B016303666F6F016C3FE62E42FEFA39EF"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFCC8FF7C79A9A20BFBAF8E8210A415C00000000000000003FB8663F793C46CC3FC7565011E496753FD0CA937BE1B9DC3FD588C2D913348F3FE93B0AEE21C2C93FEAA73108717B693FEC03D703735F8C3FED5240F0E0E0783FEE938CBCEB16DD3FEFC8B7F138BDEA3FF0795235C1EA1B3FF47EB47CE995D93FF4EEEE650AE5503FF55C2A141BD9253FF5C68F59A571813FF62E42FEFA39EF3FF6936713B2AE703FF6F61B30F1D02F03666F6FC0026BB1BBB55515BFF9C041F7ED8D33BFF34378FCBDA721BFED5240F0E0E077BFE62E42FEFA39EFBFE058AEFA811452BFD6D3C324E13F503FD9F323ECBF984C3FDE148A1A2726CF3FE0FAE81914A9913FE2CF25FAD8F1C43FE48A11293D785B3FE62E42FEFA39EF3FE7BDF362E9666E3FF1090E203152123FF193EA7AAD030B3FF21A3919B7AC893FF29C440606E6AB3FF31A4E7240C7773FF394958C0771C03FF40B512EB53D60"}}
-{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C01610169C0026BB1BBB55515BFE62E42FEFA39EFBFBAF8E8210A415C3FD0CA937BE1B9DC3FE0FAE81914A9910161016ABFF9C041F7ED8D33BFE058AEFA81145200000000000000003FD588C2D913348F3FE2CF25FAD8F1C40161016BBFF34378FCBDA721BFD6D3C324E13F503FB8663F793C46CC3FD9F323ECBF984C3FE48A11293D785B0161016CBFED5240F0E0E077BFCC8FF7C79A9A203FC7565011E496753FDE148A1A2726CF3FE62E42FEFA39EF016201693FE7BDF362E9666E3FED5240F0E0E0783FF1090E203152123FF31A4E7240C7773FF4EEEE650AE5500162016A3FE93B0AEE21C2C93FEE938CBCEB16DD3FF193EA7AAD030B3FF394958C0771C03FF55C2A141BD9250162016B3FEAA73108717B693FEFC8B7F138BDEA3FF21A3919B7AC893FF40B512EB53D603FF5C68F59A571810162016C3FEC03D703735F8C3FF0795235C1EA1B3FF29C440606E6AB3FF47EB47CE995D93FF62E42FEFA39EF016301693FF6936713B2AE703FF810B375DCE91E3FF96D81E4FA0A843FFAAEED58D9CF2A3FFBD8F30F4BBF390163016A3FF6F61B30F1D02F3FF86ABA03B5DAAC3FF9C041F7ED8D333FFAFB7D78197BED3FFC202F9FAE6F0A0163016B3FF7567CB4BF2DF73FF8C2D0E7B737423FFA115E873757D33FFB46A5EF8151A03FFC66346FB1FBB80163016C3FF7B4A6F68DFE5C3FF9190D0136CCBE3FFA60E7DDF2A8663FFB9073B53F07133FFCAB0BFA2A2002"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FD43D136248490F"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FD43D136248490F3FDC9F25C5BFEDD93FE186F174F88472"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FD43D136248490F3FDC9F25C5BFEDD93FE186F174F884723FE43D136248490F3FE6A09E667F3BCD3FE8C97EF43F72483FEAC5EB3F7AB2F83FEC9F25C5BFEDD93FEE5B9D136C6D963FF00000000000003FF0C7EBC96A56F63FF186F174F884723FF23E2896280F233FF2EE73DADC9B573FF3988E1409212E"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FD43D136248490F3FDC9F25C5BFEDD93FE186F174F884723FE43D136248490F3FE6A09E667F3BCD3FE8C97EF43F72483FEAC5EB3F7AB2F83FEC9F25C5BFEDD93FEE5B9D136C6D963FF00000000000003FF0C7EBC96A56F63FF186F174F884723FF23E2896280F233FF2EE73DADC9B573FF3988E1409212E3FF43D136248490F3FF4DC87D61451DA3FF5775C544FF2633FF60DF2453AB7233FF6A09E667F3BCD3FF72FAAFC7E3CD73FF7BB598C88B4AD3FF843E43D85E5B13FF8C97EF43F72483FF94C583ADA5B533FF9CC99FF02C4813FFA4A6A2F74C6AC3FFAC5EB3F7AB2F83FFB3F3C957429DA3FFBB67AE8584CAA3FFC2BC08F4BFA983FFC9F25C5BFEDD93FFD10C0E60BE3083FFD80A69C19E42A3FFDEEEA11683F493FFE5B9D136C6D963FFEC6D0353167A93FFF3092ECE5BC353FFF98F3ADEF13F24000000000000000400032E249CC617140006526AA25A13B400096D2BC865F234000C7EBC96A56F64000F876CCDF6CD9400128787C6F7D7A400157F54C76D72F400186F174F884724001B570F5FF3FED4001E3779B97F4A8400211090171020F40023E2896280F2340026AD99E4F00174002971F372F95B64002C2FC595456A74002EE73DADC9B574003198871A0E80E4003443CB52C2A8540036E93208DED544003988E1409212E4003C22FD6A2B7B14003EB7A9792F3C6400414706F9C063A40043D136248490F400465655F122FF640048D684277CF0B4004B51DD6FBA9BB4004DC87D61451DA400503A7E90C397B40052A7FA9D2F8EA40055110A3C12C5E4005775C544FF26340059D642BC4FC1C4005C3298DD40B254005E8ADD236A58F40060DF2453AB723400632F82848C789400657C0B2625EB440067C4D109924644006A09E667F3BCD4006C4B5CE9152314006E8945A9ACD9240070C3B1414801740072FAAFC7E3CD7400752E50DB3A3A2400775EA3A3C72D2400798BB6D98A8324007BB598C88B4AD4007DDC575520155400800000000000040082209FEA1FD38400843E43D85E5B14008658F83702DC24008870C91D106234008A85C24F706594008C97EF43F72484008EA75B2443DF040090B410D07F01E40092BE1AE1F827140094C583ADA5B5340096CA554687C8940098CC997FEFF4C4009ACC59EFAF54B4009CC99FF02C4814009EC474A261264"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FD43D136248490F01623FDC9F25C5BFEDD901633FE186F174F88472"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FDC9F25C5BFEDD9016103666F6F3FD43D136248490F0162036261723FE43D136248490F016203666F6F3FE186F174F884720163036261723FE8C97EF43F7248016303666F6F3FE6A09E667F3BCD"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE6A09E667F3BCD016103626172016A3FE8C97EF43F7248016103626172016B3FEAC5EB3F7AB2F8016103626172016C3FEC9F25C5BFEDD9016103666F6F01693FD43D136248490F016103666F6F016A3FDC9F25C5BFEDD9016103666F6F016B3FE186F174F88472016103666F6F016C3FE43D136248490F01620362617201693FF23E2896280F23016203626172016A3FF2EE73DADC9B57016203626172016B3FF3988E1409212E016203626172016C3FF43D136248490F016203666F6F01693FEE5B9D136C6D96016203666F6F016A3FF0000000000000016203666F6F016B3FF0C7EBC96A56F6016203666F6F016C3FF186F174F8847201630362617201693FF72FAAFC7E3CD7016303626172016A3FF7BB598C88B4AD016303626172016B3FF843E43D85E5B1016303626172016C3FF8C97EF43F7248016303666F6F01693FF4DC87D61451DA016303666F6F016A3FF5775C544FF263016303666F6F016B3FF60DF2453AB723016303666F6F016C3FF6A09E667F3BCD"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FEC9F25C5BFEDD93FEE5B9D136C6D963FF00000000000003FF0C7EBC96A56F63FF186F174F884723FF23E2896280F233FF2EE73DADC9B573FF7BB598C88B4AD3FF843E43D85E5B13FF8C97EF43F72483FF94C583ADA5B533FF9CC99FF02C4813FFA4A6A2F74C6AC3FFAC5EB3F7AB2F83FFE5B9D136C6D963FFEC6D0353167A93FFF3092ECE5BC353FFF98F3ADEF13F24000000000000000400032E249CC617140006526AA25A13B03666F6F3FD43D136248490F3FDC9F25C5BFEDD93FE186F174F884723FE43D136248490F3FE6A09E667F3BCD3FE8C97EF43F72483FEAC5EB3F7AB2F83FF3988E1409212E3FF43D136248490F3FF4DC87D61451DA3FF5775C544FF2633FF60DF2453AB7233FF6A09E667F3BCD3FF72FAAFC7E3CD73FFB3F3C957429DA3FFBB67AE8584CAA3FFC2BC08F4BFA983FFC9F25C5BFEDD93FFD10C0E60BE3083FFD80A69C19E42A3FFDEEEA11683F49"}}
-{"expression":"sqrt(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FD43D136248490F3FE6A09E667F3BCD3FEE5B9D136C6D963FF23E2896280F233FF4DC87D61451DA0161016A3FDC9F25C5BFEDD93FE8C97EF43F72483FF00000000000003FF2EE73DADC9B573FF5775C544FF2630161016B3FE186F174F884723FEAC5EB3F7AB2F83FF0C7EBC96A56F63FF3988E1409212E3FF60DF2453AB7230161016C3FE43D136248490F3FEC9F25C5BFEDD93FF186F174F884723FF43D136248490F3FF6A09E667F3BCD016201693FF72FAAFC7E3CD73FF94C583ADA5B533FFB3F3C957429DA3FFD10C0E60BE3083FFEC6D0353167A90162016A3FF7BB598C88B4AD3FF9CC99FF02C4813FFBB67AE8584CAA3FFD80A69C19E42A3FFF3092ECE5BC350162016B3FF843E43D85E5B13FFA4A6A2F74C6AC3FFC2BC08F4BFA983FFDEEEA11683F493FFF98F3ADEF13F20162016C3FF8C97EF43F72483FFAC5EB3F7AB2F83FFC9F25C5BFEDD93FFE5B9D136C6D96400000000000000001630169400032E249CC61714000F876CCDF6CD94001B570F5FF3FED40026AD99E4F00174003198871A0E80E0163016A40006526AA25A13B400128787C6F7D7A4001E3779B97F4A84002971F372F95B64003443CB52C2A850163016B400096D2BC865F23400157F54C76D72F400211090171020F4002C2FC595456A740036E93208DED540163016C4000C7EBC96A56F6400186F174F8847240023E2896280F234002EE73DADC9B574003988E1409212E"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FD43D136248490F"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FD43D136248490F3FDC9F25C5BFEDD93FE186F174F88472"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FD43D136248490F3FDC9F25C5BFEDD93FE186F174F884723FE43D136248490F3FE6A09E667F3BCD3FE8C97EF43F72483FEAC5EB3F7AB2F83FEC9F25C5BFEDD93FEE5B9D136C6D963FF00000000000003FF0C7EBC96A56F63FF186F174F884723FF23E2896280F233FF2EE73DADC9B573FF3988E1409212E"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FD43D136248490F3FDC9F25C5BFEDD93FE186F174F884723FE43D136248490F3FE6A09E667F3BCD3FE8C97EF43F72483FEAC5EB3F7AB2F83FEC9F25C5BFEDD93FEE5B9D136C6D963FF00000000000003FF0C7EBC96A56F63FF186F174F884723FF23E2896280F233FF2EE73DADC9B573FF3988E1409212E3FF43D136248490F3FF4DC87D61451DA3FF5775C544FF2633FF60DF2453AB7233FF6A09E667F3BCD3FF72FAAFC7E3CD73FF7BB598C88B4AD3FF843E43D85E5B13FF8C97EF43F72483FF94C583ADA5B533FF9CC99FF02C4813FFA4A6A2F74C6AC3FFAC5EB3F7AB2F83FFB3F3C957429DA3FFBB67AE8584CAA3FFC2BC08F4BFA983FFC9F25C5BFEDD93FFD10C0E60BE3083FFD80A69C19E42A3FFDEEEA11683F493FFE5B9D136C6D963FFEC6D0353167A93FFF3092ECE5BC353FFF98F3ADEF13F24000000000000000400032E249CC617140006526AA25A13B400096D2BC865F234000C7EBC96A56F64000F876CCDF6CD9400128787C6F7D7A400157F54C76D72F400186F174F884724001B570F5FF3FED4001E3779B97F4A8400211090171020F40023E2896280F2340026AD99E4F00174002971F372F95B64002C2FC595456A74002EE73DADC9B574003198871A0E80E4003443CB52C2A8540036E93208DED544003988E1409212E4003C22FD6A2B7B14003EB7A9792F3C6400414706F9C063A40043D136248490F400465655F122FF640048D684277CF0B4004B51DD6FBA9BB4004DC87D61451DA400503A7E90C397B40052A7FA9D2F8EA40055110A3C12C5E4005775C544FF26340059D642BC4FC1C4005C3298DD40B254005E8ADD236A58F40060DF2453AB723400632F82848C789400657C0B2625EB440067C4D109924644006A09E667F3BCD4006C4B5CE9152314006E8945A9ACD9240070C3B1414801740072FAAFC7E3CD7400752E50DB3A3A2400775EA3A3C72D2400798BB6D98A8324007BB598C88B4AD4007DDC575520155400800000000000040082209FEA1FD38400843E43D85E5B14008658F83702DC24008870C91D106234008A85C24F706594008C97EF43F72484008EA75B2443DF040090B410D07F01E40092BE1AE1F827140094C583ADA5B5340096CA554687C8940098CC997FEFF4C4009ACC59EFAF54B4009CC99FF02C4814009EC474A261264"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FD43D136248490F01623FDC9F25C5BFEDD901633FE186F174F88472"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FDC9F25C5BFEDD9016103666F6F3FD43D136248490F0162036261723FE43D136248490F016203666F6F3FE186F174F884720163036261723FE8C97EF43F7248016303666F6F3FE6A09E667F3BCD"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE6A09E667F3BCD016103626172016A3FE8C97EF43F7248016103626172016B3FEAC5EB3F7AB2F8016103626172016C3FEC9F25C5BFEDD9016103666F6F01693FD43D136248490F016103666F6F016A3FDC9F25C5BFEDD9016103666F6F016B3FE186F174F88472016103666F6F016C3FE43D136248490F01620362617201693FF23E2896280F23016203626172016A3FF2EE73DADC9B57016203626172016B3FF3988E1409212E016203626172016C3FF43D136248490F016203666F6F01693FEE5B9D136C6D96016203666F6F016A3FF0000000000000016203666F6F016B3FF0C7EBC96A56F6016203666F6F016C3FF186F174F8847201630362617201693FF72FAAFC7E3CD7016303626172016A3FF7BB598C88B4AD016303626172016B3FF843E43D85E5B1016303626172016C3FF8C97EF43F7248016303666F6F01693FF4DC87D61451DA016303666F6F016A3FF5775C544FF263016303666F6F016B3FF60DF2453AB723016303666F6F016C3FF6A09E667F3BCD"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FEC9F25C5BFEDD93FEE5B9D136C6D963FF00000000000003FF0C7EBC96A56F63FF186F174F884723FF23E2896280F233FF2EE73DADC9B573FF7BB598C88B4AD3FF843E43D85E5B13FF8C97EF43F72483FF94C583ADA5B533FF9CC99FF02C4813FFA4A6A2F74C6AC3FFAC5EB3F7AB2F83FFE5B9D136C6D963FFEC6D0353167A93FFF3092ECE5BC353FFF98F3ADEF13F24000000000000000400032E249CC617140006526AA25A13B03666F6F3FD43D136248490F3FDC9F25C5BFEDD93FE186F174F884723FE43D136248490F3FE6A09E667F3BCD3FE8C97EF43F72483FEAC5EB3F7AB2F83FF3988E1409212E3FF43D136248490F3FF4DC87D61451DA3FF5775C544FF2633FF60DF2453AB7233FF6A09E667F3BCD3FF72FAAFC7E3CD73FFB3F3C957429DA3FFBB67AE8584CAA3FFC2BC08F4BFA983FFC9F25C5BFEDD93FFD10C0E60BE3083FFD80A69C19E42A3FFDEEEA11683F49"}}
-{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FD43D136248490F3FE6A09E667F3BCD3FEE5B9D136C6D963FF23E2896280F233FF4DC87D61451DA0161016A3FDC9F25C5BFEDD93FE8C97EF43F72483FF00000000000003FF2EE73DADC9B573FF5775C544FF2630161016B3FE186F174F884723FEAC5EB3F7AB2F83FF0C7EBC96A56F63FF3988E1409212E3FF60DF2453AB7230161016C3FE43D136248490F3FEC9F25C5BFEDD93FF186F174F884723FF43D136248490F3FF6A09E667F3BCD016201693FF72FAAFC7E3CD73FF94C583ADA5B533FFB3F3C957429DA3FFD10C0E60BE3083FFEC6D0353167A90162016A3FF7BB598C88B4AD3FF9CC99FF02C4813FFBB67AE8584CAA3FFD80A69C19E42A3FFF3092ECE5BC350162016B3FF843E43D85E5B13FFA4A6A2F74C6AC3FFC2BC08F4BFA983FFDEEEA11683F493FFF98F3ADEF13F20162016C3FF8C97EF43F72483FFAC5EB3F7AB2F83FFC9F25C5BFEDD93FFE5B9D136C6D96400000000000000001630169400032E249CC61714000F876CCDF6CD94001B570F5FF3FED40026AD99E4F00174003198871A0E80E0163016A40006526AA25A13B400128787C6F7D7A4001E3779B97F4A84002971F372F95B64003443CB52C2A850163016B400096D2BC865F23400157F54C76D72F400211090171020F4002C2FC595456A740036E93208DED540163016C4000C7EBC96A56F6400186F174F8847240023E2896280F234002EE73DADC9B574003988E1409212E"}}
-{"expression":"ceil(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C00000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402400000000000040240000000000004024000000000000402400000000000040240000000000004024000000000000402400000000000040240000000000004024000000000000402400000000000040260000000000004026000000000000402600000000000040260000000000004026000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201694000000000000000016203626172016A4000000000000000016203626172016B4000000000000000016203626172016C4000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B4000000000000000016203666F6F016C400000000000000001630362617201694008000000000000016303626172016A4008000000000000016303626172016B4008000000000000016303626172016C4008000000000000016303666F6F01694000000000000000016303666F6F016A4000000000000000016303666F6F016B4000000000000000016303666F6F016C4000000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004014000000000000401400000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040080000000000004008000000000000400800000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000"}}
-{"expression":"ceil(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000161016A3FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000161016B3FF00000000000003FF00000000000004000000000000000400000000000000040000000000000000161016C3FF00000000000003FF000000000000040000000000000004000000000000000400000000000000001620169400800000000000040080000000000004008000000000000401000000000000040100000000000000162016A400800000000000040080000000000004008000000000000401000000000000040100000000000000162016B400800000000000040080000000000004010000000000000401000000000000040100000000000000162016C4008000000000000400800000000000040100000000000004010000000000000401000000000000001630169401400000000000040140000000000004014000000000000401800000000000040180000000000000163016A401400000000000040140000000000004014000000000000401800000000000040180000000000000163016B401400000000000040140000000000004018000000000000401800000000000040180000000000000163016C40140000000000004014000000000000401800000000000040180000000000004018000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C00000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402400000000000040240000000000004024000000000000402400000000000040240000000000004024000000000000402400000000000040240000000000004024000000000000402400000000000040260000000000004026000000000000402600000000000040260000000000004026000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201694000000000000000016203626172016A4000000000000000016203626172016B4000000000000000016203626172016C4000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B4000000000000000016203666F6F016C400000000000000001630362617201694008000000000000016303626172016A4008000000000000016303626172016B4008000000000000016303626172016C4008000000000000016303666F6F01694000000000000000016303666F6F016A4000000000000000016303666F6F016B4000000000000000016303666F6F016C4000000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004014000000000000401400000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040080000000000004008000000000000400800000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000"}}
-{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000161016A3FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000161016B3FF00000000000003FF00000000000004000000000000000400000000000000040000000000000000161016C3FF00000000000003FF000000000000040000000000000004000000000000000400000000000000001620169400800000000000040080000000000004008000000000000401000000000000040100000000000000162016A400800000000000040080000000000004008000000000000401000000000000040100000000000000162016B400800000000000040080000000000004010000000000000401000000000000040100000000000000162016C4008000000000000400800000000000040100000000000004010000000000000401000000000000001630169401400000000000040140000000000004014000000000000401800000000000040180000000000000163016A401400000000000040140000000000004014000000000000401800000000000040180000000000000163016B401400000000000040140000000000004018000000000000401800000000000040180000000000000163016C40140000000000004014000000000000401800000000000040180000000000004018000000000000"}}
-{"expression":"fabs(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"fabs(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"}}
-{"expression":"fabs(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"}}
-{"expression":"fabs(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"}}
-{"expression":"fabs(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"fabs(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"}}
-{"expression":"fabs(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"}}
-{"expression":"fabs(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"}}
-{"expression":"fabs(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"}}
-{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C00000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402400000000000040240000000000004024000000000000402400000000000040240000000000004024000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201694000000000000000016303626172016A4000000000000000016303626172016B4000000000000000016303626172016C4000000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C4000000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000400800000000000040100000000000004010000000000000401000000000000003666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000"}}
-{"expression":"floor(a)","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000161016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000161016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000161016C000000000000000000000000000000003FF00000000000003FF0000000000000400000000000000001620169400000000000000040000000000000004000000000000000400800000000000040080000000000000162016A400000000000000040000000000000004008000000000000400800000000000040080000000000000162016B400000000000000040000000000000004008000000000000400800000000000040080000000000000162016C4000000000000000400000000000000040080000000000004008000000000000401000000000000001630169401000000000000040100000000000004010000000000000401400000000000040140000000000000163016A401000000000000040100000000000004014000000000000401400000000000040140000000000000163016B401000000000000040100000000000004014000000000000401400000000000040140000000000000163016C40100000000000004010000000000000401400000000000040140000000000004018000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178030179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C00000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402200000000000040220000000000004022000000000000402400000000000040240000000000004024000000000000402400000000000040240000000000004024000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201694000000000000000016303626172016A4000000000000000016303626172016B4000000000000000016303626172016C4000000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C4000000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000400800000000000040100000000000004010000000000000401000000000000003666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000"}}
-{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000161016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000161016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000161016C000000000000000000000000000000003FF00000000000003FF0000000000000400000000000000001620169400000000000000040000000000000004000000000000000400800000000000040080000000000000162016A400000000000000040000000000000004008000000000000400800000000000040080000000000000162016B400000000000000040000000000000004008000000000000400800000000000040080000000000000162016C4000000000000000400000000000000040080000000000004008000000000000401000000000000001630169401000000000000040100000000000004010000000000000401400000000000040140000000000000163016A401000000000000040100000000000004014000000000000401400000000000040140000000000000163016B401000000000000040100000000000004014000000000000401400000000000040140000000000000163016C40100000000000004010000000000000401400000000000040140000000000004018000000000000"}}
+{"expression":"map(a,f(a)(!a))","inputs":{"a":"0x0701020178017A010179050C01610169000000003F8000003F800000000000003F8000000161016A3F8000003F800000000000003F8000003F8000000161016B3F800000000000003F8000003F800000000000000161016C000000003F8000003F800000000000003F800000016201693F800000000000003F8000003F800000000000000162016A000000003F8000003F800000000000003F8000000162016B3F8000003F800000000000003F8000003F8000000162016C3F800000000000003F8000003F80000000000000016301693F8000003F800000000000003F8000003F8000000163016A3F800000000000003F8000003F800000000000000163016B000000003F8000003F800000000000003F8000000163016C3F8000003F800000000000003F8000003F800000"},"result":{"expect":"0x0701020178017A010179050C016101693F80000000000000000000003F800000000000000161016A00000000000000003F80000000000000000000000161016B000000003F80000000000000000000003F8000000161016C3F80000000000000000000003F8000000000000001620169000000003F80000000000000000000003F8000000162016A3F80000000000000000000003F800000000000000162016B00000000000000003F80000000000000000000000162016C000000003F80000000000000000000003F8000000163016900000000000000003F80000000000000000000000163016A000000003F80000000000000000000003F8000000163016B3F80000000000000000000003F800000000000000163016C00000000000000003F8000000000000000000000"}}
+{"expression":"cos(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FEFF0015549F4D3"}}
+{"expression":"cos(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C"}}
+{"expression":"cos(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C3FEF01549F7DEEA13FEE733EA0193D403FEDC6B7EB9959123FECFC6CFA52AD9F3FEC1528065B7D503FEB11D04162A4C63FE9F368ED912F853FE8BB105A5DC9003FE769FEC655211F3FE6018526F563DF3FE4830BD7D4CEB33FE2F011326420E4"}}
+{"expression":"cos(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C3FEF01549F7DEEA13FEE733EA0193D403FEDC6B7EB9959123FECFC6CFA52AD9F3FEC1528065B7D503FEB11D04162A4C63FE9F368ED912F853FE8BB105A5DC9003FE769FEC655211F3FE6018526F563DF3FE4830BD7D4CEB33FE2F011326420E43FE14A280FB5068C3FDF25EC6B852FC23FDB9865639D05963FD7EF4842F0BCCD3FD42E3DD88BD9523FD05906DEC537DA3FC8E6F075A987D63FC102EE507FF5F03FB21BD54FC5F9A73F80FD9D5C093DF5BFABBD1AFE4369EFBFBDCEF1441CB33CBFC6D0C449D3E98ABFCEA34113FA728FBFD32B8E9548FCE1BFD6F252AAE8625BBFDAA22657537205BFDE375A15821AB9BFE0D72C7F114E12BFE281D62E1A3938BFE419FF91B9BA6DBFE59E10A28E82EDBFE70C856FDD6B67BFE863EFA361DC25BFE9A2F7EF858B7DBFEAC85F6691793EBFEBD300B98112C3BFECC1D15D38C71CBFED93E294FAED14BFEE486261109C75BFEEDE9C50B7E58FBFEF55FA36858A40BFEFAE04BE85E5D2BFEFE663E586EF52BFEFFEDF51141634BFEFF75E87CC04E0BFEFCFE909D7F7F8BFEF88A6496C3517BFEF21DD83591FF9BFEE9BF577D4599DBFEDF77403C11A5FBFED34FD9ADE7622BFEC5554A3615112BFEB5958B39E5D69BFEA4205B28667F7BFE91072DBD4648DBFE7C5D1A8E8F73EBFE6636C9F6A87A7BFE4EAA606DB24C1BFE35CF6866E87CCBFE1BBEBAC8242CFBFE009266130831CBFDC8CB28B1567F5BFD8EA8E02394848BFD52F80FED50D4CBFD15F463E585762BFCAFB5B54583D6ABFC31D31103535F6BFB657D66570F13FBF997BD2C2A556593FA34096E1D37B743FB995EC1460ADC73FC4B8FC76C25C0F3FCC924BA0E3EC983FD22785706B4AD93FD5F3BF0E326A233FD9AA06C12BA6E03FDD46A690D2085E3FE06301153054093FE2124D3E6C39153FE3AF889BE348313FE5391614A681983FE6AD6C3C07D4483FE80B16DAE604223FE950B863C4C78F3FEA7D0B503D23AA3FEB8EE36668B3943FEC852EE5028ADD3FED5EF79511AB1A3FEE1B63C00B78FB3FEEB9B7097822F53FEF39532B3F67403FEF99B893E17BFF3FEFDA86E5FDEDF63FEFFB7D58A8F9753FEFFC7AF82F103A3FEFDD7EC705CE193FEF9EA7BEC96E463FEF4034B145C3C83FEEC28409A9A9A9"}}
+{"expression":"cos(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F7F800B3F7E00AB3F7B835F3F780AA53F7399F53F6E35BF3F67E3683F60A9403F588E823F4F9B473F45D8833F3B4FF63F300C293F24185F3F17808A3F0A51403EF92F633EDCC32B3EBF7A423EA171EF3E82C8373E4737843E0817733D90DEAA3C07ECEBBD5DE8D8BDEE778ABE368622BE751A09BE995C75BEB79295BED51133BEF1BAD1BF06B964BF140EB1BF20CFFDBF2CF085BF38642BBF431F7DBF4D17BFBF5642FBBF5E9806BF660E8BBF6C9F15BF724313BF76F4E3BF7AAFD2BF7D7026BF7F331FBF7FF6FBBF7FBAF4BF7E7F48BF7C4532BF790EECBF74DFACBF6FBBA0BF69A7EDBF62AAA5BF5ACAC6BF52102EBF488397BF3E2E8DBF331B65BF275530BF1AE7B4BF0DDF5DBF004933BEE46594BEC75470BEA97C08BE8AFA32BE57DADBBE18E989BDB2BEB3BCCBDE963D1A04B73DCCAF613E25C7E43E64925D3E913C2C3EAF9DF83ECD50363EEA35353F0318093F10926A3F1D7C453F29C8B13F356B623F4058B73F4A85C33F53E85B3F5C771B3F6429773F6AF7BD3F70DB1E3F75CDB83F79CA993F7CCDC53F7ED4373F7FDBEB3F7FE3D83F7EEBF63F7CF53E3F7A01A63F761420"}}
+{"expression":"cos(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FEFF0015549F4D301623FEFC015527D5BD301633FEF706BDF9ECE1C"}}
+{"expression":"cos(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FEFC015527D5BD3016103666F6F3FEFF0015549F4D30162036261723FEF01549F7DEEA1016203666F6F3FEF706BDF9ECE1C0163036261723FEDC6B7EB995912016303666F6F3FEE733EA0193D40"}}
+{"expression":"cos(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FEE733EA0193D40016103626172016A3FEDC6B7EB995912016103626172016B3FECFC6CFA52AD9F016103626172016C3FEC1528065B7D50016103666F6F01693FEFF0015549F4D3016103666F6F016A3FEFC015527D5BD3016103666F6F016B3FEF706BDF9ECE1C016103666F6F016C3FEF01549F7DEEA101620362617201693FE6018526F563DF016203626172016A3FE4830BD7D4CEB3016203626172016B3FE2F011326420E4016203626172016C3FE14A280FB5068C016203666F6F01693FEB11D04162A4C6016203666F6F016A3FE9F368ED912F85016203666F6F016B3FE8BB105A5DC900016203666F6F016C3FE769FEC655211F01630362617201693FD05906DEC537DA016303626172016A3FC8E6F075A987D6016303626172016B3FC102EE507FF5F0016303626172016C3FB21BD54FC5F9A7016303666F6F01693FDF25EC6B852FC2016303666F6F016A3FDB9865639D0596016303666F6F016B3FD7EF4842F0BCCD016303666F6F016C3FD42E3DD88BD952"}}
+{"expression":"cos(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F7399F5016103626172016A3F6E35BF016103626172016B3F67E368016103626172016C3F60A940016103666F6F01693F7F800B016103666F6F016A3F7E00AB016103666F6F016B3F7B835F016103666F6F016C3F780AA501620362617201693F300C29016203626172016A3F24185F016203626172016B3F17808A016203626172016C3F0A5140016203666F6F01693F588E82016203666F6F016A3F4F9B47016203666F6F016B3F45D883016203666F6F016C3F3B4FF601630362617201693E82C837016303626172016A3E473784016303626172016B3E081773016303626172016C3D90DEAA016303666F6F01693EF92F63016303666F6F016A3EDCC32B016303666F6F016B3EBF7A42016303666F6F016C3EA171EF"}}
+{"expression":"cos(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FEC1528065B7D503FEB11D04162A4C63FE9F368ED912F853FE8BB105A5DC9003FE769FEC655211F3FE6018526F563DF3FE4830BD7D4CEB33FC8E6F075A987D63FC102EE507FF5F03FB21BD54FC5F9A73F80FD9D5C093DF5BFABBD1AFE4369EFBFBDCEF1441CB33CBFC6D0C449D3E98ABFE419FF91B9BA6DBFE59E10A28E82EDBFE70C856FDD6B67BFE863EFA361DC25BFE9A2F7EF858B7DBFEAC85F6691793EBFEBD300B98112C303666F6F3FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C3FEF01549F7DEEA13FEE733EA0193D403FEDC6B7EB9959123FECFC6CFA52AD9F3FE2F011326420E43FE14A280FB5068C3FDF25EC6B852FC23FDB9865639D05963FD7EF4842F0BCCD3FD42E3DD88BD9523FD05906DEC537DABFCEA34113FA728FBFD32B8E9548FCE1BFD6F252AAE8625BBFDAA22657537205BFDE375A15821AB9BFE0D72C7F114E12BFE281D62E1A3938"}}
+{"expression":"cos(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEFF0015549F4D33FEE733EA0193D403FEB11D04162A4C63FE6018526F563DF3FDF25EC6B852FC20161016A3FEFC015527D5BD33FEDC6B7EB9959123FE9F368ED912F853FE4830BD7D4CEB33FDB9865639D05960161016B3FEF706BDF9ECE1C3FECFC6CFA52AD9F3FE8BB105A5DC9003FE2F011326420E43FD7EF4842F0BCCD0161016C3FEF01549F7DEEA13FEC1528065B7D503FE769FEC655211F3FE14A280FB5068C3FD42E3DD88BD952016201693FD05906DEC537DA3F80FD9D5C093DF5BFCEA34113FA728FBFDE375A15821AB9BFE59E10A28E82ED0162016A3FC8E6F075A987D6BFABBD1AFE4369EFBFD32B8E9548FCE1BFE0D72C7F114E12BFE70C856FDD6B670162016B3FC102EE507FF5F0BFBDCEF1441CB33CBFD6F252AAE8625BBFE281D62E1A3938BFE863EFA361DC250162016C3FB21BD54FC5F9A7BFC6D0C449D3E98ABFDAA22657537205BFE419FF91B9BA6DBFE9A2F7EF858B7D01630169BFEAC85F6691793EBFEE486261109C75BFEFE663E586EF52BFEF88A6496C3517BFED34FD9ADE76220163016ABFEBD300B98112C3BFEEDE9C50B7E58FBFEFFEDF51141634BFEF21DD83591FF9BFEC5554A36151120163016BBFECC1D15D38C71CBFEF55FA36858A40BFEFF75E87CC04E0BFEE9BF577D4599DBFEB5958B39E5D690163016CBFED93E294FAED14BFEFAE04BE85E5D2BFEFCFE909D7F7F8BFEDF77403C11A5FBFEA4205B28667F7"}}
+{"expression":"cos(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F7F800B3F7399F53F588E823F300C293EF92F630161016A3F7E00AB3F6E35BF3F4F9B473F24185F3EDCC32B0161016B3F7B835F3F67E3683F45D8833F17808A3EBF7A420161016C3F780AA53F60A9403F3B4FF63F0A51403EA171EF016201693E82C8373C07ECEBBE751A09BEF1BAD1BF2CF0850162016A3E473784BD5DE8D8BE995C75BF06B964BF38642B0162016B3E081773BDEE778ABEB79295BF140EB1BF431F7D0162016C3D90DEAABE368622BED51133BF20CFFDBF4D17BF01630169BF5642FBBF724313BF7F331FBF7C4532BF69A7ED0163016ABF5E9806BF76F4E3BF7FF6FBBF790EECBF62AAA50163016BBF660E8BBF7AAFD2BF7FBAF4BF74DFACBF5ACAC60163016CBF6C9F15BF7D7026BF7E7F48BF6FBBA0BF52102E"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FEFF0015549F4D3"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C3FEF01549F7DEEA13FEE733EA0193D403FEDC6B7EB9959123FECFC6CFA52AD9F3FEC1528065B7D503FEB11D04162A4C63FE9F368ED912F853FE8BB105A5DC9003FE769FEC655211F3FE6018526F563DF3FE4830BD7D4CEB33FE2F011326420E4"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C3FEF01549F7DEEA13FEE733EA0193D403FEDC6B7EB9959123FECFC6CFA52AD9F3FEC1528065B7D503FEB11D04162A4C63FE9F368ED912F853FE8BB105A5DC9003FE769FEC655211F3FE6018526F563DF3FE4830BD7D4CEB33FE2F011326420E43FE14A280FB5068C3FDF25EC6B852FC23FDB9865639D05963FD7EF4842F0BCCD3FD42E3DD88BD9523FD05906DEC537DA3FC8E6F075A987D63FC102EE507FF5F03FB21BD54FC5F9A73F80FD9D5C093DF5BFABBD1AFE4369EFBFBDCEF1441CB33CBFC6D0C449D3E98ABFCEA34113FA728FBFD32B8E9548FCE1BFD6F252AAE8625BBFDAA22657537205BFDE375A15821AB9BFE0D72C7F114E12BFE281D62E1A3938BFE419FF91B9BA6DBFE59E10A28E82EDBFE70C856FDD6B67BFE863EFA361DC25BFE9A2F7EF858B7DBFEAC85F6691793EBFEBD300B98112C3BFECC1D15D38C71CBFED93E294FAED14BFEE486261109C75BFEEDE9C50B7E58FBFEF55FA36858A40BFEFAE04BE85E5D2BFEFE663E586EF52BFEFFEDF51141634BFEFF75E87CC04E0BFEFCFE909D7F7F8BFEF88A6496C3517BFEF21DD83591FF9BFEE9BF577D4599DBFEDF77403C11A5FBFED34FD9ADE7622BFEC5554A3615112BFEB5958B39E5D69BFEA4205B28667F7BFE91072DBD4648DBFE7C5D1A8E8F73EBFE6636C9F6A87A7BFE4EAA606DB24C1BFE35CF6866E87CCBFE1BBEBAC8242CFBFE009266130831CBFDC8CB28B1567F5BFD8EA8E02394848BFD52F80FED50D4CBFD15F463E585762BFCAFB5B54583D6ABFC31D31103535F6BFB657D66570F13FBF997BD2C2A556593FA34096E1D37B743FB995EC1460ADC73FC4B8FC76C25C0F3FCC924BA0E3EC983FD22785706B4AD93FD5F3BF0E326A233FD9AA06C12BA6E03FDD46A690D2085E3FE06301153054093FE2124D3E6C39153FE3AF889BE348313FE5391614A681983FE6AD6C3C07D4483FE80B16DAE604223FE950B863C4C78F3FEA7D0B503D23AA3FEB8EE36668B3943FEC852EE5028ADD3FED5EF79511AB1A3FEE1B63C00B78FB3FEEB9B7097822F53FEF39532B3F67403FEF99B893E17BFF3FEFDA86E5FDEDF63FEFFB7D58A8F9753FEFFC7AF82F103A3FEFDD7EC705CE193FEF9EA7BEC96E463FEF4034B145C3C83FEEC28409A9A9A9"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F7F800B3F7E00AB3F7B835F3F780AA53F7399F53F6E35BF3F67E3683F60A9403F588E823F4F9B473F45D8833F3B4FF63F300C293F24185F3F17808A3F0A51403EF92F633EDCC32B3EBF7A423EA171EF3E82C8373E4737843E0817733D90DEAA3C07ECEBBD5DE8D8BDEE778ABE368622BE751A09BE995C75BEB79295BED51133BEF1BAD1BF06B964BF140EB1BF20CFFDBF2CF085BF38642BBF431F7DBF4D17BFBF5642FBBF5E9806BF660E8BBF6C9F15BF724313BF76F4E3BF7AAFD2BF7D7026BF7F331FBF7FF6FBBF7FBAF4BF7E7F48BF7C4532BF790EECBF74DFACBF6FBBA0BF69A7EDBF62AAA5BF5ACAC6BF52102EBF488397BF3E2E8DBF331B65BF275530BF1AE7B4BF0DDF5DBF004933BEE46594BEC75470BEA97C08BE8AFA32BE57DADBBE18E989BDB2BEB3BCCBDE963D1A04B73DCCAF613E25C7E43E64925D3E913C2C3EAF9DF83ECD50363EEA35353F0318093F10926A3F1D7C453F29C8B13F356B623F4058B73F4A85C33F53E85B3F5C771B3F6429773F6AF7BD3F70DB1E3F75CDB83F79CA993F7CCDC53F7ED4373F7FDBEB3F7FE3D83F7EEBF63F7CF53E3F7A01A63F761420"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FEFF0015549F4D301623FEFC015527D5BD301633FEF706BDF9ECE1C"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FEFC015527D5BD3016103666F6F3FEFF0015549F4D30162036261723FEF01549F7DEEA1016203666F6F3FEF706BDF9ECE1C0163036261723FEDC6B7EB995912016303666F6F3FEE733EA0193D40"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FEE733EA0193D40016103626172016A3FEDC6B7EB995912016103626172016B3FECFC6CFA52AD9F016103626172016C3FEC1528065B7D50016103666F6F01693FEFF0015549F4D3016103666F6F016A3FEFC015527D5BD3016103666F6F016B3FEF706BDF9ECE1C016103666F6F016C3FEF01549F7DEEA101620362617201693FE6018526F563DF016203626172016A3FE4830BD7D4CEB3016203626172016B3FE2F011326420E4016203626172016C3FE14A280FB5068C016203666F6F01693FEB11D04162A4C6016203666F6F016A3FE9F368ED912F85016203666F6F016B3FE8BB105A5DC900016203666F6F016C3FE769FEC655211F01630362617201693FD05906DEC537DA016303626172016A3FC8E6F075A987D6016303626172016B3FC102EE507FF5F0016303626172016C3FB21BD54FC5F9A7016303666F6F01693FDF25EC6B852FC2016303666F6F016A3FDB9865639D0596016303666F6F016B3FD7EF4842F0BCCD016303666F6F016C3FD42E3DD88BD952"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F7399F5016103626172016A3F6E35BF016103626172016B3F67E368016103626172016C3F60A940016103666F6F01693F7F800B016103666F6F016A3F7E00AB016103666F6F016B3F7B835F016103666F6F016C3F780AA501620362617201693F300C29016203626172016A3F24185F016203626172016B3F17808A016203626172016C3F0A5140016203666F6F01693F588E82016203666F6F016A3F4F9B47016203666F6F016B3F45D883016203666F6F016C3F3B4FF601630362617201693E82C837016303626172016A3E473784016303626172016B3E081773016303626172016C3D90DEAA016303666F6F01693EF92F63016303666F6F016A3EDCC32B016303666F6F016B3EBF7A42016303666F6F016C3EA171EF"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FEC1528065B7D503FEB11D04162A4C63FE9F368ED912F853FE8BB105A5DC9003FE769FEC655211F3FE6018526F563DF3FE4830BD7D4CEB33FC8E6F075A987D63FC102EE507FF5F03FB21BD54FC5F9A73F80FD9D5C093DF5BFABBD1AFE4369EFBFBDCEF1441CB33CBFC6D0C449D3E98ABFE419FF91B9BA6DBFE59E10A28E82EDBFE70C856FDD6B67BFE863EFA361DC25BFE9A2F7EF858B7DBFEAC85F6691793EBFEBD300B98112C303666F6F3FEFF0015549F4D33FEFC015527D5BD33FEF706BDF9ECE1C3FEF01549F7DEEA13FEE733EA0193D403FEDC6B7EB9959123FECFC6CFA52AD9F3FE2F011326420E43FE14A280FB5068C3FDF25EC6B852FC23FDB9865639D05963FD7EF4842F0BCCD3FD42E3DD88BD9523FD05906DEC537DABFCEA34113FA728FBFD32B8E9548FCE1BFD6F252AAE8625BBFDAA22657537205BFDE375A15821AB9BFE0D72C7F114E12BFE281D62E1A3938"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEFF0015549F4D33FEE733EA0193D403FEB11D04162A4C63FE6018526F563DF3FDF25EC6B852FC20161016A3FEFC015527D5BD33FEDC6B7EB9959123FE9F368ED912F853FE4830BD7D4CEB33FDB9865639D05960161016B3FEF706BDF9ECE1C3FECFC6CFA52AD9F3FE8BB105A5DC9003FE2F011326420E43FD7EF4842F0BCCD0161016C3FEF01549F7DEEA13FEC1528065B7D503FE769FEC655211F3FE14A280FB5068C3FD42E3DD88BD952016201693FD05906DEC537DA3F80FD9D5C093DF5BFCEA34113FA728FBFDE375A15821AB9BFE59E10A28E82ED0162016A3FC8E6F075A987D6BFABBD1AFE4369EFBFD32B8E9548FCE1BFE0D72C7F114E12BFE70C856FDD6B670162016B3FC102EE507FF5F0BFBDCEF1441CB33CBFD6F252AAE8625BBFE281D62E1A3938BFE863EFA361DC250162016C3FB21BD54FC5F9A7BFC6D0C449D3E98ABFDAA22657537205BFE419FF91B9BA6DBFE9A2F7EF858B7D01630169BFEAC85F6691793EBFEE486261109C75BFEFE663E586EF52BFEF88A6496C3517BFED34FD9ADE76220163016ABFEBD300B98112C3BFEEDE9C50B7E58FBFEFFEDF51141634BFEF21DD83591FF9BFEC5554A36151120163016BBFECC1D15D38C71CBFEF55FA36858A40BFEFF75E87CC04E0BFEE9BF577D4599DBFEB5958B39E5D690163016CBFED93E294FAED14BFEFAE04BE85E5D2BFEFCFE909D7F7F8BFEDF77403C11A5FBFEA4205B28667F7"}}
+{"expression":"map(a,f(a)(cos(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F7F800B3F7399F53F588E823F300C293EF92F630161016A3F7E00AB3F6E35BF3F4F9B473F24185F3EDCC32B0161016B3F7B835F3F67E3683F45D8833F17808A3EBF7A420161016C3F780AA53F60A9403F3B4FF63F0A51403EA171EF016201693E82C8373C07ECEBBE751A09BEF1BAD1BF2CF0850162016A3E473784BD5DE8D8BE995C75BF06B964BF38642B0162016B3E081773BDEE778ABEB79295BF140EB1BF431F7D0162016C3D90DEAABE368622BED51133BF20CFFDBF4D17BF01630169BF5642FBBF724313BF7F331FBF7C4532BF69A7ED0163016ABF5E9806BF76F4E3BF7FF6FBBF790EECBF62AAA50163016BBF660E8BBF7AAFD2BF7FBAF4BF74DFACBF5ACAC60163016CBF6C9F15BF7D7026BF7E7F48BF6FBBA0BF52102E"}}
+{"expression":"sin(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FAFFAAAEEED4EDB"}}
+{"expression":"sin(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B5"}}
+{"expression":"sin(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B53FCFAAEED4F315773FD3AD129769D3D83FD77102557642143FDB1D83053216173FDEAEE8744B05F03FE110D0C4B69C3B3FE2B91DEA88421E3FE44EB381CF386B3FE5CFFC16BF8F0D3FE73B7680DEA5783FE88FB7640B8DA23FE9CB6A9BBCE64B"}}
+{"expression":"sin(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B53FCFAAEED4F315773FD3AD129769D3D83FD77102557642143FDB1D83053216173FDEAEE8744B05F03FE110D0C4B69C3B3FE2B91DEA88421E3FE44EB381CF386B3FE5CFFC16BF8F0D3FE73B7680DEA5783FE88FB7640B8DA23FE9CB6A9BBCE64B3FEAED548F090CEE3FEBF4536C24BB853FECDF604A1CADCE3FEDAD902FA8AC873FEE5E14FE11418C3FEEF03E3F3D42A23FEF6379D619369D3FEFB75490A83C2C3FEFEB7A9B2C6D8B3FEFFFB7D3F3A2533FEFF3F7FF74C9A73FEFC846DC89C3AF3FEF7CD018B182463FEF11DF24662DAD3FEE87DEE7B2F3933FEDDF595754E4443FED18F6EAD1B4463FEC357DF40E40243FEB35D1D90D2DD63FEA1AF2309BDCA63FE8E5F9C2D0E3A93FE7981D6E5B8B113FE632AAF3BED93B3FE4B707A7ACDECD3FE326AF0DCFCAB13FE183315D65DF2A3FDF9C63E25718C73FDC12CB48474A243FD86D2239C183FB3FD4AF0E1208CD6D3FD0DC4C957085213FC9F16067CFB7383FC210386DB6D55B3FB43A0378FADB653F90FD770A03E5AABFA77F0DEE42925CBFBBB2AD2464A48CBFC5C51179A9D633BFCD9B09200454F7BFD2A9B41A5FED1FBFD6733B7EBA621FBFDA26518675C600BFDDBF436A743C91BFE09D3C42C705C2BFE24A3AF6750621BFE3E4F0F54F24AABFE56BC3AB8F386FBFE6DD2C670F7AA7BFE837B9DDDC1EAEBFE97A119F5E80B1BFEAA2F16EB0DE8EBFEBB13084C06416BFECA3C0B8FB8370BFED79AF8F640408BFEE32272AF6CC72BFEECC6F237713B1BFEF47ED3DC74080BFEFA42606172D14BFEFE0BD4B4DADF3BFEFFD767B31FCA1BFEFFA34DEF8E460BFEFD6FBB7F928EABFEF93EE3C6A751BBFEF314F7432125FBFEEAF81F5E09933BFEE0F0784239781BFED50808C0DB2ECBFEC74AB84B6F427BFEB7C6430D58DA3BFEA68A2C30D7500BFE93A7AE5D26D43BFE7F31AA7D48B36BFE693C94E0AB057BFE51DE60C88D8D5BFE392E6A7694AEEBFE1F455FD27A14CBFE043D27BE3362FBFDD06190627183ABFD967896699BA40BFD5AF945B89D004BFD1E1F18AB0A2C0BFCC04DC8B7DB26ABFC429D37AB7C0E8BFB87544891F6C54BFA0FCDDC3F512BC3F9E0391FB79D87D3FB778B79B464BD93FC3AC89FA5E11293FCB890D40C6CB3C3FD1A504E2A377CE"}}
+{"expression":"sin(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D7FD5573DFF55773E3EE0813E7D57773E9D68953EBB88133ED8EC183EF577443F0886863F15C8EF3F22759C3F2E7FE13F39DBB43F447DBB3F4E5B553F576AA43F5FA29B3F66FB023F6D6C813F72F0A83F7781F23F7B1BCF3F7DBAA53F7F5BD53F7FFDBF3F7F9FC03F7E42373F7BE6813F788EF93F743EF73F6EFACB3F68C7B73F61ABF03F59AE8F3F50D7923F472FCE3F3CC0EB3F3195583F25B83D3F1935783F0C198B3EFCE31F3EE0965A3EC369123EA578713E86E2653E4F8B033E1081C33DA1D01C3C87EBB8BD3BF86FBDDD9569BE2E288CBE6CD849BE954DA1BEB399DCBED1328CBEEDFA1BBF04E9E2BF1251D8BF1F2788BF2B5E1DBF36E963BF41BDCFBF4BD08DBF55178BBF5D8984BF651E06BF6BCD7CBF719139BF766379BF7A3F6ABF7D2130BF7F05EABF7FEBB4BF7FD1A7BF7EB7DEBF7C9F72BF798A7CBF757C10BF70783CBF6A8404BF63A55CBF5BE322BF534516BF49D3D7BF3F98D5BF349E4ABF28EF30BF1C9735BF0FA2B0BF021E94BEE830C8BECB3C4BBEAD7CA3BE8F0F8CBE6026E4BE214E9CBDC3AA24BD07E6EE3CF01C903DBBC5BD3E1D64503E5C486A3E8D2827"}}
+{"expression":"sin(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FAFFAAAEEED4EDB01623FBFEAAEEE86EE3601633FC7DC102FBAF2B5"}}
+{"expression":"sin(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FBFEAAEEE86EE36016103666F6F3FAFFAAAEEED4EDB0162036261723FCFAAEED4F31577016203666F6F3FC7DC102FBAF2B50163036261723FD7710255764214016303666F6F3FD3AD129769D3D8"}}
+{"expression":"sin(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD3AD129769D3D8016103626172016A3FD7710255764214016103626172016B3FDB1D8305321617016103626172016C3FDEAEE8744B05F0016103666F6F01693FAFFAAAEEED4EDB016103666F6F016A3FBFEAAEEE86EE36016103666F6F016B3FC7DC102FBAF2B5016103666F6F016C3FCFAAEED4F3157701620362617201693FE73B7680DEA578016203626172016A3FE88FB7640B8DA2016203626172016B3FE9CB6A9BBCE64B016203626172016C3FEAED548F090CEE016203666F6F01693FE110D0C4B69C3B016203666F6F016A3FE2B91DEA88421E016203666F6F016B3FE44EB381CF386B016203666F6F016C3FE5CFFC16BF8F0D01630362617201693FEEF03E3F3D42A2016303626172016A3FEF6379D619369D016303626172016B3FEFB75490A83C2C016303626172016C3FEFEB7A9B2C6D8B016303666F6F01693FEBF4536C24BB85016303666F6F016A3FECDF604A1CADCE016303666F6F016B3FEDAD902FA8AC87016303666F6F016C3FEE5E14FE11418C"}}
+{"expression":"sin(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693E9D6895016103626172016A3EBB8813016103626172016B3ED8EC18016103626172016C3EF57744016103666F6F01693D7FD557016103666F6F016A3DFF5577016103666F6F016B3E3EE081016103666F6F016C3E7D577701620362617201693F39DBB4016203626172016A3F447DBB016203626172016B3F4E5B55016203626172016C3F576AA4016203666F6F01693F088686016203666F6F016A3F15C8EF016203666F6F016B3F22759C016203666F6F016C3F2E7FE101630362617201693F7781F2016303626172016A3F7B1BCF016303626172016B3F7DBAA5016303626172016C3F7F5BD5016303666F6F01693F5FA29B016303666F6F016A3F66FB02016303666F6F016B3F6D6C81016303666F6F016C3F72F0A8"}}
+{"expression":"sin(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FDEAEE8744B05F03FE110D0C4B69C3B3FE2B91DEA88421E3FE44EB381CF386B3FE5CFFC16BF8F0D3FE73B7680DEA5783FE88FB7640B8DA23FEF6379D619369D3FEFB75490A83C2C3FEFEB7A9B2C6D8B3FEFFFB7D3F3A2533FEFF3F7FF74C9A73FEFC846DC89C3AF3FEF7CD018B182463FE8E5F9C2D0E3A93FE7981D6E5B8B113FE632AAF3BED93B3FE4B707A7ACDECD3FE326AF0DCFCAB13FE183315D65DF2A3FDF9C63E25718C703666F6F3FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B53FCFAAEED4F315773FD3AD129769D3D83FD77102557642143FDB1D83053216173FE9CB6A9BBCE64B3FEAED548F090CEE3FEBF4536C24BB853FECDF604A1CADCE3FEDAD902FA8AC873FEE5E14FE11418C3FEEF03E3F3D42A23FEF11DF24662DAD3FEE87DEE7B2F3933FEDDF595754E4443FED18F6EAD1B4463FEC357DF40E40243FEB35D1D90D2DD63FEA1AF2309BDCA6"}}
+{"expression":"sin(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FAFFAAAEEED4EDB3FD3AD129769D3D83FE110D0C4B69C3B3FE73B7680DEA5783FEBF4536C24BB850161016A3FBFEAAEEE86EE363FD77102557642143FE2B91DEA88421E3FE88FB7640B8DA23FECDF604A1CADCE0161016B3FC7DC102FBAF2B53FDB1D83053216173FE44EB381CF386B3FE9CB6A9BBCE64B3FEDAD902FA8AC870161016C3FCFAAEED4F315773FDEAEE8744B05F03FE5CFFC16BF8F0D3FEAED548F090CEE3FEE5E14FE11418C016201693FEEF03E3F3D42A23FEFFFB7D3F3A2533FEF11DF24662DAD3FEC357DF40E40243FE7981D6E5B8B110162016A3FEF6379D619369D3FEFF3F7FF74C9A73FEE87DEE7B2F3933FEB35D1D90D2DD63FE632AAF3BED93B0162016B3FEFB75490A83C2C3FEFC846DC89C3AF3FEDDF595754E4443FEA1AF2309BDCA63FE4B707A7ACDECD0162016C3FEFEB7A9B2C6D8B3FEF7CD018B182463FED18F6EAD1B4463FE8E5F9C2D0E3A93FE326AF0DCFCAB1016301693FE183315D65DF2A3FD4AF0E1208CD6D3FB43A0378FADB65BFC5C51179A9D633BFDA26518675C6000163016A3FDF9C63E25718C73FD0DC4C957085213F90FD770A03E5AABFCD9B09200454F7BFDDBF436A743C910163016B3FDC12CB48474A243FC9F16067CFB738BFA77F0DEE42925CBFD2A9B41A5FED1FBFE09D3C42C705C20163016C3FD86D2239C183FB3FC210386DB6D55BBFBBB2AD2464A48CBFD6733B7EBA621FBFE24A3AF6750621"}}
+{"expression":"sin(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D7FD5573E9D68953F0886863F39DBB43F5FA29B0161016A3DFF55773EBB88133F15C8EF3F447DBB3F66FB020161016B3E3EE0813ED8EC183F22759C3F4E5B553F6D6C810161016C3E7D57773EF577443F2E7FE13F576AA43F72F0A8016201693F7781F23F7FFDBF3F788EF93F61ABF03F3CC0EB0162016A3F7B1BCF3F7F9FC03F743EF73F59AE8F3F3195580162016B3F7DBAA53F7E42373F6EFACB3F50D7923F25B83D0162016C3F7F5BD53F7BE6813F68C7B73F472FCE3F193578016301693F0C198B3EA578713DA1D01CBE2E288CBED1328C0163016A3EFCE31F3E86E2653C87EBB8BE6CD849BEEDFA1B0163016B3EE0965A3E4F8B03BD3BF86FBE954DA1BF04E9E20163016C3EC369123E1081C3BDDD9569BEB399DCBF1251D8"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FAFFAAAEEED4EDB"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B5"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B53FCFAAEED4F315773FD3AD129769D3D83FD77102557642143FDB1D83053216173FDEAEE8744B05F03FE110D0C4B69C3B3FE2B91DEA88421E3FE44EB381CF386B3FE5CFFC16BF8F0D3FE73B7680DEA5783FE88FB7640B8DA23FE9CB6A9BBCE64B"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B53FCFAAEED4F315773FD3AD129769D3D83FD77102557642143FDB1D83053216173FDEAEE8744B05F03FE110D0C4B69C3B3FE2B91DEA88421E3FE44EB381CF386B3FE5CFFC16BF8F0D3FE73B7680DEA5783FE88FB7640B8DA23FE9CB6A9BBCE64B3FEAED548F090CEE3FEBF4536C24BB853FECDF604A1CADCE3FEDAD902FA8AC873FEE5E14FE11418C3FEEF03E3F3D42A23FEF6379D619369D3FEFB75490A83C2C3FEFEB7A9B2C6D8B3FEFFFB7D3F3A2533FEFF3F7FF74C9A73FEFC846DC89C3AF3FEF7CD018B182463FEF11DF24662DAD3FEE87DEE7B2F3933FEDDF595754E4443FED18F6EAD1B4463FEC357DF40E40243FEB35D1D90D2DD63FEA1AF2309BDCA63FE8E5F9C2D0E3A93FE7981D6E5B8B113FE632AAF3BED93B3FE4B707A7ACDECD3FE326AF0DCFCAB13FE183315D65DF2A3FDF9C63E25718C73FDC12CB48474A243FD86D2239C183FB3FD4AF0E1208CD6D3FD0DC4C957085213FC9F16067CFB7383FC210386DB6D55B3FB43A0378FADB653F90FD770A03E5AABFA77F0DEE42925CBFBBB2AD2464A48CBFC5C51179A9D633BFCD9B09200454F7BFD2A9B41A5FED1FBFD6733B7EBA621FBFDA26518675C600BFDDBF436A743C91BFE09D3C42C705C2BFE24A3AF6750621BFE3E4F0F54F24AABFE56BC3AB8F386FBFE6DD2C670F7AA7BFE837B9DDDC1EAEBFE97A119F5E80B1BFEAA2F16EB0DE8EBFEBB13084C06416BFECA3C0B8FB8370BFED79AF8F640408BFEE32272AF6CC72BFEECC6F237713B1BFEF47ED3DC74080BFEFA42606172D14BFEFE0BD4B4DADF3BFEFFD767B31FCA1BFEFFA34DEF8E460BFEFD6FBB7F928EABFEF93EE3C6A751BBFEF314F7432125FBFEEAF81F5E09933BFEE0F0784239781BFED50808C0DB2ECBFEC74AB84B6F427BFEB7C6430D58DA3BFEA68A2C30D7500BFE93A7AE5D26D43BFE7F31AA7D48B36BFE693C94E0AB057BFE51DE60C88D8D5BFE392E6A7694AEEBFE1F455FD27A14CBFE043D27BE3362FBFDD06190627183ABFD967896699BA40BFD5AF945B89D004BFD1E1F18AB0A2C0BFCC04DC8B7DB26ABFC429D37AB7C0E8BFB87544891F6C54BFA0FCDDC3F512BC3F9E0391FB79D87D3FB778B79B464BD93FC3AC89FA5E11293FCB890D40C6CB3C3FD1A504E2A377CE"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D7FD5573DFF55773E3EE0813E7D57773E9D68953EBB88133ED8EC183EF577443F0886863F15C8EF3F22759C3F2E7FE13F39DBB43F447DBB3F4E5B553F576AA43F5FA29B3F66FB023F6D6C813F72F0A83F7781F23F7B1BCF3F7DBAA53F7F5BD53F7FFDBF3F7F9FC03F7E42373F7BE6813F788EF93F743EF73F6EFACB3F68C7B73F61ABF03F59AE8F3F50D7923F472FCE3F3CC0EB3F3195583F25B83D3F1935783F0C198B3EFCE31F3EE0965A3EC369123EA578713E86E2653E4F8B033E1081C33DA1D01C3C87EBB8BD3BF86FBDDD9569BE2E288CBE6CD849BE954DA1BEB399DCBED1328CBEEDFA1BBF04E9E2BF1251D8BF1F2788BF2B5E1DBF36E963BF41BDCFBF4BD08DBF55178BBF5D8984BF651E06BF6BCD7CBF719139BF766379BF7A3F6ABF7D2130BF7F05EABF7FEBB4BF7FD1A7BF7EB7DEBF7C9F72BF798A7CBF757C10BF70783CBF6A8404BF63A55CBF5BE322BF534516BF49D3D7BF3F98D5BF349E4ABF28EF30BF1C9735BF0FA2B0BF021E94BEE830C8BECB3C4BBEAD7CA3BE8F0F8CBE6026E4BE214E9CBDC3AA24BD07E6EE3CF01C903DBBC5BD3E1D64503E5C486A3E8D2827"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FAFFAAAEEED4EDB01623FBFEAAEEE86EE3601633FC7DC102FBAF2B5"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FBFEAAEEE86EE36016103666F6F3FAFFAAAEEED4EDB0162036261723FCFAAEED4F31577016203666F6F3FC7DC102FBAF2B50163036261723FD7710255764214016303666F6F3FD3AD129769D3D8"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD3AD129769D3D8016103626172016A3FD7710255764214016103626172016B3FDB1D8305321617016103626172016C3FDEAEE8744B05F0016103666F6F01693FAFFAAAEEED4EDB016103666F6F016A3FBFEAAEEE86EE36016103666F6F016B3FC7DC102FBAF2B5016103666F6F016C3FCFAAEED4F3157701620362617201693FE73B7680DEA578016203626172016A3FE88FB7640B8DA2016203626172016B3FE9CB6A9BBCE64B016203626172016C3FEAED548F090CEE016203666F6F01693FE110D0C4B69C3B016203666F6F016A3FE2B91DEA88421E016203666F6F016B3FE44EB381CF386B016203666F6F016C3FE5CFFC16BF8F0D01630362617201693FEEF03E3F3D42A2016303626172016A3FEF6379D619369D016303626172016B3FEFB75490A83C2C016303626172016C3FEFEB7A9B2C6D8B016303666F6F01693FEBF4536C24BB85016303666F6F016A3FECDF604A1CADCE016303666F6F016B3FEDAD902FA8AC87016303666F6F016C3FEE5E14FE11418C"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693E9D6895016103626172016A3EBB8813016103626172016B3ED8EC18016103626172016C3EF57744016103666F6F01693D7FD557016103666F6F016A3DFF5577016103666F6F016B3E3EE081016103666F6F016C3E7D577701620362617201693F39DBB4016203626172016A3F447DBB016203626172016B3F4E5B55016203626172016C3F576AA4016203666F6F01693F088686016203666F6F016A3F15C8EF016203666F6F016B3F22759C016203666F6F016C3F2E7FE101630362617201693F7781F2016303626172016A3F7B1BCF016303626172016B3F7DBAA5016303626172016C3F7F5BD5016303666F6F01693F5FA29B016303666F6F016A3F66FB02016303666F6F016B3F6D6C81016303666F6F016C3F72F0A8"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FDEAEE8744B05F03FE110D0C4B69C3B3FE2B91DEA88421E3FE44EB381CF386B3FE5CFFC16BF8F0D3FE73B7680DEA5783FE88FB7640B8DA23FEF6379D619369D3FEFB75490A83C2C3FEFEB7A9B2C6D8B3FEFFFB7D3F3A2533FEFF3F7FF74C9A73FEFC846DC89C3AF3FEF7CD018B182463FE8E5F9C2D0E3A93FE7981D6E5B8B113FE632AAF3BED93B3FE4B707A7ACDECD3FE326AF0DCFCAB13FE183315D65DF2A3FDF9C63E25718C703666F6F3FAFFAAAEEED4EDB3FBFEAAEEE86EE363FC7DC102FBAF2B53FCFAAEED4F315773FD3AD129769D3D83FD77102557642143FDB1D83053216173FE9CB6A9BBCE64B3FEAED548F090CEE3FEBF4536C24BB853FECDF604A1CADCE3FEDAD902FA8AC873FEE5E14FE11418C3FEEF03E3F3D42A23FEF11DF24662DAD3FEE87DEE7B2F3933FEDDF595754E4443FED18F6EAD1B4463FEC357DF40E40243FEB35D1D90D2DD63FEA1AF2309BDCA6"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FAFFAAAEEED4EDB3FD3AD129769D3D83FE110D0C4B69C3B3FE73B7680DEA5783FEBF4536C24BB850161016A3FBFEAAEEE86EE363FD77102557642143FE2B91DEA88421E3FE88FB7640B8DA23FECDF604A1CADCE0161016B3FC7DC102FBAF2B53FDB1D83053216173FE44EB381CF386B3FE9CB6A9BBCE64B3FEDAD902FA8AC870161016C3FCFAAEED4F315773FDEAEE8744B05F03FE5CFFC16BF8F0D3FEAED548F090CEE3FEE5E14FE11418C016201693FEEF03E3F3D42A23FEFFFB7D3F3A2533FEF11DF24662DAD3FEC357DF40E40243FE7981D6E5B8B110162016A3FEF6379D619369D3FEFF3F7FF74C9A73FEE87DEE7B2F3933FEB35D1D90D2DD63FE632AAF3BED93B0162016B3FEFB75490A83C2C3FEFC846DC89C3AF3FEDDF595754E4443FEA1AF2309BDCA63FE4B707A7ACDECD0162016C3FEFEB7A9B2C6D8B3FEF7CD018B182463FED18F6EAD1B4463FE8E5F9C2D0E3A93FE326AF0DCFCAB1016301693FE183315D65DF2A3FD4AF0E1208CD6D3FB43A0378FADB65BFC5C51179A9D633BFDA26518675C6000163016A3FDF9C63E25718C73FD0DC4C957085213F90FD770A03E5AABFCD9B09200454F7BFDDBF436A743C910163016B3FDC12CB48474A243FC9F16067CFB738BFA77F0DEE42925CBFD2A9B41A5FED1FBFE09D3C42C705C20163016C3FD86D2239C183FB3FC210386DB6D55BBFBBB2AD2464A48CBFD6733B7EBA621FBFE24A3AF6750621"}}
+{"expression":"map(a,f(a)(sin(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D7FD5573E9D68953F0886863F39DBB43F5FA29B0161016A3DFF55773EBB88133F15C8EF3F447DBB3F66FB020161016B3E3EE0813ED8EC183F22759C3F4E5B553F6D6C810161016C3E7D57773EF577443F2E7FE13F576AA43F72F0A8016201693F7781F23F7FFDBF3F788EF93F61ABF03F3CC0EB0162016A3F7B1BCF3F7F9FC03F743EF73F59AE8F3F3195580162016B3F7DBAA53F7E42373F6EFACB3F50D7923F25B83D0162016C3F7F5BD53F7BE6813F68C7B73F472FCE3F193578016301693F0C198B3EA578713DA1D01CBE2E288CBED1328C0163016A3EFCE31F3E86E2653C87EBB8BE6CD849BEEDFA1B0163016B3EE0965A3E4F8B03BD3BF86FBE954DA1BF04E9E20163016C3EC369123E1081C3BDDD9569BEB399DCBF1251D8"}}
+{"expression":"tan(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB005577854DF01"}}
+{"expression":"tan(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FB005577854DF013FC01577AF1511A53FC84906F1132568"}}
+{"expression":"tan(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FB005577854DF013FC01577AF1511A53FC84906F11325683FD05785A43C4C563FD4AD71ED51CE393FD9312D859BF8B03FDDEF49EAAB37A13FE17B4F5BF3474A3FE42C8BA0E9537A3FE7166689D41EF03FEA46CB2BE6A0B23FEDCFA36110EEEC3FF0E442AA4C1EA03FF328A395115A5E3FF5CB0BFC155800"}}
+{"expression":"tan(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FB005577854DF013FC01577AF1511A53FC84906F11325683FD05785A43C4C563FD4AD71ED51CE393FD9312D859BF8B03FDDEF49EAAB37A13FE17B4F5BF3474A3FE42C8BA0E9537A3FE7166689D41EF03FEA46CB2BE6A0B23FEDCFA36110EEEC3FF0E442AA4C1EA03FF328A395115A5E3FF5CB0BFC1558003FF8EB245CBEE3A63FFCB80AC81FE6124000BD9602648A364003D6DC956EAC7D4008139943E231A8400E47C2171B112F40142AEBD53F29E4401DD494676F5DE5402C33ED50B88777405E221492E1D037C0326E4D05A17116C0210F3E89743E64C01614DE7972B0BBC01039C49AF46BAAC0097B5E8AE9A21CC004D447FA59C62FC0017AF62E0950F8BFFDDFCE116F57D6BFF9DA268DC2B78ABFF6919ACAC2CE03BFF3D16B30F9ADCFBFF1768CA5B5D45ABFEED18AF0B0BA81BFEB2D89A938294DBFE7E79B4E00BB15BFE4EC85CE990E65BFE22D6F57473123BFDF3D3D32863EF3BFDA6D3F2D2FBDDFBFD5DB528F41917CBFD17A5C176D8C58BFCA7E234DE0A4F4BFC23EF71254B86FBFB44A40761A778BBF90FE105579A5AF3FA78565F743DAF03FBBDC8BF445936C3FC61776AA407A433FCE6E46F812C2CF3FD382C98851ECD93FD7F9360C8212A73FDCA67B832312D33FE0CC62B7B1011F3FE3708B193E47D63FE64A2502B0CA3B3FE96640D9C118B63FECD596116A9ACB3FF057024229C0393FF2866F9BE4DE133FF50D44313164823FF8082D137499253FFBA16375ABCA7040000CEBBF628F314002ED79A93FB5024006CE0DBC2BBBD5400C5DABB45BAC1A40128CA0C62BF595401A7C7BF053BFB74026D3F0B68A96FB404415C6B92FB3C1C03A934E58D7CC85C023E9399D7179C4C01861A2306F0447C01177C493149363C00B0B4B739BBB07C005E89676221B0AC00246964CCCCFCEBFFF1A7B3EDFBDD6BFFAD65436D2B404BFF761AE36E41E8BBFF4814840BD0DEEBFF20E3C35AE57B4BFEFDBD31615B07ABFEC1AE0FB48E205BFE8BE108A4D2566BFE5B0B6340CDE46BFE2E2F32D88343EBFE048525BC11821BFDBADAD53CCF0A6BFD70CA41938429CBFD29FD86EBB95BEBFCCB724D6BE97F4BFC46B1664AF4326BFB8920A614F6F8BBFA0FF43123A338E3F9E06DF74530A4A3FB792220E870BEC3FC3E91B7F5723613FCC320B15C520E83FD25B22CF12B730"}}
+{"expression":"tan(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D802ABC3E00ABBD3E4248383E82BC2D3EA56B8F3EC9896C3EEF7A4F3F0BDA7B3F21645D3F38B3343F5236593F6E7D1B3F8722153F99451D3FAE58603FC759233FE5C0564005ECB0401EB6E540409CCA40723E1140A1575F40EEA4A341619F6B42F110A5C1937268C10879F4C0B0A6F4C081CE25C04BDAF4C026A240C00BD7B1BFEEFE71BFCED134BFB48CD6BF9E8B5ABF8BB465BF768C58BF596C4DBF3F3CDABF27642EBF116B7BBEF9E9EABED369F9BEAEDA94BE8BD2E1BE53F11ABE11F7B9BDA25204BC87F0833D3C2B303DDEE4603E30BBB53E7372383E9C164C3EBFC9B03EE533DC3F0663163F1B84593F3251283F4B32073F66ACB13F82B8123F94337D3FA86A223FC041693FDD0B1C4000675E40176BCD4036706E4062ED5E4094650640D3E3E041369F864220AE36C1D49A73C11F49CDC0C30D12C08BBE25C0585A5CC02F44B4C01234B2BFF8D3DABFD6B2A2BFBB0D72BFA40A42BF9071E2BF7EDE99BF60D708BF45F084BF2D85B2BF171799BF024293BEDD6D6BBEB86521BE94FEC3BE65B927BE2358B3BDC49053BD07FA193CF036FC3DBC91103E1F48DC3E6190593E92D916"}}
+{"expression":"tan(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB005577854DF0101623FC01577AF1511A501633FC84906F1132568"}}
+{"expression":"tan(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FC01577AF1511A5016103666F6F3FB005577854DF010162036261723FD05785A43C4C56016203666F6F3FC84906F11325680163036261723FD9312D859BF8B0016303666F6F3FD4AD71ED51CE39"}}
+{"expression":"tan(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD4AD71ED51CE39016103626172016A3FD9312D859BF8B0016103626172016B3FDDEF49EAAB37A1016103626172016C3FE17B4F5BF3474A016103666F6F01693FB005577854DF01016103666F6F016A3FC01577AF1511A5016103666F6F016B3FC84906F1132568016103666F6F016C3FD05785A43C4C5601620362617201693FF0E442AA4C1EA0016203626172016A3FF328A395115A5E016203626172016B3FF5CB0BFC155800016203626172016C3FF8EB245CBEE3A6016203666F6F01693FE42C8BA0E9537A016203666F6F016A3FE7166689D41EF0016203666F6F016B3FEA46CB2BE6A0B2016203666F6F016C3FEDCFA36110EEEC0163036261720169400E47C2171B112F016303626172016A40142AEBD53F29E4016303626172016B401DD494676F5DE5016303626172016C402C33ED50B88777016303666F6F01693FFCB80AC81FE612016303666F6F016A4000BD9602648A36016303666F6F016B4003D6DC956EAC7D016303666F6F016C4008139943E231A8"}}
+{"expression":"tan(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693EA56B8F016103626172016A3EC9896C016103626172016B3EEF7A4F016103626172016C3F0BDA7B016103666F6F01693D802ABC016103666F6F016A3E00ABBD016103666F6F016B3E424838016103666F6F016C3E82BC2D01620362617201693F872215016203626172016A3F99451D016203626172016B3FAE5860016203626172016C3FC75923016203666F6F01693F21645D016203666F6F016A3F38B334016203666F6F016B3F523659016203666F6F016C3F6E7D1B016303626172016940723E11016303626172016A40A1575F016303626172016B40EEA4A3016303626172016C41619F6B016303666F6F01693FE5C056016303666F6F016A4005ECB0016303666F6F016B401EB6E5016303666F6F016C40409CCA"}}
+{"expression":"tan(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE17B4F5BF3474A3FE42C8BA0E9537A3FE7166689D41EF03FEA46CB2BE6A0B23FEDCFA36110EEEC3FF0E442AA4C1EA03FF328A395115A5E40142AEBD53F29E4401DD494676F5DE5402C33ED50B88777405E221492E1D037C0326E4D05A17116C0210F3E89743E64C01614DE7972B0BBBFF3D16B30F9ADCFBFF1768CA5B5D45ABFEED18AF0B0BA81BFEB2D89A938294DBFE7E79B4E00BB15BFE4EC85CE990E65BFE22D6F5747312303666F6F3FB005577854DF013FC01577AF1511A53FC84906F11325683FD05785A43C4C563FD4AD71ED51CE393FD9312D859BF8B03FDDEF49EAAB37A13FF5CB0BFC1558003FF8EB245CBEE3A63FFCB80AC81FE6124000BD9602648A364003D6DC956EAC7D4008139943E231A8400E47C2171B112FC01039C49AF46BAAC0097B5E8AE9A21CC004D447FA59C62FC0017AF62E0950F8BFFDDFCE116F57D6BFF9DA268DC2B78ABFF6919ACAC2CE03"}}
+{"expression":"tan(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB005577854DF013FD4AD71ED51CE393FE42C8BA0E9537A3FF0E442AA4C1EA03FFCB80AC81FE6120161016A3FC01577AF1511A53FD9312D859BF8B03FE7166689D41EF03FF328A395115A5E4000BD9602648A360161016B3FC84906F11325683FDDEF49EAAB37A13FEA46CB2BE6A0B23FF5CB0BFC1558004003D6DC956EAC7D0161016C3FD05785A43C4C563FE17B4F5BF3474A3FEDCFA36110EEEC3FF8EB245CBEE3A64008139943E231A801620169400E47C2171B112F405E221492E1D037C01039C49AF46BAABFFDDFCE116F57D6BFF1768CA5B5D45A0162016A40142AEBD53F29E4C0326E4D05A17116C0097B5E8AE9A21CBFF9DA268DC2B78ABFEED18AF0B0BA810162016B401DD494676F5DE5C0210F3E89743E64C004D447FA59C62FBFF6919ACAC2CE03BFEB2D89A938294D0162016C402C33ED50B88777C01614DE7972B0BBC0017AF62E0950F8BFF3D16B30F9ADCFBFE7E79B4E00BB1501630169BFE4EC85CE990E65BFD5DB528F41917CBFB44A40761A778B3FC61776AA407A433FDCA67B832312D30163016ABFE22D6F57473123BFD17A5C176D8C58BF90FE105579A5AF3FCE6E46F812C2CF3FE0CC62B7B1011F0163016BBFDF3D3D32863EF3BFCA7E234DE0A4F43FA78565F743DAF03FD382C98851ECD93FE3708B193E47D60163016CBFDA6D3F2D2FBDDFBFC23EF71254B86F3FBBDC8BF445936C3FD7F9360C8212A73FE64A2502B0CA3B"}}
+{"expression":"tan(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D802ABC3EA56B8F3F21645D3F8722153FE5C0560161016A3E00ABBD3EC9896C3F38B3343F99451D4005ECB00161016B3E4248383EEF7A4F3F5236593FAE5860401EB6E50161016C3E82BC2D3F0BDA7B3F6E7D1B3FC7592340409CCA0162016940723E1142F110A5C081CE25BFEEFE71BF8BB4650162016A40A1575FC1937268C04BDAF4BFCED134BF768C580162016B40EEA4A3C10879F4C026A240BFB48CD6BF596C4D0162016C41619F6BC0B0A6F4C00BD7B1BF9E8B5ABF3F3CDA01630169BF27642EBEAEDA94BDA252043E30BBB53EE533DC0163016ABF116B7BBE8BD2E1BC87F0833E7372383F0663160163016BBEF9E9EABE53F11A3D3C2B303E9C164C3F1B84590163016CBED369F9BE11F7B93DDEE4603EBFC9B03F325128"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB005577854DF01"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FB005577854DF013FC01577AF1511A53FC84906F1132568"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FB005577854DF013FC01577AF1511A53FC84906F11325683FD05785A43C4C563FD4AD71ED51CE393FD9312D859BF8B03FDDEF49EAAB37A13FE17B4F5BF3474A3FE42C8BA0E9537A3FE7166689D41EF03FEA46CB2BE6A0B23FEDCFA36110EEEC3FF0E442AA4C1EA03FF328A395115A5E3FF5CB0BFC155800"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FB005577854DF013FC01577AF1511A53FC84906F11325683FD05785A43C4C563FD4AD71ED51CE393FD9312D859BF8B03FDDEF49EAAB37A13FE17B4F5BF3474A3FE42C8BA0E9537A3FE7166689D41EF03FEA46CB2BE6A0B23FEDCFA36110EEEC3FF0E442AA4C1EA03FF328A395115A5E3FF5CB0BFC1558003FF8EB245CBEE3A63FFCB80AC81FE6124000BD9602648A364003D6DC956EAC7D4008139943E231A8400E47C2171B112F40142AEBD53F29E4401DD494676F5DE5402C33ED50B88777405E221492E1D037C0326E4D05A17116C0210F3E89743E64C01614DE7972B0BBC01039C49AF46BAAC0097B5E8AE9A21CC004D447FA59C62FC0017AF62E0950F8BFFDDFCE116F57D6BFF9DA268DC2B78ABFF6919ACAC2CE03BFF3D16B30F9ADCFBFF1768CA5B5D45ABFEED18AF0B0BA81BFEB2D89A938294DBFE7E79B4E00BB15BFE4EC85CE990E65BFE22D6F57473123BFDF3D3D32863EF3BFDA6D3F2D2FBDDFBFD5DB528F41917CBFD17A5C176D8C58BFCA7E234DE0A4F4BFC23EF71254B86FBFB44A40761A778BBF90FE105579A5AF3FA78565F743DAF03FBBDC8BF445936C3FC61776AA407A433FCE6E46F812C2CF3FD382C98851ECD93FD7F9360C8212A73FDCA67B832312D33FE0CC62B7B1011F3FE3708B193E47D63FE64A2502B0CA3B3FE96640D9C118B63FECD596116A9ACB3FF057024229C0393FF2866F9BE4DE133FF50D44313164823FF8082D137499253FFBA16375ABCA7040000CEBBF628F314002ED79A93FB5024006CE0DBC2BBBD5400C5DABB45BAC1A40128CA0C62BF595401A7C7BF053BFB74026D3F0B68A96FB404415C6B92FB3C1C03A934E58D7CC85C023E9399D7179C4C01861A2306F0447C01177C493149363C00B0B4B739BBB07C005E89676221B0AC00246964CCCCFCEBFFF1A7B3EDFBDD6BFFAD65436D2B404BFF761AE36E41E8BBFF4814840BD0DEEBFF20E3C35AE57B4BFEFDBD31615B07ABFEC1AE0FB48E205BFE8BE108A4D2566BFE5B0B6340CDE46BFE2E2F32D88343EBFE048525BC11821BFDBADAD53CCF0A6BFD70CA41938429CBFD29FD86EBB95BEBFCCB724D6BE97F4BFC46B1664AF4326BFB8920A614F6F8BBFA0FF43123A338E3F9E06DF74530A4A3FB792220E870BEC3FC3E91B7F5723613FCC320B15C520E83FD25B22CF12B730"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D802ABC3E00ABBD3E4248383E82BC2D3EA56B8F3EC9896C3EEF7A4F3F0BDA7B3F21645D3F38B3343F5236593F6E7D1B3F8722153F99451D3FAE58603FC759233FE5C0564005ECB0401EB6E540409CCA40723E1140A1575F40EEA4A341619F6B42F110A5C1937268C10879F4C0B0A6F4C081CE25C04BDAF4C026A240C00BD7B1BFEEFE71BFCED134BFB48CD6BF9E8B5ABF8BB465BF768C58BF596C4DBF3F3CDABF27642EBF116B7BBEF9E9EABED369F9BEAEDA94BE8BD2E1BE53F11ABE11F7B9BDA25204BC87F0833D3C2B303DDEE4603E30BBB53E7372383E9C164C3EBFC9B03EE533DC3F0663163F1B84593F3251283F4B32073F66ACB13F82B8123F94337D3FA86A223FC041693FDD0B1C4000675E40176BCD4036706E4062ED5E4094650640D3E3E041369F864220AE36C1D49A73C11F49CDC0C30D12C08BBE25C0585A5CC02F44B4C01234B2BFF8D3DABFD6B2A2BFBB0D72BFA40A42BF9071E2BF7EDE99BF60D708BF45F084BF2D85B2BF171799BF024293BEDD6D6BBEB86521BE94FEC3BE65B927BE2358B3BDC49053BD07FA193CF036FC3DBC91103E1F48DC3E6190593E92D916"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB005577854DF0101623FC01577AF1511A501633FC84906F1132568"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FC01577AF1511A5016103666F6F3FB005577854DF010162036261723FD05785A43C4C56016203666F6F3FC84906F11325680163036261723FD9312D859BF8B0016303666F6F3FD4AD71ED51CE39"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD4AD71ED51CE39016103626172016A3FD9312D859BF8B0016103626172016B3FDDEF49EAAB37A1016103626172016C3FE17B4F5BF3474A016103666F6F01693FB005577854DF01016103666F6F016A3FC01577AF1511A5016103666F6F016B3FC84906F1132568016103666F6F016C3FD05785A43C4C5601620362617201693FF0E442AA4C1EA0016203626172016A3FF328A395115A5E016203626172016B3FF5CB0BFC155800016203626172016C3FF8EB245CBEE3A6016203666F6F01693FE42C8BA0E9537A016203666F6F016A3FE7166689D41EF0016203666F6F016B3FEA46CB2BE6A0B2016203666F6F016C3FEDCFA36110EEEC0163036261720169400E47C2171B112F016303626172016A40142AEBD53F29E4016303626172016B401DD494676F5DE5016303626172016C402C33ED50B88777016303666F6F01693FFCB80AC81FE612016303666F6F016A4000BD9602648A36016303666F6F016B4003D6DC956EAC7D016303666F6F016C4008139943E231A8"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693EA56B8F016103626172016A3EC9896C016103626172016B3EEF7A4F016103626172016C3F0BDA7B016103666F6F01693D802ABC016103666F6F016A3E00ABBD016103666F6F016B3E424838016103666F6F016C3E82BC2D01620362617201693F872215016203626172016A3F99451D016203626172016B3FAE5860016203626172016C3FC75923016203666F6F01693F21645D016203666F6F016A3F38B334016203666F6F016B3F523659016203666F6F016C3F6E7D1B016303626172016940723E11016303626172016A40A1575F016303626172016B40EEA4A3016303626172016C41619F6B016303666F6F01693FE5C056016303666F6F016A4005ECB0016303666F6F016B401EB6E5016303666F6F016C40409CCA"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE17B4F5BF3474A3FE42C8BA0E9537A3FE7166689D41EF03FEA46CB2BE6A0B23FEDCFA36110EEEC3FF0E442AA4C1EA03FF328A395115A5E40142AEBD53F29E4401DD494676F5DE5402C33ED50B88777405E221492E1D037C0326E4D05A17116C0210F3E89743E64C01614DE7972B0BBBFF3D16B30F9ADCFBFF1768CA5B5D45ABFEED18AF0B0BA81BFEB2D89A938294DBFE7E79B4E00BB15BFE4EC85CE990E65BFE22D6F5747312303666F6F3FB005577854DF013FC01577AF1511A53FC84906F11325683FD05785A43C4C563FD4AD71ED51CE393FD9312D859BF8B03FDDEF49EAAB37A13FF5CB0BFC1558003FF8EB245CBEE3A63FFCB80AC81FE6124000BD9602648A364003D6DC956EAC7D4008139943E231A8400E47C2171B112FC01039C49AF46BAAC0097B5E8AE9A21CC004D447FA59C62FC0017AF62E0950F8BFFDDFCE116F57D6BFF9DA268DC2B78ABFF6919ACAC2CE03"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB005577854DF013FD4AD71ED51CE393FE42C8BA0E9537A3FF0E442AA4C1EA03FFCB80AC81FE6120161016A3FC01577AF1511A53FD9312D859BF8B03FE7166689D41EF03FF328A395115A5E4000BD9602648A360161016B3FC84906F11325683FDDEF49EAAB37A13FEA46CB2BE6A0B23FF5CB0BFC1558004003D6DC956EAC7D0161016C3FD05785A43C4C563FE17B4F5BF3474A3FEDCFA36110EEEC3FF8EB245CBEE3A64008139943E231A801620169400E47C2171B112F405E221492E1D037C01039C49AF46BAABFFDDFCE116F57D6BFF1768CA5B5D45A0162016A40142AEBD53F29E4C0326E4D05A17116C0097B5E8AE9A21CBFF9DA268DC2B78ABFEED18AF0B0BA810162016B401DD494676F5DE5C0210F3E89743E64C004D447FA59C62FBFF6919ACAC2CE03BFEB2D89A938294D0162016C402C33ED50B88777C01614DE7972B0BBC0017AF62E0950F8BFF3D16B30F9ADCFBFE7E79B4E00BB1501630169BFE4EC85CE990E65BFD5DB528F41917CBFB44A40761A778B3FC61776AA407A433FDCA67B832312D30163016ABFE22D6F57473123BFD17A5C176D8C58BF90FE105579A5AF3FCE6E46F812C2CF3FE0CC62B7B1011F0163016BBFDF3D3D32863EF3BFCA7E234DE0A4F43FA78565F743DAF03FD382C98851ECD93FE3708B193E47D60163016CBFDA6D3F2D2FBDDFBFC23EF71254B86F3FBBDC8BF445936C3FD7F9360C8212A73FE64A2502B0CA3B"}}
+{"expression":"map(a,f(a)(tan(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D802ABC3EA56B8F3F21645D3F8722153FE5C0560161016A3E00ABBD3EC9896C3F38B3343F99451D4005ECB00161016B3E4248383EEF7A4F3F5236593FAE5860401EB6E50161016C3E82BC2D3F0BDA7B3F6E7D1B3FC7592340409CCA0162016940723E1142F110A5C081CE25BFEEFE71BF8BB4650162016A40A1575FC1937268C04BDAF4BFCED134BF768C580162016B40EEA4A3C10879F4C026A240BFB48CD6BF596C4D0162016C41619F6BC0B0A6F4C00BD7B1BF9E8B5ABF3F3CDA01630169BF27642EBEAEDA94BDA252043E30BBB53EE533DC0163016ABF116B7BBE8BD2E1BC87F0833E7372383F0663160163016BBEF9E9EABE53F11A3D3C2B303E9C164C3F1B84590163016CBED369F9BE11F7B93DDEE4603EBFC9B03F325128"}}
+{"expression":"cosh(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF00800AAB05B20"}}
+{"expression":"cosh(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA"}}
+{"expression":"cosh(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA3FF080AB05CA61463FF0C9A2067EBBDA3FF123640F685B593FF18E4AEA0B3F4A3FF20AC1862AE8D03FF2994464C307C63FF33A621492D6DA3FF3EEBBC0B7BC6C3FF4B705D1E5D6A83FF59408A2DFB8DA3FF686A148E1E0D13FF78FC270CA6067"}}
+{"expression":"cosh(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA3FF080AB05CA61463FF0C9A2067EBBDA3FF123640F685B593FF18E4AEA0B3F4A3FF20AC1862AE8D03FF2994464C307C63FF33A621492D6DA3FF3EEBBC0B7BC6C3FF4B705D1E5D6A83FF59408A2DFB8DA3FF686A148E1E0D13FF78FC270CA60673FF8B07551D9F5503FF9E9DAB70164893FFB3D2C1FC47CCC3FFCABBCF9D3BB3E3FFE36FBF49645FA3FFFE0746FF7E2D84000D4E803F4EB7F4001CA6C1F11287A4002D1BC21E220224003EBDF725CB441400519F04B55197140065D1CD6D130FB4007B6A85C4BBDC3400927EC8416D084400AB25AB120E8EA400C577D7276AD4F400E18FA0DF2D9BC400FF89225A736FD4010FC12BCD212E740120CD9E3F055A240132FAF66118731401465B630F50D1D4015B024653C8DA5401710448CA66A4D40188776E4B30AA3401A1732BEFFB81E401BC107F8B78338401D86A08A91C20B401F69C232EE483D4020B6281DDCCBF94021C826AEEF8AE74022EBEEE2166D43402422A497D6185E40256D7E9FC9A2AC4026CDC7EF8C1654402844E0EDC9A1A24029D440D2C3A213402B7D771FA82B6B402D422D2E3481AE402F2427DA3249AD403092A4A33C887B4031A3C95F9CAA214032C6935DB9BBDC4033FC257FCE2961403545B571C910C94036A48CDF1400D740381A0ABC59DC704039A7A4A698C57C403B4EE858DE3E80403D117D3A235E29403EF12604D7121F404077E144DF0F63404187A8C7F5F0AE4042A8F969D9FAB04043DCF49349ECB2404524CE591A551F404681CEB06413584047F552B694C5EA404980CE0EA950EC404B25CC54EFD428404CE5F2AAC4F210404EC3015BD8459A40505F6ACF4EB76640516DB5B8D5261740528D6FCBEFF3AA4053BFB8DAAD33CB405505C347A2941D405660D538697AF34057D249DBDFCF6B40595B92C573C6E2405AFE395ED62077405CBBE071849FB1405E9645C9B6718B406047A1FA26C59E4061546A0CC58C9A40627287FB30ED344063A319FB2FF2254064E750B824F30A4066407083D25B354067AFD29AC773CD406936E67DB9B919406AD73361243111406C9259B49C8130406E6A14C36539344070301E37EF03F040713B6385C6B76D407257E5A6CE134F407386C134DC6C0B4074C92524BD9DDC40762053F540188A"}}
+{"expression":"cosh(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F8040053F8100553F8241B13F8405583F864D103F891B203F8C72573F90560C3F94CA233F99D3113F9F75DE3FA5B82F3FACA0453FB4350A3FBC7E143FC583AB3FCF4ED63FD9E9613FE55DE83FF1B7E03FFF03A34006A740400E536140168DE1401F5EFC4028CF824032E8E7403DB54340493F64405592D64062BBEC4070C7D0407FC4914087E096409066CF40997D7B40A32DB240AD812340B8822440C43BB740D0B99640DE084040EC350440FB4E124105B141410E413541175F7741211525412B6BF541366E3F41422707414EA207415BEBB9416A11694179213F41849525418D1E4B4196349B419FE12C41AA2DAC41B5246741C0D05641CD3D2541DA774341E88BEA41F789304203BF0A420C3D46421547CB421EE7A54229267342340E76423FAA96424C067042592E6342672F954276180B4282FB56428B6DAE42946B7E429DFDC742A82E1A42B306AA42BE924F42CADC9642D7F1CB42E5DF0442F4B22E43023D10430AA35043139440431D18D043273A8643320384433D7E954349B7344356B99B436492CE437350A6438180F24389DB1C4392BF2D439C360A43A6492943B102A0"}}
+{"expression":"cosh(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF00800AAB05B2001623FF0200AAC16DB6F01633FF048361035CDFA"}}
+{"expression":"cosh(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FF0200AAC16DB6F016103666F6F3FF00800AAB05B200162036261723FF080AB05CA6146016203666F6F3FF048361035CDFA0163036261723FF123640F685B59016303666F6F3FF0C9A2067EBBDA"}}
+{"expression":"cosh(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0C9A2067EBBDA016103626172016A3FF123640F685B59016103626172016B3FF18E4AEA0B3F4A016103626172016C3FF20AC1862AE8D0016103666F6F01693FF00800AAB05B20016103666F6F016A3FF0200AAC16DB6F016103666F6F016B3FF048361035CDFA016103666F6F016C3FF080AB05CA614601620362617201693FF59408A2DFB8DA016203626172016A3FF686A148E1E0D1016203626172016B3FF78FC270CA6067016203626172016C3FF8B07551D9F550016203666F6F01693FF2994464C307C6016203666F6F016A3FF33A621492D6DA016203666F6F016B3FF3EEBBC0B7BC6C016203666F6F016C3FF4B705D1E5D6A801630362617201693FFFE0746FF7E2D8016303626172016A4000D4E803F4EB7F016303626172016B4001CA6C1F11287A016303626172016C4002D1BC21E22022016303666F6F01693FF9E9DAB7016489016303666F6F016A3FFB3D2C1FC47CCC016303666F6F016B3FFCABBCF9D3BB3E016303666F6F016C3FFE36FBF49645FA"}}
+{"expression":"cosh(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F864D10016103626172016A3F891B20016103626172016B3F8C7257016103626172016C3F90560C016103666F6F01693F804005016103666F6F016A3F810055016103666F6F016B3F8241B1016103666F6F016C3F84055801620362617201693FACA045016203626172016A3FB4350A016203626172016B3FBC7E14016203626172016C3FC583AB016203666F6F01693F94CA23016203666F6F016A3F99D311016203666F6F016B3F9F75DE016203666F6F016C3FA5B82F01630362617201693FFF03A3016303626172016A4006A740016303626172016B400E5361016303626172016C40168DE1016303666F6F01693FCF4ED6016303666F6F016A3FD9E961016303666F6F016B3FE55DE8016303666F6F016C3FF1B7E0"}}
+{"expression":"cosh(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF20AC1862AE8D03FF2994464C307C63FF33A621492D6DA3FF3EEBBC0B7BC6C3FF4B705D1E5D6A83FF59408A2DFB8DA3FF686A148E1E0D14000D4E803F4EB7F4001CA6C1F11287A4002D1BC21E220224003EBDF725CB441400519F04B55197140065D1CD6D130FB4007B6A85C4BBDC340132FAF66118731401465B630F50D1D4015B024653C8DA5401710448CA66A4D40188776E4B30AA3401A1732BEFFB81E401BC107F8B7833803666F6F3FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA3FF080AB05CA61463FF0C9A2067EBBDA3FF123640F685B593FF18E4AEA0B3F4A3FF78FC270CA60673FF8B07551D9F5503FF9E9DAB70164893FFB3D2C1FC47CCC3FFCABBCF9D3BB3E3FFE36FBF49645FA3FFFE0746FF7E2D8400927EC8416D084400AB25AB120E8EA400C577D7276AD4F400E18FA0DF2D9BC400FF89225A736FD4010FC12BCD212E740120CD9E3F055A2"}}
+{"expression":"cosh(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00800AAB05B203FF0C9A2067EBBDA3FF2994464C307C63FF59408A2DFB8DA3FF9E9DAB70164890161016A3FF0200AAC16DB6F3FF123640F685B593FF33A621492D6DA3FF686A148E1E0D13FFB3D2C1FC47CCC0161016B3FF048361035CDFA3FF18E4AEA0B3F4A3FF3EEBBC0B7BC6C3FF78FC270CA60673FFCABBCF9D3BB3E0161016C3FF080AB05CA61463FF20AC1862AE8D03FF4B705D1E5D6A83FF8B07551D9F5503FFE36FBF49645FA016201693FFFE0746FF7E2D84003EBDF725CB441400927EC8416D084400FF89225A736FD401465B630F50D1D0162016A4000D4E803F4EB7F400519F04B551971400AB25AB120E8EA4010FC12BCD212E74015B024653C8DA50162016B4001CA6C1F11287A40065D1CD6D130FB400C577D7276AD4F40120CD9E3F055A2401710448CA66A4D0162016C4002D1BC21E220224007B6A85C4BBDC3400E18FA0DF2D9BC40132FAF6611873140188776E4B30AA301630169401A1732BEFFB81E4020B6281DDCCBF940256D7E9FC9A2AC402B7D771FA82B6B4031A3C95F9CAA210163016A401BC107F8B783384021C826AEEF8AE74026CDC7EF8C1654402D422D2E3481AE4032C6935DB9BBDC0163016B401D86A08A91C20B4022EBEEE2166D43402844E0EDC9A1A2402F2427DA3249AD4033FC257FCE29610163016C401F69C232EE483D402422A497D6185E4029D440D2C3A213403092A4A33C887B403545B571C910C9"}}
+{"expression":"cosh(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F8040053F864D103F94CA233FACA0453FCF4ED60161016A3F8100553F891B203F99D3113FB4350A3FD9E9610161016B3F8241B13F8C72573F9F75DE3FBC7E143FE55DE80161016C3F8405583F90560C3FA5B82F3FC583AB3FF1B7E0016201693FFF03A3401F5EFC40493F64407FC49140A32DB20162016A4006A7404028CF82405592D64087E09640AD81230162016B400E53614032E8E74062BBEC409066CF40B882240162016C40168DE1403DB5434070C7D040997D7B40C43BB70163016940D0B9964105B141412B6BF5415BEBB9418D1E4B0163016A40DE0840410E413541366E3F416A11694196349B0163016B40EC350441175F77414227074179213F419FE12C0163016C40FB4E1241211525414EA2074184952541AA2DAC"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF00800AAB05B20"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA3FF080AB05CA61463FF0C9A2067EBBDA3FF123640F685B593FF18E4AEA0B3F4A3FF20AC1862AE8D03FF2994464C307C63FF33A621492D6DA3FF3EEBBC0B7BC6C3FF4B705D1E5D6A83FF59408A2DFB8DA3FF686A148E1E0D13FF78FC270CA6067"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA3FF080AB05CA61463FF0C9A2067EBBDA3FF123640F685B593FF18E4AEA0B3F4A3FF20AC1862AE8D03FF2994464C307C63FF33A621492D6DA3FF3EEBBC0B7BC6C3FF4B705D1E5D6A83FF59408A2DFB8DA3FF686A148E1E0D13FF78FC270CA60673FF8B07551D9F5503FF9E9DAB70164893FFB3D2C1FC47CCC3FFCABBCF9D3BB3E3FFE36FBF49645FA3FFFE0746FF7E2D84000D4E803F4EB7F4001CA6C1F11287A4002D1BC21E220224003EBDF725CB441400519F04B55197140065D1CD6D130FB4007B6A85C4BBDC3400927EC8416D084400AB25AB120E8EA400C577D7276AD4F400E18FA0DF2D9BC400FF89225A736FD4010FC12BCD212E740120CD9E3F055A240132FAF66118731401465B630F50D1D4015B024653C8DA5401710448CA66A4D40188776E4B30AA3401A1732BEFFB81E401BC107F8B78338401D86A08A91C20B401F69C232EE483D4020B6281DDCCBF94021C826AEEF8AE74022EBEEE2166D43402422A497D6185E40256D7E9FC9A2AC4026CDC7EF8C1654402844E0EDC9A1A24029D440D2C3A213402B7D771FA82B6B402D422D2E3481AE402F2427DA3249AD403092A4A33C887B4031A3C95F9CAA214032C6935DB9BBDC4033FC257FCE2961403545B571C910C94036A48CDF1400D740381A0ABC59DC704039A7A4A698C57C403B4EE858DE3E80403D117D3A235E29403EF12604D7121F404077E144DF0F63404187A8C7F5F0AE4042A8F969D9FAB04043DCF49349ECB2404524CE591A551F404681CEB06413584047F552B694C5EA404980CE0EA950EC404B25CC54EFD428404CE5F2AAC4F210404EC3015BD8459A40505F6ACF4EB76640516DB5B8D5261740528D6FCBEFF3AA4053BFB8DAAD33CB405505C347A2941D405660D538697AF34057D249DBDFCF6B40595B92C573C6E2405AFE395ED62077405CBBE071849FB1405E9645C9B6718B406047A1FA26C59E4061546A0CC58C9A40627287FB30ED344063A319FB2FF2254064E750B824F30A4066407083D25B354067AFD29AC773CD406936E67DB9B919406AD73361243111406C9259B49C8130406E6A14C36539344070301E37EF03F040713B6385C6B76D407257E5A6CE134F407386C134DC6C0B4074C92524BD9DDC40762053F540188A"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F8040053F8100553F8241B13F8405583F864D103F891B203F8C72573F90560C3F94CA233F99D3113F9F75DE3FA5B82F3FACA0453FB4350A3FBC7E143FC583AB3FCF4ED63FD9E9613FE55DE83FF1B7E03FFF03A34006A740400E536140168DE1401F5EFC4028CF824032E8E7403DB54340493F64405592D64062BBEC4070C7D0407FC4914087E096409066CF40997D7B40A32DB240AD812340B8822440C43BB740D0B99640DE084040EC350440FB4E124105B141410E413541175F7741211525412B6BF541366E3F41422707414EA207415BEBB9416A11694179213F41849525418D1E4B4196349B419FE12C41AA2DAC41B5246741C0D05641CD3D2541DA774341E88BEA41F789304203BF0A420C3D46421547CB421EE7A54229267342340E76423FAA96424C067042592E6342672F954276180B4282FB56428B6DAE42946B7E429DFDC742A82E1A42B306AA42BE924F42CADC9642D7F1CB42E5DF0442F4B22E43023D10430AA35043139440431D18D043273A8643320384433D7E954349B7344356B99B436492CE437350A6438180F24389DB1C4392BF2D439C360A43A6492943B102A0"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF00800AAB05B2001623FF0200AAC16DB6F01633FF048361035CDFA"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FF0200AAC16DB6F016103666F6F3FF00800AAB05B200162036261723FF080AB05CA6146016203666F6F3FF048361035CDFA0163036261723FF123640F685B59016303666F6F3FF0C9A2067EBBDA"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0C9A2067EBBDA016103626172016A3FF123640F685B59016103626172016B3FF18E4AEA0B3F4A016103626172016C3FF20AC1862AE8D0016103666F6F01693FF00800AAB05B20016103666F6F016A3FF0200AAC16DB6F016103666F6F016B3FF048361035CDFA016103666F6F016C3FF080AB05CA614601620362617201693FF59408A2DFB8DA016203626172016A3FF686A148E1E0D1016203626172016B3FF78FC270CA6067016203626172016C3FF8B07551D9F550016203666F6F01693FF2994464C307C6016203666F6F016A3FF33A621492D6DA016203666F6F016B3FF3EEBBC0B7BC6C016203666F6F016C3FF4B705D1E5D6A801630362617201693FFFE0746FF7E2D8016303626172016A4000D4E803F4EB7F016303626172016B4001CA6C1F11287A016303626172016C4002D1BC21E22022016303666F6F01693FF9E9DAB7016489016303666F6F016A3FFB3D2C1FC47CCC016303666F6F016B3FFCABBCF9D3BB3E016303666F6F016C3FFE36FBF49645FA"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F864D10016103626172016A3F891B20016103626172016B3F8C7257016103626172016C3F90560C016103666F6F01693F804005016103666F6F016A3F810055016103666F6F016B3F8241B1016103666F6F016C3F84055801620362617201693FACA045016203626172016A3FB4350A016203626172016B3FBC7E14016203626172016C3FC583AB016203666F6F01693F94CA23016203666F6F016A3F99D311016203666F6F016B3F9F75DE016203666F6F016C3FA5B82F01630362617201693FFF03A3016303626172016A4006A740016303626172016B400E5361016303626172016C40168DE1016303666F6F01693FCF4ED6016303666F6F016A3FD9E961016303666F6F016B3FE55DE8016303666F6F016C3FF1B7E0"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF20AC1862AE8D03FF2994464C307C63FF33A621492D6DA3FF3EEBBC0B7BC6C3FF4B705D1E5D6A83FF59408A2DFB8DA3FF686A148E1E0D14000D4E803F4EB7F4001CA6C1F11287A4002D1BC21E220224003EBDF725CB441400519F04B55197140065D1CD6D130FB4007B6A85C4BBDC340132FAF66118731401465B630F50D1D4015B024653C8DA5401710448CA66A4D40188776E4B30AA3401A1732BEFFB81E401BC107F8B7833803666F6F3FF00800AAB05B203FF0200AAC16DB6F3FF048361035CDFA3FF080AB05CA61463FF0C9A2067EBBDA3FF123640F685B593FF18E4AEA0B3F4A3FF78FC270CA60673FF8B07551D9F5503FF9E9DAB70164893FFB3D2C1FC47CCC3FFCABBCF9D3BB3E3FFE36FBF49645FA3FFFE0746FF7E2D8400927EC8416D084400AB25AB120E8EA400C577D7276AD4F400E18FA0DF2D9BC400FF89225A736FD4010FC12BCD212E740120CD9E3F055A2"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00800AAB05B203FF0C9A2067EBBDA3FF2994464C307C63FF59408A2DFB8DA3FF9E9DAB70164890161016A3FF0200AAC16DB6F3FF123640F685B593FF33A621492D6DA3FF686A148E1E0D13FFB3D2C1FC47CCC0161016B3FF048361035CDFA3FF18E4AEA0B3F4A3FF3EEBBC0B7BC6C3FF78FC270CA60673FFCABBCF9D3BB3E0161016C3FF080AB05CA61463FF20AC1862AE8D03FF4B705D1E5D6A83FF8B07551D9F5503FFE36FBF49645FA016201693FFFE0746FF7E2D84003EBDF725CB441400927EC8416D084400FF89225A736FD401465B630F50D1D0162016A4000D4E803F4EB7F400519F04B551971400AB25AB120E8EA4010FC12BCD212E74015B024653C8DA50162016B4001CA6C1F11287A40065D1CD6D130FB400C577D7276AD4F40120CD9E3F055A2401710448CA66A4D0162016C4002D1BC21E220224007B6A85C4BBDC3400E18FA0DF2D9BC40132FAF6611873140188776E4B30AA301630169401A1732BEFFB81E4020B6281DDCCBF940256D7E9FC9A2AC402B7D771FA82B6B4031A3C95F9CAA210163016A401BC107F8B783384021C826AEEF8AE74026CDC7EF8C1654402D422D2E3481AE4032C6935DB9BBDC0163016B401D86A08A91C20B4022EBEEE2166D43402844E0EDC9A1A2402F2427DA3249AD4033FC257FCE29610163016C401F69C232EE483D402422A497D6185E4029D440D2C3A213403092A4A33C887B403545B571C910C9"}}
+{"expression":"map(a,f(a)(cosh(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F8040053F864D103F94CA233FACA0453FCF4ED60161016A3F8100553F891B203F99D3113FB4350A3FD9E9610161016B3F8241B13F8C72573F9F75DE3FBC7E143FE55DE80161016C3F8405583F90560C3FA5B82F3FC583AB3FF1B7E0016201693FFF03A3401F5EFC40493F64407FC49140A32DB20162016A4006A7404028CF82405592D64087E09640AD81230162016B400E53614032E8E74062BBEC409066CF40B882240162016C40168DE1403DB5434070C7D040997D7B40C43BB70163016940D0B9964105B141412B6BF5415BEBB9418D1E4B0163016A40DE0840410E413541366E3F416A11694196349B0163016B40EC350441175F77414227074179213F419FE12C0163016C40FB4E1241211525414EA2074184952541AA2DAC"}}
+{"expression":"sinh(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB002AACCCD9CDD"}}
+{"expression":"sinh(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD"}}
+{"expression":"sinh(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD3FD02ACCD9D081023FD453BDBE16906C3FD8910411CE50463FDCE6DD75BF03173FE0ACD00FE63B973FE2F6DF98C4B9003FE553E795DC19CC3FE7C645419678B83FEA506B2DD3C6903FECF4E3B6AFE2AD3FEFB6538D14EAFC3FF14BBE2DD2460A"}}
+{"expression":"sinh(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD3FD02ACCD9D081023FD453BDBE16906C3FD8910411CE50463FDCE6DD75BF03173FE0ACD00FE63B973FE2F6DF98C4B9003FE553E795DC19CC3FE7C645419678B83FEA506B2DD3C6903FECF4E3B6AFE2AD3FEFB6538D14EAFC3FF14BBE2DD2460A3FF2CD9FC44EB9823FF462508BBF80A93FF60B6556A692043FF7CA875D3C69323FF9A175E6CBAFE63FFB9208091DCFC63FFD9E2E7FB7FEF43FFFC7F59CC02B95400108C3AABD6A6040023E96B6373D25400386A9DDAB7A8B4004E2454F996E14400652C4C46B9BBA4007D998DA4D257C4009784885E6AF4C400B307299739D43400D03CF63B6E1A0400EF432686E7235401081C619FEFEA9401199F6261257EA4012C3C19FD775D1401400526B99E613401550E53487B2914016B6CAA976F3DE40183368CDB0B6D34019C83C5F121C3C401B76DA52E9F182401D40F16B0FBFB3401F284BE4C989BD40209768A197A1BD4021AB441B6B45A14022D0CC52573D2D40240926E70949AE4025558C4E1E87B44026B74908B216D040282FBEF0F9EB004029C0669C3E8083402B6AD0D38F8723402D30A824AE5917402F13B28CBF496140308AE99F364F3B40319C8642A0C10D4032BFC0E41034CD4033F5BCD66BCBD340353FB02F7BBD0540369EE4FE18F513403814BA945771844039A2A6E6F59C8A403B4A3803703630403D0D159E30FDFF403EED02BA666CF1404075EFB6963D63404185D55EE4DE8C4042A7425270A2A24043DB58164C4CDE4045234AD9E90F0140468062AB5FA9FC4047F3FCBF99DE2440497F8CCFA46FA0404B249E8C872E52404CE4D72B16F828404EC1F7094DA8E640505EEDB766B93240516D403528230B40528D0166F073744053BF5125ED038940550561DB644EEF40566079B338C3F34057D1F3E22FD53340595B420143AF17405AFDED7F5AFFC3405CBB992AD8A81F405E9602D48D06614060478286D5F7384061544C8142B58E4062726C39EE144C4063A2FFE86984574064E73839C5FD9C40664059815A74974067AFBCFD32392B406936D22F67C805406AD7204DC5865B406C9247C91C272C406E6A03EDD63132407030164FB4ADD640713B5C1830AC2D407257DEAC6E1E64407386BAA6B7989C4074C91EFC453B364076204E2C4B2AEA"}}
+{"expression":"sinh(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D8015563E0055663E4120823E8156673EA29DEE3EC488213EE736EC3F0566803F17B6FD3F2A9F3D3F3E322A3F5283593F67A71E3F7DB29C3F8A5DF13F966CFE3FA312843FB05B2B3FBE543B3FCD0BAF3FDC90403FECF1743FFE3FAD4008461D4011F4B6401C354F4027122A40329626403ECCC7404BC2444059839540681E7B4077A19340840E31408CCFB140961E0D40A0029340AA872A40B5B65540C19B4640CE41E340DBB6D340EA078B40F9425F4104BB45410D5A214116866341204937412AAC624135BA4841417DF8414E0335415B56874169854141789D944184574D418CE4324195FE07419FADE741A9FD8141B4F72841C0A5D541CD153741DA51C041E868AD41F768164203AF7E420C2EAB42153A13421EDAC142291A5742340315423F9FE6424BFC66425924F4426726B942760FB84282F76E428B6A024294680B429DFA8942A82B0F42B303CE42BE8F9F42CADA1042D7EF6C42E5DCC942F4B01743023C14430AA26443139362431D17FF432739C2433202CC433D7DE84349B6914356B9024364923E4373501F438180B24389DAE14392BEF5439C35D543A648F843B10271"}}
+{"expression":"sinh(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB002AACCCD9CDD01623FC00AACCD00D2F101633FC8241036AC51DD"}}
+{"expression":"sinh(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FC00AACCD00D2F1016103666F6F3FB002AACCCD9CDD0162036261723FD02ACCD9D08102016203666F6F3FC8241036AC51DD0163036261723FD8910411CE5046016303666F6F3FD453BDBE16906C"}}
+{"expression":"sinh(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD453BDBE16906C016103626172016A3FD8910411CE5046016103626172016B3FDCE6DD75BF0317016103626172016C3FE0ACD00FE63B97016103666F6F01693FB002AACCCD9CDD016103666F6F016A3FC00AACCD00D2F1016103666F6F016B3FC8241036AC51DD016103666F6F016C3FD02ACCD9D0810201620362617201693FECF4E3B6AFE2AD016203626172016A3FEFB6538D14EAFC016203626172016B3FF14BBE2DD2460A016203626172016C3FF2CD9FC44EB982016203666F6F01693FE2F6DF98C4B900016203666F6F016A3FE553E795DC19CC016203666F6F016B3FE7C645419678B8016203666F6F016C3FEA506B2DD3C69001630362617201693FFB9208091DCFC6016303626172016A3FFD9E2E7FB7FEF4016303626172016B3FFFC7F59CC02B95016303626172016C400108C3AABD6A60016303666F6F01693FF462508BBF80A9016303666F6F016A3FF60B6556A69204016303666F6F016B3FF7CA875D3C6932016303666F6F016C3FF9A175E6CBAFE6"}}
+{"expression":"sinh(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693EA29DEE016103626172016A3EC48821016103626172016B3EE736EC016103626172016C3F056680016103666F6F01693D801556016103666F6F016A3E005566016103666F6F016B3E412082016103666F6F016C3E81566701620362617201693F67A71E016203626172016A3F7DB29C016203626172016B3F8A5DF1016203626172016C3F966CFE016203666F6F01693F17B6FD016203666F6F016A3F2A9F3D016203666F6F016B3F3E322A016203666F6F016C3F52835901630362617201693FDC9040016303626172016A3FECF174016303626172016B3FFE3FAD016303626172016C4008461D016303666F6F01693FA31284016303666F6F016A3FB05B2B016303666F6F016B3FBE543B016303666F6F016C3FCD0BAF"}}
+{"expression":"sinh(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE0ACD00FE63B973FE2F6DF98C4B9003FE553E795DC19CC3FE7C645419678B83FEA506B2DD3C6903FECF4E3B6AFE2AD3FEFB6538D14EAFC3FFD9E2E7FB7FEF43FFFC7F59CC02B95400108C3AABD6A6040023E96B6373D25400386A9DDAB7A8B4004E2454F996E14400652C4C46B9BBA4012C3C19FD775D1401400526B99E613401550E53487B2914016B6CAA976F3DE40183368CDB0B6D34019C83C5F121C3C401B76DA52E9F18203666F6F3FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD3FD02ACCD9D081023FD453BDBE16906C3FD8910411CE50463FDCE6DD75BF03173FF14BBE2DD2460A3FF2CD9FC44EB9823FF462508BBF80A93FF60B6556A692043FF7CA875D3C69323FF9A175E6CBAFE63FFB9208091DCFC64007D998DA4D257C4009784885E6AF4C400B307299739D43400D03CF63B6E1A0400EF432686E7235401081C619FEFEA9401199F6261257EA"}}
+{"expression":"sinh(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB002AACCCD9CDD3FD453BDBE16906C3FE2F6DF98C4B9003FECF4E3B6AFE2AD3FF462508BBF80A90161016A3FC00AACCD00D2F13FD8910411CE50463FE553E795DC19CC3FEFB6538D14EAFC3FF60B6556A692040161016B3FC8241036AC51DD3FDCE6DD75BF03173FE7C645419678B83FF14BBE2DD2460A3FF7CA875D3C69320161016C3FD02ACCD9D081023FE0ACD00FE63B973FEA506B2DD3C6903FF2CD9FC44EB9823FF9A175E6CBAFE6016201693FFB9208091DCFC640023E96B6373D254007D998DA4D257C400EF432686E7235401400526B99E6130162016A3FFD9E2E7FB7FEF4400386A9DDAB7A8B4009784885E6AF4C401081C619FEFEA9401550E53487B2910162016B3FFFC7F59CC02B954004E2454F996E14400B307299739D43401199F6261257EA4016B6CAA976F3DE0162016C400108C3AABD6A60400652C4C46B9BBA400D03CF63B6E1A04012C3C19FD775D140183368CDB0B6D3016301694019C83C5F121C3C40209768A197A1BD4025558C4E1E87B4402B6AD0D38F872340319C8642A0C10D0163016A401B76DA52E9F1824021AB441B6B45A14026B74908B216D0402D30A824AE59174032BFC0E41034CD0163016B401D40F16B0FBFB34022D0CC52573D2D40282FBEF0F9EB00402F13B28CBF49614033F5BCD66BCBD30163016C401F284BE4C989BD40240926E70949AE4029C0669C3E808340308AE99F364F3B40353FB02F7BBD05"}}
+{"expression":"sinh(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D8015563EA29DEE3F17B6FD3F67A71E3FA312840161016A3E0055663EC488213F2A9F3D3F7DB29C3FB05B2B0161016B3E4120823EE736EC3F3E322A3F8A5DF13FBE543B0161016C3E8156673F0566803F5283593F966CFE3FCD0BAF016201693FDC90404011F4B6403ECCC74077A19340A002930162016A3FECF174401C354F404BC24440840E3140AA872A0162016B3FFE3FAD4027122A40598395408CCFB140B5B6550162016C4008461D4032962640681E7B40961E0D40C19B460163016940CE41E34104BB45412AAC62415B5687418CE4320163016A40DBB6D3410D5A214135BA48416985414195FE070163016B40EA078B4116866341417DF841789D94419FADE70163016C40F9425F41204937414E03354184574D41A9FD81"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB002AACCCD9CDD"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD3FD02ACCD9D081023FD453BDBE16906C3FD8910411CE50463FDCE6DD75BF03173FE0ACD00FE63B973FE2F6DF98C4B9003FE553E795DC19CC3FE7C645419678B83FEA506B2DD3C6903FECF4E3B6AFE2AD3FEFB6538D14EAFC3FF14BBE2DD2460A"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD3FD02ACCD9D081023FD453BDBE16906C3FD8910411CE50463FDCE6DD75BF03173FE0ACD00FE63B973FE2F6DF98C4B9003FE553E795DC19CC3FE7C645419678B83FEA506B2DD3C6903FECF4E3B6AFE2AD3FEFB6538D14EAFC3FF14BBE2DD2460A3FF2CD9FC44EB9823FF462508BBF80A93FF60B6556A692043FF7CA875D3C69323FF9A175E6CBAFE63FFB9208091DCFC63FFD9E2E7FB7FEF43FFFC7F59CC02B95400108C3AABD6A6040023E96B6373D25400386A9DDAB7A8B4004E2454F996E14400652C4C46B9BBA4007D998DA4D257C4009784885E6AF4C400B307299739D43400D03CF63B6E1A0400EF432686E7235401081C619FEFEA9401199F6261257EA4012C3C19FD775D1401400526B99E613401550E53487B2914016B6CAA976F3DE40183368CDB0B6D34019C83C5F121C3C401B76DA52E9F182401D40F16B0FBFB3401F284BE4C989BD40209768A197A1BD4021AB441B6B45A14022D0CC52573D2D40240926E70949AE4025558C4E1E87B44026B74908B216D040282FBEF0F9EB004029C0669C3E8083402B6AD0D38F8723402D30A824AE5917402F13B28CBF496140308AE99F364F3B40319C8642A0C10D4032BFC0E41034CD4033F5BCD66BCBD340353FB02F7BBD0540369EE4FE18F513403814BA945771844039A2A6E6F59C8A403B4A3803703630403D0D159E30FDFF403EED02BA666CF1404075EFB6963D63404185D55EE4DE8C4042A7425270A2A24043DB58164C4CDE4045234AD9E90F0140468062AB5FA9FC4047F3FCBF99DE2440497F8CCFA46FA0404B249E8C872E52404CE4D72B16F828404EC1F7094DA8E640505EEDB766B93240516D403528230B40528D0166F073744053BF5125ED038940550561DB644EEF40566079B338C3F34057D1F3E22FD53340595B420143AF17405AFDED7F5AFFC3405CBB992AD8A81F405E9602D48D06614060478286D5F7384061544C8142B58E4062726C39EE144C4063A2FFE86984574064E73839C5FD9C40664059815A74974067AFBCFD32392B406936D22F67C805406AD7204DC5865B406C9247C91C272C406E6A03EDD63132407030164FB4ADD640713B5C1830AC2D407257DEAC6E1E64407386BAA6B7989C4074C91EFC453B364076204E2C4B2AEA"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D8015563E0055663E4120823E8156673EA29DEE3EC488213EE736EC3F0566803F17B6FD3F2A9F3D3F3E322A3F5283593F67A71E3F7DB29C3F8A5DF13F966CFE3FA312843FB05B2B3FBE543B3FCD0BAF3FDC90403FECF1743FFE3FAD4008461D4011F4B6401C354F4027122A40329626403ECCC7404BC2444059839540681E7B4077A19340840E31408CCFB140961E0D40A0029340AA872A40B5B65540C19B4640CE41E340DBB6D340EA078B40F9425F4104BB45410D5A214116866341204937412AAC624135BA4841417DF8414E0335415B56874169854141789D944184574D418CE4324195FE07419FADE741A9FD8141B4F72841C0A5D541CD153741DA51C041E868AD41F768164203AF7E420C2EAB42153A13421EDAC142291A5742340315423F9FE6424BFC66425924F4426726B942760FB84282F76E428B6A024294680B429DFA8942A82B0F42B303CE42BE8F9F42CADA1042D7EF6C42E5DCC942F4B01743023C14430AA26443139362431D17FF432739C2433202CC433D7DE84349B6914356B9024364923E4373501F438180B24389DAE14392BEF5439C35D543A648F843B10271"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB002AACCCD9CDD01623FC00AACCD00D2F101633FC8241036AC51DD"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FC00AACCD00D2F1016103666F6F3FB002AACCCD9CDD0162036261723FD02ACCD9D08102016203666F6F3FC8241036AC51DD0163036261723FD8910411CE5046016303666F6F3FD453BDBE16906C"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD453BDBE16906C016103626172016A3FD8910411CE5046016103626172016B3FDCE6DD75BF0317016103626172016C3FE0ACD00FE63B97016103666F6F01693FB002AACCCD9CDD016103666F6F016A3FC00AACCD00D2F1016103666F6F016B3FC8241036AC51DD016103666F6F016C3FD02ACCD9D0810201620362617201693FECF4E3B6AFE2AD016203626172016A3FEFB6538D14EAFC016203626172016B3FF14BBE2DD2460A016203626172016C3FF2CD9FC44EB982016203666F6F01693FE2F6DF98C4B900016203666F6F016A3FE553E795DC19CC016203666F6F016B3FE7C645419678B8016203666F6F016C3FEA506B2DD3C69001630362617201693FFB9208091DCFC6016303626172016A3FFD9E2E7FB7FEF4016303626172016B3FFFC7F59CC02B95016303626172016C400108C3AABD6A60016303666F6F01693FF462508BBF80A9016303666F6F016A3FF60B6556A69204016303666F6F016B3FF7CA875D3C6932016303666F6F016C3FF9A175E6CBAFE6"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693EA29DEE016103626172016A3EC48821016103626172016B3EE736EC016103626172016C3F056680016103666F6F01693D801556016103666F6F016A3E005566016103666F6F016B3E412082016103666F6F016C3E81566701620362617201693F67A71E016203626172016A3F7DB29C016203626172016B3F8A5DF1016203626172016C3F966CFE016203666F6F01693F17B6FD016203666F6F016A3F2A9F3D016203666F6F016B3F3E322A016203666F6F016C3F52835901630362617201693FDC9040016303626172016A3FECF174016303626172016B3FFE3FAD016303626172016C4008461D016303666F6F01693FA31284016303666F6F016A3FB05B2B016303666F6F016B3FBE543B016303666F6F016C3FCD0BAF"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE0ACD00FE63B973FE2F6DF98C4B9003FE553E795DC19CC3FE7C645419678B83FEA506B2DD3C6903FECF4E3B6AFE2AD3FEFB6538D14EAFC3FFD9E2E7FB7FEF43FFFC7F59CC02B95400108C3AABD6A6040023E96B6373D25400386A9DDAB7A8B4004E2454F996E14400652C4C46B9BBA4012C3C19FD775D1401400526B99E613401550E53487B2914016B6CAA976F3DE40183368CDB0B6D34019C83C5F121C3C401B76DA52E9F18203666F6F3FB002AACCCD9CDD3FC00AACCD00D2F13FC8241036AC51DD3FD02ACCD9D081023FD453BDBE16906C3FD8910411CE50463FDCE6DD75BF03173FF14BBE2DD2460A3FF2CD9FC44EB9823FF462508BBF80A93FF60B6556A692043FF7CA875D3C69323FF9A175E6CBAFE63FFB9208091DCFC64007D998DA4D257C4009784885E6AF4C400B307299739D43400D03CF63B6E1A0400EF432686E7235401081C619FEFEA9401199F6261257EA"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB002AACCCD9CDD3FD453BDBE16906C3FE2F6DF98C4B9003FECF4E3B6AFE2AD3FF462508BBF80A90161016A3FC00AACCD00D2F13FD8910411CE50463FE553E795DC19CC3FEFB6538D14EAFC3FF60B6556A692040161016B3FC8241036AC51DD3FDCE6DD75BF03173FE7C645419678B83FF14BBE2DD2460A3FF7CA875D3C69320161016C3FD02ACCD9D081023FE0ACD00FE63B973FEA506B2DD3C6903FF2CD9FC44EB9823FF9A175E6CBAFE6016201693FFB9208091DCFC640023E96B6373D254007D998DA4D257C400EF432686E7235401400526B99E6130162016A3FFD9E2E7FB7FEF4400386A9DDAB7A8B4009784885E6AF4C401081C619FEFEA9401550E53487B2910162016B3FFFC7F59CC02B954004E2454F996E14400B307299739D43401199F6261257EA4016B6CAA976F3DE0162016C400108C3AABD6A60400652C4C46B9BBA400D03CF63B6E1A04012C3C19FD775D140183368CDB0B6D3016301694019C83C5F121C3C40209768A197A1BD4025558C4E1E87B4402B6AD0D38F872340319C8642A0C10D0163016A401B76DA52E9F1824021AB441B6B45A14026B74908B216D0402D30A824AE59174032BFC0E41034CD0163016B401D40F16B0FBFB34022D0CC52573D2D40282FBEF0F9EB00402F13B28CBF49614033F5BCD66BCBD30163016C401F284BE4C989BD40240926E70949AE4029C0669C3E808340308AE99F364F3B40353FB02F7BBD05"}}
+{"expression":"map(a,f(a)(sinh(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D8015563EA29DEE3F17B6FD3F67A71E3FA312840161016A3E0055663EC488213F2A9F3D3F7DB29C3FB05B2B0161016B3E4120823EE736EC3F3E322A3F8A5DF13FBE543B0161016C3E8156673F0566803F5283593F966CFE3FCD0BAF016201693FDC90404011F4B6403ECCC74077A19340A002930162016A3FECF174401C354F404BC24440840E3140AA872A0162016B3FFE3FAD4027122A40598395408CCFB140B5B6550162016C4008461D4032962640681E7B40961E0D40C19B460163016940CE41E34104BB45412AAC62415B5687418CE4320163016A40DBB6D3410D5A214135BA48416985414195FE070163016B40EA078B4116866341417DF841789D94419FADE70163016C40F9425F41204937414E03354184574D41A9FD81"}}
+{"expression":"tanh(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FAFF55997E030D7"}}
+{"expression":"tanh(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF775"}}
+{"expression":"tanh(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF7753FCF597EA69A1C863FD35F98A0EA650E3FD6EF53DE8C8FB03FDA5729EE4880363FDD9353D7568AF33FE05086F2F6D4B73FE1BF47EABB8F953FE3157DFE9F715B3FE45323E552F2283FE5788FF10D29993FE686650B8C20163FE77D838E34057D"}}
+{"expression":"tanh(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF7753FCF597EA69A1C863FD35F98A0EA650E3FD6EF53DE8C8FB03FDA5729EE4880363FDD9353D7568AF33FE05086F2F6D4B73FE1BF47EABB8F953FE3157DFE9F715B3FE45323E552F2283FE5788FF10D29993FE686650B8C20163FE77D838E34057D3FE85EFAB514F3943FE92BFB370D9B723FE9E5CB5BA44D693FEA8DBCBC31897A3FEB2523BB6B2DEE3FEBAD50A4A68BC23FEC278A52A4E4783FEC950A3340C8C03FECF6F9786DF5773FED4E6F464286B13FED9C6FAFE61C783FEDE1EB5937518F3FEE1FBF97E335273FEE56B6F3EFABFD3FEE8789ECEC0DDA3FEEB2DFEDD5EC933FEED9505E1BC3D43FEEFB63C1F339983FEF1994DF724FC83FEF3451E0899E213FEF4BFD6C2DFD1E3FEF60EFB2C128493FEF73776B2AA2DB3FEF83DABF23E1773FEF9258260A71C23FEF9F272E24FE6C3FEFAA7934B75EBD3FEFB47A0D8F6D243FEFBD509AE7AE3E3FEFC51F569C07DB3FEFCC04CDBCDC4C3FEFD21C0F91C6583FEFD77D111A0B003FEFDC3D06100D203FEFE06EB06882123FEFE422A737407E3FEFE76795D353A03FEFEA4A74034D753FEFECD6B7EA31283FEFEF16825D225B3FEFF112C63A90773FEFF2D36B4D02D93FEFF45F6D36133B3FEFF5BCF6D192443FEFF6F17A7547723FEFF801C76733AF3FEFF8F21CDAAA633FEFF9C63ABBE9F43FEFFA81708A0B423FEFFB26AA7817A33FEFFBB87D07C5DF3FEFFC392F4AB8D53FEFFCAAC3F20E663FEFFD0F014F8C4D3FEFFD677867B57F3FEFFDB58B3080623FEFFDFA721539833FEFFE3740D54C9A3FEFFE6CEAD12CDD3FEFFE9C46D65D833FEFFEC61279A3A43FEFFEEAF50CAC563FEFFF0B823AE6E63FEFFF283C57F53E3FEFFF419668DF113FEFFF57F5F022B63FEFFF6BB483CC793FEFFF7D2133E7443FEFFF8C81C6DC343FEFFF9A13D0AFAE3FEFFFA60DA976AA3FEFFFB09F46DC8D3FEFFFB9F2FC1E913FEFFFC22E237BFF3FEFFFC971B3C0753FEFFFCFDAC43E313FEFFFD5830148253FEFFFDA8112FDB43FEFFFDEE8F803513FEFFFE2CC5593093FEFFFE63ABE253C3FEFFFE941EFCC6C3FEFFFEBEE0B3DA03FEFFFEE49C461A13FEFFFF05E8D31923FEFFFF234BB8A593FEFFFF3D3AA8E643FEFFFF541D81B583FEFFFF684FEC9B93FEFFFF7A22CDE86"}}
+{"expression":"tanh(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D7FAACD3DFEACC93E3DC7FD3E7ACBF53E9AFCC53EB77A9F3ED2B94F3EEC9A9F3F0284383F0DFA3F3F18ABF03F22991F3F2BC4803F3433283F3BEC1C3F42F7D63F495FDA3F4F2E5B3F546DE63F59291E3F5D6A853F613C533F64A8523F67B7CC3F6A737A3F6CE37D3F6F0F5B3F70FDFD3F72B5B83F743C4F3F7596FF3F76CA833F77DB1E3F78CCA73F79A28F3F7A5FEB3F7B077E3F7B9BBB3F7C1ED63F7C92C13F7CF9393F7D53CA3F7DA3D03F7DEA853F7E28FB3F7E60263F7E90E03F7EBBE93F7EE1E83F7F03763F7F21153F7F3B3D3F7F52543F7F66B63F7F78B43F7F88963F7F969B3F7FA2FB3F7FADE83F7FB78C3F7FC00E3F7FC7913F7FCE323F7FD40C3F7FD9353F7FDDC43F7FE1C93F7FE5563F7FE8783F7FEB3C3F7FEDAC3F7FEFD43F7FF1BA3F7FF3673F7FF4E23F7FF6313F7FF7583F7FF85C3F7FF9423F7FFA0D3F7FFAC03F7FFB5E3F7FFBE93F7FFC643F7FFCD13F7FFD303F7FFD853F7FFDD03F7FFE113F7FFE4C3F7FFE7F3F7FFEAC3F7FFED43F7FFEF73F7FFF163F7FFF323F7FFF4A3F7FFF5F3F7FFF723F7FFF833F7FFF923F7FFF9F3F7FFFAA3F7FFFB43F7FFFBD"}}
+{"expression":"tanh(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FAFF55997E030D701623FBFD5992BC4B83401633FC7B8FF903BF775"}}
+{"expression":"tanh(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FBFD5992BC4B834016103666F6F3FAFF55997E030D70162036261723FCF597EA69A1C86016203666F6F3FC7B8FF903BF7750163036261723FD6EF53DE8C8FB0016303666F6F3FD35F98A0EA650E"}}
+{"expression":"tanh(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD35F98A0EA650E016103626172016A3FD6EF53DE8C8FB0016103626172016B3FDA5729EE488036016103626172016C3FDD9353D7568AF3016103666F6F01693FAFF55997E030D7016103666F6F016A3FBFD5992BC4B834016103666F6F016B3FC7B8FF903BF775016103666F6F016C3FCF597EA69A1C8601620362617201693FE5788FF10D2999016203626172016A3FE686650B8C2016016203626172016B3FE77D838E34057D016203626172016C3FE85EFAB514F394016203666F6F01693FE05086F2F6D4B7016203666F6F016A3FE1BF47EABB8F95016203666F6F016B3FE3157DFE9F715B016203666F6F016C3FE45323E552F22801630362617201693FEBAD50A4A68BC2016303626172016A3FEC278A52A4E478016303626172016B3FEC950A3340C8C0016303626172016C3FECF6F9786DF577016303666F6F01693FE92BFB370D9B72016303666F6F016A3FE9E5CB5BA44D69016303666F6F016B3FEA8DBCBC31897A016303666F6F016C3FEB2523BB6B2DEE"}}
+{"expression":"tanh(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693E9AFCC5016103626172016A3EB77A9F016103626172016B3ED2B94F016103626172016C3EEC9A9F016103666F6F01693D7FAACD016103666F6F016A3DFEACC9016103666F6F016B3E3DC7FD016103666F6F016C3E7ACBF501620362617201693F2BC480016203626172016A3F343328016203626172016B3F3BEC1C016203626172016C3F42F7D6016203666F6F01693F028438016203666F6F016A3F0DFA3F016203666F6F016B3F18ABF0016203666F6F016C3F22991F01630362617201693F5D6A85016303626172016A3F613C53016303626172016B3F64A852016303626172016C3F67B7CC016303666F6F01693F495FDA016303666F6F016A3F4F2E5B016303666F6F016B3F546DE6016303666F6F016C3F59291E"}}
+{"expression":"tanh(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FDD9353D7568AF33FE05086F2F6D4B73FE1BF47EABB8F953FE3157DFE9F715B3FE45323E552F2283FE5788FF10D29993FE686650B8C20163FEC278A52A4E4783FEC950A3340C8C03FECF6F9786DF5773FED4E6F464286B13FED9C6FAFE61C783FEDE1EB5937518F3FEE1FBF97E335273FEF4BFD6C2DFD1E3FEF60EFB2C128493FEF73776B2AA2DB3FEF83DABF23E1773FEF9258260A71C23FEF9F272E24FE6C3FEFAA7934B75EBD03666F6F3FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF7753FCF597EA69A1C863FD35F98A0EA650E3FD6EF53DE8C8FB03FDA5729EE4880363FE77D838E34057D3FE85EFAB514F3943FE92BFB370D9B723FE9E5CB5BA44D693FEA8DBCBC31897A3FEB2523BB6B2DEE3FEBAD50A4A68BC23FEE56B6F3EFABFD3FEE8789ECEC0DDA3FEEB2DFEDD5EC933FEED9505E1BC3D43FEEFB63C1F339983FEF1994DF724FC83FEF3451E0899E21"}}
+{"expression":"tanh(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FAFF55997E030D73FD35F98A0EA650E3FE05086F2F6D4B73FE5788FF10D29993FE92BFB370D9B720161016A3FBFD5992BC4B8343FD6EF53DE8C8FB03FE1BF47EABB8F953FE686650B8C20163FE9E5CB5BA44D690161016B3FC7B8FF903BF7753FDA5729EE4880363FE3157DFE9F715B3FE77D838E34057D3FEA8DBCBC31897A0161016C3FCF597EA69A1C863FDD9353D7568AF33FE45323E552F2283FE85EFAB514F3943FEB2523BB6B2DEE016201693FEBAD50A4A68BC23FED4E6F464286B13FEE56B6F3EFABFD3FEEFB63C1F339983FEF60EFB2C128490162016A3FEC278A52A4E4783FED9C6FAFE61C783FEE8789ECEC0DDA3FEF1994DF724FC83FEF73776B2AA2DB0162016B3FEC950A3340C8C03FEDE1EB5937518F3FEEB2DFEDD5EC933FEF3451E0899E213FEF83DABF23E1770162016C3FECF6F9786DF5773FEE1FBF97E335273FEED9505E1BC3D43FEF4BFD6C2DFD1E3FEF9258260A71C2016301693FEF9F272E24FE6C3FEFC51F569C07DB3FEFDC3D06100D203FEFEA4A74034D753FEFF2D36B4D02D90163016A3FEFAA7934B75EBD3FEFCC04CDBCDC4C3FEFE06EB06882123FEFECD6B7EA31283FEFF45F6D36133B0163016B3FEFB47A0D8F6D243FEFD21C0F91C6583FEFE422A737407E3FEFEF16825D225B3FEFF5BCF6D192440163016C3FEFBD509AE7AE3E3FEFD77D111A0B003FEFE76795D353A03FEFF112C63A90773FEFF6F17A754772"}}
+{"expression":"tanh(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D7FAACD3E9AFCC53F0284383F2BC4803F495FDA0161016A3DFEACC93EB77A9F3F0DFA3F3F3433283F4F2E5B0161016B3E3DC7FD3ED2B94F3F18ABF03F3BEC1C3F546DE60161016C3E7ACBF53EEC9A9F3F22991F3F42F7D63F59291E016201693F5D6A853F6A737A3F72B5B83F77DB1E3F7B077E0162016A3F613C533F6CE37D3F743C4F3F78CCA73F7B9BBB0162016B3F64A8523F6F0F5B3F7596FF3F79A28F3F7C1ED60162016C3F67B7CC3F70FDFD3F76CA833F7A5FEB3F7C92C1016301693F7CF9393F7E28FB3F7EE1E83F7F52543F7F969B0163016A3F7D53CA3F7E60263F7F03763F7F66B63F7FA2FB0163016B3F7DA3D03F7E90E03F7F21153F7F78B43F7FADE80163016C3F7DEA853F7EBBE93F7F3B3D3F7F88963F7FB78C"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FAFF55997E030D7"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF775"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF7753FCF597EA69A1C863FD35F98A0EA650E3FD6EF53DE8C8FB03FDA5729EE4880363FDD9353D7568AF33FE05086F2F6D4B73FE1BF47EABB8F953FE3157DFE9F715B3FE45323E552F2283FE5788FF10D29993FE686650B8C20163FE77D838E34057D"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF7753FCF597EA69A1C863FD35F98A0EA650E3FD6EF53DE8C8FB03FDA5729EE4880363FDD9353D7568AF33FE05086F2F6D4B73FE1BF47EABB8F953FE3157DFE9F715B3FE45323E552F2283FE5788FF10D29993FE686650B8C20163FE77D838E34057D3FE85EFAB514F3943FE92BFB370D9B723FE9E5CB5BA44D693FEA8DBCBC31897A3FEB2523BB6B2DEE3FEBAD50A4A68BC23FEC278A52A4E4783FEC950A3340C8C03FECF6F9786DF5773FED4E6F464286B13FED9C6FAFE61C783FEDE1EB5937518F3FEE1FBF97E335273FEE56B6F3EFABFD3FEE8789ECEC0DDA3FEEB2DFEDD5EC933FEED9505E1BC3D43FEEFB63C1F339983FEF1994DF724FC83FEF3451E0899E213FEF4BFD6C2DFD1E3FEF60EFB2C128493FEF73776B2AA2DB3FEF83DABF23E1773FEF9258260A71C23FEF9F272E24FE6C3FEFAA7934B75EBD3FEFB47A0D8F6D243FEFBD509AE7AE3E3FEFC51F569C07DB3FEFCC04CDBCDC4C3FEFD21C0F91C6583FEFD77D111A0B003FEFDC3D06100D203FEFE06EB06882123FEFE422A737407E3FEFE76795D353A03FEFEA4A74034D753FEFECD6B7EA31283FEFEF16825D225B3FEFF112C63A90773FEFF2D36B4D02D93FEFF45F6D36133B3FEFF5BCF6D192443FEFF6F17A7547723FEFF801C76733AF3FEFF8F21CDAAA633FEFF9C63ABBE9F43FEFFA81708A0B423FEFFB26AA7817A33FEFFBB87D07C5DF3FEFFC392F4AB8D53FEFFCAAC3F20E663FEFFD0F014F8C4D3FEFFD677867B57F3FEFFDB58B3080623FEFFDFA721539833FEFFE3740D54C9A3FEFFE6CEAD12CDD3FEFFE9C46D65D833FEFFEC61279A3A43FEFFEEAF50CAC563FEFFF0B823AE6E63FEFFF283C57F53E3FEFFF419668DF113FEFFF57F5F022B63FEFFF6BB483CC793FEFFF7D2133E7443FEFFF8C81C6DC343FEFFF9A13D0AFAE3FEFFFA60DA976AA3FEFFFB09F46DC8D3FEFFFB9F2FC1E913FEFFFC22E237BFF3FEFFFC971B3C0753FEFFFCFDAC43E313FEFFFD5830148253FEFFFDA8112FDB43FEFFFDEE8F803513FEFFFE2CC5593093FEFFFE63ABE253C3FEFFFE941EFCC6C3FEFFFEBEE0B3DA03FEFFFEE49C461A13FEFFFF05E8D31923FEFFFF234BB8A593FEFFFF3D3AA8E643FEFFFF541D81B583FEFFFF684FEC9B93FEFFFF7A22CDE86"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D7FAACD3DFEACC93E3DC7FD3E7ACBF53E9AFCC53EB77A9F3ED2B94F3EEC9A9F3F0284383F0DFA3F3F18ABF03F22991F3F2BC4803F3433283F3BEC1C3F42F7D63F495FDA3F4F2E5B3F546DE63F59291E3F5D6A853F613C533F64A8523F67B7CC3F6A737A3F6CE37D3F6F0F5B3F70FDFD3F72B5B83F743C4F3F7596FF3F76CA833F77DB1E3F78CCA73F79A28F3F7A5FEB3F7B077E3F7B9BBB3F7C1ED63F7C92C13F7CF9393F7D53CA3F7DA3D03F7DEA853F7E28FB3F7E60263F7E90E03F7EBBE93F7EE1E83F7F03763F7F21153F7F3B3D3F7F52543F7F66B63F7F78B43F7F88963F7F969B3F7FA2FB3F7FADE83F7FB78C3F7FC00E3F7FC7913F7FCE323F7FD40C3F7FD9353F7FDDC43F7FE1C93F7FE5563F7FE8783F7FEB3C3F7FEDAC3F7FEFD43F7FF1BA3F7FF3673F7FF4E23F7FF6313F7FF7583F7FF85C3F7FF9423F7FFA0D3F7FFAC03F7FFB5E3F7FFBE93F7FFC643F7FFCD13F7FFD303F7FFD853F7FFDD03F7FFE113F7FFE4C3F7FFE7F3F7FFEAC3F7FFED43F7FFEF73F7FFF163F7FFF323F7FFF4A3F7FFF5F3F7FFF723F7FFF833F7FFF923F7FFF9F3F7FFFAA3F7FFFB43F7FFFBD"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FAFF55997E030D701623FBFD5992BC4B83401633FC7B8FF903BF775"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FBFD5992BC4B834016103666F6F3FAFF55997E030D70162036261723FCF597EA69A1C86016203666F6F3FC7B8FF903BF7750163036261723FD6EF53DE8C8FB0016303666F6F3FD35F98A0EA650E"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD35F98A0EA650E016103626172016A3FD6EF53DE8C8FB0016103626172016B3FDA5729EE488036016103626172016C3FDD9353D7568AF3016103666F6F01693FAFF55997E030D7016103666F6F016A3FBFD5992BC4B834016103666F6F016B3FC7B8FF903BF775016103666F6F016C3FCF597EA69A1C8601620362617201693FE5788FF10D2999016203626172016A3FE686650B8C2016016203626172016B3FE77D838E34057D016203626172016C3FE85EFAB514F394016203666F6F01693FE05086F2F6D4B7016203666F6F016A3FE1BF47EABB8F95016203666F6F016B3FE3157DFE9F715B016203666F6F016C3FE45323E552F22801630362617201693FEBAD50A4A68BC2016303626172016A3FEC278A52A4E478016303626172016B3FEC950A3340C8C0016303626172016C3FECF6F9786DF577016303666F6F01693FE92BFB370D9B72016303666F6F016A3FE9E5CB5BA44D69016303666F6F016B3FEA8DBCBC31897A016303666F6F016C3FEB2523BB6B2DEE"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693E9AFCC5016103626172016A3EB77A9F016103626172016B3ED2B94F016103626172016C3EEC9A9F016103666F6F01693D7FAACD016103666F6F016A3DFEACC9016103666F6F016B3E3DC7FD016103666F6F016C3E7ACBF501620362617201693F2BC480016203626172016A3F343328016203626172016B3F3BEC1C016203626172016C3F42F7D6016203666F6F01693F028438016203666F6F016A3F0DFA3F016203666F6F016B3F18ABF0016203666F6F016C3F22991F01630362617201693F5D6A85016303626172016A3F613C53016303626172016B3F64A852016303626172016C3F67B7CC016303666F6F01693F495FDA016303666F6F016A3F4F2E5B016303666F6F016B3F546DE6016303666F6F016C3F59291E"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FDD9353D7568AF33FE05086F2F6D4B73FE1BF47EABB8F953FE3157DFE9F715B3FE45323E552F2283FE5788FF10D29993FE686650B8C20163FEC278A52A4E4783FEC950A3340C8C03FECF6F9786DF5773FED4E6F464286B13FED9C6FAFE61C783FEDE1EB5937518F3FEE1FBF97E335273FEF4BFD6C2DFD1E3FEF60EFB2C128493FEF73776B2AA2DB3FEF83DABF23E1773FEF9258260A71C23FEF9F272E24FE6C3FEFAA7934B75EBD03666F6F3FAFF55997E030D73FBFD5992BC4B8343FC7B8FF903BF7753FCF597EA69A1C863FD35F98A0EA650E3FD6EF53DE8C8FB03FDA5729EE4880363FE77D838E34057D3FE85EFAB514F3943FE92BFB370D9B723FE9E5CB5BA44D693FEA8DBCBC31897A3FEB2523BB6B2DEE3FEBAD50A4A68BC23FEE56B6F3EFABFD3FEE8789ECEC0DDA3FEEB2DFEDD5EC933FEED9505E1BC3D43FEEFB63C1F339983FEF1994DF724FC83FEF3451E0899E21"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FAFF55997E030D73FD35F98A0EA650E3FE05086F2F6D4B73FE5788FF10D29993FE92BFB370D9B720161016A3FBFD5992BC4B8343FD6EF53DE8C8FB03FE1BF47EABB8F953FE686650B8C20163FE9E5CB5BA44D690161016B3FC7B8FF903BF7753FDA5729EE4880363FE3157DFE9F715B3FE77D838E34057D3FEA8DBCBC31897A0161016C3FCF597EA69A1C863FDD9353D7568AF33FE45323E552F2283FE85EFAB514F3943FEB2523BB6B2DEE016201693FEBAD50A4A68BC23FED4E6F464286B13FEE56B6F3EFABFD3FEEFB63C1F339983FEF60EFB2C128490162016A3FEC278A52A4E4783FED9C6FAFE61C783FEE8789ECEC0DDA3FEF1994DF724FC83FEF73776B2AA2DB0162016B3FEC950A3340C8C03FEDE1EB5937518F3FEEB2DFEDD5EC933FEF3451E0899E213FEF83DABF23E1770162016C3FECF6F9786DF5773FEE1FBF97E335273FEED9505E1BC3D43FEF4BFD6C2DFD1E3FEF9258260A71C2016301693FEF9F272E24FE6C3FEFC51F569C07DB3FEFDC3D06100D203FEFEA4A74034D753FEFF2D36B4D02D90163016A3FEFAA7934B75EBD3FEFCC04CDBCDC4C3FEFE06EB06882123FEFECD6B7EA31283FEFF45F6D36133B0163016B3FEFB47A0D8F6D243FEFD21C0F91C6583FEFE422A737407E3FEFEF16825D225B3FEFF5BCF6D192440163016C3FEFBD509AE7AE3E3FEFD77D111A0B003FEFE76795D353A03FEFF112C63A90773FEFF6F17A754772"}}
+{"expression":"map(a,f(a)(tanh(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D7FAACD3E9AFCC53F0284383F2BC4803F495FDA0161016A3DFEACC93EB77A9F3F0DFA3F3F3433283F4F2E5B0161016B3E3DC7FD3ED2B94F3F18ABF03F3BEC1C3F546DE60161016C3E7ACBF53EEC9A9F3F22991F3F42F7D63F59291E016201693F5D6A853F6A737A3F72B5B83F77DB1E3F7B077E0162016A3F613C533F6CE37D3F743C4F3F78CCA73F7B9BBB0162016B3F64A8523F6F0F5B3F7596FF3F79A28F3F7C1ED60162016C3F67B7CC3F70FDFD3F76CA833F7A5FEB3F7C92C1016301693F7CF9393F7E28FB3F7EE1E83F7F52543F7F969B0163016A3F7D53CA3F7E60263F7F03763F7F66B63F7FA2FB0163016B3F7DA3D03F7E90E03F7F21153F7F78B43F7FADE80163016C3F7DEA853F7EBBE93F7F3B3D3F7F88963F7FB78C"}}
+{"expression":"acos(a)","inputs":{"a":"0x02003FE07FF560000000"},"result":{"expect":"0x02003FF0770D2E39D866"}}
+{"expression":"acos(a)","inputs":{"a":"0x02010178033FE07FF5600000003FE0FFAAC00000003FE17EE100000000"},"result":{"expect":"0x02010178033FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D0"}}
+{"expression":"acos(a)","inputs":{"a":"0x02020178030179053FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A0000000"},"result":{"expect":"0x02020178030179053FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D03FEF2936F9155E813FEE907F87E9CD333FEDF73DA75B8C673FED5DA5869287BA3FECC3E9D18B46CB3FEC2A3D3E9A38073FEB90D0C67C7CE93FEAF7D4591D34FB3FEA5F76989F70413FE9C7E42E6840193FE93147BBCF7AA63FE89BCA4C25AB4D"}}
+{"expression":"acos(a)","inputs":{"a":"0x0203017803017905017A073FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A400000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A8600000003FEDF60C000000003FEE13C5200000003FEE2FE7400000003FEE4A85200000003FEE63B1000000003FEE7B7CC00000003FEE91F9600000003FEEA737A00000003FEEBB47600000003FEECE37E00000003FEEE017E00000003FEEF0F5A00000003FEF00DEA00000003FEF0FDFC00000003FEF1E05800000003FEF2B5B800000003FEF37ED200000003FEF43C5000000003FEF4EED600000003FEF5970000000003FEF6356000000003FEF6CA8200000003FEF756EE00000003FEF7DB1E00000003FEF8578C00000003FEF8CCA600000003FEF93ADC00000003FEF9A29000000003FEFA042000000003FEFA5FEC00000003FEFAB64400000003FEFB077E00000003FEFB53E200000003FEFB9BBC00000003FEFBDF4C00000003FEFC1ED600000003FEFC5A9400000003FEFC92C200000003FEFCC79200000003FEFCF93A00000003FEFD27E800000003FEFD53CA00000003FEFD7D0A00000003FEFDA3D000000003FEFDC84200000003FEFDEA8400000003FEFE0AB800000003FEFE28FA00000003FEFE456C00000003FEFE602600000003FEFE794600000003FEFE90E000000003FEFEA71000000003FEFEBBE800000003FEFECF8000000003FEFEE1E800000003FEFEF33400000003FEFF037600000003FEFF12BC00000003FEFF211600000003FEFF2E9200000003FEFF3B3C00000003FEFF47240000000"},"result":{"expect":"0x0203017803017905017A073FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D03FEF2936F9155E813FEE907F87E9CD333FEDF73DA75B8C673FED5DA5869287BA3FECC3E9D18B46CB3FEC2A3D3E9A38073FEB90D0C67C7CE93FEAF7D4591D34FB3FEA5F76989F70413FE9C7E42E6840193FE93147BBCF7AA63FE89BCA4C25AB4D3FE8079226F2A4A13FE774C415B470C73FE6E381BDEB896C3FE653EB0FC3031A3FE5C61D15D03BCB3FE53A32D43D8D6A3FE4B04498A69D9C3FE4286874A3812A3FE3A2B1E87FDA4B3FE31F32D557E5553FE29DF9D621C37D3FE21F148BF8F9D13FE1A28D7C2EB40D3FE1286E03E6D6203FE0B0BD170137253FE03B801F7ACC8E3FDF91766FDBAFC03FDEB0E0B8909A4F3FDDD5404E485F613FDCFE943F0E92CC3FDC2CD996EB66993FDB600927F03DA93FDA981B2BC392543FD9D50673A834E63FD916BE2A3CCF5E3FD85D35F40557E63FD7A85E8161AFA73FD6F828A933916E3FD64C833AD32C493FD5A55B74820A113FD5029F2311B3483FD4643B29B929213FD3CA1A9A3879EF3FD33429E2DDA3943FD2A252BDB691E63FD214805B10C9F03FD18A9DDD7CF9863FD10495801E910C3FD0825091AACCC63FD003B9770DB3933FCF1175E08EA98A3FCE227C4B74859C3FCD3A5DF3D7885B3FCC58EDDA134CA33FCB7E032B3EE0D83FCAA972FB3383BB3FC9DB12BFD4766C3FC912BB488591DB3FC850444E5036DA3FC79381DFC4615C3FC6DC5238513BFB3FC62A8B642BCCBB3FC57E0C37F8D6823FC4D6A874857ECD3FC43440CA4BB98F3FC396B4DD466C8F3FC2FDD93D3E89BF3FC269955AA037BC3FC1D9BF501638753FC14E3E7E55C3983FC0C6EC37653D253FC043B1564854463FBF88D0FEA925AF3FBE91F2FD73DC543FBDA28379819F0B3FBCBA5B43B2EB9D3FBBD936180C4FA73FBAFEE76D579BB93FBA2B37AAD474D43FB95DF7125EF2BE3FB896F51D54BC433FB7D600D6D055173FB71AE946A351983FB6657DEE9F16053FB5B5A6F8A750323FB50B20853231F13FB465D877D98CB73FB3C58F5421F2213FB32A3C38002AA03FB29399FF4EA0543FB2019DE5287BF83FB1740C0467A2D03FB0EAD9B0B380483FB065D82033EE143FAFC9BE574ABBD23FAECFBEEDC9EA703FADDD66A20AE9C43FACF27D72A973683FAC0EE297A5079C3FAB321FC1B733E8"}}
+{"expression":"acos(a)","inputs":{"a":"0x060103017803017905017A073F03FFAB3F07FD563F0BF7083F0FEACD3F13D6BC3F17B9003F1B8FD03F1F597F3F2314733F26BF313F2A58593F2DDEA83F3150FC3F34AE543F37F5CD3F3B26A83F3E40423F41421C3F442BD23F46FD203F49B5DC3F4C55F83F4EDD7E3F514C903F53A3623F55E2403F5809823F5A19943F5C12EC3F5DF60E3F5FC3873F617BEB3F631FD73F64AFED3F662CD23F67972D3F68EFAA3F6A36F33F6B6DB13F6C948F3F6DAC333F6EB5433F6FB0603F709E293F717F3A3F7254293F731D883F73DBE63F748FCB3F7539BD3F75DA3B3F7671BF3F7700BF3F7787AD3F7806F53F787EFE3F78F02C3F795ADC3F79BF693F7A1E283F7A776B3F7ACB803F7B1AB03F7B65413F7BAB773F7BED8F3F7C2BC63F7C66533F7C9D6E3F7CD1483F7D02103F7D2FF63F7D5B223F7D83BF3F7DA9F13F7DCDDE3F7DEFA63F7E0F6B3F7E2D4A3F7E49613F7E63C93F7E7C9D3F7E93F43F7EA9E53F7EBE853F7ED1E83F7EE4213F7EF5423F7F055C3F7F147D3F7F22B63F7F30133F7F3CA33F7F48703F7F53883F7F5DF43F7F67C03F7F70F43F7F799A3F7F81BB3F7F895E3F7F908B3F7F97493F7F9D9E3F7FA392"},"result":{"expect":"0x060103017803017905017A073F83B8693F8160E13F7E09853F7949B83F7483FC3F6FB9ED3F6AED2C3F661F4F3F6151EA3F5C86863F57BEA33F52FBB53F4E3F213F498A3E3F44DE523F403C913F3BA6213F371C0E3F329F583F2E30E93F29D1973F2582253F2143443F1D158F3F18F9973F14EFCF3F10F8A43F0D146C3F0943703F0585E93F01DC013EFC8BB33EF587063EEEAA023EE7F4A23EE166CD3EDB00493ED4C0D93ECEA8343EC8B5F13EC2E9B03EBD42F43EB7C1453EB2641A3EAD2ADC3EA814F93EA321D93E9E50D53E99A14F3E9512963E90A4033E8C54EF3E8824AC3E8412853E801DCC3E788BAF3E7113E23E69D2F03E62C76F3E5BF0193E554B983E4ED8963E4895DA3E4282223E3C9C0F3E36E2923E31545B3E2BF0623E26B5443E21A2063E1CB5A73E17EECA3E134CAB3E0ECDFB3E0A71F43E0637623E021D8B3DFC46883DF48F983DED141C3DE5D2DA3DDEC9B13DD7F73B3DD159BD3DCAEFB93DC4B7A93DBEB0073DB8D74A3DB32BEF3DADAD383DA859043DA32EC43D9E2C7B3D9951E23D949CD03D900CEF3D8BA0603D8756CE3D832EC13D7E4DF33D767DF73D6EEB353D6793EC3D6077153D5990FE"}}
+{"expression":"acos(a)","inputs":{"a":"0x010101780301613FE07FF56000000001623FE0FFAAC000000001633FE17EE100000000"},"result":{"expect":"0x010101780301613FF0770D2E39D86601623FF02C1C1DB279AA01633FEFC130910699D0"}}
+{"expression":"acos(a)","inputs":{"a":"0x010201780179060161036261723FE0FFAAC0000000016103666F6F3FE07FF5600000000162036261723FE1FD59A0000000016203666F6F3FE17EE1000000000163036261723FE2F72000000000016303666F6F3FE27AD780000000"},"result":{"expect":"0x010201780179060161036261723FF02C1C1DB279AA016103666F6F3FF0770D2E39D8660162036261723FEF2936F9155E81016203666F6F3FEFC130910699D00163036261723FEDF73DA75B8C67016303666F6F3FEE907F87E9CD33"}}
+{"expression":"acos(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE27AD780000000016103626172016A3FE2F72000000000016103626172016B3FE371FA00000000016103626172016C3FE3EB2FE0000000016103666F6F01693FE07FF560000000016103666F6F016A3FE0FFAAC0000000016103666F6F016B3FE17EE100000000016103666F6F016C3FE1FD59A000000001620362617201693FE62A1F80000000016203626172016A3FE695CA80000000016203626172016B3FE6FEB9A0000000016203626172016C3FE764D500000000016203666F6F01693FE4628E60000000016203666F6F016A3FE4D7E620000000016203666F6F016B3FE54B0B20000000016203666F6F016C3FE5BBD50000000001630362617201693FE936BB80000000016303626172016A3FE98ABF00000000016303626172016B3FE9DBAFC0000000016303626172016C3FEA299200000000016303666F6F01693FE7C80840000000016303666F6F016A3FE8284380000000016303666F6F016B3FE8857A40000000016303666F6F016C3FE8DFA400000000"},"result":{"expect":"0x010301780179017A1801610362617201693FEE907F87E9CD33016103626172016A3FEDF73DA75B8C67016103626172016B3FED5DA5869287BA016103626172016C3FECC3E9D18B46CB016103666F6F01693FF0770D2E39D866016103666F6F016A3FF02C1C1DB279AA016103666F6F016B3FEFC130910699D0016103666F6F016C3FEF2936F9155E8101620362617201693FE9C7E42E684019016203626172016A3FE93147BBCF7AA6016203626172016B3FE89BCA4C25AB4D016203626172016C3FE8079226F2A4A1016203666F6F01693FEC2A3D3E9A3807016203666F6F016A3FEB90D0C67C7CE9016203666F6F016B3FEAF7D4591D34FB016203666F6F016C3FEA5F76989F704101630362617201693FE53A32D43D8D6A016303626172016A3FE4B04498A69D9C016303626172016B3FE4286874A3812A016303626172016C3FE3A2B1E87FDA4B016303666F6F01693FE774C415B470C7016303666F6F016A3FE6E381BDEB896C016303666F6F016B3FE653EB0FC3031A016303666F6F016C3FE5C61D15D03BCB"}}
+{"expression":"acos(a)","inputs":{"a":"0x05010301780179017A1801610362617201693F13D6BC016103626172016A3F17B900016103626172016B3F1B8FD0016103626172016C3F1F597F016103666F6F01693F03FFAB016103666F6F016A3F07FD56016103666F6F016B3F0BF708016103666F6F016C3F0FEACD01620362617201693F3150FC016203626172016A3F34AE54016203626172016B3F37F5CD016203626172016C3F3B26A8016203666F6F01693F231473016203666F6F016A3F26BF31016203666F6F016B3F2A5859016203666F6F016C3F2DDEA801630362617201693F49B5DC016303626172016A3F4C55F8016303626172016B3F4EDD7E016303626172016C3F514C90016303666F6F01693F3E4042016303666F6F016A3F41421C016303666F6F016B3F442BD2016303666F6F016C3F46FD20"},"result":{"expect":"0x05010301780179017A1801610362617201693F7483FC016103626172016A3F6FB9ED016103626172016B3F6AED2C016103626172016C3F661F4F016103666F6F01693F83B869016103666F6F016A3F8160E1016103666F6F016B3F7E0985016103666F6F016C3F7949B801620362617201693F4E3F21016203626172016A3F498A3E016203626172016B3F44DE52016203626172016C3F403C91016203666F6F01693F6151EA016203666F6F016A3F5C8686016203666F6F016B3F57BEA3016203666F6F016C3F52FBB501630362617201693F29D197016303626172016A3F258225016303626172016B3F214344016303626172016C3F1D158F016303666F6F01693F3BA621016303666F6F016A3F371C0E016303666F6F016B3F329F58016303666F6F016C3F2E30E9"}}
+{"expression":"acos(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A86000000003666F6F3FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A40000000"},"result":{"expect":"0x0301017902017803017A0702036261723FECC3E9D18B46CB3FEC2A3D3E9A38073FEB90D0C67C7CE93FEAF7D4591D34FB3FEA5F76989F70413FE9C7E42E6840193FE93147BBCF7AA63FE4B04498A69D9C3FE4286874A3812A3FE3A2B1E87FDA4B3FE31F32D557E5553FE29DF9D621C37D3FE21F148BF8F9D13FE1A28D7C2EB40D3FDC2CD996EB66993FDB600927F03DA93FDA981B2BC392543FD9D50673A834E63FD916BE2A3CCF5E3FD85D35F40557E63FD7A85E8161AFA703666F6F3FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D03FEF2936F9155E813FEE907F87E9CD333FEDF73DA75B8C673FED5DA5869287BA3FE89BCA4C25AB4D3FE8079226F2A4A13FE774C415B470C73FE6E381BDEB896C3FE653EB0FC3031A3FE5C61D15D03BCB3FE53A32D43D8D6A3FE1286E03E6D6203FE0B0BD170137253FE03B801F7ACC8E3FDF91766FDBAFC03FDEB0E0B8909A4F3FDDD5404E485F613FDCFE943F0E92CC"}}
+{"expression":"acos(a)","inputs":{"a":"0x03020178017A010179050C016101693FE07FF5600000003FE27AD7800000003FE4628E600000003FE62A1F800000003FE7C808400000000161016A3FE0FFAAC00000003FE2F720000000003FE4D7E6200000003FE695CA800000003FE82843800000000161016B3FE17EE1000000003FE371FA000000003FE54B0B200000003FE6FEB9A00000003FE8857A400000000161016C3FE1FD59A00000003FE3EB2FE00000003FE5BBD5000000003FE764D5000000003FE8DFA400000000016201693FE936BB800000003FEA746C400000003FEB825D800000003FEC63FAE00000003FED1DF5400000000162016A3FE98ABF000000003FEABC48000000003FEBBEC1C00000003FEC95FDA00000003FED46DE600000000162016B3FE9DBAFC00000003FEB0130400000003FEBF870E00000003FECC59A400000003FED6DB6200000000162016C3FEA2992000000003FEB4332800000003FEC2F7D600000003FECF2E5A00000003FED9291E0000000016301693FEDB586600000003FEE2FE7400000003FEE91F9600000003FEEE017E00000003FEF1E05800000000163016A3FEDD6A8600000003FEE4A85200000003FEEA737A00000003FEEF0F5A00000003FEF2B5B800000000163016B3FEDF60C000000003FEE63B1000000003FEEBB47600000003FEF00DEA00000003FEF37ED200000000163016C3FEE13C5200000003FEE7B7CC00000003FEECE37E00000003FEF0FDFC00000003FEF43C500000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0770D2E39D8663FEE907F87E9CD333FEC2A3D3E9A38073FE9C7E42E6840193FE774C415B470C70161016A3FF02C1C1DB279AA3FEDF73DA75B8C673FEB90D0C67C7CE93FE93147BBCF7AA63FE6E381BDEB896C0161016B3FEFC130910699D03FED5DA5869287BA3FEAF7D4591D34FB3FE89BCA4C25AB4D3FE653EB0FC3031A0161016C3FEF2936F9155E813FECC3E9D18B46CB3FEA5F76989F70413FE8079226F2A4A13FE5C61D15D03BCB016201693FE53A32D43D8D6A3FE31F32D557E5553FE1286E03E6D6203FDEB0E0B8909A4F3FDB600927F03DA90162016A3FE4B04498A69D9C3FE29DF9D621C37D3FE0B0BD170137253FDDD5404E485F613FDA981B2BC392540162016B3FE4286874A3812A3FE21F148BF8F9D13FE03B801F7ACC8E3FDCFE943F0E92CC3FD9D50673A834E60162016C3FE3A2B1E87FDA4B3FE1A28D7C2EB40D3FDF91766FDBAFC03FDC2CD996EB66993FD916BE2A3CCF5E016301693FD85D35F40557E63FD5A55B74820A113FD33429E2DDA3943FD10495801E910C3FCE227C4B74859C0163016A3FD7A85E8161AFA73FD5029F2311B3483FD2A252BDB691E63FD0825091AACCC63FCD3A5DF3D7885B0163016B3FD6F828A933916E3FD4643B29B929213FD214805B10C9F03FD003B9770DB3933FCC58EDDA134CA30163016C3FD64C833AD32C493FD3CA1A9A3879EF3FD18A9DDD7CF9863FCF1175E08EA98A3FCB7E032B3EE0D8"}}
+{"expression":"acos(a)","inputs":{"a":"0x0701020178017A010179050C016101693F03FFAB3F13D6BC3F2314733F3150FC3F3E40420161016A3F07FD563F17B9003F26BF313F34AE543F41421C0161016B3F0BF7083F1B8FD03F2A58593F37F5CD3F442BD20161016C3F0FEACD3F1F597F3F2DDEA83F3B26A83F46FD20016201693F49B5DC3F53A3623F5C12EC3F631FD73F68EFAA0162016A3F4C55F83F55E2403F5DF60E3F64AFED3F6A36F30162016B3F4EDD7E3F5809823F5FC3873F662CD23F6B6DB10162016C3F514C903F5A19943F617BEB3F67972D3F6C948F016301693F6DAC333F717F3A3F748FCB3F7700BF3F78F02C0163016A3F6EB5433F7254293F7539BD3F7787AD3F795ADC0163016B3F6FB0603F731D883F75DA3B3F7806F53F79BF690163016C3F709E293F73DBE63F7671BF3F787EFE3F7A1E28"},"result":{"expect":"0x0701020178017A010179050C016101693F83B8693F7483FC3F6151EA3F4E3F213F3BA6210161016A3F8160E13F6FB9ED3F5C86863F498A3E3F371C0E0161016B3F7E09853F6AED2C3F57BEA33F44DE523F329F580161016C3F7949B83F661F4F3F52FBB53F403C913F2E30E9016201693F29D1973F18F9973F0943703EF587063EDB00490162016A3F2582253F14EFCF3F0585E93EEEAA023ED4C0D90162016B3F2143443F10F8A43F01DC013EE7F4A23ECEA8340162016C3F1D158F3F0D146C3EFC8BB33EE166CD3EC8B5F1016301693EC2E9B03EAD2ADC3E99A14F3E8824AC3E7113E20163016A3EBD42F43EA814F93E9512963E8412853E69D2F00163016B3EB7C1453EA321D93E90A4033E801DCC3E62C76F0163016C3EB2641A3E9E50D53E8C54EF3E788BAF3E5BF019"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x02003FE07FF560000000"},"result":{"expect":"0x02003FF0770D2E39D866"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x02010178033FE07FF5600000003FE0FFAAC00000003FE17EE100000000"},"result":{"expect":"0x02010178033FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D0"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x02020178030179053FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A0000000"},"result":{"expect":"0x02020178030179053FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D03FEF2936F9155E813FEE907F87E9CD333FEDF73DA75B8C673FED5DA5869287BA3FECC3E9D18B46CB3FEC2A3D3E9A38073FEB90D0C67C7CE93FEAF7D4591D34FB3FEA5F76989F70413FE9C7E42E6840193FE93147BBCF7AA63FE89BCA4C25AB4D"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x0203017803017905017A073FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A400000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A8600000003FEDF60C000000003FEE13C5200000003FEE2FE7400000003FEE4A85200000003FEE63B1000000003FEE7B7CC00000003FEE91F9600000003FEEA737A00000003FEEBB47600000003FEECE37E00000003FEEE017E00000003FEEF0F5A00000003FEF00DEA00000003FEF0FDFC00000003FEF1E05800000003FEF2B5B800000003FEF37ED200000003FEF43C5000000003FEF4EED600000003FEF5970000000003FEF6356000000003FEF6CA8200000003FEF756EE00000003FEF7DB1E00000003FEF8578C00000003FEF8CCA600000003FEF93ADC00000003FEF9A29000000003FEFA042000000003FEFA5FEC00000003FEFAB64400000003FEFB077E00000003FEFB53E200000003FEFB9BBC00000003FEFBDF4C00000003FEFC1ED600000003FEFC5A9400000003FEFC92C200000003FEFCC79200000003FEFCF93A00000003FEFD27E800000003FEFD53CA00000003FEFD7D0A00000003FEFDA3D000000003FEFDC84200000003FEFDEA8400000003FEFE0AB800000003FEFE28FA00000003FEFE456C00000003FEFE602600000003FEFE794600000003FEFE90E000000003FEFEA71000000003FEFEBBE800000003FEFECF8000000003FEFEE1E800000003FEFEF33400000003FEFF037600000003FEFF12BC00000003FEFF211600000003FEFF2E9200000003FEFF3B3C00000003FEFF47240000000"},"result":{"expect":"0x0203017803017905017A073FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D03FEF2936F9155E813FEE907F87E9CD333FEDF73DA75B8C673FED5DA5869287BA3FECC3E9D18B46CB3FEC2A3D3E9A38073FEB90D0C67C7CE93FEAF7D4591D34FB3FEA5F76989F70413FE9C7E42E6840193FE93147BBCF7AA63FE89BCA4C25AB4D3FE8079226F2A4A13FE774C415B470C73FE6E381BDEB896C3FE653EB0FC3031A3FE5C61D15D03BCB3FE53A32D43D8D6A3FE4B04498A69D9C3FE4286874A3812A3FE3A2B1E87FDA4B3FE31F32D557E5553FE29DF9D621C37D3FE21F148BF8F9D13FE1A28D7C2EB40D3FE1286E03E6D6203FE0B0BD170137253FE03B801F7ACC8E3FDF91766FDBAFC03FDEB0E0B8909A4F3FDDD5404E485F613FDCFE943F0E92CC3FDC2CD996EB66993FDB600927F03DA93FDA981B2BC392543FD9D50673A834E63FD916BE2A3CCF5E3FD85D35F40557E63FD7A85E8161AFA73FD6F828A933916E3FD64C833AD32C493FD5A55B74820A113FD5029F2311B3483FD4643B29B929213FD3CA1A9A3879EF3FD33429E2DDA3943FD2A252BDB691E63FD214805B10C9F03FD18A9DDD7CF9863FD10495801E910C3FD0825091AACCC63FD003B9770DB3933FCF1175E08EA98A3FCE227C4B74859C3FCD3A5DF3D7885B3FCC58EDDA134CA33FCB7E032B3EE0D83FCAA972FB3383BB3FC9DB12BFD4766C3FC912BB488591DB3FC850444E5036DA3FC79381DFC4615C3FC6DC5238513BFB3FC62A8B642BCCBB3FC57E0C37F8D6823FC4D6A874857ECD3FC43440CA4BB98F3FC396B4DD466C8F3FC2FDD93D3E89BF3FC269955AA037BC3FC1D9BF501638753FC14E3E7E55C3983FC0C6EC37653D253FC043B1564854463FBF88D0FEA925AF3FBE91F2FD73DC543FBDA28379819F0B3FBCBA5B43B2EB9D3FBBD936180C4FA73FBAFEE76D579BB93FBA2B37AAD474D43FB95DF7125EF2BE3FB896F51D54BC433FB7D600D6D055173FB71AE946A351983FB6657DEE9F16053FB5B5A6F8A750323FB50B20853231F13FB465D877D98CB73FB3C58F5421F2213FB32A3C38002AA03FB29399FF4EA0543FB2019DE5287BF83FB1740C0467A2D03FB0EAD9B0B380483FB065D82033EE143FAFC9BE574ABBD23FAECFBEEDC9EA703FADDD66A20AE9C43FACF27D72A973683FAC0EE297A5079C3FAB321FC1B733E8"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x060103017803017905017A073F03FFAB3F07FD563F0BF7083F0FEACD3F13D6BC3F17B9003F1B8FD03F1F597F3F2314733F26BF313F2A58593F2DDEA83F3150FC3F34AE543F37F5CD3F3B26A83F3E40423F41421C3F442BD23F46FD203F49B5DC3F4C55F83F4EDD7E3F514C903F53A3623F55E2403F5809823F5A19943F5C12EC3F5DF60E3F5FC3873F617BEB3F631FD73F64AFED3F662CD23F67972D3F68EFAA3F6A36F33F6B6DB13F6C948F3F6DAC333F6EB5433F6FB0603F709E293F717F3A3F7254293F731D883F73DBE63F748FCB3F7539BD3F75DA3B3F7671BF3F7700BF3F7787AD3F7806F53F787EFE3F78F02C3F795ADC3F79BF693F7A1E283F7A776B3F7ACB803F7B1AB03F7B65413F7BAB773F7BED8F3F7C2BC63F7C66533F7C9D6E3F7CD1483F7D02103F7D2FF63F7D5B223F7D83BF3F7DA9F13F7DCDDE3F7DEFA63F7E0F6B3F7E2D4A3F7E49613F7E63C93F7E7C9D3F7E93F43F7EA9E53F7EBE853F7ED1E83F7EE4213F7EF5423F7F055C3F7F147D3F7F22B63F7F30133F7F3CA33F7F48703F7F53883F7F5DF43F7F67C03F7F70F43F7F799A3F7F81BB3F7F895E3F7F908B3F7F97493F7F9D9E3F7FA392"},"result":{"expect":"0x060103017803017905017A073F83B8693F8160E13F7E09853F7949B83F7483FC3F6FB9ED3F6AED2C3F661F4F3F6151EA3F5C86863F57BEA33F52FBB53F4E3F213F498A3E3F44DE523F403C913F3BA6213F371C0E3F329F583F2E30E93F29D1973F2582253F2143443F1D158F3F18F9973F14EFCF3F10F8A43F0D146C3F0943703F0585E93F01DC013EFC8BB33EF587063EEEAA023EE7F4A23EE166CD3EDB00493ED4C0D93ECEA8343EC8B5F13EC2E9B03EBD42F43EB7C1453EB2641A3EAD2ADC3EA814F93EA321D93E9E50D53E99A14F3E9512963E90A4033E8C54EF3E8824AC3E8412853E801DCC3E788BAF3E7113E23E69D2F03E62C76F3E5BF0193E554B983E4ED8963E4895DA3E4282223E3C9C0F3E36E2923E31545B3E2BF0623E26B5443E21A2063E1CB5A73E17EECA3E134CAB3E0ECDFB3E0A71F43E0637623E021D8B3DFC46883DF48F983DED141C3DE5D2DA3DDEC9B13DD7F73B3DD159BD3DCAEFB93DC4B7A93DBEB0073DB8D74A3DB32BEF3DADAD383DA859043DA32EC43D9E2C7B3D9951E23D949CD03D900CEF3D8BA0603D8756CE3D832EC13D7E4DF33D767DF73D6EEB353D6793EC3D6077153D5990FE"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x010101780301613FE07FF56000000001623FE0FFAAC000000001633FE17EE100000000"},"result":{"expect":"0x010101780301613FF0770D2E39D86601623FF02C1C1DB279AA01633FEFC130910699D0"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x010201780179060161036261723FE0FFAAC0000000016103666F6F3FE07FF5600000000162036261723FE1FD59A0000000016203666F6F3FE17EE1000000000163036261723FE2F72000000000016303666F6F3FE27AD780000000"},"result":{"expect":"0x010201780179060161036261723FF02C1C1DB279AA016103666F6F3FF0770D2E39D8660162036261723FEF2936F9155E81016203666F6F3FEFC130910699D00163036261723FEDF73DA75B8C67016303666F6F3FEE907F87E9CD33"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE27AD780000000016103626172016A3FE2F72000000000016103626172016B3FE371FA00000000016103626172016C3FE3EB2FE0000000016103666F6F01693FE07FF560000000016103666F6F016A3FE0FFAAC0000000016103666F6F016B3FE17EE100000000016103666F6F016C3FE1FD59A000000001620362617201693FE62A1F80000000016203626172016A3FE695CA80000000016203626172016B3FE6FEB9A0000000016203626172016C3FE764D500000000016203666F6F01693FE4628E60000000016203666F6F016A3FE4D7E620000000016203666F6F016B3FE54B0B20000000016203666F6F016C3FE5BBD50000000001630362617201693FE936BB80000000016303626172016A3FE98ABF00000000016303626172016B3FE9DBAFC0000000016303626172016C3FEA299200000000016303666F6F01693FE7C80840000000016303666F6F016A3FE8284380000000016303666F6F016B3FE8857A40000000016303666F6F016C3FE8DFA400000000"},"result":{"expect":"0x010301780179017A1801610362617201693FEE907F87E9CD33016103626172016A3FEDF73DA75B8C67016103626172016B3FED5DA5869287BA016103626172016C3FECC3E9D18B46CB016103666F6F01693FF0770D2E39D866016103666F6F016A3FF02C1C1DB279AA016103666F6F016B3FEFC130910699D0016103666F6F016C3FEF2936F9155E8101620362617201693FE9C7E42E684019016203626172016A3FE93147BBCF7AA6016203626172016B3FE89BCA4C25AB4D016203626172016C3FE8079226F2A4A1016203666F6F01693FEC2A3D3E9A3807016203666F6F016A3FEB90D0C67C7CE9016203666F6F016B3FEAF7D4591D34FB016203666F6F016C3FEA5F76989F704101630362617201693FE53A32D43D8D6A016303626172016A3FE4B04498A69D9C016303626172016B3FE4286874A3812A016303626172016C3FE3A2B1E87FDA4B016303666F6F01693FE774C415B470C7016303666F6F016A3FE6E381BDEB896C016303666F6F016B3FE653EB0FC3031A016303666F6F016C3FE5C61D15D03BCB"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693F13D6BC016103626172016A3F17B900016103626172016B3F1B8FD0016103626172016C3F1F597F016103666F6F01693F03FFAB016103666F6F016A3F07FD56016103666F6F016B3F0BF708016103666F6F016C3F0FEACD01620362617201693F3150FC016203626172016A3F34AE54016203626172016B3F37F5CD016203626172016C3F3B26A8016203666F6F01693F231473016203666F6F016A3F26BF31016203666F6F016B3F2A5859016203666F6F016C3F2DDEA801630362617201693F49B5DC016303626172016A3F4C55F8016303626172016B3F4EDD7E016303626172016C3F514C90016303666F6F01693F3E4042016303666F6F016A3F41421C016303666F6F016B3F442BD2016303666F6F016C3F46FD20"},"result":{"expect":"0x05010301780179017A1801610362617201693F7483FC016103626172016A3F6FB9ED016103626172016B3F6AED2C016103626172016C3F661F4F016103666F6F01693F83B869016103666F6F016A3F8160E1016103666F6F016B3F7E0985016103666F6F016C3F7949B801620362617201693F4E3F21016203626172016A3F498A3E016203626172016B3F44DE52016203626172016C3F403C91016203666F6F01693F6151EA016203666F6F016A3F5C8686016203666F6F016B3F57BEA3016203666F6F016C3F52FBB501630362617201693F29D197016303626172016A3F258225016303626172016B3F214344016303626172016C3F1D158F016303666F6F01693F3BA621016303666F6F016A3F371C0E016303666F6F016B3F329F58016303666F6F016C3F2E30E9"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A86000000003666F6F3FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A40000000"},"result":{"expect":"0x0301017902017803017A0702036261723FECC3E9D18B46CB3FEC2A3D3E9A38073FEB90D0C67C7CE93FEAF7D4591D34FB3FEA5F76989F70413FE9C7E42E6840193FE93147BBCF7AA63FE4B04498A69D9C3FE4286874A3812A3FE3A2B1E87FDA4B3FE31F32D557E5553FE29DF9D621C37D3FE21F148BF8F9D13FE1A28D7C2EB40D3FDC2CD996EB66993FDB600927F03DA93FDA981B2BC392543FD9D50673A834E63FD916BE2A3CCF5E3FD85D35F40557E63FD7A85E8161AFA703666F6F3FF0770D2E39D8663FF02C1C1DB279AA3FEFC130910699D03FEF2936F9155E813FEE907F87E9CD333FEDF73DA75B8C673FED5DA5869287BA3FE89BCA4C25AB4D3FE8079226F2A4A13FE774C415B470C73FE6E381BDEB896C3FE653EB0FC3031A3FE5C61D15D03BCB3FE53A32D43D8D6A3FE1286E03E6D6203FE0B0BD170137253FE03B801F7ACC8E3FDF91766FDBAFC03FDEB0E0B8909A4F3FDDD5404E485F613FDCFE943F0E92CC"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x03020178017A010179050C016101693FE07FF5600000003FE27AD7800000003FE4628E600000003FE62A1F800000003FE7C808400000000161016A3FE0FFAAC00000003FE2F720000000003FE4D7E6200000003FE695CA800000003FE82843800000000161016B3FE17EE1000000003FE371FA000000003FE54B0B200000003FE6FEB9A00000003FE8857A400000000161016C3FE1FD59A00000003FE3EB2FE00000003FE5BBD5000000003FE764D5000000003FE8DFA400000000016201693FE936BB800000003FEA746C400000003FEB825D800000003FEC63FAE00000003FED1DF5400000000162016A3FE98ABF000000003FEABC48000000003FEBBEC1C00000003FEC95FDA00000003FED46DE600000000162016B3FE9DBAFC00000003FEB0130400000003FEBF870E00000003FECC59A400000003FED6DB6200000000162016C3FEA2992000000003FEB4332800000003FEC2F7D600000003FECF2E5A00000003FED9291E0000000016301693FEDB586600000003FEE2FE7400000003FEE91F9600000003FEEE017E00000003FEF1E05800000000163016A3FEDD6A8600000003FEE4A85200000003FEEA737A00000003FEEF0F5A00000003FEF2B5B800000000163016B3FEDF60C000000003FEE63B1000000003FEEBB47600000003FEF00DEA00000003FEF37ED200000000163016C3FEE13C5200000003FEE7B7CC00000003FEECE37E00000003FEF0FDFC00000003FEF43C500000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0770D2E39D8663FEE907F87E9CD333FEC2A3D3E9A38073FE9C7E42E6840193FE774C415B470C70161016A3FF02C1C1DB279AA3FEDF73DA75B8C673FEB90D0C67C7CE93FE93147BBCF7AA63FE6E381BDEB896C0161016B3FEFC130910699D03FED5DA5869287BA3FEAF7D4591D34FB3FE89BCA4C25AB4D3FE653EB0FC3031A0161016C3FEF2936F9155E813FECC3E9D18B46CB3FEA5F76989F70413FE8079226F2A4A13FE5C61D15D03BCB016201693FE53A32D43D8D6A3FE31F32D557E5553FE1286E03E6D6203FDEB0E0B8909A4F3FDB600927F03DA90162016A3FE4B04498A69D9C3FE29DF9D621C37D3FE0B0BD170137253FDDD5404E485F613FDA981B2BC392540162016B3FE4286874A3812A3FE21F148BF8F9D13FE03B801F7ACC8E3FDCFE943F0E92CC3FD9D50673A834E60162016C3FE3A2B1E87FDA4B3FE1A28D7C2EB40D3FDF91766FDBAFC03FDC2CD996EB66993FD916BE2A3CCF5E016301693FD85D35F40557E63FD5A55B74820A113FD33429E2DDA3943FD10495801E910C3FCE227C4B74859C0163016A3FD7A85E8161AFA73FD5029F2311B3483FD2A252BDB691E63FD0825091AACCC63FCD3A5DF3D7885B0163016B3FD6F828A933916E3FD4643B29B929213FD214805B10C9F03FD003B9770DB3933FCC58EDDA134CA30163016C3FD64C833AD32C493FD3CA1A9A3879EF3FD18A9DDD7CF9863FCF1175E08EA98A3FCB7E032B3EE0D8"}}
+{"expression":"map(a,f(a)(acos(a)))","inputs":{"a":"0x0701020178017A010179050C016101693F03FFAB3F13D6BC3F2314733F3150FC3F3E40420161016A3F07FD563F17B9003F26BF313F34AE543F41421C0161016B3F0BF7083F1B8FD03F2A58593F37F5CD3F442BD20161016C3F0FEACD3F1F597F3F2DDEA83F3B26A83F46FD20016201693F49B5DC3F53A3623F5C12EC3F631FD73F68EFAA0162016A3F4C55F83F55E2403F5DF60E3F64AFED3F6A36F30162016B3F4EDD7E3F5809823F5FC3873F662CD23F6B6DB10162016C3F514C903F5A19943F617BEB3F67972D3F6C948F016301693F6DAC333F717F3A3F748FCB3F7700BF3F78F02C0163016A3F6EB5433F7254293F7539BD3F7787AD3F795ADC0163016B3F6FB0603F731D883F75DA3B3F7806F53F79BF690163016C3F709E293F73DBE63F7671BF3F787EFE3F7A1E28"},"result":{"expect":"0x0701020178017A010179050C016101693F83B8693F7483FC3F6151EA3F4E3F213F3BA6210161016A3F8160E13F6FB9ED3F5C86863F498A3E3F371C0E0161016B3F7E09853F6AED2C3F57BEA33F44DE523F329F580161016C3F7949B83F661F4F3F52FBB53F403C913F2E30E9016201693F29D1973F18F9973F0943703EF587063EDB00490162016A3F2582253F14EFCF3F0585E93EEEAA023ED4C0D90162016B3F2143443F10F8A43F01DC013EE7F4A23ECEA8340162016C3F1D158F3F0D146C3EFC8BB33EE166CD3EC8B5F1016301693EC2E9B03EAD2ADC3E99A14F3E8824AC3E7113E20163016A3EBD42F43EA814F93E9512963E8412853E69D2F00163016B3EB7C1453EA321D93E90A4033E801DCC3E62C76F0163016C3EB2641A3E9E50D53E8C54EF3E788BAF3E5BF019"}}
+{"expression":"asin(a)","inputs":{"a":"0x02003FE07FF560000000"},"result":{"expect":"0x02003FE155DC4C14A964"}}
+{"expression":"asin(a)","inputs":{"a":"0x02010178033FE07FF5600000003FE0FFAAC00000003FE17EE100000000"},"result":{"expect":"0x02010178033FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C061"}}
+{"expression":"asin(a)","inputs":{"a":"0x02020178030179053FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A0000000"},"result":{"expect":"0x02020178030179053FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C0613FE31ABFAF72FBB03FE3B377209E8CFE3FE44CB9012CCDCA3FE4E65121F5D2763FE5800CD6FD13653FE619B969EE22293FE6B325E20BDD473FE74C224F6B25353FE7E4800FE8E9F03FE87C127A201A173FE912AEECB8DF8A3FE9A82C5C62AEE4"}}
+{"expression":"asin(a)","inputs":{"a":"0x0203017803017905017A073FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A400000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A8600000003FEDF60C000000003FEE13C5200000003FEE2FE7400000003FEE4A85200000003FEE63B1000000003FEE7B7CC00000003FEE91F9600000003FEEA737A00000003FEEBB47600000003FEECE37E00000003FEEE017E00000003FEEF0F5A00000003FEF00DEA00000003FEF0FDFC00000003FEF1E05800000003FEF2B5B800000003FEF37ED200000003FEF43C5000000003FEF4EED600000003FEF5970000000003FEF6356000000003FEF6CA8200000003FEF756EE00000003FEF7DB1E00000003FEF8578C00000003FEF8CCA600000003FEF93ADC00000003FEF9A29000000003FEFA042000000003FEFA5FEC00000003FEFAB64400000003FEFB077E00000003FEFB53E200000003FEFB9BBC00000003FEFBDF4C00000003FEFC1ED600000003FEFC5A9400000003FEFC92C200000003FEFCC79200000003FEFCF93A00000003FEFD27E800000003FEFD53CA00000003FEFD7D0A00000003FEFDA3D000000003FEFDC84200000003FEFDEA8400000003FEFE0AB800000003FEFE28FA00000003FEFE456C00000003FEFE602600000003FEFE794600000003FEFE90E000000003FEFEA71000000003FEFEBBE800000003FEFECF8000000003FEFEE1E800000003FEFEF33400000003FEFF037600000003FEFF12BC00000003FEFF211600000003FEFF2E9200000003FEFF3B3C00000003FEFF47240000000"},"result":{"expect":"0x0203017803017905017A073FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C0613FE31ABFAF72FBB03FE3B377209E8CFE3FE44CB9012CCDCA3FE4E65121F5D2763FE5800CD6FD13653FE619B969EE22293FE6B325E20BDD473FE74C224F6B25353FE7E4800FE8E9F03FE87C127A201A173FE912AEECB8DF8A3FE9A82C5C62AEE43FEA3C648195B58F3FEACF3292D3E9693FEB6074EA9CD0C53FEBF00B98C557173FEC7DD992B81E653FED09C3D44ACCC73FED93B20FE1BC943FEE1B8E33E4D9073FEEA144C0087FE53FEF24C3D33074DC3FEFA5FCD26696B33FF012710E47B0303FF050B4962CD3123FF08DC45250C2083FF0C99CC8C391863FF1043B4486C6D23FF13D9DB84D41283FF175C3262006853FF1ACAB40B215403FF1E256448088653FF216C4EE8953723FF249F90A481DAE3FF27BF4895348833FF2ACB9B75A1FDF3FF2DC4BC9B4F9413FF30AADD742D71F3FF337E3B3EBC12F3FF363F129F748BD3FF38EDA858F62063FF3B8A47723AA943FF3E1538B7FC0463FF408EC89D5E2D03FF42F74ADB60E9C3FF454F0DB8CC4333FF47966A4D6889F3FF49CDB3D7FFA9C3FF4BF53DCE4EEB73FF4E0D5F43C88D53FF501672FD979E73FF5210CF680C0343FF53FCC983257E73FF55DABCAD59C653FF57AAF95C93C0D3FF596DD9901C3843FF5B23AEEDC50FD3FF5CCCCF4DDBCA13FF5E698FC499E4B3FF5FFA3EB337ADD3FF617F2CA7A263D3FF62F8B184BA0ED3FF646710D3A05993FF65CA9E7BEB3813FF67239CD4512483FF6872645B37D3F3FF69B733AFAB5E63FF6AF24B89B5F863FF6C2402C9C5BE03FF6D4C8A8F026213FF6E6C36A41660A3FF6F833847974A53FF7091DCD5785743FF71985297B22903FF7296E44599ABD3FF738DC246CEF533FF747D31CAC13283FF75655A008FE5E3FF76467F2C3681E3FF7720CDD6EB35D3FF77F47D996E5CB3FF78C1BE31E3DEC3FF7988C026EE1543FF7A49B46D727C73FF7B04CBFD9F7FF3FF7BBA3755A3BB83FF7C6A0E4B9B8153FF7D1494BF109F93FF7DB9DCCC6944D3FF7E5A25F020DF63FF7EF5790C42A6E3FF7F8C1B44F43133FF801E175F1A5593FF80ABA93FDB2EB3FF8134DB938F5143FF81B9DD240EE373FF823AD6189D73A3FF82B7D5CD5DDC53FF833101F33D5CA3FF83A6768AEE17D3FF841843F8704DB3FF8486A56367379"}}
+{"expression":"asin(a)","inputs":{"a":"0x060103017803017905017A073F03FFAB3F07FD563F0BF7083F0FEACD3F13D6BC3F17B9003F1B8FD03F1F597F3F2314733F26BF313F2A58593F2DDEA83F3150FC3F34AE543F37F5CD3F3B26A83F3E40423F41421C3F442BD23F46FD203F49B5DC3F4C55F83F4EDD7E3F514C903F53A3623F55E2403F5809823F5A19943F5C12EC3F5DF60E3F5FC3873F617BEB3F631FD73F64AFED3F662CD23F67972D3F68EFAA3F6A36F33F6B6DB13F6C948F3F6DAC333F6EB5433F6FB0603F709E293F717F3A3F7254293F731D883F73DBE63F748FCB3F7539BD3F75DA3B3F7671BF3F7700BF3F7787AD3F7806F53F787EFE3F78F02C3F795ADC3F79BF693F7A1E283F7A776B3F7ACB803F7B1AB03F7B65413F7BAB773F7BED8F3F7C2BC63F7C66533F7C9D6E3F7CD1483F7D02103F7D2FF63F7D5B223F7D83BF3F7DA9F13F7DCDDE3F7DEFA63F7E0F6B3F7E2D4A3F7E49613F7E63C93F7E7C9D3F7E93F43F7EA9E53F7EBE853F7ED1E83F7EE4213F7EF5423F7F055C3F7F147D3F7F22B63F7F30133F7F3CA33F7F48703F7F53883F7F5DF43F7F67C03F7F70F43F7F799A3F7F81BB3F7F895E3F7F908B3F7F97493F7F9D9E3F7FA392"},"result":{"expect":"0x060103017803017905017A073F0AAEE23F0F5DF33F1416313F18D5FD3F1D9BB93F2265C83F2732893F2C00673F30CDCB3F35992F3F3A61123F3F24003F43E0943F4895773F4D41633F51E3243F5679953F5B03A73F5F805D3F63EECD3F684E1F3F6C9D903F70DC723F750A263F79261F3F7D2FE73F8093883F8285A53F846E233F864CE63F8821DA3F89ECEE3F8BAE193F8D655A3F8F12B23F90B6273F924FC83F93DFA43F9565CE3F96E25E3F98556F3F99BF1E3F9B1F893F9C76D43F9DC5243F9F0A9C3FA047643FA17BA53FA2A7873FA3CB353FA4E6DA3FA5FA9F3FA706B03FA80B393FA908683FA9FE653FAAED5E3FABD57D3FACB6ED3FAD91D73FAE66683FAF34C83FAFFD1F3FB0BF963FB17C593FB233883FB2E54F3FB391CE3FB439323FB4DB9A3FB579263FB612013FB6A6453FB7361B3FB7C19C3FB848EE3FB8CC293FB94B723FB9C6E13FBA3E993FBAB2AD3FBB23403FBB90673FBBFA3F3FBC60DF3FBCC4603FBD24DA3FBD82663FBDDD1C3FBE35073FBE8A4A3FBEDCEE3FBF2D133FBF7ABD3FBFC60E3FC00F0C3FC055D53FC09A6E3FC0DCEF3FC11D6B3FC15BEB3FC198813FC1D33B3FC20C223FC24353"}}
+{"expression":"asin(a)","inputs":{"a":"0x010101780301613FE07FF56000000001623FE0FFAAC000000001633FE17EE100000000"},"result":{"expect":"0x010101780301613FE155DC4C14A96401623FE1EBBE6D2366DE01633FE282C61781C061"}}
+{"expression":"asin(a)","inputs":{"a":"0x010201780179060161036261723FE0FFAAC0000000016103666F6F3FE07FF5600000000162036261723FE1FD59A0000000016203666F6F3FE17EE1000000000163036261723FE2F72000000000016303666F6F3FE27AD780000000"},"result":{"expect":"0x010201780179060161036261723FE1EBBE6D2366DE016103666F6F3FE155DC4C14A9640162036261723FE31ABFAF72FBB0016203666F6F3FE282C61781C0610163036261723FE44CB9012CCDCA016303666F6F3FE3B377209E8CFE"}}
+{"expression":"asin(a)","inputs":{"a":"0x010301780179017A1801610362617201693FE27AD780000000016103626172016A3FE2F72000000000016103626172016B3FE371FA00000000016103626172016C3FE3EB2FE0000000016103666F6F01693FE07FF560000000016103666F6F016A3FE0FFAAC0000000016103666F6F016B3FE17EE100000000016103666F6F016C3FE1FD59A000000001620362617201693FE62A1F80000000016203626172016A3FE695CA80000000016203626172016B3FE6FEB9A0000000016203626172016C3FE764D500000000016203666F6F01693FE4628E60000000016203666F6F016A3FE4D7E620000000016203666F6F016B3FE54B0B20000000016203666F6F016C3FE5BBD50000000001630362617201693FE936BB80000000016303626172016A3FE98ABF00000000016303626172016B3FE9DBAFC0000000016303626172016C3FEA299200000000016303666F6F01693FE7C80840000000016303666F6F016A3FE8284380000000016303666F6F016B3FE8857A40000000016303666F6F016C3FE8DFA400000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE3B377209E8CFE016103626172016A3FE44CB9012CCDCA016103626172016B3FE4E65121F5D276016103626172016C3FE5800CD6FD1365016103666F6F01693FE155DC4C14A964016103666F6F016A3FE1EBBE6D2366DE016103666F6F016B3FE282C61781C061016103666F6F016C3FE31ABFAF72FBB001620362617201693FE87C127A201A17016203626172016A3FE912AEECB8DF8A016203626172016B3FE9A82C5C62AEE4016203626172016C3FEA3C648195B58F016203666F6F01693FE619B969EE2229016203666F6F016A3FE6B325E20BDD47016203666F6F016B3FE74C224F6B2535016203666F6F016C3FE7E4800FE8E9F001630362617201693FED09C3D44ACCC7016303626172016A3FED93B20FE1BC94016303626172016B3FEE1B8E33E4D907016303626172016C3FEEA144C0087FE5016303666F6F01693FEACF3292D3E969016303666F6F016A3FEB6074EA9CD0C5016303666F6F016B3FEBF00B98C55717016303666F6F016C3FEC7DD992B81E65"}}
+{"expression":"asin(a)","inputs":{"a":"0x05010301780179017A1801610362617201693F13D6BC016103626172016A3F17B900016103626172016B3F1B8FD0016103626172016C3F1F597F016103666F6F01693F03FFAB016103666F6F016A3F07FD56016103666F6F016B3F0BF708016103666F6F016C3F0FEACD01620362617201693F3150FC016203626172016A3F34AE54016203626172016B3F37F5CD016203626172016C3F3B26A8016203666F6F01693F231473016203666F6F016A3F26BF31016203666F6F016B3F2A5859016203666F6F016C3F2DDEA801630362617201693F49B5DC016303626172016A3F4C55F8016303626172016B3F4EDD7E016303626172016C3F514C90016303666F6F01693F3E4042016303666F6F016A3F41421C016303666F6F016B3F442BD2016303666F6F016C3F46FD20"},"result":{"expect":"0x05010301780179017A1801610362617201693F1D9BB9016103626172016A3F2265C8016103626172016B3F273289016103626172016C3F2C0067016103666F6F01693F0AAEE2016103666F6F016A3F0F5DF3016103666F6F016B3F141631016103666F6F016C3F18D5FD01620362617201693F43E094016203626172016A3F489577016203626172016B3F4D4163016203626172016C3F51E324016203666F6F01693F30CDCB016203666F6F016A3F35992F016203666F6F016B3F3A6112016203666F6F016C3F3F240001630362617201693F684E1F016303626172016A3F6C9D90016303626172016B3F70DC72016303626172016C3F750A26016303666F6F01693F567995016303666F6F016A3F5B03A7016303666F6F016B3F5F805D016303666F6F016C3F63EECD"}}
+{"expression":"asin(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A86000000003666F6F3FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A40000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE5800CD6FD13653FE619B969EE22293FE6B325E20BDD473FE74C224F6B25353FE7E4800FE8E9F03FE87C127A201A173FE912AEECB8DF8A3FED93B20FE1BC943FEE1B8E33E4D9073FEEA144C0087FE53FEF24C3D33074DC3FEFA5FCD26696B33FF012710E47B0303FF050B4962CD3123FF216C4EE8953723FF249F90A481DAE3FF27BF4895348833FF2ACB9B75A1FDF3FF2DC4BC9B4F9413FF30AADD742D71F3FF337E3B3EBC12F03666F6F3FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C0613FE31ABFAF72FBB03FE3B377209E8CFE3FE44CB9012CCDCA3FE4E65121F5D2763FE9A82C5C62AEE43FEA3C648195B58F3FEACF3292D3E9693FEB6074EA9CD0C53FEBF00B98C557173FEC7DD992B81E653FED09C3D44ACCC73FF08DC45250C2083FF0C99CC8C391863FF1043B4486C6D23FF13D9DB84D41283FF175C3262006853FF1ACAB40B215403FF1E25644808865"}}
+{"expression":"asin(a)","inputs":{"a":"0x03020178017A010179050C016101693FE07FF5600000003FE27AD7800000003FE4628E600000003FE62A1F800000003FE7C808400000000161016A3FE0FFAAC00000003FE2F720000000003FE4D7E6200000003FE695CA800000003FE82843800000000161016B3FE17EE1000000003FE371FA000000003FE54B0B200000003FE6FEB9A00000003FE8857A400000000161016C3FE1FD59A00000003FE3EB2FE00000003FE5BBD5000000003FE764D5000000003FE8DFA400000000016201693FE936BB800000003FEA746C400000003FEB825D800000003FEC63FAE00000003FED1DF5400000000162016A3FE98ABF000000003FEABC48000000003FEBBEC1C00000003FEC95FDA00000003FED46DE600000000162016B3FE9DBAFC00000003FEB0130400000003FEBF870E00000003FECC59A400000003FED6DB6200000000162016C3FEA2992000000003FEB4332800000003FEC2F7D600000003FECF2E5A00000003FED9291E0000000016301693FEDB586600000003FEE2FE7400000003FEE91F9600000003FEEE017E00000003FEF1E05800000000163016A3FEDD6A8600000003FEE4A85200000003FEEA737A00000003FEEF0F5A00000003FEF2B5B800000000163016B3FEDF60C000000003FEE63B1000000003FEEBB47600000003FEF00DEA00000003FEF37ED200000000163016C3FEE13C5200000003FEE7B7CC00000003FEECE37E00000003FEF0FDFC00000003FEF43C500000000"},"result":{"expect":"0x03020178017A010179050C016101693FE155DC4C14A9643FE3B377209E8CFE3FE619B969EE22293FE87C127A201A173FEACF3292D3E9690161016A3FE1EBBE6D2366DE3FE44CB9012CCDCA3FE6B325E20BDD473FE912AEECB8DF8A3FEB6074EA9CD0C50161016B3FE282C61781C0613FE4E65121F5D2763FE74C224F6B25353FE9A82C5C62AEE43FEBF00B98C557170161016C3FE31ABFAF72FBB03FE5800CD6FD13653FE7E4800FE8E9F03FEA3C648195B58F3FEC7DD992B81E65016201693FED09C3D44ACCC73FEF24C3D33074DC3FF08DC45250C2083FF175C3262006853FF249F90A481DAE0162016A3FED93B20FE1BC943FEFA5FCD26696B33FF0C99CC8C391863FF1ACAB40B215403FF27BF4895348830162016B3FEE1B8E33E4D9073FF012710E47B0303FF1043B4486C6D23FF1E256448088653FF2ACB9B75A1FDF0162016C3FEEA144C0087FE53FF050B4962CD3123FF13D9DB84D41283FF216C4EE8953723FF2DC4BC9B4F941016301693FF30AADD742D71F3FF3B8A47723AA943FF454F0DB8CC4333FF4E0D5F43C88D53FF55DABCAD59C650163016A3FF337E3B3EBC12F3FF3E1538B7FC0463FF47966A4D6889F3FF501672FD979E73FF57AAF95C93C0D0163016B3FF363F129F748BD3FF408EC89D5E2D03FF49CDB3D7FFA9C3FF5210CF680C0343FF596DD9901C3840163016C3FF38EDA858F62063FF42F74ADB60E9C3FF4BF53DCE4EEB73FF53FCC983257E73FF5B23AEEDC50FD"}}
+{"expression":"asin(a)","inputs":{"a":"0x0701020178017A010179050C016101693F03FFAB3F13D6BC3F2314733F3150FC3F3E40420161016A3F07FD563F17B9003F26BF313F34AE543F41421C0161016B3F0BF7083F1B8FD03F2A58593F37F5CD3F442BD20161016C3F0FEACD3F1F597F3F2DDEA83F3B26A83F46FD20016201693F49B5DC3F53A3623F5C12EC3F631FD73F68EFAA0162016A3F4C55F83F55E2403F5DF60E3F64AFED3F6A36F30162016B3F4EDD7E3F5809823F5FC3873F662CD23F6B6DB10162016C3F514C903F5A19943F617BEB3F67972D3F6C948F016301693F6DAC333F717F3A3F748FCB3F7700BF3F78F02C0163016A3F6EB5433F7254293F7539BD3F7787AD3F795ADC0163016B3F6FB0603F731D883F75DA3B3F7806F53F79BF690163016C3F709E293F73DBE63F7671BF3F787EFE3F7A1E28"},"result":{"expect":"0x0701020178017A010179050C016101693F0AAEE23F1D9BB93F30CDCB3F43E0943F5679950161016A3F0F5DF33F2265C83F35992F3F4895773F5B03A70161016B3F1416313F2732893F3A61123F4D41633F5F805D0161016C3F18D5FD3F2C00673F3F24003F51E3243F63EECD016201693F684E1F3F79261F3F846E233F8BAE193F924FC80162016A3F6C9D903F7D2FE73F864CE63F8D655A3F93DFA40162016B3F70DC723F8093883F8821DA3F8F12B23F9565CE0162016C3F750A263F8285A53F89ECEE3F90B6273F96E25E016301693F98556F3F9DC5243FA2A7873FA706B03FAAED5E0163016A3F99BF1E3F9F0A9C3FA3CB353FA80B393FABD57D0163016B3F9B1F893FA047643FA4E6DA3FA908683FACB6ED0163016C3F9C76D43FA17BA53FA5FA9F3FA9FE653FAD91D7"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x02003FE07FF560000000"},"result":{"expect":"0x02003FE155DC4C14A964"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x02010178033FE07FF5600000003FE0FFAAC00000003FE17EE100000000"},"result":{"expect":"0x02010178033FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C061"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x02020178030179053FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A0000000"},"result":{"expect":"0x02020178030179053FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C0613FE31ABFAF72FBB03FE3B377209E8CFE3FE44CB9012CCDCA3FE4E65121F5D2763FE5800CD6FD13653FE619B969EE22293FE6B325E20BDD473FE74C224F6B25353FE7E4800FE8E9F03FE87C127A201A173FE912AEECB8DF8A3FE9A82C5C62AEE4"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x0203017803017905017A073FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A400000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A8600000003FEDF60C000000003FEE13C5200000003FEE2FE7400000003FEE4A85200000003FEE63B1000000003FEE7B7CC00000003FEE91F9600000003FEEA737A00000003FEEBB47600000003FEECE37E00000003FEEE017E00000003FEEF0F5A00000003FEF00DEA00000003FEF0FDFC00000003FEF1E05800000003FEF2B5B800000003FEF37ED200000003FEF43C5000000003FEF4EED600000003FEF5970000000003FEF6356000000003FEF6CA8200000003FEF756EE00000003FEF7DB1E00000003FEF8578C00000003FEF8CCA600000003FEF93ADC00000003FEF9A29000000003FEFA042000000003FEFA5FEC00000003FEFAB64400000003FEFB077E00000003FEFB53E200000003FEFB9BBC00000003FEFBDF4C00000003FEFC1ED600000003FEFC5A9400000003FEFC92C200000003FEFCC79200000003FEFCF93A00000003FEFD27E800000003FEFD53CA00000003FEFD7D0A00000003FEFDA3D000000003FEFDC84200000003FEFDEA8400000003FEFE0AB800000003FEFE28FA00000003FEFE456C00000003FEFE602600000003FEFE794600000003FEFE90E000000003FEFEA71000000003FEFEBBE800000003FEFECF8000000003FEFEE1E800000003FEFEF33400000003FEFF037600000003FEFF12BC00000003FEFF211600000003FEFF2E9200000003FEFF3B3C00000003FEFF47240000000"},"result":{"expect":"0x0203017803017905017A073FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C0613FE31ABFAF72FBB03FE3B377209E8CFE3FE44CB9012CCDCA3FE4E65121F5D2763FE5800CD6FD13653FE619B969EE22293FE6B325E20BDD473FE74C224F6B25353FE7E4800FE8E9F03FE87C127A201A173FE912AEECB8DF8A3FE9A82C5C62AEE43FEA3C648195B58F3FEACF3292D3E9693FEB6074EA9CD0C53FEBF00B98C557173FEC7DD992B81E653FED09C3D44ACCC73FED93B20FE1BC943FEE1B8E33E4D9073FEEA144C0087FE53FEF24C3D33074DC3FEFA5FCD26696B33FF012710E47B0303FF050B4962CD3123FF08DC45250C2083FF0C99CC8C391863FF1043B4486C6D23FF13D9DB84D41283FF175C3262006853FF1ACAB40B215403FF1E256448088653FF216C4EE8953723FF249F90A481DAE3FF27BF4895348833FF2ACB9B75A1FDF3FF2DC4BC9B4F9413FF30AADD742D71F3FF337E3B3EBC12F3FF363F129F748BD3FF38EDA858F62063FF3B8A47723AA943FF3E1538B7FC0463FF408EC89D5E2D03FF42F74ADB60E9C3FF454F0DB8CC4333FF47966A4D6889F3FF49CDB3D7FFA9C3FF4BF53DCE4EEB73FF4E0D5F43C88D53FF501672FD979E73FF5210CF680C0343FF53FCC983257E73FF55DABCAD59C653FF57AAF95C93C0D3FF596DD9901C3843FF5B23AEEDC50FD3FF5CCCCF4DDBCA13FF5E698FC499E4B3FF5FFA3EB337ADD3FF617F2CA7A263D3FF62F8B184BA0ED3FF646710D3A05993FF65CA9E7BEB3813FF67239CD4512483FF6872645B37D3F3FF69B733AFAB5E63FF6AF24B89B5F863FF6C2402C9C5BE03FF6D4C8A8F026213FF6E6C36A41660A3FF6F833847974A53FF7091DCD5785743FF71985297B22903FF7296E44599ABD3FF738DC246CEF533FF747D31CAC13283FF75655A008FE5E3FF76467F2C3681E3FF7720CDD6EB35D3FF77F47D996E5CB3FF78C1BE31E3DEC3FF7988C026EE1543FF7A49B46D727C73FF7B04CBFD9F7FF3FF7BBA3755A3BB83FF7C6A0E4B9B8153FF7D1494BF109F93FF7DB9DCCC6944D3FF7E5A25F020DF63FF7EF5790C42A6E3FF7F8C1B44F43133FF801E175F1A5593FF80ABA93FDB2EB3FF8134DB938F5143FF81B9DD240EE373FF823AD6189D73A3FF82B7D5CD5DDC53FF833101F33D5CA3FF83A6768AEE17D3FF841843F8704DB3FF8486A56367379"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x060103017803017905017A073F03FFAB3F07FD563F0BF7083F0FEACD3F13D6BC3F17B9003F1B8FD03F1F597F3F2314733F26BF313F2A58593F2DDEA83F3150FC3F34AE543F37F5CD3F3B26A83F3E40423F41421C3F442BD23F46FD203F49B5DC3F4C55F83F4EDD7E3F514C903F53A3623F55E2403F5809823F5A19943F5C12EC3F5DF60E3F5FC3873F617BEB3F631FD73F64AFED3F662CD23F67972D3F68EFAA3F6A36F33F6B6DB13F6C948F3F6DAC333F6EB5433F6FB0603F709E293F717F3A3F7254293F731D883F73DBE63F748FCB3F7539BD3F75DA3B3F7671BF3F7700BF3F7787AD3F7806F53F787EFE3F78F02C3F795ADC3F79BF693F7A1E283F7A776B3F7ACB803F7B1AB03F7B65413F7BAB773F7BED8F3F7C2BC63F7C66533F7C9D6E3F7CD1483F7D02103F7D2FF63F7D5B223F7D83BF3F7DA9F13F7DCDDE3F7DEFA63F7E0F6B3F7E2D4A3F7E49613F7E63C93F7E7C9D3F7E93F43F7EA9E53F7EBE853F7ED1E83F7EE4213F7EF5423F7F055C3F7F147D3F7F22B63F7F30133F7F3CA33F7F48703F7F53883F7F5DF43F7F67C03F7F70F43F7F799A3F7F81BB3F7F895E3F7F908B3F7F97493F7F9D9E3F7FA392"},"result":{"expect":"0x060103017803017905017A073F0AAEE23F0F5DF33F1416313F18D5FD3F1D9BB93F2265C83F2732893F2C00673F30CDCB3F35992F3F3A61123F3F24003F43E0943F4895773F4D41633F51E3243F5679953F5B03A73F5F805D3F63EECD3F684E1F3F6C9D903F70DC723F750A263F79261F3F7D2FE73F8093883F8285A53F846E233F864CE63F8821DA3F89ECEE3F8BAE193F8D655A3F8F12B23F90B6273F924FC83F93DFA43F9565CE3F96E25E3F98556F3F99BF1E3F9B1F893F9C76D43F9DC5243F9F0A9C3FA047643FA17BA53FA2A7873FA3CB353FA4E6DA3FA5FA9F3FA706B03FA80B393FA908683FA9FE653FAAED5E3FABD57D3FACB6ED3FAD91D73FAE66683FAF34C83FAFFD1F3FB0BF963FB17C593FB233883FB2E54F3FB391CE3FB439323FB4DB9A3FB579263FB612013FB6A6453FB7361B3FB7C19C3FB848EE3FB8CC293FB94B723FB9C6E13FBA3E993FBAB2AD3FBB23403FBB90673FBBFA3F3FBC60DF3FBCC4603FBD24DA3FBD82663FBDDD1C3FBE35073FBE8A4A3FBEDCEE3FBF2D133FBF7ABD3FBFC60E3FC00F0C3FC055D53FC09A6E3FC0DCEF3FC11D6B3FC15BEB3FC198813FC1D33B3FC20C223FC24353"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x010101780301613FE07FF56000000001623FE0FFAAC000000001633FE17EE100000000"},"result":{"expect":"0x010101780301613FE155DC4C14A96401623FE1EBBE6D2366DE01633FE282C61781C061"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x010201780179060161036261723FE0FFAAC0000000016103666F6F3FE07FF5600000000162036261723FE1FD59A0000000016203666F6F3FE17EE1000000000163036261723FE2F72000000000016303666F6F3FE27AD780000000"},"result":{"expect":"0x010201780179060161036261723FE1EBBE6D2366DE016103666F6F3FE155DC4C14A9640162036261723FE31ABFAF72FBB0016203666F6F3FE282C61781C0610163036261723FE44CB9012CCDCA016303666F6F3FE3B377209E8CFE"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FE27AD780000000016103626172016A3FE2F72000000000016103626172016B3FE371FA00000000016103626172016C3FE3EB2FE0000000016103666F6F01693FE07FF560000000016103666F6F016A3FE0FFAAC0000000016103666F6F016B3FE17EE100000000016103666F6F016C3FE1FD59A000000001620362617201693FE62A1F80000000016203626172016A3FE695CA80000000016203626172016B3FE6FEB9A0000000016203626172016C3FE764D500000000016203666F6F01693FE4628E60000000016203666F6F016A3FE4D7E620000000016203666F6F016B3FE54B0B20000000016203666F6F016C3FE5BBD50000000001630362617201693FE936BB80000000016303626172016A3FE98ABF00000000016303626172016B3FE9DBAFC0000000016303626172016C3FEA299200000000016303666F6F01693FE7C80840000000016303666F6F016A3FE8284380000000016303666F6F016B3FE8857A40000000016303666F6F016C3FE8DFA400000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE3B377209E8CFE016103626172016A3FE44CB9012CCDCA016103626172016B3FE4E65121F5D276016103626172016C3FE5800CD6FD1365016103666F6F01693FE155DC4C14A964016103666F6F016A3FE1EBBE6D2366DE016103666F6F016B3FE282C61781C061016103666F6F016C3FE31ABFAF72FBB001620362617201693FE87C127A201A17016203626172016A3FE912AEECB8DF8A016203626172016B3FE9A82C5C62AEE4016203626172016C3FEA3C648195B58F016203666F6F01693FE619B969EE2229016203666F6F016A3FE6B325E20BDD47016203666F6F016B3FE74C224F6B2535016203666F6F016C3FE7E4800FE8E9F001630362617201693FED09C3D44ACCC7016303626172016A3FED93B20FE1BC94016303626172016B3FEE1B8E33E4D907016303626172016C3FEEA144C0087FE5016303666F6F01693FEACF3292D3E969016303666F6F016A3FEB6074EA9CD0C5016303666F6F016B3FEBF00B98C55717016303666F6F016C3FEC7DD992B81E65"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693F13D6BC016103626172016A3F17B900016103626172016B3F1B8FD0016103626172016C3F1F597F016103666F6F01693F03FFAB016103666F6F016A3F07FD56016103666F6F016B3F0BF708016103666F6F016C3F0FEACD01620362617201693F3150FC016203626172016A3F34AE54016203626172016B3F37F5CD016203626172016C3F3B26A8016203666F6F01693F231473016203666F6F016A3F26BF31016203666F6F016B3F2A5859016203666F6F016C3F2DDEA801630362617201693F49B5DC016303626172016A3F4C55F8016303626172016B3F4EDD7E016303626172016C3F514C90016303666F6F01693F3E4042016303666F6F016A3F41421C016303666F6F016B3F442BD2016303666F6F016C3F46FD20"},"result":{"expect":"0x05010301780179017A1801610362617201693F1D9BB9016103626172016A3F2265C8016103626172016B3F273289016103626172016C3F2C0067016103666F6F01693F0AAEE2016103666F6F016A3F0F5DF3016103666F6F016B3F141631016103666F6F016C3F18D5FD01620362617201693F43E094016203626172016A3F489577016203626172016B3F4D4163016203626172016C3F51E324016203666F6F01693F30CDCB016203666F6F016A3F35992F016203666F6F016B3F3A6112016203666F6F016C3F3F240001630362617201693F684E1F016303626172016A3F6C9D90016303626172016B3F70DC72016303626172016C3F750A26016303666F6F01693F567995016303666F6F016A3F5B03A7016303666F6F016B3F5F805D016303666F6F016C3F63EECD"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE3EB2FE00000003FE4628E600000003FE4D7E6200000003FE54B0B200000003FE5BBD5000000003FE62A1F800000003FE695CA800000003FE98ABF000000003FE9DBAFC00000003FEA2992000000003FEA746C400000003FEABC48000000003FEB0130400000003FEB4332800000003FECF2E5A00000003FED1DF5400000003FED46DE600000003FED6DB6200000003FED9291E00000003FEDB586600000003FEDD6A86000000003666F6F3FE07FF5600000003FE0FFAAC00000003FE17EE1000000003FE1FD59A00000003FE27AD7800000003FE2F720000000003FE371FA000000003FE6FEB9A00000003FE764D5000000003FE7C808400000003FE82843800000003FE8857A400000003FE8DFA4000000003FE936BB800000003FEB825D800000003FEBBEC1C00000003FEBF870E00000003FEC2F7D600000003FEC63FAE00000003FEC95FDA00000003FECC59A40000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE5800CD6FD13653FE619B969EE22293FE6B325E20BDD473FE74C224F6B25353FE7E4800FE8E9F03FE87C127A201A173FE912AEECB8DF8A3FED93B20FE1BC943FEE1B8E33E4D9073FEEA144C0087FE53FEF24C3D33074DC3FEFA5FCD26696B33FF012710E47B0303FF050B4962CD3123FF216C4EE8953723FF249F90A481DAE3FF27BF4895348833FF2ACB9B75A1FDF3FF2DC4BC9B4F9413FF30AADD742D71F3FF337E3B3EBC12F03666F6F3FE155DC4C14A9643FE1EBBE6D2366DE3FE282C61781C0613FE31ABFAF72FBB03FE3B377209E8CFE3FE44CB9012CCDCA3FE4E65121F5D2763FE9A82C5C62AEE43FEA3C648195B58F3FEACF3292D3E9693FEB6074EA9CD0C53FEBF00B98C557173FEC7DD992B81E653FED09C3D44ACCC73FF08DC45250C2083FF0C99CC8C391863FF1043B4486C6D23FF13D9DB84D41283FF175C3262006853FF1ACAB40B215403FF1E25644808865"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x03020178017A010179050C016101693FE07FF5600000003FE27AD7800000003FE4628E600000003FE62A1F800000003FE7C808400000000161016A3FE0FFAAC00000003FE2F720000000003FE4D7E6200000003FE695CA800000003FE82843800000000161016B3FE17EE1000000003FE371FA000000003FE54B0B200000003FE6FEB9A00000003FE8857A400000000161016C3FE1FD59A00000003FE3EB2FE00000003FE5BBD5000000003FE764D5000000003FE8DFA400000000016201693FE936BB800000003FEA746C400000003FEB825D800000003FEC63FAE00000003FED1DF5400000000162016A3FE98ABF000000003FEABC48000000003FEBBEC1C00000003FEC95FDA00000003FED46DE600000000162016B3FE9DBAFC00000003FEB0130400000003FEBF870E00000003FECC59A400000003FED6DB6200000000162016C3FEA2992000000003FEB4332800000003FEC2F7D600000003FECF2E5A00000003FED9291E0000000016301693FEDB586600000003FEE2FE7400000003FEE91F9600000003FEEE017E00000003FEF1E05800000000163016A3FEDD6A8600000003FEE4A85200000003FEEA737A00000003FEEF0F5A00000003FEF2B5B800000000163016B3FEDF60C000000003FEE63B1000000003FEEBB47600000003FEF00DEA00000003FEF37ED200000000163016C3FEE13C5200000003FEE7B7CC00000003FEECE37E00000003FEF0FDFC00000003FEF43C500000000"},"result":{"expect":"0x03020178017A010179050C016101693FE155DC4C14A9643FE3B377209E8CFE3FE619B969EE22293FE87C127A201A173FEACF3292D3E9690161016A3FE1EBBE6D2366DE3FE44CB9012CCDCA3FE6B325E20BDD473FE912AEECB8DF8A3FEB6074EA9CD0C50161016B3FE282C61781C0613FE4E65121F5D2763FE74C224F6B25353FE9A82C5C62AEE43FEBF00B98C557170161016C3FE31ABFAF72FBB03FE5800CD6FD13653FE7E4800FE8E9F03FEA3C648195B58F3FEC7DD992B81E65016201693FED09C3D44ACCC73FEF24C3D33074DC3FF08DC45250C2083FF175C3262006853FF249F90A481DAE0162016A3FED93B20FE1BC943FEFA5FCD26696B33FF0C99CC8C391863FF1ACAB40B215403FF27BF4895348830162016B3FEE1B8E33E4D9073FF012710E47B0303FF1043B4486C6D23FF1E256448088653FF2ACB9B75A1FDF0162016C3FEEA144C0087FE53FF050B4962CD3123FF13D9DB84D41283FF216C4EE8953723FF2DC4BC9B4F941016301693FF30AADD742D71F3FF3B8A47723AA943FF454F0DB8CC4333FF4E0D5F43C88D53FF55DABCAD59C650163016A3FF337E3B3EBC12F3FF3E1538B7FC0463FF47966A4D6889F3FF501672FD979E73FF57AAF95C93C0D0163016B3FF363F129F748BD3FF408EC89D5E2D03FF49CDB3D7FFA9C3FF5210CF680C0343FF596DD9901C3840163016C3FF38EDA858F62063FF42F74ADB60E9C3FF4BF53DCE4EEB73FF53FCC983257E73FF5B23AEEDC50FD"}}
+{"expression":"map(a,f(a)(asin(a)))","inputs":{"a":"0x0701020178017A010179050C016101693F03FFAB3F13D6BC3F2314733F3150FC3F3E40420161016A3F07FD563F17B9003F26BF313F34AE543F41421C0161016B3F0BF7083F1B8FD03F2A58593F37F5CD3F442BD20161016C3F0FEACD3F1F597F3F2DDEA83F3B26A83F46FD20016201693F49B5DC3F53A3623F5C12EC3F631FD73F68EFAA0162016A3F4C55F83F55E2403F5DF60E3F64AFED3F6A36F30162016B3F4EDD7E3F5809823F5FC3873F662CD23F6B6DB10162016C3F514C903F5A19943F617BEB3F67972D3F6C948F016301693F6DAC333F717F3A3F748FCB3F7700BF3F78F02C0163016A3F6EB5433F7254293F7539BD3F7787AD3F795ADC0163016B3F6FB0603F731D883F75DA3B3F7806F53F79BF690163016C3F709E293F73DBE63F7671BF3F787EFE3F7A1E28"},"result":{"expect":"0x0701020178017A010179050C016101693F0AAEE23F1D9BB93F30CDCB3F43E0943F5679950161016A3F0F5DF33F2265C83F35992F3F4895773F5B03A70161016B3F1416313F2732893F3A61123F4D41633F5F805D0161016C3F18D5FD3F2C00673F3F24003F51E3243F63EECD016201693F684E1F3F79261F3F846E233F8BAE193F924FC80162016A3F6C9D903F7D2FE73F864CE63F8D655A3F93DFA40162016B3F70DC723F8093883F8821DA3F8F12B23F9565CE0162016C3F750A263F8285A53F89ECEE3F90B6273F96E25E016301693F98556F3F9DC5243FA2A7873FA706B03FAAED5E0163016A3F99BF1E3F9F0A9C3FA3CB353FA80B393FABD57D0163016B3F9B1F893FA047643FA4E6DA3FA908683FACB6ED0163016C3F9C76D43FA17BA53FA5FA9F3FA9FE653FAD91D7"}}
+{"expression":"atan(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FAFF55BB72CFDEA"}}
+{"expression":"atan(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B02"}}
+{"expression":"atan(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B023FCF5B75F92C80DD3FD362773707EBCC3FD6F61941E4DEF13FDA64EEC3CC23FD3FDDAC670561BB4F3FE0657E94DB30D03FE1E00BABDEFEB43FE345F01CCE37BB3FE4978FA3269EE13FE5D58987169B183FE700A7C57846343FE819D0B7158A4D"}}
+{"expression":"atan(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B023FCF5B75F92C80DD3FD362773707EBCC3FD6F61941E4DEF13FDA64EEC3CC23FD3FDDAC670561BB4F3FE0657E94DB30D03FE1E00BABDEFEB43FE345F01CCE37BB3FE4978FA3269EE13FE5D58987169B183FE700A7C57846343FE819D0B7158A4D3FE921FB54442D183FEA1A25F2C825063FEB034F38649C883FEBDE70ED439FE73FECAC7C57846F9E3FED6E57CF4F0ACA3FEE24DD44C855D13FEED0D97C9041C93FEF730BD281F69B3FF006132E34D6173FF04E67277A01D73FF092CE471853CC3FF0D38F2C5BA09F3FF110EB007F39F73FF14B1DD5F90CE13FF1825F074030D93FF1B6E192EBBE443FF1E8D473C5D5CA3FF21862F3FADE363FF245B4FAF231113FF270EF55A53A253FF29A33F97BDBEA3FF2C1A241D66DC33FF2E75728833A543FF30B6D796A4DA83FF32DFE01C11C213FF34F1FBB19EB093FF36EE7F2A246443FF38D6A6CE133533FF3AAB98641F26B3FF3C6E650B380473FF3E200AEA00D993FF3FC176B7A85603FF41538521B2F983FF42D70411F9EC13FF444CB3D7D780C3FF45B54837351A03FF4711695FEDDE23FF4861B4CFBE7103FF49A6BE20C3A523FF4AE10FC6589A53FF4C112BB9F7C633FF4D378C1999A0D3FF4E54A3B8E6CF83FF4F68DEA6726173FF5074A2A612AC33FF51784FA1544BA3FF5274400EEA72B3FF5368C951E9CFD3FF54563C118794C3FF553CE48A047653FF561D0AD75B8533FF56F6F33A3E6A73FF57CADE57DBA513FF58990974DFC9B3FF5961AEAC184B33FF5A25052114E603FF5AE3412F1C4673FF5B9C9494C0D733FF5C512E9C5BB9F3FF5D013C41ADABD3FF5DACE854DFF1C3FF5E545B9B1A4C83FF5EF7BCECDE57A3FF5F973152548573FF6032DC1DB31F63FF60CADF03E444D3FF615F5A338CC043FF61F06C6A92B893FF627E330A40AE93FF6308CA2A1EE293FF63904CA99B1923FF6414D44094C7C3FF6496798EE1EC53FF6515542ADF35B3FF65917AAF1CAA23FF660B02C736A063FF6682013BE9A643FF66F689FE6ECD73FF6768B0332CD223FF67D8863BC99BD3FF68461DC0A6BC73FF68B187B9D2C613FF691AD477789583FF698213A9D50533FF69E75468BADCD3FF6A4AA53AAC4493FF6AAC141B907913FF6B0BAE830C0703FF6B69816A8160F"}}
+{"expression":"atan(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D7FAADE3DFEADD53E3DCBDA3E7ADBB03E9B13BA3EB7B0CA3ED327763EED63383F032BF53F0F005D3F1A2F813F24BC7D3F2EAC4C3F38053E3F40CE863F490FDB3F50D1303F581A7A3F5EF3873F6563E33F6B72BE3F7126EA3F7686CC3F7B985F3F8030993F8273393F8496723F869C793F8887583F8A58EF3F8C12F83F8DB70D3F8F46A43F90C3183F922DA83F93877B3F94D1A03F960D123F973AB93F985B6C3F996FF03F9A78FE3F9B77403F9C6B533F9D55CC3F9E37333F9F10053F9FE0BB3FA0A9C33FA16B823FA2265A3FA2DAA43FA388B53FA430DA3FA4D35F3FA570883FA608963FA69BC63FA72A523FA7B46F3FA83A513FA8BC283FA93A203FA9B4653FAA2B1E3FAA9E723FAB0E853FAB7B7A3FABE56F3FAC4C853FACB0D73FAD12833FAD71A13FADCE4A3FAE28973FAE809E3FAED6743FAF2A2E3FAF7BDE3FAFCB993FB0196E3FB065703FB0AFAD3FB0F8363FB13F1A3FB184653FB1C8263FB20A6A3FB24B3D3FB28AAA3FB2C8BD3FB305813FB341013FB37B453FB3B4583FB3EC433FB4230F3FB458C43FB48D6A3FB4C10A3FB4F3AA3FB525533FB5560A3FB585D73FB5B4C1"}}
+{"expression":"atan(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FAFF55BB72CFDEA01623FBFD5BA9AAC2F6E01633FC7B97B4BCE5B02"}}
+{"expression":"atan(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FBFD5BA9AAC2F6E016103666F6F3FAFF55BB72CFDEA0162036261723FCF5B75F92C80DD016203666F6F3FC7B97B4BCE5B020163036261723FD6F61941E4DEF1016303666F6F3FD362773707EBCC"}}
+{"expression":"atan(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD362773707EBCC016103626172016A3FD6F61941E4DEF1016103626172016B3FDA64EEC3CC23FD016103626172016C3FDDAC670561BB4F016103666F6F01693FAFF55BB72CFDEA016103666F6F016A3FBFD5BA9AAC2F6E016103666F6F016B3FC7B97B4BCE5B02016103666F6F016C3FCF5B75F92C80DD01620362617201693FE5D58987169B18016203626172016A3FE700A7C5784634016203626172016B3FE819D0B7158A4D016203626172016C3FE921FB54442D18016203666F6F01693FE0657E94DB30D0016203666F6F016A3FE1E00BABDEFEB4016203666F6F016B3FE345F01CCE37BB016203666F6F016C3FE4978FA3269EE101630362617201693FED6E57CF4F0ACA016303626172016A3FEE24DD44C855D1016303626172016B3FEED0D97C9041C9016303626172016C3FEF730BD281F69B016303666F6F01693FEA1A25F2C82506016303666F6F016A3FEB034F38649C88016303666F6F016B3FEBDE70ED439FE7016303666F6F016C3FECAC7C57846F9E"}}
+{"expression":"atan(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693E9B13BA016103626172016A3EB7B0CA016103626172016B3ED32776016103626172016C3EED6338016103666F6F01693D7FAADE016103666F6F016A3DFEADD5016103666F6F016B3E3DCBDA016103666F6F016C3E7ADBB001620362617201693F2EAC4C016203626172016A3F38053E016203626172016B3F40CE86016203626172016C3F490FDB016203666F6F01693F032BF5016203666F6F016A3F0F005D016203666F6F016B3F1A2F81016203666F6F016C3F24BC7D01630362617201693F6B72BE016303626172016A3F7126EA016303626172016B3F7686CC016303626172016C3F7B985F016303666F6F01693F50D130016303666F6F016A3F581A7A016303666F6F016B3F5EF387016303666F6F016C3F6563E3"}}
+{"expression":"atan(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FDDAC670561BB4F3FE0657E94DB30D03FE1E00BABDEFEB43FE345F01CCE37BB3FE4978FA3269EE13FE5D58987169B183FE700A7C57846343FEE24DD44C855D13FEED0D97C9041C93FEF730BD281F69B3FF006132E34D6173FF04E67277A01D73FF092CE471853CC3FF0D38F2C5BA09F3FF270EF55A53A253FF29A33F97BDBEA3FF2C1A241D66DC33FF2E75728833A543FF30B6D796A4DA83FF32DFE01C11C213FF34F1FBB19EB0903666F6F3FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B023FCF5B75F92C80DD3FD362773707EBCC3FD6F61941E4DEF13FDA64EEC3CC23FD3FE819D0B7158A4D3FE921FB54442D183FEA1A25F2C825063FEB034F38649C883FEBDE70ED439FE73FECAC7C57846F9E3FED6E57CF4F0ACA3FF110EB007F39F73FF14B1DD5F90CE13FF1825F074030D93FF1B6E192EBBE443FF1E8D473C5D5CA3FF21862F3FADE363FF245B4FAF23111"}}
+{"expression":"atan(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FAFF55BB72CFDEA3FD362773707EBCC3FE0657E94DB30D03FE5D58987169B183FEA1A25F2C825060161016A3FBFD5BA9AAC2F6E3FD6F61941E4DEF13FE1E00BABDEFEB43FE700A7C57846343FEB034F38649C880161016B3FC7B97B4BCE5B023FDA64EEC3CC23FD3FE345F01CCE37BB3FE819D0B7158A4D3FEBDE70ED439FE70161016C3FCF5B75F92C80DD3FDDAC670561BB4F3FE4978FA3269EE13FE921FB54442D183FECAC7C57846F9E016201693FED6E57CF4F0ACA3FF006132E34D6173FF110EB007F39F73FF1E8D473C5D5CA3FF29A33F97BDBEA0162016A3FEE24DD44C855D13FF04E67277A01D73FF14B1DD5F90CE13FF21862F3FADE363FF2C1A241D66DC30162016B3FEED0D97C9041C93FF092CE471853CC3FF1825F074030D93FF245B4FAF231113FF2E75728833A540162016C3FEF730BD281F69B3FF0D38F2C5BA09F3FF1B6E192EBBE443FF270EF55A53A253FF30B6D796A4DA8016301693FF32DFE01C11C213FF3AAB98641F26B3FF41538521B2F983FF4711695FEDDE23FF4C112BB9F7C630163016A3FF34F1FBB19EB093FF3C6E650B380473FF42D70411F9EC13FF4861B4CFBE7103FF4D378C1999A0D0163016B3FF36EE7F2A246443FF3E200AEA00D993FF444CB3D7D780C3FF49A6BE20C3A523FF4E54A3B8E6CF80163016C3FF38D6A6CE133533FF3FC176B7A85603FF45B54837351A03FF4AE10FC6589A53FF4F68DEA672617"}}
+{"expression":"atan(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D7FAADE3E9B13BA3F032BF53F2EAC4C3F50D1300161016A3DFEADD53EB7B0CA3F0F005D3F38053E3F581A7A0161016B3E3DCBDA3ED327763F1A2F813F40CE863F5EF3870161016C3E7ADBB03EED63383F24BC7D3F490FDB3F6563E3016201693F6B72BE3F8030993F8887583F8F46A43F94D1A00162016A3F7126EA3F8273393F8A58EF3F90C3183F960D120162016B3F7686CC3F8496723F8C12F83F922DA83F973AB90162016C3F7B985F3F869C793F8DB70D3F93877B3F985B6C016301693F996FF03F9D55CC3FA0A9C33FA388B53FA608960163016A3F9A78FE3F9E37333FA16B823FA430DA3FA69BC60163016B3F9B77403F9F10053FA2265A3FA4D35F3FA72A520163016C3F9C6B533F9FE0BB3FA2DAA43FA570883FA7B46F"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FAFF55BB72CFDEA"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B02"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B023FCF5B75F92C80DD3FD362773707EBCC3FD6F61941E4DEF13FDA64EEC3CC23FD3FDDAC670561BB4F3FE0657E94DB30D03FE1E00BABDEFEB43FE345F01CCE37BB3FE4978FA3269EE13FE5D58987169B183FE700A7C57846343FE819D0B7158A4D"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B023FCF5B75F92C80DD3FD362773707EBCC3FD6F61941E4DEF13FDA64EEC3CC23FD3FDDAC670561BB4F3FE0657E94DB30D03FE1E00BABDEFEB43FE345F01CCE37BB3FE4978FA3269EE13FE5D58987169B183FE700A7C57846343FE819D0B7158A4D3FE921FB54442D183FEA1A25F2C825063FEB034F38649C883FEBDE70ED439FE73FECAC7C57846F9E3FED6E57CF4F0ACA3FEE24DD44C855D13FEED0D97C9041C93FEF730BD281F69B3FF006132E34D6173FF04E67277A01D73FF092CE471853CC3FF0D38F2C5BA09F3FF110EB007F39F73FF14B1DD5F90CE13FF1825F074030D93FF1B6E192EBBE443FF1E8D473C5D5CA3FF21862F3FADE363FF245B4FAF231113FF270EF55A53A253FF29A33F97BDBEA3FF2C1A241D66DC33FF2E75728833A543FF30B6D796A4DA83FF32DFE01C11C213FF34F1FBB19EB093FF36EE7F2A246443FF38D6A6CE133533FF3AAB98641F26B3FF3C6E650B380473FF3E200AEA00D993FF3FC176B7A85603FF41538521B2F983FF42D70411F9EC13FF444CB3D7D780C3FF45B54837351A03FF4711695FEDDE23FF4861B4CFBE7103FF49A6BE20C3A523FF4AE10FC6589A53FF4C112BB9F7C633FF4D378C1999A0D3FF4E54A3B8E6CF83FF4F68DEA6726173FF5074A2A612AC33FF51784FA1544BA3FF5274400EEA72B3FF5368C951E9CFD3FF54563C118794C3FF553CE48A047653FF561D0AD75B8533FF56F6F33A3E6A73FF57CADE57DBA513FF58990974DFC9B3FF5961AEAC184B33FF5A25052114E603FF5AE3412F1C4673FF5B9C9494C0D733FF5C512E9C5BB9F3FF5D013C41ADABD3FF5DACE854DFF1C3FF5E545B9B1A4C83FF5EF7BCECDE57A3FF5F973152548573FF6032DC1DB31F63FF60CADF03E444D3FF615F5A338CC043FF61F06C6A92B893FF627E330A40AE93FF6308CA2A1EE293FF63904CA99B1923FF6414D44094C7C3FF6496798EE1EC53FF6515542ADF35B3FF65917AAF1CAA23FF660B02C736A063FF6682013BE9A643FF66F689FE6ECD73FF6768B0332CD223FF67D8863BC99BD3FF68461DC0A6BC73FF68B187B9D2C613FF691AD477789583FF698213A9D50533FF69E75468BADCD3FF6A4AA53AAC4493FF6AAC141B907913FF6B0BAE830C0703FF6B69816A8160F"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D7FAADE3DFEADD53E3DCBDA3E7ADBB03E9B13BA3EB7B0CA3ED327763EED63383F032BF53F0F005D3F1A2F813F24BC7D3F2EAC4C3F38053E3F40CE863F490FDB3F50D1303F581A7A3F5EF3873F6563E33F6B72BE3F7126EA3F7686CC3F7B985F3F8030993F8273393F8496723F869C793F8887583F8A58EF3F8C12F83F8DB70D3F8F46A43F90C3183F922DA83F93877B3F94D1A03F960D123F973AB93F985B6C3F996FF03F9A78FE3F9B77403F9C6B533F9D55CC3F9E37333F9F10053F9FE0BB3FA0A9C33FA16B823FA2265A3FA2DAA43FA388B53FA430DA3FA4D35F3FA570883FA608963FA69BC63FA72A523FA7B46F3FA83A513FA8BC283FA93A203FA9B4653FAA2B1E3FAA9E723FAB0E853FAB7B7A3FABE56F3FAC4C853FACB0D73FAD12833FAD71A13FADCE4A3FAE28973FAE809E3FAED6743FAF2A2E3FAF7BDE3FAFCB993FB0196E3FB065703FB0AFAD3FB0F8363FB13F1A3FB184653FB1C8263FB20A6A3FB24B3D3FB28AAA3FB2C8BD3FB305813FB341013FB37B453FB3B4583FB3EC433FB4230F3FB458C43FB48D6A3FB4C10A3FB4F3AA3FB525533FB5560A3FB585D73FB5B4C1"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FAFF55BB72CFDEA01623FBFD5BA9AAC2F6E01633FC7B97B4BCE5B02"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FBFD5BA9AAC2F6E016103666F6F3FAFF55BB72CFDEA0162036261723FCF5B75F92C80DD016203666F6F3FC7B97B4BCE5B020163036261723FD6F61941E4DEF1016303666F6F3FD362773707EBCC"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD362773707EBCC016103626172016A3FD6F61941E4DEF1016103626172016B3FDA64EEC3CC23FD016103626172016C3FDDAC670561BB4F016103666F6F01693FAFF55BB72CFDEA016103666F6F016A3FBFD5BA9AAC2F6E016103666F6F016B3FC7B97B4BCE5B02016103666F6F016C3FCF5B75F92C80DD01620362617201693FE5D58987169B18016203626172016A3FE700A7C5784634016203626172016B3FE819D0B7158A4D016203626172016C3FE921FB54442D18016203666F6F01693FE0657E94DB30D0016203666F6F016A3FE1E00BABDEFEB4016203666F6F016B3FE345F01CCE37BB016203666F6F016C3FE4978FA3269EE101630362617201693FED6E57CF4F0ACA016303626172016A3FEE24DD44C855D1016303626172016B3FEED0D97C9041C9016303626172016C3FEF730BD281F69B016303666F6F01693FEA1A25F2C82506016303666F6F016A3FEB034F38649C88016303666F6F016B3FEBDE70ED439FE7016303666F6F016C3FECAC7C57846F9E"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693E9B13BA016103626172016A3EB7B0CA016103626172016B3ED32776016103626172016C3EED6338016103666F6F01693D7FAADE016103666F6F016A3DFEADD5016103666F6F016B3E3DCBDA016103666F6F016C3E7ADBB001620362617201693F2EAC4C016203626172016A3F38053E016203626172016B3F40CE86016203626172016C3F490FDB016203666F6F01693F032BF5016203666F6F016A3F0F005D016203666F6F016B3F1A2F81016203666F6F016C3F24BC7D01630362617201693F6B72BE016303626172016A3F7126EA016303626172016B3F7686CC016303626172016C3F7B985F016303666F6F01693F50D130016303666F6F016A3F581A7A016303666F6F016B3F5EF387016303666F6F016C3F6563E3"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FDDAC670561BB4F3FE0657E94DB30D03FE1E00BABDEFEB43FE345F01CCE37BB3FE4978FA3269EE13FE5D58987169B183FE700A7C57846343FEE24DD44C855D13FEED0D97C9041C93FEF730BD281F69B3FF006132E34D6173FF04E67277A01D73FF092CE471853CC3FF0D38F2C5BA09F3FF270EF55A53A253FF29A33F97BDBEA3FF2C1A241D66DC33FF2E75728833A543FF30B6D796A4DA83FF32DFE01C11C213FF34F1FBB19EB0903666F6F3FAFF55BB72CFDEA3FBFD5BA9AAC2F6E3FC7B97B4BCE5B023FCF5B75F92C80DD3FD362773707EBCC3FD6F61941E4DEF13FDA64EEC3CC23FD3FE819D0B7158A4D3FE921FB54442D183FEA1A25F2C825063FEB034F38649C883FEBDE70ED439FE73FECAC7C57846F9E3FED6E57CF4F0ACA3FF110EB007F39F73FF14B1DD5F90CE13FF1825F074030D93FF1B6E192EBBE443FF1E8D473C5D5CA3FF21862F3FADE363FF245B4FAF23111"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FAFF55BB72CFDEA3FD362773707EBCC3FE0657E94DB30D03FE5D58987169B183FEA1A25F2C825060161016A3FBFD5BA9AAC2F6E3FD6F61941E4DEF13FE1E00BABDEFEB43FE700A7C57846343FEB034F38649C880161016B3FC7B97B4BCE5B023FDA64EEC3CC23FD3FE345F01CCE37BB3FE819D0B7158A4D3FEBDE70ED439FE70161016C3FCF5B75F92C80DD3FDDAC670561BB4F3FE4978FA3269EE13FE921FB54442D183FECAC7C57846F9E016201693FED6E57CF4F0ACA3FF006132E34D6173FF110EB007F39F73FF1E8D473C5D5CA3FF29A33F97BDBEA0162016A3FEE24DD44C855D13FF04E67277A01D73FF14B1DD5F90CE13FF21862F3FADE363FF2C1A241D66DC30162016B3FEED0D97C9041C93FF092CE471853CC3FF1825F074030D93FF245B4FAF231113FF2E75728833A540162016C3FEF730BD281F69B3FF0D38F2C5BA09F3FF1B6E192EBBE443FF270EF55A53A253FF30B6D796A4DA8016301693FF32DFE01C11C213FF3AAB98641F26B3FF41538521B2F983FF4711695FEDDE23FF4C112BB9F7C630163016A3FF34F1FBB19EB093FF3C6E650B380473FF42D70411F9EC13FF4861B4CFBE7103FF4D378C1999A0D0163016B3FF36EE7F2A246443FF3E200AEA00D993FF444CB3D7D780C3FF49A6BE20C3A523FF4E54A3B8E6CF80163016C3FF38D6A6CE133533FF3FC176B7A85603FF45B54837351A03FF4AE10FC6589A53FF4F68DEA672617"}}
+{"expression":"map(a,f(a)(atan(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D7FAADE3E9B13BA3F032BF53F2EAC4C3F50D1300161016A3DFEADD53EB7B0CA3F0F005D3F38053E3F581A7A0161016B3E3DCBDA3ED327763F1A2F813F40CE863F5EF3870161016C3E7ADBB03EED63383F24BC7D3F490FDB3F6563E3016201693F6B72BE3F8030993F8887583F8F46A43F94D1A00162016A3F7126EA3F8273393F8A58EF3F90C3183F960D120162016B3F7686CC3F8496723F8C12F83F922DA83F973AB90162016C3F7B985F3F869C793F8DB70D3F93877B3F985B6C016301693F996FF03F9D55CC3FA0A9C33FA388B53FA608960163016A3F9A78FE3F9E37333FA16B823FA430DA3FA69BC60163016B3F9B77403F9F10053FA2265A3FA4D35F3FA72A520163016C3F9C6B533F9FE0BB3FA2DAA43FA570883FA7B46F"}}
+{"expression":"exp(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF1082B577D34ED"}}
+{"expression":"exp(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B5835"}}
+{"expression":"exp(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B58353FF48B5E3C3E81863FF5DE9176045FF53FF747A513DBEF6A3FF8C802477B00103FFA61298E1E069C3FFC14B4312564463FFDE455DF80E3C03FFFD1DE6182F8C94000EF9DB467DCF84002073D3F1BD518400330E587B62B2840046DC04F4E5338"}}
+{"expression":"exp(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B58353FF48B5E3C3E81863FF5DE9176045FF53FF747A513DBEF6A3FF8C802477B00103FFA61298E1E069C3FFC14B4312564463FFDE455DF80E3C03FFFD1DE6182F8C94000EF9DB467DCF84002073D3F1BD518400330E587B62B2840046DC04F4E53384005BF0A8B14576940072615A16072994008A448BB358768400A3B222B881238400BEC38EDB0FAF0400DB93E3C8AD94F400FA3FF43D0EAF94010D73376B89F224011ED3FE64FC5414013153B1449F8B34014504D148049FE40159FB113354F87401704B6905BACBF401880C2AF31FB00401A15519B83CC1B401BC3F805F52549401D8E64B8D4DDAE401F7662470AD4994020BEEC6B6888C84021D368050156C64022F9B882F47E81402433044E47799840258084CCE2201B4026E3879B0EAF1540285D6FD931E0BB4029EFB78F08EA2D402B9BF125D0BA5D402D63C8FAD0C0DF402F49070BDBE8FD4030A6C85FBA36DB4031B9B5652D68444032DE5D9A36D538403415E5BF6FB1064035618576F415304036C2887C1F169240383A4FEF61C6514039CA53B781114B403B7423F99BD947403D396AA9716D63403F1BED3378C98740408EC721396BDB4041A027D11EB5974042C32A20E4F8554043F8F12B1CFA9A404542B2D0A266E74046A1B8EE967AF540481762A858A6FA4049A525C6C73103404B4C902E273A58404D0F496C2A2E14404EEF145F9EBF88405076E87DBAA663405186BF136D679D4052A81DDE254EA94053DC2654CB1CC84055240C9981B21040568118ADE1DEAA4057F4A7BB1752074059802D6F26E046405B253570BB813D405CE564EAEDF51C405EC27C3292F74040605F2C435AB84C40616D7AF6FEA49140628D389970338F4063BF85004D1BAA4065059291837186406660A775D11F734067D21EDF07D24F40695B6A635BBAFD406AFE136F18901D406CBBBCCE2EA3E8406E96244F21BBF640704792407E5E6B4071545B470421144072727A1A8F80C04073A30CF1CCBB3E4074E74478F5785340764065029667E64077AFC7CBFCD67C407936DC5690C08F407AD729D774DBB6407C9250BEDC542E407E6A0C589DB5334080301A43D1D8E340813B5FCEFBB1CD408257E2299E18D9408386BDEDCA02534084C92210816C894086205110C5A1BA"}}
+{"expression":"exp(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F88415B3F910B023F9A65C13FA45AF23FAEF48C3FBA3D293FC640123FD3094C3FE0A5A23FEF22AF3FFE8EF340077CEE401039EA4019872C40236E02402DF854403930AD404522464051D911405F61C7406DC9F2407D1FFA4086B99C408F69FF4098A9D940A2826940ACFD8940B825B540C4061540D0AA8D40DE1FC040EC732640FBB3124105F763410E9B404117CDC441219822412C042641371C3D4142EB7F414F7DBC415CDF89416B1E48417A483841853643418DCDAB4196F2ED41A0AF2E41AB0C2C41B6144441C1D27F41CE529E41DBA12041E9CB5541F8DF6A42047639420D013F42161951421FC789422A159742350DC74240BB15424D292E425A648142687A4B427778A34283B744428C35F9429540EF429EE13342A9206542B408C542BFA53E42CC016B42D929AC42E72B2742F613E24302F962430B6BD8431469C5431DFC2843282C954333053C433E90F7434ADB534357F09B4365DDE64374B12243823C92438AA2DA439393D1439D186843A73A2443B2032843BD7E3E43C9B6E343D6B94F43E4928643F35063440180D24409DAFE4412BF11441C35EF4426491144310289"}}
+{"expression":"exp(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF1082B577D34ED01623FF2216045B6F5CD01633FF34CB8170B5835"}}
+{"expression":"exp(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FF2216045B6F5CD016103666F6F3FF1082B577D34ED0162036261723FF48B5E3C3E8186016203666F6F3FF34CB8170B58350163036261723FF747A513DBEF6A016303666F6F3FF5DE9176045FF5"}}
+{"expression":"exp(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF5DE9176045FF5016103626172016A3FF747A513DBEF6A016103626172016B3FF8C802477B0010016103626172016C3FFA61298E1E069C016103666F6F01693FF1082B577D34ED016103666F6F016A3FF2216045B6F5CD016103666F6F016B3FF34CB8170B5835016103666F6F016C3FF48B5E3C3E818601620362617201694002073D3F1BD518016203626172016A400330E587B62B28016203626172016B40046DC04F4E5338016203626172016C4005BF0A8B145769016203666F6F01693FFC14B431256446016203666F6F016A3FFDE455DF80E3C0016203666F6F016B3FFFD1DE6182F8C9016203666F6F016C4000EF9DB467DCF80163036261720169400DB93E3C8AD94F016303626172016A400FA3FF43D0EAF9016303626172016B4010D73376B89F22016303626172016C4011ED3FE64FC541016303666F6F016940072615A1607299016303666F6F016A4008A448BB358768016303666F6F016B400A3B222B881238016303666F6F016C400BEC38EDB0FAF0"}}
+{"expression":"exp(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693FAEF48C016103626172016A3FBA3D29016103626172016B3FC64012016103626172016C3FD3094C016103666F6F01693F88415B016103666F6F016A3F910B02016103666F6F016B3F9A65C1016103666F6F016C3FA45AF20162036261720169401039EA016203626172016A4019872C016203626172016B40236E02016203626172016C402DF854016203666F6F01693FE0A5A2016203666F6F016A3FEF22AF016203666F6F016B3FFE8EF3016203666F6F016C40077CEE0163036261720169406DC9F2016303626172016A407D1FFA016303626172016B4086B99C016303626172016C408F69FF016303666F6F0169403930AD016303666F6F016A40452246016303666F6F016B4051D911016303666F6F016C405F61C7"}}
+{"expression":"exp(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FFA61298E1E069C3FFC14B4312564463FFDE455DF80E3C03FFFD1DE6182F8C94000EF9DB467DCF84002073D3F1BD518400330E587B62B28400FA3FF43D0EAF94010D73376B89F224011ED3FE64FC5414013153B1449F8B34014504D148049FE40159FB113354F87401704B6905BACBF4022F9B882F47E81402433044E47799840258084CCE2201B4026E3879B0EAF1540285D6FD931E0BB4029EFB78F08EA2D402B9BF125D0BA5D03666F6F3FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B58353FF48B5E3C3E81863FF5DE9176045FF53FF747A513DBEF6A3FF8C802477B001040046DC04F4E53384005BF0A8B14576940072615A16072994008A448BB358768400A3B222B881238400BEC38EDB0FAF0400DB93E3C8AD94F401880C2AF31FB00401A15519B83CC1B401BC3F805F52549401D8E64B8D4DDAE401F7662470AD4994020BEEC6B6888C84021D368050156C6"}}
+{"expression":"exp(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF1082B577D34ED3FF5DE9176045FF53FFC14B4312564464002073D3F1BD51840072615A16072990161016A3FF2216045B6F5CD3FF747A513DBEF6A3FFDE455DF80E3C0400330E587B62B284008A448BB3587680161016B3FF34CB8170B58353FF8C802477B00103FFFD1DE6182F8C940046DC04F4E5338400A3B222B8812380161016C3FF48B5E3C3E81863FFA61298E1E069C4000EF9DB467DCF84005BF0A8B145769400BEC38EDB0FAF001620169400DB93E3C8AD94F4013153B1449F8B3401880C2AF31FB00401F7662470AD499402433044E4779980162016A400FA3FF43D0EAF94014504D148049FE401A15519B83CC1B4020BEEC6B6888C840258084CCE2201B0162016B4010D73376B89F2240159FB113354F87401BC3F805F525494021D368050156C64026E3879B0EAF150162016C4011ED3FE64FC541401704B6905BACBF401D8E64B8D4DDAE4022F9B882F47E8140285D6FD931E0BB016301694029EFB78F08EA2D4030A6C85FBA36DB4035618576F41530403B7423F99BD9474041A027D11EB5970163016A402B9BF125D0BA5D4031B9B5652D68444036C2887C1F1692403D396AA9716D634042C32A20E4F8550163016B402D63C8FAD0C0DF4032DE5D9A36D53840383A4FEF61C651403F1BED3378C9874043F8F12B1CFA9A0163016C402F49070BDBE8FD403415E5BF6FB1064039CA53B781114B40408EC721396BDB404542B2D0A266E7"}}
+{"expression":"exp(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F88415B3FAEF48C3FE0A5A2401039EA403930AD0161016A3F910B023FBA3D293FEF22AF4019872C404522460161016B3F9A65C13FC640123FFE8EF340236E024051D9110161016C3FA45AF23FD3094C40077CEE402DF854405F61C701620169406DC9F24098A9D940C4061540FBB312412198220162016A407D1FFA40A2826940D0AA8D4105F763412C04260162016B4086B99C40ACFD8940DE1FC0410E9B4041371C3D0162016C408F69FF40B825B540EC73264117CDC44142EB7F01630169414F7DBC4185364341AB0C2C41DBA120420D013F0163016A415CDF89418DCDAB41B6144441E9CB55421619510163016B416B1E484196F2ED41C1D27F41F8DF6A421FC7890163016C417A483841A0AF2E41CE529E42047639422A1597"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF1082B577D34ED"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B5835"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B58353FF48B5E3C3E81863FF5DE9176045FF53FF747A513DBEF6A3FF8C802477B00103FFA61298E1E069C3FFC14B4312564463FFDE455DF80E3C03FFFD1DE6182F8C94000EF9DB467DCF84002073D3F1BD518400330E587B62B2840046DC04F4E5338"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B58353FF48B5E3C3E81863FF5DE9176045FF53FF747A513DBEF6A3FF8C802477B00103FFA61298E1E069C3FFC14B4312564463FFDE455DF80E3C03FFFD1DE6182F8C94000EF9DB467DCF84002073D3F1BD518400330E587B62B2840046DC04F4E53384005BF0A8B14576940072615A16072994008A448BB358768400A3B222B881238400BEC38EDB0FAF0400DB93E3C8AD94F400FA3FF43D0EAF94010D73376B89F224011ED3FE64FC5414013153B1449F8B34014504D148049FE40159FB113354F87401704B6905BACBF401880C2AF31FB00401A15519B83CC1B401BC3F805F52549401D8E64B8D4DDAE401F7662470AD4994020BEEC6B6888C84021D368050156C64022F9B882F47E81402433044E47799840258084CCE2201B4026E3879B0EAF1540285D6FD931E0BB4029EFB78F08EA2D402B9BF125D0BA5D402D63C8FAD0C0DF402F49070BDBE8FD4030A6C85FBA36DB4031B9B5652D68444032DE5D9A36D538403415E5BF6FB1064035618576F415304036C2887C1F169240383A4FEF61C6514039CA53B781114B403B7423F99BD947403D396AA9716D63403F1BED3378C98740408EC721396BDB4041A027D11EB5974042C32A20E4F8554043F8F12B1CFA9A404542B2D0A266E74046A1B8EE967AF540481762A858A6FA4049A525C6C73103404B4C902E273A58404D0F496C2A2E14404EEF145F9EBF88405076E87DBAA663405186BF136D679D4052A81DDE254EA94053DC2654CB1CC84055240C9981B21040568118ADE1DEAA4057F4A7BB1752074059802D6F26E046405B253570BB813D405CE564EAEDF51C405EC27C3292F74040605F2C435AB84C40616D7AF6FEA49140628D389970338F4063BF85004D1BAA4065059291837186406660A775D11F734067D21EDF07D24F40695B6A635BBAFD406AFE136F18901D406CBBBCCE2EA3E8406E96244F21BBF640704792407E5E6B4071545B470421144072727A1A8F80C04073A30CF1CCBB3E4074E74478F5785340764065029667E64077AFC7CBFCD67C407936DC5690C08F407AD729D774DBB6407C9250BEDC542E407E6A0C589DB5334080301A43D1D8E340813B5FCEFBB1CD408257E2299E18D9408386BDEDCA02534084C92210816C894086205110C5A1BA"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F88415B3F910B023F9A65C13FA45AF23FAEF48C3FBA3D293FC640123FD3094C3FE0A5A23FEF22AF3FFE8EF340077CEE401039EA4019872C40236E02402DF854403930AD404522464051D911405F61C7406DC9F2407D1FFA4086B99C408F69FF4098A9D940A2826940ACFD8940B825B540C4061540D0AA8D40DE1FC040EC732640FBB3124105F763410E9B404117CDC441219822412C042641371C3D4142EB7F414F7DBC415CDF89416B1E48417A483841853643418DCDAB4196F2ED41A0AF2E41AB0C2C41B6144441C1D27F41CE529E41DBA12041E9CB5541F8DF6A42047639420D013F42161951421FC789422A159742350DC74240BB15424D292E425A648142687A4B427778A34283B744428C35F9429540EF429EE13342A9206542B408C542BFA53E42CC016B42D929AC42E72B2742F613E24302F962430B6BD8431469C5431DFC2843282C954333053C433E90F7434ADB534357F09B4365DDE64374B12243823C92438AA2DA439393D1439D186843A73A2443B2032843BD7E3E43C9B6E343D6B94F43E4928643F35063440180D24409DAFE4412BF11441C35EF4426491144310289"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF1082B577D34ED01623FF2216045B6F5CD01633FF34CB8170B5835"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FF2216045B6F5CD016103666F6F3FF1082B577D34ED0162036261723FF48B5E3C3E8186016203666F6F3FF34CB8170B58350163036261723FF747A513DBEF6A016303666F6F3FF5DE9176045FF5"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF5DE9176045FF5016103626172016A3FF747A513DBEF6A016103626172016B3FF8C802477B0010016103626172016C3FFA61298E1E069C016103666F6F01693FF1082B577D34ED016103666F6F016A3FF2216045B6F5CD016103666F6F016B3FF34CB8170B5835016103666F6F016C3FF48B5E3C3E818601620362617201694002073D3F1BD518016203626172016A400330E587B62B28016203626172016B40046DC04F4E5338016203626172016C4005BF0A8B145769016203666F6F01693FFC14B431256446016203666F6F016A3FFDE455DF80E3C0016203666F6F016B3FFFD1DE6182F8C9016203666F6F016C4000EF9DB467DCF80163036261720169400DB93E3C8AD94F016303626172016A400FA3FF43D0EAF9016303626172016B4010D73376B89F22016303626172016C4011ED3FE64FC541016303666F6F016940072615A1607299016303666F6F016A4008A448BB358768016303666F6F016B400A3B222B881238016303666F6F016C400BEC38EDB0FAF0"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693FAEF48C016103626172016A3FBA3D29016103626172016B3FC64012016103626172016C3FD3094C016103666F6F01693F88415B016103666F6F016A3F910B02016103666F6F016B3F9A65C1016103666F6F016C3FA45AF20162036261720169401039EA016203626172016A4019872C016203626172016B40236E02016203626172016C402DF854016203666F6F01693FE0A5A2016203666F6F016A3FEF22AF016203666F6F016B3FFE8EF3016203666F6F016C40077CEE0163036261720169406DC9F2016303626172016A407D1FFA016303626172016B4086B99C016303626172016C408F69FF016303666F6F0169403930AD016303666F6F016A40452246016303666F6F016B4051D911016303666F6F016C405F61C7"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FFA61298E1E069C3FFC14B4312564463FFDE455DF80E3C03FFFD1DE6182F8C94000EF9DB467DCF84002073D3F1BD518400330E587B62B28400FA3FF43D0EAF94010D73376B89F224011ED3FE64FC5414013153B1449F8B34014504D148049FE40159FB113354F87401704B6905BACBF4022F9B882F47E81402433044E47799840258084CCE2201B4026E3879B0EAF1540285D6FD931E0BB4029EFB78F08EA2D402B9BF125D0BA5D03666F6F3FF1082B577D34ED3FF2216045B6F5CD3FF34CB8170B58353FF48B5E3C3E81863FF5DE9176045FF53FF747A513DBEF6A3FF8C802477B001040046DC04F4E53384005BF0A8B14576940072615A16072994008A448BB358768400A3B222B881238400BEC38EDB0FAF0400DB93E3C8AD94F401880C2AF31FB00401A15519B83CC1B401BC3F805F52549401D8E64B8D4DDAE401F7662470AD4994020BEEC6B6888C84021D368050156C6"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF1082B577D34ED3FF5DE9176045FF53FFC14B4312564464002073D3F1BD51840072615A16072990161016A3FF2216045B6F5CD3FF747A513DBEF6A3FFDE455DF80E3C0400330E587B62B284008A448BB3587680161016B3FF34CB8170B58353FF8C802477B00103FFFD1DE6182F8C940046DC04F4E5338400A3B222B8812380161016C3FF48B5E3C3E81863FFA61298E1E069C4000EF9DB467DCF84005BF0A8B145769400BEC38EDB0FAF001620169400DB93E3C8AD94F4013153B1449F8B3401880C2AF31FB00401F7662470AD499402433044E4779980162016A400FA3FF43D0EAF94014504D148049FE401A15519B83CC1B4020BEEC6B6888C840258084CCE2201B0162016B4010D73376B89F2240159FB113354F87401BC3F805F525494021D368050156C64026E3879B0EAF150162016C4011ED3FE64FC541401704B6905BACBF401D8E64B8D4DDAE4022F9B882F47E8140285D6FD931E0BB016301694029EFB78F08EA2D4030A6C85FBA36DB4035618576F41530403B7423F99BD9474041A027D11EB5970163016A402B9BF125D0BA5D4031B9B5652D68444036C2887C1F1692403D396AA9716D634042C32A20E4F8550163016B402D63C8FAD0C0DF4032DE5D9A36D53840383A4FEF61C651403F1BED3378C9874043F8F12B1CFA9A0163016C402F49070BDBE8FD403415E5BF6FB1064039CA53B781114B40408EC721396BDB404542B2D0A266E7"}}
+{"expression":"map(a,f(a)(exp(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F88415B3FAEF48C3FE0A5A2401039EA403930AD0161016A3F910B023FBA3D293FEF22AF4019872C404522460161016B3F9A65C13FC640123FFE8EF340236E024051D9110161016C3FA45AF23FD3094C40077CEE402DF854405F61C701620169406DC9F24098A9D940C4061540FBB312412198220162016A407D1FFA40A2826940D0AA8D4105F763412C04260162016B4086B99C40ACFD8940DE1FC0410E9B4041371C3D0162016C408F69FF40B825B540EC73264117CDC44142EB7F01630169414F7DBC4185364341AB0C2C41DBA120420D013F0163016A415CDF89418DCDAB41B6144441E9CB55421619510163016B416B1E484196F2ED41C1D27F41F8DF6A421FC7890163016C417A483841A0AF2E41CE529E42047639422A1597"}}
+{"expression":"log10(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x0200BFF34413509F79FF"}}
+{"expression":"log10(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803BFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FF"}}
+{"expression":"log10(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905BFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FFBFE34413509F79FFBFE02A30498EB0FEBFDB43125B8E9800BFD6FA372B8C4F7EBFD34413509F79FFBFCFFBFC2BBC7802BFCA209A84FBCFF8BFC4D43F8275A483BFBFFBFC2BBC7802BFB715D0CE367AFBBFADB11ED766ABF4BF9CB38FCCD8BFDC"}}
+{"expression":"log10(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A07BFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FFBFE34413509F79FFBFE02A30498EB0FEBFDB43125B8E9800BFD6FA372B8C4F7EBFD34413509F79FFBFCFFBFC2BBC7802BFCA209A84FBCFF8BFC4D43F8275A483BFBFFBFC2BBC7802BFB715D0CE367AFBBFADB11ED766ABF4BF9CB38FCCD8BFDC00000000000000003F9AF5F92B00E60F3FAA30A9D609EFEA3FB31B3055C471183FB8CF183886480D3FBE3BC1AB0E19FE3FC1B3E71EC94F7A3FC42C7E7FE3FC023FC68A288B60B7FC3FC8CF183886480D3FCAFD3E3A23B6803FCD165300E333F73FCF1BDEEB6549003FD087A0832FA7AC3FD178DA53D1EE013FD2622B0EE3B79D3FD34413509F79FF3FD41F07D51503BB3FD4F372E34F88603FD5C1B583D436843FD68A288B60B7FC3FD74D1D811B9A043FD80ADF661096453FD8C3B362C2373E3FD977D95EC10C023FDA278C858A49653FDAD303BB63007E3FDB7A720472DBDA3FDC1E06E00421BC3FDCBDEE998249FF3FDD5A52909178003FDDF3597965027B3FDE8927964FD5FD3FDF1BDEEB6549013FDFAB9F6CE29E063FE01C43947FF22F3FE0615936D8AAA03FE0A51DF56800893FE0E79E688889FD3FE128E67712D9E03FE1690163290F403FE1A7F9D5E079223FE1E5D9E9E790D63FE222AB3542EDDE3FE25E76D238B4003FE29945677F43E13FE2D31F2FC198CE3FE30C0C0089AE3E3FE34413509F79FF3FE37B3C3DE973A13FE3B18D92DA3EDD3FE3E70DCB75D65E3FE41BC319F7812F3FE44FB36B20E9FF3FE482E46A39D8413FE4B55B84C74CA83FE4E71DEE0018FE3FE51830A20474CA3FE5489868DD8A023FE57859D9497D023FE5A7795B5808223FE5D5FB2ADB631E3FE603E359B0D89E3FE63135D1E41EDF3FE65DF657B043013FE68A288B60B7FC3FE6B5CFEB14E1B23FE6E0EFD46841B43FE70B8B86013D3F3FE735A621084A313FE75F42AA892AED3FE788640CBFBED53FE7B10D1851CDDE3FE7D9408577194E3FE80100F510E1FF3FE82850F1B1FCE03FE84F32F09879003FE875A95299C6CD3FE89BB665023E3D3FE8C15C6268D1243FE8E69D7377A7FE3FE90B7BAFAA599F3FE92FF91E0261803FE95417B5B26CDC3FE977D95EC10C023FE99B3FF2A34B6E3FE9BE4D3CCFAF2E3FE9E102FB4A02BC3FEA0362DF28679F3FEA256E8D120640"}}
+{"expression":"log10(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A07BF9A209BBF6730E8BF3A1C97BF1A209BBF015182BEDA1893BEB7D1B9BE9A209BBE7FDFE1BE5104D4BE26A1FCBDFFDFE1BDB8AE86BD6D88F7BCE59C7E000000003CD7AFC93D51854F3D98D9833DC678C23DF1DE0D3E0D9F393E2163F43E3451443E4678C23E57E9F23E68B2983E78DEF73E843D043E8BC6D33E9311583E9A209B3EA0F83F3EA79B973EAE0DAC3EB451443EBA68EC3EC056FB3EC61D9B3ECBBECB3ED13C643ED6981E3EDBD3903EE0F0373EE5EF753EEAD2953EEF9ACC3EF4493D3EF8DEF73EFD5CFB3F00E21D3F030ACA3F0528F03F073CF33F0947343F0B480B3F0D3FCF3F0F2ECF3F11155A3F12F3B73F14CA2B3F1698F93F1860603F1A209B3F1BD9E23F1D8C6D3F1F386E3F20DE193F227D9B3F2417233F25AADC3F2738EF3F28C1853F2A44C33F2BC2CF3F2D3BCB3F2EAFD93F301F1B3F3189AF3F32EFB33F3451443F35AE7F3F37077F3F385C5C3F39AD313F3AFA153F3C43203F3D88693F3ECA043F4008083F4142883F4279983F43AD4B3F44DDB33F460AE33F4734EC3F485BDD3F497FC93F4AA0BE3F4BBECB3F4CDA003F4DF26A3F4F08183F501B173F512B74"}}
+{"expression":"log10(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x01010178030161BFF34413509F79FF0162BFECE61CF8EF36FE0163BFE74392D61708FF"}}
+{"expression":"log10(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x01020178017906016103626172BFECE61CF8EF36FE016103666F6FBFF34413509F79FF016203626172BFE34413509F79FF016203666F6FBFE74392D61708FF016303626172BFDB43125B8E9800016303666F6FBFE02A30498EB0FE"}}
+{"expression":"log10(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFE02A30498EB0FE016103626172016ABFDB43125B8E9800016103626172016BBFD6FA372B8C4F7E016103626172016CBFD34413509F79FF016103666F6F0169BFF34413509F79FF016103666F6F016ABFECE61CF8EF36FE016103666F6F016BBFE74392D61708FF016103666F6F016CBFE34413509F79FF0162036261720169BFB715D0CE367AFB016203626172016ABFADB11ED766ABF4016203626172016BBF9CB38FCCD8BFDC016203626172016C0000000000000000016203666F6F0169BFCFFBFC2BBC7802016203666F6F016ABFCA209A84FBCFF8016203666F6F016BBFC4D43F8275A483016203666F6F016CBFBFFBFC2BBC780201630362617201693FBE3BC1AB0E19FE016303626172016A3FC1B3E71EC94F7A016303626172016B3FC42C7E7FE3FC02016303626172016C3FC68A288B60B7FC016303666F6F01693F9AF5F92B00E60F016303666F6F016A3FAA30A9D609EFEA016303666F6F016B3FB31B3055C47118016303666F6F016C3FB8CF183886480D"}}
+{"expression":"log10(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A180161036261720169BF015182016103626172016ABEDA1893016103626172016BBEB7D1B9016103626172016CBE9A209B016103666F6F0169BF9A209B016103666F6F016ABF6730E8016103666F6F016BBF3A1C97016103666F6F016CBF1A209B0162036261720169BDB8AE86016203626172016ABD6D88F7016203626172016BBCE59C7E016203626172016C00000000016203666F6F0169BE7FDFE1016203666F6F016ABE5104D4016203666F6F016BBE26A1FC016203666F6F016CBDFFDFE101630362617201693DF1DE0D016303626172016A3E0D9F39016303626172016B3E2163F4016303626172016C3E345144016303666F6F01693CD7AFC9016303666F6F016A3D51854F016303666F6F016B3D98D983016303666F6F016C3DC678C2"}}
+{"expression":"log10(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFD34413509F79FFBFCFFBFC2BBC7802BFCA209A84FBCFF8BFC4D43F8275A483BFBFFBFC2BBC7802BFB715D0CE367AFBBFADB11ED766ABF43FC1B3E71EC94F7A3FC42C7E7FE3FC023FC68A288B60B7FC3FC8CF183886480D3FCAFD3E3A23B6803FCD165300E333F73FCF1BDEEB6549003FD68A288B60B7FC3FD74D1D811B9A043FD80ADF661096453FD8C3B362C2373E3FD977D95EC10C023FDA278C858A49653FDAD303BB63007E03666F6FBFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FFBFE34413509F79FFBFE02A30498EB0FEBFDB43125B8E9800BFD6FA372B8C4F7EBF9CB38FCCD8BFDC00000000000000003F9AF5F92B00E60F3FAA30A9D609EFEA3FB31B3055C471183FB8CF183886480D3FBE3BC1AB0E19FE3FD087A0832FA7AC3FD178DA53D1EE013FD2622B0EE3B79D3FD34413509F79FF3FD41F07D51503BB3FD4F372E34F88603FD5C1B583D43684"}}
+{"expression":"log10(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFF34413509F79FFBFE02A30498EB0FEBFCFFBFC2BBC7802BFB715D0CE367AFB3F9AF5F92B00E60F0161016ABFECE61CF8EF36FEBFDB43125B8E9800BFCA209A84FBCFF8BFADB11ED766ABF43FAA30A9D609EFEA0161016BBFE74392D61708FFBFD6FA372B8C4F7EBFC4D43F8275A483BF9CB38FCCD8BFDC3FB31B3055C471180161016CBFE34413509F79FFBFD34413509F79FFBFBFFBFC2BBC780200000000000000003FB8CF183886480D016201693FBE3BC1AB0E19FE3FC8CF183886480D3FD087A0832FA7AC3FD41F07D51503BB3FD74D1D811B9A040162016A3FC1B3E71EC94F7A3FCAFD3E3A23B6803FD178DA53D1EE013FD4F372E34F88603FD80ADF661096450162016B3FC42C7E7FE3FC023FCD165300E333F73FD2622B0EE3B79D3FD5C1B583D436843FD8C3B362C2373E0162016C3FC68A288B60B7FC3FCF1BDEEB6549003FD34413509F79FF3FD68A288B60B7FC3FD977D95EC10C02016301693FDA278C858A49653FDCBDEE998249FF3FDF1BDEEB6549013FE0A51DF56800893FE1A7F9D5E079220163016A3FDAD303BB63007E3FDD5A52909178003FDFAB9F6CE29E063FE0E79E688889FD3FE1E5D9E9E790D60163016B3FDB7A720472DBDA3FDDF3597965027B3FE01C43947FF22F3FE128E67712D9E03FE222AB3542EDDE0163016C3FDC1E06E00421BC3FDE8927964FD5FD3FE0615936D8AAA03FE1690163290F403FE25E76D238B400"}}
+{"expression":"log10(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C01610169BF9A209BBF015182BE7FDFE1BDB8AE863CD7AFC90161016ABF6730E8BEDA1893BE5104D4BD6D88F73D51854F0161016BBF3A1C97BEB7D1B9BE26A1FCBCE59C7E3D98D9830161016CBF1A209BBE9A209BBDFFDFE1000000003DC678C2016201693DF1DE0D3E4678C23E843D043EA0F83F3EBA68EC0162016A3E0D9F393E57E9F23E8BC6D33EA79B973EC056FB0162016B3E2163F43E68B2983E9311583EAE0DAC3EC61D9B0162016C3E3451443E78DEF73E9A209B3EB451443ECBBECB016301693ED13C643EE5EF753EF8DEF73F0528F03F0D3FCF0163016A3ED6981E3EEAD2953EFD5CFB3F073CF33F0F2ECF0163016B3EDBD3903EEF9ACC3F00E21D3F0947343F11155A0163016C3EE0F0373EF4493D3F030ACA3F0B480B3F12F3B7"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x0200BFF34413509F79FF"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803BFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FF"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905BFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FFBFE34413509F79FFBFE02A30498EB0FEBFDB43125B8E9800BFD6FA372B8C4F7EBFD34413509F79FFBFCFFBFC2BBC7802BFCA209A84FBCFF8BFC4D43F8275A483BFBFFBFC2BBC7802BFB715D0CE367AFBBFADB11ED766ABF4BF9CB38FCCD8BFDC"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A07BFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FFBFE34413509F79FFBFE02A30498EB0FEBFDB43125B8E9800BFD6FA372B8C4F7EBFD34413509F79FFBFCFFBFC2BBC7802BFCA209A84FBCFF8BFC4D43F8275A483BFBFFBFC2BBC7802BFB715D0CE367AFBBFADB11ED766ABF4BF9CB38FCCD8BFDC00000000000000003F9AF5F92B00E60F3FAA30A9D609EFEA3FB31B3055C471183FB8CF183886480D3FBE3BC1AB0E19FE3FC1B3E71EC94F7A3FC42C7E7FE3FC023FC68A288B60B7FC3FC8CF183886480D3FCAFD3E3A23B6803FCD165300E333F73FCF1BDEEB6549003FD087A0832FA7AC3FD178DA53D1EE013FD2622B0EE3B79D3FD34413509F79FF3FD41F07D51503BB3FD4F372E34F88603FD5C1B583D436843FD68A288B60B7FC3FD74D1D811B9A043FD80ADF661096453FD8C3B362C2373E3FD977D95EC10C023FDA278C858A49653FDAD303BB63007E3FDB7A720472DBDA3FDC1E06E00421BC3FDCBDEE998249FF3FDD5A52909178003FDDF3597965027B3FDE8927964FD5FD3FDF1BDEEB6549013FDFAB9F6CE29E063FE01C43947FF22F3FE0615936D8AAA03FE0A51DF56800893FE0E79E688889FD3FE128E67712D9E03FE1690163290F403FE1A7F9D5E079223FE1E5D9E9E790D63FE222AB3542EDDE3FE25E76D238B4003FE29945677F43E13FE2D31F2FC198CE3FE30C0C0089AE3E3FE34413509F79FF3FE37B3C3DE973A13FE3B18D92DA3EDD3FE3E70DCB75D65E3FE41BC319F7812F3FE44FB36B20E9FF3FE482E46A39D8413FE4B55B84C74CA83FE4E71DEE0018FE3FE51830A20474CA3FE5489868DD8A023FE57859D9497D023FE5A7795B5808223FE5D5FB2ADB631E3FE603E359B0D89E3FE63135D1E41EDF3FE65DF657B043013FE68A288B60B7FC3FE6B5CFEB14E1B23FE6E0EFD46841B43FE70B8B86013D3F3FE735A621084A313FE75F42AA892AED3FE788640CBFBED53FE7B10D1851CDDE3FE7D9408577194E3FE80100F510E1FF3FE82850F1B1FCE03FE84F32F09879003FE875A95299C6CD3FE89BB665023E3D3FE8C15C6268D1243FE8E69D7377A7FE3FE90B7BAFAA599F3FE92FF91E0261803FE95417B5B26CDC3FE977D95EC10C023FE99B3FF2A34B6E3FE9BE4D3CCFAF2E3FE9E102FB4A02BC3FEA0362DF28679F3FEA256E8D120640"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A07BF9A209BBF6730E8BF3A1C97BF1A209BBF015182BEDA1893BEB7D1B9BE9A209BBE7FDFE1BE5104D4BE26A1FCBDFFDFE1BDB8AE86BD6D88F7BCE59C7E000000003CD7AFC93D51854F3D98D9833DC678C23DF1DE0D3E0D9F393E2163F43E3451443E4678C23E57E9F23E68B2983E78DEF73E843D043E8BC6D33E9311583E9A209B3EA0F83F3EA79B973EAE0DAC3EB451443EBA68EC3EC056FB3EC61D9B3ECBBECB3ED13C643ED6981E3EDBD3903EE0F0373EE5EF753EEAD2953EEF9ACC3EF4493D3EF8DEF73EFD5CFB3F00E21D3F030ACA3F0528F03F073CF33F0947343F0B480B3F0D3FCF3F0F2ECF3F11155A3F12F3B73F14CA2B3F1698F93F1860603F1A209B3F1BD9E23F1D8C6D3F1F386E3F20DE193F227D9B3F2417233F25AADC3F2738EF3F28C1853F2A44C33F2BC2CF3F2D3BCB3F2EAFD93F301F1B3F3189AF3F32EFB33F3451443F35AE7F3F37077F3F385C5C3F39AD313F3AFA153F3C43203F3D88693F3ECA043F4008083F4142883F4279983F43AD4B3F44DDB33F460AE33F4734EC3F485BDD3F497FC93F4AA0BE3F4BBECB3F4CDA003F4DF26A3F4F08183F501B173F512B74"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x01010178030161BFF34413509F79FF0162BFECE61CF8EF36FE0163BFE74392D61708FF"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x01020178017906016103626172BFECE61CF8EF36FE016103666F6FBFF34413509F79FF016203626172BFE34413509F79FF016203666F6FBFE74392D61708FF016303626172BFDB43125B8E9800016303666F6FBFE02A30498EB0FE"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFE02A30498EB0FE016103626172016ABFDB43125B8E9800016103626172016BBFD6FA372B8C4F7E016103626172016CBFD34413509F79FF016103666F6F0169BFF34413509F79FF016103666F6F016ABFECE61CF8EF36FE016103666F6F016BBFE74392D61708FF016103666F6F016CBFE34413509F79FF0162036261720169BFB715D0CE367AFB016203626172016ABFADB11ED766ABF4016203626172016BBF9CB38FCCD8BFDC016203626172016C0000000000000000016203666F6F0169BFCFFBFC2BBC7802016203666F6F016ABFCA209A84FBCFF8016203666F6F016BBFC4D43F8275A483016203666F6F016CBFBFFBFC2BBC780201630362617201693FBE3BC1AB0E19FE016303626172016A3FC1B3E71EC94F7A016303626172016B3FC42C7E7FE3FC02016303626172016C3FC68A288B60B7FC016303666F6F01693F9AF5F92B00E60F016303666F6F016A3FAA30A9D609EFEA016303666F6F016B3FB31B3055C47118016303666F6F016C3FB8CF183886480D"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A180161036261720169BF015182016103626172016ABEDA1893016103626172016BBEB7D1B9016103626172016CBE9A209B016103666F6F0169BF9A209B016103666F6F016ABF6730E8016103666F6F016BBF3A1C97016103666F6F016CBF1A209B0162036261720169BDB8AE86016203626172016ABD6D88F7016203626172016BBCE59C7E016203626172016C00000000016203666F6F0169BE7FDFE1016203666F6F016ABE5104D4016203666F6F016BBE26A1FC016203666F6F016CBDFFDFE101630362617201693DF1DE0D016303626172016A3E0D9F39016303626172016B3E2163F4016303626172016C3E345144016303666F6F01693CD7AFC9016303666F6F016A3D51854F016303666F6F016B3D98D983016303666F6F016C3DC678C2"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFD34413509F79FFBFCFFBFC2BBC7802BFCA209A84FBCFF8BFC4D43F8275A483BFBFFBFC2BBC7802BFB715D0CE367AFBBFADB11ED766ABF43FC1B3E71EC94F7A3FC42C7E7FE3FC023FC68A288B60B7FC3FC8CF183886480D3FCAFD3E3A23B6803FCD165300E333F73FCF1BDEEB6549003FD68A288B60B7FC3FD74D1D811B9A043FD80ADF661096453FD8C3B362C2373E3FD977D95EC10C023FDA278C858A49653FDAD303BB63007E03666F6FBFF34413509F79FFBFECE61CF8EF36FEBFE74392D61708FFBFE34413509F79FFBFE02A30498EB0FEBFDB43125B8E9800BFD6FA372B8C4F7EBF9CB38FCCD8BFDC00000000000000003F9AF5F92B00E60F3FAA30A9D609EFEA3FB31B3055C471183FB8CF183886480D3FBE3BC1AB0E19FE3FD087A0832FA7AC3FD178DA53D1EE013FD2622B0EE3B79D3FD34413509F79FF3FD41F07D51503BB3FD4F372E34F88603FD5C1B583D43684"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFF34413509F79FFBFE02A30498EB0FEBFCFFBFC2BBC7802BFB715D0CE367AFB3F9AF5F92B00E60F0161016ABFECE61CF8EF36FEBFDB43125B8E9800BFCA209A84FBCFF8BFADB11ED766ABF43FAA30A9D609EFEA0161016BBFE74392D61708FFBFD6FA372B8C4F7EBFC4D43F8275A483BF9CB38FCCD8BFDC3FB31B3055C471180161016CBFE34413509F79FFBFD34413509F79FFBFBFFBFC2BBC780200000000000000003FB8CF183886480D016201693FBE3BC1AB0E19FE3FC8CF183886480D3FD087A0832FA7AC3FD41F07D51503BB3FD74D1D811B9A040162016A3FC1B3E71EC94F7A3FCAFD3E3A23B6803FD178DA53D1EE013FD4F372E34F88603FD80ADF661096450162016B3FC42C7E7FE3FC023FCD165300E333F73FD2622B0EE3B79D3FD5C1B583D436843FD8C3B362C2373E0162016C3FC68A288B60B7FC3FCF1BDEEB6549003FD34413509F79FF3FD68A288B60B7FC3FD977D95EC10C02016301693FDA278C858A49653FDCBDEE998249FF3FDF1BDEEB6549013FE0A51DF56800893FE1A7F9D5E079220163016A3FDAD303BB63007E3FDD5A52909178003FDFAB9F6CE29E063FE0E79E688889FD3FE1E5D9E9E790D60163016B3FDB7A720472DBDA3FDDF3597965027B3FE01C43947FF22F3FE128E67712D9E03FE222AB3542EDDE0163016C3FDC1E06E00421BC3FDE8927964FD5FD3FE0615936D8AAA03FE1690163290F403FE25E76D238B400"}}
+{"expression":"map(a,f(a)(log10(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C01610169BF9A209BBF015182BE7FDFE1BDB8AE863CD7AFC90161016ABF6730E8BEDA1893BE5104D4BD6D88F73D51854F0161016BBF3A1C97BEB7D1B9BE26A1FCBCE59C7E3D98D9830161016CBF1A209BBE9A209BBDFFDFE1000000003DC678C2016201693DF1DE0D3E4678C23E843D043EA0F83F3EBA68EC0162016A3E0D9F393E57E9F23E8BC6D33EA79B973EC056FB0162016B3E2163F43E68B2983E9311583EAE0DAC3EC61D9B0162016C3E3451443E78DEF73E9A209B3EB451443ECBBECB016301693ED13C643EE5EF753EF8DEF73F0528F03F0D3FCF0163016A3ED6981E3EEAD2953EFD5CFB3F073CF33F0F2ECF0163016B3EDBD3903EEF9ACC3F00E21D3F0947343F11155A0163016C3EE0F0373EF4493D3F030ACA3F0B480B3F12F3B7"}}
+{"expression":"log(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x0200C0062E42FEFA39EF"}}
+{"expression":"log(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803C0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4"}}
+{"expression":"log(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905C0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4BFF62E42FEFA39EFBFF29C440606E6ABBFEF62F40794A7B8BFEA74269F84330EBFE62E42FEFA39EFBFE269621134DB92BFDE148A1A2726CEBFD7FAFA3BD8151CBFD269621134DB92BFCA93ED3C8AD9E3BFC1178E8227E47CBFB08598B59E3A07"}}
+{"expression":"log(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A07C0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4BFF62E42FEFA39EFBFF29C440606E6ABBFEF62F40794A7B8BFEA74269F84330EBFE62E42FEFA39EFBFE269621134DB92BFDE148A1A2726CEBFD7FAFA3BD8151CBFD269621134DB92BFCA93ED3C8AD9E3BFC1178E8227E47CBFB08598B59E3A0700000000000000003FAF0A30C01162A63FBE27076E2AF2E63FC5FF3070A793D43FCC8FF7C79A9A223FD1675CABABA60E3FD4618BC21C5EC23FD739D7F6BBD0073FD9F323ECBF984C3FDC8FF7C79A9A223FDF128F5FAF06ED3FE0BE72E4252A833FE1E85F5E7040D03FE307D7334F10BE3FE41D8FE84672AE3FE52A2D265BC5AB3FE62E42FEFA39EF3FE72A57D76DFB873FE81EE60AFB501A3FE90C5D5056E7593FE9F323ECBF984C3FEAD397BD0237383FEBAE0F1B241EE43FEC82D9A6374F9C3FED5240F0E0E0783FEE1C891A51C97A3FEEE1F154D00CF63FEFA2B45C6AC8883FF02F84700434A83FF08B90EF531F6A3FF0E5977D2C10F93FF13DAE612D6D8E3FF193EA7AAD030B3FF1E85F5E7040D03FF23B1F7163C3803FF28C3C00AD8E203FF2DBC55768DEB33FF329CAD25005773FF3765AF18FB2393FF3C18368F787EC3FF40B512EB53D603FF453D088C1F5853FF49B0D1924A5573FF4E111E92832043FF525E973A0564F3FF5699DAE553C553FF5AC3812AAFFCD3FF5EDC1A597EC8E3FF62E42FEFA39EF3FF66DC4505C31F73FF6AC4D6B341ABB3FF6E9E5C6ABD0D73FF7269484FAC5043FF76260785BF70C3FF79D5027A890A43FF7D769D29EE7453FF810B375DCE91E3FF84932CE944BBA3FF880ED5DFE38943FF8B7E86C93A9933FF8EE290D0F2C6A3FF923B41F3C55103FF9588E5298C4C63FF98CBC28CA51EE3FF9C041F7ED8D333FF9F323ECBF984C3FFA25660CA601B53FFA570C37971E283FFA881A29E523733FFAB8937DEE18493FFAE87BADB2813B3FFB17D614548B6A3FFB46A5EF8151A03FFB74EE60C5B7FA3FFBA2B26ED03C623FFBCFF506A0FF1B3FFBFCB8FCA92DF13FFC29010DDAE5E03FFC54CFE0AA8A863FFC802806027FAE3FFCAB0BFA2A20023FFCD57E25A0BC023FFCFF80DDED5DC83FFD2916666400CE3FFD5240F0E0E0783FFD7B029E7A74E53FFDA35D802AAB173FFDCB53976FDBD13FFDF2E6D6E5FBAA3FFE1A1922D876B7"}}
+{"expression":"log(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A07C0317218C0051592BFD644DCBFB17218BF94E220BF7B17A0BF53A135BF317218BF134B11BEF0A451BEBFD7D2BE934B11BE549F6ABE08BC74BD842CC6000000003D7851863DF1383B3E2FF9843E647FBE3E8B3AE53EA30C5E3EB9CEC03ECF991F3EE47FBE3EF8947B3F05F3973F0F42FB3F183EBA3F20EC7F3F2951693F3172183F3952BF3F40F7303F4862EB3F4F991F3F569CBE3F5D70793F6416CD3F6A92083F70E4493F770F8B3F7D15A33F817C243F845C873F872CBC3F89ED733F8C9F543F8F42FB3F91D8FC3F9461E03F96DE2B3F994E573F9BB2D83F9E0C1B3FA05A893FA29E843FA4D8693FA7088F3FA92F4C3FAB4CED3FAD61C13FAF6E0D3FB172183FB36E233FB5626B3FB74F2E3FB934A43FBB13043FBCEA813FBEBB4F3FC0859C3FC249963FC4076B3FC5BF433FC771483FC91DA13FCAC4733FCC65E13FCE02103FCF991F3FD12B303FD2B8623FD440D13FD5C49C3FD743DD3FD8BEB13FDA352F3FDBA7733FDD15933FDE7FA83FDFE5C83FE148083FE2A67F3FE401403FE558603FE6ABF13FE7FC073FE948B33FEA92083FEBD8153FED1AEC3FEE5A9D3FEF97373FF0D0C9"}}
+{"expression":"log(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x01010178030161C0062E42FEFA39EF0162C000A2B23F3BAB730163BFFAC89B834770D4"}}
+{"expression":"log(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x01020178017906016103626172C000A2B23F3BAB73016103666F6FC0062E42FEFA39EF016203626172BFF62E42FEFA39EF016203666F6FBFFAC89B834770D4016303626172BFEF62F40794A7B8016303666F6FBFF29C440606E6AB"}}
+{"expression":"log(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFF29C440606E6AB016103626172016ABFEF62F40794A7B8016103626172016BBFEA74269F84330E016103626172016CBFE62E42FEFA39EF016103666F6F0169C0062E42FEFA39EF016103666F6F016AC000A2B23F3BAB73016103666F6F016BBFFAC89B834770D4016103666F6F016CBFF62E42FEFA39EF0162036261720169BFCA93ED3C8AD9E3016203626172016ABFC1178E8227E47C016203626172016BBFB08598B59E3A07016203626172016C0000000000000000016203666F6F0169BFE269621134DB92016203666F6F016ABFDE148A1A2726CE016203666F6F016BBFD7FAFA3BD8151C016203666F6F016CBFD269621134DB9201630362617201693FD1675CABABA60E016303626172016A3FD4618BC21C5EC2016303626172016B3FD739D7F6BBD007016303626172016C3FD9F323ECBF984C016303666F6F01693FAF0A30C01162A6016303666F6F016A3FBE27076E2AF2E6016303666F6F016B3FC5FF3070A793D4016303666F6F016C3FCC8FF7C79A9A22"}}
+{"expression":"log(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A180161036261720169BF94E220016103626172016ABF7B17A0016103626172016BBF53A135016103626172016CBF317218016103666F6F0169C0317218016103666F6F016AC0051592016103666F6F016BBFD644DC016103666F6F016CBFB172180162036261720169BE549F6A016203626172016ABE08BC74016203626172016BBD842CC6016203626172016C00000000016203666F6F0169BF134B11016203666F6F016ABEF0A451016203666F6F016BBEBFD7D2016203666F6F016CBE934B1101630362617201693E8B3AE5016303626172016A3EA30C5E016303626172016B3EB9CEC0016303626172016C3ECF991F016303666F6F01693D785186016303666F6F016A3DF1383B016303666F6F016B3E2FF984016303666F6F016C3E647FBE"}}
+{"expression":"log(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFE62E42FEFA39EFBFE269621134DB92BFDE148A1A2726CEBFD7FAFA3BD8151CBFD269621134DB92BFCA93ED3C8AD9E3BFC1178E8227E47C3FD4618BC21C5EC23FD739D7F6BBD0073FD9F323ECBF984C3FDC8FF7C79A9A223FDF128F5FAF06ED3FE0BE72E4252A833FE1E85F5E7040D03FE9F323ECBF984C3FEAD397BD0237383FEBAE0F1B241EE43FEC82D9A6374F9C3FED5240F0E0E0783FEE1C891A51C97A3FEEE1F154D00CF603666F6FC0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4BFF62E42FEFA39EFBFF29C440606E6ABBFEF62F40794A7B8BFEA74269F84330EBFB08598B59E3A0700000000000000003FAF0A30C01162A63FBE27076E2AF2E63FC5FF3070A793D43FCC8FF7C79A9A223FD1675CABABA60E3FE307D7334F10BE3FE41D8FE84672AE3FE52A2D265BC5AB3FE62E42FEFA39EF3FE72A57D76DFB873FE81EE60AFB501A3FE90C5D5056E759"}}
+{"expression":"log(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C01610169C0062E42FEFA39EFBFF29C440606E6ABBFE269621134DB92BFCA93ED3C8AD9E33FAF0A30C01162A60161016AC000A2B23F3BAB73BFEF62F40794A7B8BFDE148A1A2726CEBFC1178E8227E47C3FBE27076E2AF2E60161016BBFFAC89B834770D4BFEA74269F84330EBFD7FAFA3BD8151CBFB08598B59E3A073FC5FF3070A793D40161016CBFF62E42FEFA39EFBFE62E42FEFA39EFBFD269621134DB9200000000000000003FCC8FF7C79A9A22016201693FD1675CABABA60E3FDC8FF7C79A9A223FE307D7334F10BE3FE72A57D76DFB873FEAD397BD0237380162016A3FD4618BC21C5EC23FDF128F5FAF06ED3FE41D8FE84672AE3FE81EE60AFB501A3FEBAE0F1B241EE40162016B3FD739D7F6BBD0073FE0BE72E4252A833FE52A2D265BC5AB3FE90C5D5056E7593FEC82D9A6374F9C0162016C3FD9F323ECBF984C3FE1E85F5E7040D03FE62E42FEFA39EF3FE9F323ECBF984C3FED5240F0E0E078016301693FEE1C891A51C97A3FF08B90EF531F6A3FF1E85F5E7040D03FF329CAD25005773FF453D088C1F5850163016A3FEEE1F154D00CF63FF0E5977D2C10F93FF23B1F7163C3803FF3765AF18FB2393FF49B0D1924A5570163016B3FEFA2B45C6AC8883FF13DAE612D6D8E3FF28C3C00AD8E203FF3C18368F787EC3FF4E111E92832040163016C3FF02F84700434A83FF193EA7AAD030B3FF2DBC55768DEB33FF40B512EB53D603FF525E973A0564F"}}
+{"expression":"log(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C01610169C0317218BF94E220BF134B11BE549F6A3D7851860161016AC0051592BF7B17A0BEF0A451BE08BC743DF1383B0161016BBFD644DCBF53A135BEBFD7D2BD842CC63E2FF9840161016CBFB17218BF317218BE934B11000000003E647FBE016201693E8B3AE53EE47FBE3F183EBA3F3952BF3F569CBE0162016A3EA30C5E3EF8947B3F20EC7F3F40F7303F5D70790162016B3EB9CEC03F05F3973F2951693F4862EB3F6416CD0162016C3ECF991F3F0F42FB3F3172183F4F991F3F6A9208016301693F70E4493F845C873F8F42FB3F994E573FA29E840163016A3F770F8B3F872CBC3F91D8FC3F9BB2D83FA4D8690163016B3F7D15A33F89ED733F9461E03F9E0C1B3FA7088F0163016C3F817C243F8C9F543F96DE2B3FA05A893FA92F4C"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x0200C0062E42FEFA39EF"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803C0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905C0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4BFF62E42FEFA39EFBFF29C440606E6ABBFEF62F40794A7B8BFEA74269F84330EBFE62E42FEFA39EFBFE269621134DB92BFDE148A1A2726CEBFD7FAFA3BD8151CBFD269621134DB92BFCA93ED3C8AD9E3BFC1178E8227E47CBFB08598B59E3A07"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A07C0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4BFF62E42FEFA39EFBFF29C440606E6ABBFEF62F40794A7B8BFEA74269F84330EBFE62E42FEFA39EFBFE269621134DB92BFDE148A1A2726CEBFD7FAFA3BD8151CBFD269621134DB92BFCA93ED3C8AD9E3BFC1178E8227E47CBFB08598B59E3A0700000000000000003FAF0A30C01162A63FBE27076E2AF2E63FC5FF3070A793D43FCC8FF7C79A9A223FD1675CABABA60E3FD4618BC21C5EC23FD739D7F6BBD0073FD9F323ECBF984C3FDC8FF7C79A9A223FDF128F5FAF06ED3FE0BE72E4252A833FE1E85F5E7040D03FE307D7334F10BE3FE41D8FE84672AE3FE52A2D265BC5AB3FE62E42FEFA39EF3FE72A57D76DFB873FE81EE60AFB501A3FE90C5D5056E7593FE9F323ECBF984C3FEAD397BD0237383FEBAE0F1B241EE43FEC82D9A6374F9C3FED5240F0E0E0783FEE1C891A51C97A3FEEE1F154D00CF63FEFA2B45C6AC8883FF02F84700434A83FF08B90EF531F6A3FF0E5977D2C10F93FF13DAE612D6D8E3FF193EA7AAD030B3FF1E85F5E7040D03FF23B1F7163C3803FF28C3C00AD8E203FF2DBC55768DEB33FF329CAD25005773FF3765AF18FB2393FF3C18368F787EC3FF40B512EB53D603FF453D088C1F5853FF49B0D1924A5573FF4E111E92832043FF525E973A0564F3FF5699DAE553C553FF5AC3812AAFFCD3FF5EDC1A597EC8E3FF62E42FEFA39EF3FF66DC4505C31F73FF6AC4D6B341ABB3FF6E9E5C6ABD0D73FF7269484FAC5043FF76260785BF70C3FF79D5027A890A43FF7D769D29EE7453FF810B375DCE91E3FF84932CE944BBA3FF880ED5DFE38943FF8B7E86C93A9933FF8EE290D0F2C6A3FF923B41F3C55103FF9588E5298C4C63FF98CBC28CA51EE3FF9C041F7ED8D333FF9F323ECBF984C3FFA25660CA601B53FFA570C37971E283FFA881A29E523733FFAB8937DEE18493FFAE87BADB2813B3FFB17D614548B6A3FFB46A5EF8151A03FFB74EE60C5B7FA3FFBA2B26ED03C623FFBCFF506A0FF1B3FFBFCB8FCA92DF13FFC29010DDAE5E03FFC54CFE0AA8A863FFC802806027FAE3FFCAB0BFA2A20023FFCD57E25A0BC023FFCFF80DDED5DC83FFD2916666400CE3FFD5240F0E0E0783FFD7B029E7A74E53FFDA35D802AAB173FFDCB53976FDBD13FFDF2E6D6E5FBAA3FFE1A1922D876B7"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A07C0317218C0051592BFD644DCBFB17218BF94E220BF7B17A0BF53A135BF317218BF134B11BEF0A451BEBFD7D2BE934B11BE549F6ABE08BC74BD842CC6000000003D7851863DF1383B3E2FF9843E647FBE3E8B3AE53EA30C5E3EB9CEC03ECF991F3EE47FBE3EF8947B3F05F3973F0F42FB3F183EBA3F20EC7F3F2951693F3172183F3952BF3F40F7303F4862EB3F4F991F3F569CBE3F5D70793F6416CD3F6A92083F70E4493F770F8B3F7D15A33F817C243F845C873F872CBC3F89ED733F8C9F543F8F42FB3F91D8FC3F9461E03F96DE2B3F994E573F9BB2D83F9E0C1B3FA05A893FA29E843FA4D8693FA7088F3FA92F4C3FAB4CED3FAD61C13FAF6E0D3FB172183FB36E233FB5626B3FB74F2E3FB934A43FBB13043FBCEA813FBEBB4F3FC0859C3FC249963FC4076B3FC5BF433FC771483FC91DA13FCAC4733FCC65E13FCE02103FCF991F3FD12B303FD2B8623FD440D13FD5C49C3FD743DD3FD8BEB13FDA352F3FDBA7733FDD15933FDE7FA83FDFE5C83FE148083FE2A67F3FE401403FE558603FE6ABF13FE7FC073FE948B33FEA92083FEBD8153FED1AEC3FEE5A9D3FEF97373FF0D0C9"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x01010178030161C0062E42FEFA39EF0162C000A2B23F3BAB730163BFFAC89B834770D4"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x01020178017906016103626172C000A2B23F3BAB73016103666F6FC0062E42FEFA39EF016203626172BFF62E42FEFA39EF016203666F6FBFFAC89B834770D4016303626172BFEF62F40794A7B8016303666F6FBFF29C440606E6AB"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFF29C440606E6AB016103626172016ABFEF62F40794A7B8016103626172016BBFEA74269F84330E016103626172016CBFE62E42FEFA39EF016103666F6F0169C0062E42FEFA39EF016103666F6F016AC000A2B23F3BAB73016103666F6F016BBFFAC89B834770D4016103666F6F016CBFF62E42FEFA39EF0162036261720169BFCA93ED3C8AD9E3016203626172016ABFC1178E8227E47C016203626172016BBFB08598B59E3A07016203626172016C0000000000000000016203666F6F0169BFE269621134DB92016203666F6F016ABFDE148A1A2726CE016203666F6F016BBFD7FAFA3BD8151C016203666F6F016CBFD269621134DB9201630362617201693FD1675CABABA60E016303626172016A3FD4618BC21C5EC2016303626172016B3FD739D7F6BBD007016303626172016C3FD9F323ECBF984C016303666F6F01693FAF0A30C01162A6016303666F6F016A3FBE27076E2AF2E6016303666F6F016B3FC5FF3070A793D4016303666F6F016C3FCC8FF7C79A9A22"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A180161036261720169BF94E220016103626172016ABF7B17A0016103626172016BBF53A135016103626172016CBF317218016103666F6F0169C0317218016103666F6F016AC0051592016103666F6F016BBFD644DC016103666F6F016CBFB172180162036261720169BE549F6A016203626172016ABE08BC74016203626172016BBD842CC6016203626172016C00000000016203666F6F0169BF134B11016203666F6F016ABEF0A451016203666F6F016BBEBFD7D2016203666F6F016CBE934B1101630362617201693E8B3AE5016303626172016A3EA30C5E016303626172016B3EB9CEC0016303626172016C3ECF991F016303666F6F01693D785186016303666F6F016A3DF1383B016303666F6F016B3E2FF984016303666F6F016C3E647FBE"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFE62E42FEFA39EFBFE269621134DB92BFDE148A1A2726CEBFD7FAFA3BD8151CBFD269621134DB92BFCA93ED3C8AD9E3BFC1178E8227E47C3FD4618BC21C5EC23FD739D7F6BBD0073FD9F323ECBF984C3FDC8FF7C79A9A223FDF128F5FAF06ED3FE0BE72E4252A833FE1E85F5E7040D03FE9F323ECBF984C3FEAD397BD0237383FEBAE0F1B241EE43FEC82D9A6374F9C3FED5240F0E0E0783FEE1C891A51C97A3FEEE1F154D00CF603666F6FC0062E42FEFA39EFC000A2B23F3BAB73BFFAC89B834770D4BFF62E42FEFA39EFBFF29C440606E6ABBFEF62F40794A7B8BFEA74269F84330EBFB08598B59E3A0700000000000000003FAF0A30C01162A63FBE27076E2AF2E63FC5FF3070A793D43FCC8FF7C79A9A223FD1675CABABA60E3FE307D7334F10BE3FE41D8FE84672AE3FE52A2D265BC5AB3FE62E42FEFA39EF3FE72A57D76DFB873FE81EE60AFB501A3FE90C5D5056E759"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C01610169C0062E42FEFA39EFBFF29C440606E6ABBFE269621134DB92BFCA93ED3C8AD9E33FAF0A30C01162A60161016AC000A2B23F3BAB73BFEF62F40794A7B8BFDE148A1A2726CEBFC1178E8227E47C3FBE27076E2AF2E60161016BBFFAC89B834770D4BFEA74269F84330EBFD7FAFA3BD8151CBFB08598B59E3A073FC5FF3070A793D40161016CBFF62E42FEFA39EFBFE62E42FEFA39EFBFD269621134DB9200000000000000003FCC8FF7C79A9A22016201693FD1675CABABA60E3FDC8FF7C79A9A223FE307D7334F10BE3FE72A57D76DFB873FEAD397BD0237380162016A3FD4618BC21C5EC23FDF128F5FAF06ED3FE41D8FE84672AE3FE81EE60AFB501A3FEBAE0F1B241EE40162016B3FD739D7F6BBD0073FE0BE72E4252A833FE52A2D265BC5AB3FE90C5D5056E7593FEC82D9A6374F9C0162016C3FD9F323ECBF984C3FE1E85F5E7040D03FE62E42FEFA39EF3FE9F323ECBF984C3FED5240F0E0E078016301693FEE1C891A51C97A3FF08B90EF531F6A3FF1E85F5E7040D03FF329CAD25005773FF453D088C1F5850163016A3FEEE1F154D00CF63FF0E5977D2C10F93FF23B1F7163C3803FF3765AF18FB2393FF49B0D1924A5570163016B3FEFA2B45C6AC8883FF13DAE612D6D8E3FF28C3C00AD8E203FF3C18368F787EC3FF4E111E92832040163016C3FF02F84700434A83FF193EA7AAD030B3FF2DBC55768DEB33FF40B512EB53D603FF525E973A0564F"}}
+{"expression":"map(a,f(a)(log(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C01610169C0317218BF94E220BF134B11BE549F6A3D7851860161016AC0051592BF7B17A0BEF0A451BE08BC743DF1383B0161016BBFD644DCBF53A135BEBFD7D2BD842CC63E2FF9840161016CBFB17218BF317218BE934B11000000003E647FBE016201693E8B3AE53EE47FBE3F183EBA3F3952BF3F569CBE0162016A3EA30C5E3EF8947B3F20EC7F3F40F7303F5D70790162016B3EB9CEC03F05F3973F2951693F4862EB3F6416CD0162016C3ECF991F3F0F42FB3F3172183F4F991F3F6A9208016301693F70E4493F845C873F8F42FB3F994E573FA29E840163016A3F770F8B3F872CBC3F91D8FC3F9BB2D83FA4D8690163016B3F7D15A33F89ED733F9461E03F9E0C1B3FA7088F0163016C3F817C243F8C9F543F96DE2B3FA05A893FA92F4C"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FD0000000000000"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA3FE00000000000003FE1E3779B97F4A83FE3988E1409212E3FE52A7FA9D2F8EA3FE6A09E667F3BCD3FE80000000000003FE94C583ADA5B533FEA887293FD6F343FEBB67AE8584CAA3FECD82B446159F33FEDEEEA11683F493FEEFBDEB14F4EDA"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA3FE00000000000003FE1E3779B97F4A83FE3988E1409212E3FE52A7FA9D2F8EA3FE6A09E667F3BCD3FE80000000000003FE94C583ADA5B533FEA887293FD6F343FEBB67AE8584CAA3FECD82B446159F33FEDEEEA11683F493FEEFBDEB14F4EDA3FF00000000000003FF07E0F66AFED073FF0F876CCDF6CD93FF16F8334644DF93FF1E3779B97F4A83FF2548EB9151E853FF2C2FC595456A73FF32EEE757704163FF3988E1409212E3FF40000000000003FF465655F122FF63FF4C8DC2E4239803FF52A7FA9D2F8EA3FF58A68A4A8D9F33FF5E8ADD236A58F3FF645640568C1C33FF6A09E667F3BCD3FF6FA6EA162D0F03FF752E50DB3A3A23FF7AA10D193C22D3FF80000000000003FF854BFB363DC393FF8A85C24F706593FF8FAE0C15AD38A3FF94C583ADA5B533FF99CCC999FFF003FF9EC474A2612643FFA3AD12A1DA1603FFA887293FD6F343FFAD5336963EEFC3FFB211B1C70D0233FFB6C30B83593E63FFBB67AE8584CAA3FFC0000000000003FFC48C6001F0AC03FFC90D29D2D43CE3FFCD82B446159F33FFD1ED52076FBE93FFD64D51E0DB1C63FFDAA2FEFAAE1D83FFDEEEA11683F493FFE3307CC56CF5C3FFE768D399DC4703FFEB97E455B9EDB3FFEFBDEB14F4EDA3FFF3DB2174E74683FFF7EFBEB8D4F123FFFBFBF7EBC755F400000000000000040001FE03F61BAD040003F81F636B80C40005EE68EFAD48B40007E0F66AFED0740009CFDCD8ED0094000BBB307ACAFDB4000DA304D95FB064000F876CCDF6CD940011687A8AE14A340013463FA37014E4001520CD1372FEB40016F8334644DF940018CC821D6D3E34001A9DC8F6DF1044001C6C16B2DB8704001E3779B97F4A8400200000000000040021C5B70D9F8244002388AC0059C284002548EB9151E854002706821902E9A40028C17B93378344002A79E3A2CD2E64002C2FC595456A74002DE32C66287414002F9422C23C47E4003142B30A929AB40032EEE757704164003498C97B10540400364063044530640037E5BD40F95A14003988E1409212E4003B29D7D6356624003CC8A99AF54534003E655EEFE13674004000000000000400419894C2329F0400432F24FB01C7A40044C3B83E57153400465655F122FF640047E7054AF0989"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073E8000003EB504F33EDDB3D73F0000003F0F1BBD3F1CC4713F2953FD3F3504F33F4000003F4A62C23F5443953F5DB3D73F66C15A3F6F77513F77DEF63F8000003F83F07B3F87C3B63F8B7C1A3F8F1BBD3F92A4763F9617E33F9977743F9CC4713FA000003FA32B2B3FA646E13FA953FD3FAC53453FAF456F3FB22B203FB504F33FB7D3753FBA97283FBD50873FC000003FC2A5FE3FC542E13FC7D7063FCA62C23FCCE6653FCF623A3FD1D6893FD443953FD6A99B3FD908D93FDB61863FDDB3D73FE000003FE246303FE486953FE6C15A3FE8F6A93FEB26A93FED517F3FEF77513FF1983E3FF3B46A3FF5CBF23FF7DEF63FF9ED913FFBF7DF3FFDFDFC400000004000FF024001FC104002F7344003F07B4004E7EE4005DD984006D1824007C3B64008B43D4009A320400A9067400B7C1A400C6641400D4EE4400E360B400F1BBD401000004010E2DC4011C4564012A47640138341401460BE40153CF2401617E34016F1964017CA114018A15A40197774401A4C65401B2032401BF2DF401CC471401D94EC401E6455401F32AF402000004020CC4A40219792402261DC40232B2B4023F383"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FD000000000000001623FD6A09E667F3BCD01633FDBB67AE8584CAA"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FD6A09E667F3BCD016103666F6F3FD00000000000000162036261723FE0000000000000016203666F6F3FDBB67AE8584CAA0163036261723FE3988E1409212E016303666F6F3FE1E3779B97F4A8"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE1E3779B97F4A8016103626172016A3FE3988E1409212E016103626172016B3FE52A7FA9D2F8EA016103626172016C3FE6A09E667F3BCD016103666F6F01693FD0000000000000016103666F6F016A3FD6A09E667F3BCD016103666F6F016B3FDBB67AE8584CAA016103666F6F016C3FE000000000000001620362617201693FECD82B446159F3016203626172016A3FEDEEEA11683F49016203626172016B3FEEFBDEB14F4EDA016203626172016C3FF0000000000000016203666F6F01693FE8000000000000016203666F6F016A3FE94C583ADA5B53016203666F6F016B3FEA887293FD6F34016203666F6F016C3FEBB67AE8584CAA01630362617201693FF2548EB9151E85016303626172016A3FF2C2FC595456A7016303626172016B3FF32EEE75770416016303626172016C3FF3988E1409212E016303666F6F01693FF07E0F66AFED07016303666F6F016A3FF0F876CCDF6CD9016303666F6F016B3FF16F8334644DF9016303666F6F016C3FF1E3779B97F4A8"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F0F1BBD016103626172016A3F1CC471016103626172016B3F2953FD016103626172016C3F3504F3016103666F6F01693E800000016103666F6F016A3EB504F3016103666F6F016B3EDDB3D7016103666F6F016C3F00000001620362617201693F66C15A016203626172016A3F6F7751016203626172016B3F77DEF6016203626172016C3F800000016203666F6F01693F400000016203666F6F016A3F4A62C2016203666F6F016B3F544395016203666F6F016C3F5DB3D701630362617201693F92A476016303626172016A3F9617E3016303626172016B3F997774016303626172016C3F9CC471016303666F6F01693F83F07B016303666F6F016A3F87C3B6016303666F6F016B3F8B7C1A016303666F6F016C3F8F1BBD"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE6A09E667F3BCD3FE80000000000003FE94C583ADA5B533FEA887293FD6F343FEBB67AE8584CAA3FECD82B446159F33FEDEEEA11683F493FF2C2FC595456A73FF32EEE757704163FF3988E1409212E3FF40000000000003FF465655F122FF63FF4C8DC2E4239803FF52A7FA9D2F8EA3FF80000000000003FF854BFB363DC393FF8A85C24F706593FF8FAE0C15AD38A3FF94C583ADA5B533FF99CCC999FFF003FF9EC474A26126403666F6F3FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA3FE00000000000003FE1E3779B97F4A83FE3988E1409212E3FE52A7FA9D2F8EA3FEEFBDEB14F4EDA3FF00000000000003FF07E0F66AFED073FF0F876CCDF6CD93FF16F8334644DF93FF1E3779B97F4A83FF2548EB9151E853FF58A68A4A8D9F33FF5E8ADD236A58F3FF645640568C1C33FF6A09E667F3BCD3FF6FA6EA162D0F03FF752E50DB3A3A23FF7AA10D193C22D"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FD00000000000003FE1E3779B97F4A83FE80000000000003FECD82B446159F33FF07E0F66AFED070161016A3FD6A09E667F3BCD3FE3988E1409212E3FE94C583ADA5B533FEDEEEA11683F493FF0F876CCDF6CD90161016B3FDBB67AE8584CAA3FE52A7FA9D2F8EA3FEA887293FD6F343FEEFBDEB14F4EDA3FF16F8334644DF90161016C3FE00000000000003FE6A09E667F3BCD3FEBB67AE8584CAA3FF00000000000003FF1E3779B97F4A8016201693FF2548EB9151E853FF40000000000003FF58A68A4A8D9F33FF6FA6EA162D0F03FF854BFB363DC390162016A3FF2C2FC595456A73FF465655F122FF63FF5E8ADD236A58F3FF752E50DB3A3A23FF8A85C24F706590162016B3FF32EEE757704163FF4C8DC2E4239803FF645640568C1C33FF7AA10D193C22D3FF8FAE0C15AD38A0162016C3FF3988E1409212E3FF52A7FA9D2F8EA3FF6A09E667F3BCD3FF80000000000003FF94C583ADA5B53016301693FF99CCC999FFF003FFAD5336963EEFC3FFC0000000000003FFD1ED52076FBE93FFE3307CC56CF5C0163016A3FF9EC474A2612643FFB211B1C70D0233FFC48C6001F0AC03FFD64D51E0DB1C63FFE768D399DC4700163016B3FFA3AD12A1DA1603FFB6C30B83593E63FFC90D29D2D43CE3FFDAA2FEFAAE1D83FFEB97E455B9EDB0163016C3FFA887293FD6F343FFBB67AE8584CAA3FFCD82B446159F33FFDEEEA11683F493FFEFBDEB14F4EDA"}}
+{"expression":"sqrt(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693E8000003F0F1BBD3F4000003F66C15A3F83F07B0161016A3EB504F33F1CC4713F4A62C23F6F77513F87C3B60161016B3EDDB3D73F2953FD3F5443953F77DEF63F8B7C1A0161016C3F0000003F3504F33F5DB3D73F8000003F8F1BBD016201693F92A4763FA000003FAC53453FB7D3753FC2A5FE0162016A3F9617E33FA32B2B3FAF456F3FBA97283FC542E10162016B3F9977743FA646E13FB22B203FBD50873FC7D7060162016C3F9CC4713FA953FD3FB504F33FC000003FCA62C2016301693FCCE6653FD6A99B3FE000003FE8F6A93FF1983E0163016A3FCF623A3FD908D93FE246303FEB26A93FF3B46A0163016B3FD1D6893FDB61863FE486953FED517F3FF5CBF20163016C3FD443953FDDB3D73FE6C15A3FEF77513FF7DEF6"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FD0000000000000"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA3FE00000000000003FE1E3779B97F4A83FE3988E1409212E3FE52A7FA9D2F8EA3FE6A09E667F3BCD3FE80000000000003FE94C583ADA5B533FEA887293FD6F343FEBB67AE8584CAA3FECD82B446159F33FEDEEEA11683F493FEEFBDEB14F4EDA"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA3FE00000000000003FE1E3779B97F4A83FE3988E1409212E3FE52A7FA9D2F8EA3FE6A09E667F3BCD3FE80000000000003FE94C583ADA5B533FEA887293FD6F343FEBB67AE8584CAA3FECD82B446159F33FEDEEEA11683F493FEEFBDEB14F4EDA3FF00000000000003FF07E0F66AFED073FF0F876CCDF6CD93FF16F8334644DF93FF1E3779B97F4A83FF2548EB9151E853FF2C2FC595456A73FF32EEE757704163FF3988E1409212E3FF40000000000003FF465655F122FF63FF4C8DC2E4239803FF52A7FA9D2F8EA3FF58A68A4A8D9F33FF5E8ADD236A58F3FF645640568C1C33FF6A09E667F3BCD3FF6FA6EA162D0F03FF752E50DB3A3A23FF7AA10D193C22D3FF80000000000003FF854BFB363DC393FF8A85C24F706593FF8FAE0C15AD38A3FF94C583ADA5B533FF99CCC999FFF003FF9EC474A2612643FFA3AD12A1DA1603FFA887293FD6F343FFAD5336963EEFC3FFB211B1C70D0233FFB6C30B83593E63FFBB67AE8584CAA3FFC0000000000003FFC48C6001F0AC03FFC90D29D2D43CE3FFCD82B446159F33FFD1ED52076FBE93FFD64D51E0DB1C63FFDAA2FEFAAE1D83FFDEEEA11683F493FFE3307CC56CF5C3FFE768D399DC4703FFEB97E455B9EDB3FFEFBDEB14F4EDA3FFF3DB2174E74683FFF7EFBEB8D4F123FFFBFBF7EBC755F400000000000000040001FE03F61BAD040003F81F636B80C40005EE68EFAD48B40007E0F66AFED0740009CFDCD8ED0094000BBB307ACAFDB4000DA304D95FB064000F876CCDF6CD940011687A8AE14A340013463FA37014E4001520CD1372FEB40016F8334644DF940018CC821D6D3E34001A9DC8F6DF1044001C6C16B2DB8704001E3779B97F4A8400200000000000040021C5B70D9F8244002388AC0059C284002548EB9151E854002706821902E9A40028C17B93378344002A79E3A2CD2E64002C2FC595456A74002DE32C66287414002F9422C23C47E4003142B30A929AB40032EEE757704164003498C97B10540400364063044530640037E5BD40F95A14003988E1409212E4003B29D7D6356624003CC8A99AF54534003E655EEFE13674004000000000000400419894C2329F0400432F24FB01C7A40044C3B83E57153400465655F122FF640047E7054AF0989"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073E8000003EB504F33EDDB3D73F0000003F0F1BBD3F1CC4713F2953FD3F3504F33F4000003F4A62C23F5443953F5DB3D73F66C15A3F6F77513F77DEF63F8000003F83F07B3F87C3B63F8B7C1A3F8F1BBD3F92A4763F9617E33F9977743F9CC4713FA000003FA32B2B3FA646E13FA953FD3FAC53453FAF456F3FB22B203FB504F33FB7D3753FBA97283FBD50873FC000003FC2A5FE3FC542E13FC7D7063FCA62C23FCCE6653FCF623A3FD1D6893FD443953FD6A99B3FD908D93FDB61863FDDB3D73FE000003FE246303FE486953FE6C15A3FE8F6A93FEB26A93FED517F3FEF77513FF1983E3FF3B46A3FF5CBF23FF7DEF63FF9ED913FFBF7DF3FFDFDFC400000004000FF024001FC104002F7344003F07B4004E7EE4005DD984006D1824007C3B64008B43D4009A320400A9067400B7C1A400C6641400D4EE4400E360B400F1BBD401000004010E2DC4011C4564012A47640138341401460BE40153CF2401617E34016F1964017CA114018A15A40197774401A4C65401B2032401BF2DF401CC471401D94EC401E6455401F32AF402000004020CC4A40219792402261DC40232B2B4023F383"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FD000000000000001623FD6A09E667F3BCD01633FDBB67AE8584CAA"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FD6A09E667F3BCD016103666F6F3FD00000000000000162036261723FE0000000000000016203666F6F3FDBB67AE8584CAA0163036261723FE3988E1409212E016303666F6F3FE1E3779B97F4A8"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FE1E3779B97F4A8016103626172016A3FE3988E1409212E016103626172016B3FE52A7FA9D2F8EA016103626172016C3FE6A09E667F3BCD016103666F6F01693FD0000000000000016103666F6F016A3FD6A09E667F3BCD016103666F6F016B3FDBB67AE8584CAA016103666F6F016C3FE000000000000001620362617201693FECD82B446159F3016203626172016A3FEDEEEA11683F49016203626172016B3FEEFBDEB14F4EDA016203626172016C3FF0000000000000016203666F6F01693FE8000000000000016203666F6F016A3FE94C583ADA5B53016203666F6F016B3FEA887293FD6F34016203666F6F016C3FEBB67AE8584CAA01630362617201693FF2548EB9151E85016303626172016A3FF2C2FC595456A7016303626172016B3FF32EEE75770416016303626172016C3FF3988E1409212E016303666F6F01693FF07E0F66AFED07016303666F6F016A3FF0F876CCDF6CD9016303666F6F016B3FF16F8334644DF9016303666F6F016C3FF1E3779B97F4A8"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F0F1BBD016103626172016A3F1CC471016103626172016B3F2953FD016103626172016C3F3504F3016103666F6F01693E800000016103666F6F016A3EB504F3016103666F6F016B3EDDB3D7016103666F6F016C3F00000001620362617201693F66C15A016203626172016A3F6F7751016203626172016B3F77DEF6016203626172016C3F800000016203666F6F01693F400000016203666F6F016A3F4A62C2016203666F6F016B3F544395016203666F6F016C3F5DB3D701630362617201693F92A476016303626172016A3F9617E3016303626172016B3F997774016303626172016C3F9CC471016303666F6F01693F83F07B016303666F6F016A3F87C3B6016303666F6F016B3F8B7C1A016303666F6F016C3F8F1BBD"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE6A09E667F3BCD3FE80000000000003FE94C583ADA5B533FEA887293FD6F343FEBB67AE8584CAA3FECD82B446159F33FEDEEEA11683F493FF2C2FC595456A73FF32EEE757704163FF3988E1409212E3FF40000000000003FF465655F122FF63FF4C8DC2E4239803FF52A7FA9D2F8EA3FF80000000000003FF854BFB363DC393FF8A85C24F706593FF8FAE0C15AD38A3FF94C583ADA5B533FF99CCC999FFF003FF9EC474A26126403666F6F3FD00000000000003FD6A09E667F3BCD3FDBB67AE8584CAA3FE00000000000003FE1E3779B97F4A83FE3988E1409212E3FE52A7FA9D2F8EA3FEEFBDEB14F4EDA3FF00000000000003FF07E0F66AFED073FF0F876CCDF6CD93FF16F8334644DF93FF1E3779B97F4A83FF2548EB9151E853FF58A68A4A8D9F33FF5E8ADD236A58F3FF645640568C1C33FF6A09E667F3BCD3FF6FA6EA162D0F03FF752E50DB3A3A23FF7AA10D193C22D"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FD00000000000003FE1E3779B97F4A83FE80000000000003FECD82B446159F33FF07E0F66AFED070161016A3FD6A09E667F3BCD3FE3988E1409212E3FE94C583ADA5B533FEDEEEA11683F493FF0F876CCDF6CD90161016B3FDBB67AE8584CAA3FE52A7FA9D2F8EA3FEA887293FD6F343FEEFBDEB14F4EDA3FF16F8334644DF90161016C3FE00000000000003FE6A09E667F3BCD3FEBB67AE8584CAA3FF00000000000003FF1E3779B97F4A8016201693FF2548EB9151E853FF40000000000003FF58A68A4A8D9F33FF6FA6EA162D0F03FF854BFB363DC390162016A3FF2C2FC595456A73FF465655F122FF63FF5E8ADD236A58F3FF752E50DB3A3A23FF8A85C24F706590162016B3FF32EEE757704163FF4C8DC2E4239803FF645640568C1C33FF7AA10D193C22D3FF8FAE0C15AD38A0162016C3FF3988E1409212E3FF52A7FA9D2F8EA3FF6A09E667F3BCD3FF80000000000003FF94C583ADA5B53016301693FF99CCC999FFF003FFAD5336963EEFC3FFC0000000000003FFD1ED52076FBE93FFE3307CC56CF5C0163016A3FF9EC474A2612643FFB211B1C70D0233FFC48C6001F0AC03FFD64D51E0DB1C63FFE768D399DC4700163016B3FFA3AD12A1DA1603FFB6C30B83593E63FFC90D29D2D43CE3FFDAA2FEFAAE1D83FFEB97E455B9EDB0163016C3FFA887293FD6F343FFBB67AE8584CAA3FFCD82B446159F33FFDEEEA11683F493FFEFBDEB14F4EDA"}}
+{"expression":"map(a,f(a)(sqrt(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693E8000003F0F1BBD3F4000003F66C15A3F83F07B0161016A3EB504F33F1CC4713F4A62C23F6F77513F87C3B60161016B3EDDB3D73F2953FD3F5443953F77DEF63F8B7C1A0161016C3F0000003F3504F33F5DB3D73F8000003F8F1BBD016201693F92A4763FA000003FAC53453FB7D3753FC2A5FE0162016A3F9617E33FA32B2B3FAF456F3FBA97283FC542E10162016B3F9977743FA646E13FB22B203FBD50873FC7D7060162016C3F9CC4713FA953FD3FB504F33FC000003FCA62C2016301693FCCE6653FD6A99B3FE000003FE8F6A93FF1983E0163016A3FCF623A3FD908D93FE246303FEB26A93FF3B46A0163016B3FD1D6893FDB61863FE486953FED517F3FF5CBF20163016C3FD443953FDDB3D73FE6C15A3FEF77513FF7DEF6"}}
+{"expression":"ceil(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E00000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201694000000000000000016303626172016A4000000000000000016303626172016B4000000000000000016303626172016C4000000000000000016303666F6F01694000000000000000016303666F6F016A4000000000000000016303666F6F016B4000000000000000016303666F6F016C4000000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F01693F800000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F80000001620362617201693F800000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C3F800000016303626172016940000000016303626172016A40000000016303626172016B40000000016303626172016C40000000016303666F6F016940000000016303666F6F016A40000000016303666F6F016B40000000016303666F6F016C40000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000001620169400000000000000040000000000000004000000000000000400800000000000040080000000000000162016A400000000000000040000000000000004000000000000000400800000000000040080000000000000162016B400000000000000040000000000000004000000000000000400800000000000040080000000000000162016C4000000000000000400000000000000040000000000000004008000000000000400800000000000001630169400800000000000040080000000000004010000000000000401000000000000040100000000000000163016A400800000000000040080000000000004010000000000000401000000000000040100000000000000163016B400800000000000040080000000000004010000000000000401000000000000040100000000000000163016C40080000000000004008000000000000401000000000000040100000000000004010000000000000"}}
+{"expression":"ceil(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003F8000003F8000003F800000400000000161016A3F8000003F8000003F8000003F800000400000000161016B3F8000003F8000003F8000003F800000400000000161016C3F8000003F8000003F8000003F800000400000000162016940000000400000004000000040400000404000000162016A40000000400000004000000040400000404000000162016B40000000400000004000000040400000404000000162016C40000000400000004000000040400000404000000163016940400000404000004080000040800000408000000163016A40400000404000004080000040800000408000000163016B40400000404000004080000040800000408000000163016C4040000040400000408000004080000040800000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000401C000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E0000040E00000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201694000000000000000016303626172016A4000000000000000016303626172016B4000000000000000016303626172016C4000000000000000016303666F6F01694000000000000000016303666F6F016A4000000000000000016303666F6F016B4000000000000000016303666F6F016C4000000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F01693F800000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F80000001620362617201693F800000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C3F800000016303626172016940000000016303626172016A40000000016303626172016B40000000016303626172016C40000000016303666F6F016940000000016303666F6F016A40000000016303666F6F016B40000000016303666F6F016C40000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400800000000000040080000000000004008000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000001620169400000000000000040000000000000004000000000000000400800000000000040080000000000000162016A400000000000000040000000000000004000000000000000400800000000000040080000000000000162016B400000000000000040000000000000004000000000000000400800000000000040080000000000000162016C4000000000000000400000000000000040000000000000004008000000000000400800000000000001630169400800000000000040080000000000004010000000000000401000000000000040100000000000000163016A400800000000000040080000000000004010000000000000401000000000000040100000000000000163016B400800000000000040080000000000004010000000000000401000000000000040100000000000000163016C40080000000000004008000000000000401000000000000040100000000000004010000000000000"}}
+{"expression":"map(a,f(a)(ceil(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003F8000003F8000003F800000400000000161016A3F8000003F8000003F8000003F800000400000000161016B3F8000003F8000003F8000003F800000400000000161016C3F8000003F8000003F8000003F800000400000000162016940000000400000004000000040400000404000000162016A40000000400000004000000040400000404000000162016B40000000400000004000000040400000404000000162016C40000000400000004000000040400000404000000163016940400000404000004080000040800000408000000163016A40400000404000004080000040800000408000000163016B40400000404000004080000040800000408000000163016C4040000040400000408000004080000040800000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"}}
+{"expression":"fabs(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"}}
+{"expression":"map(a,f(a)(fabs(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"}}
+{"expression":"floor(a)","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C00000"}}
+{"expression":"floor(a)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201693FF0000000000000016303626172016A3FF0000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C3FF0000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C00000000016203626172016900000000016203626172016A00000000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C0000000001630362617201693F800000016303626172016A3F800000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F800000016303666F6F016A3F800000016303666F6F016B3F800000016303666F6F016C3F800000"}}
+{"expression":"floor(a)","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000003666F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000004000000000000000400000000000000040000000000000004000000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000161016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000161016B00000000000000000000000000000000000000000000000000000000000000003FF00000000000000161016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000162016A3FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000162016B3FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000162016C3FF00000000000003FF000000000000040000000000000004000000000000000400000000000000001630169400000000000000040000000000000004008000000000000400800000000000040080000000000000163016A400000000000000040000000000000004008000000000000400800000000000040080000000000000163016B400000000000000040000000000000004008000000000000400800000000000040080000000000000163016C40000000000000004008000000000000400800000000000040080000000000004008000000000000"}}
+{"expression":"floor(a)","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C01610169000000000000000000000000000000003F8000000161016A000000000000000000000000000000003F8000000161016B000000000000000000000000000000003F8000000161016C0000000000000000000000003F8000003F800000016201693F8000003F8000003F80000040000000400000000162016A3F8000003F8000003F80000040000000400000000162016B3F8000003F8000003F80000040000000400000000162016C3F8000003F8000004000000040000000400000000163016940000000400000004040000040400000404000000163016A40000000400000004040000040400000404000000163016B40000000400000004040000040400000404000000163016C4000000040400000404000004040000040400000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000400800000000000040080000000000004008000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004014000000000000401400000000000040140000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000401800000000000040180000000000004018000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000400000004000000040000000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004040000040400000404000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040800000408000004080000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040A0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C0000040C00000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201693FF0000000000000016303626172016A3FF0000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B3FF0000000000000016303666F6F016C3FF0000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C00000000016203626172016900000000016203626172016A00000000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C0000000001630362617201693F800000016303626172016A3F800000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F800000016303666F6F016A3F800000016303666F6F016B3F800000016303666F6F016C3F800000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000004000000000000000400000000000000040000000000000004000000000000000400000000000000003666F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000004000000000000000400000000000000040000000000000004000000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000161016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000161016B00000000000000000000000000000000000000000000000000000000000000003FF00000000000000161016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000162016A3FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000162016B3FF00000000000003FF00000000000003FF0000000000000400000000000000040000000000000000162016C3FF00000000000003FF000000000000040000000000000004000000000000000400000000000000001630169400000000000000040000000000000004008000000000000400800000000000040080000000000000163016A400000000000000040000000000000004008000000000000400800000000000040080000000000000163016B400000000000000040000000000000004008000000000000400800000000000040080000000000000163016C40000000000000004008000000000000400800000000000040080000000000004008000000000000"}}
+{"expression":"map(a,f(a)(floor(a)))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C01610169000000000000000000000000000000003F8000000161016A000000000000000000000000000000003F8000000161016B000000000000000000000000000000003F8000000161016C0000000000000000000000003F8000003F800000016201693F8000003F8000003F80000040000000400000000162016A3F8000003F8000003F80000040000000400000000162016B3F8000003F8000003F80000040000000400000000162016C3F8000003F8000004000000040000000400000000163016940000000400000004040000040400000404000000163016A40000000400000004040000040400000404000000163016B40000000400000004040000040400000404000000163016C4000000040400000404000004040000040400000"}}
{"expression":"isNan(a)","inputs":{"a":"0x02007FF8000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x02010178037FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02010178033FF000000000000000000000000000000000000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x02020178030179057FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02020178030179053FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x0203017803017905017A077FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A073FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"isNan(a)","inputs":{"a":"0x060103017803017905017A077FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F800000"},"result":{"expect":"0x060103017803017905017A073F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F8000000000000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x010101780301617FF800000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x010101780301613FF00000000000000162000000000000000001630000000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x010201780179060161036261723FF0000000000000016103666F6F7FF80000000000000162036261727FF8000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B7FF8000000000000016103626172016C3FF0000000000000016103666F6F01697FF8000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C7FF800000000000001620362617201697FF8000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C7FF8000000000000016203666F6F01693FF0000000000000016203666F6F016A7FF8000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201693FF0000000000000016303626172016A7FF8000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B7FF8000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B3FF0000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A3FF0000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B3FF0000000000000016303666F6F016C0000000000000000"}}
+{"expression":"isNan(a)","inputs":{"a":"0x05010301780179017A1801610362617201693F800000016103626172016A3F800000016103626172016B7FC00000016103626172016C3F800000016103666F6F01697FC00000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C7FC0000001620362617201697FC00000016203626172016A3F800000016203626172016B3F800000016203626172016C7FC00000016203666F6F01693F800000016203666F6F016A7FC00000016203666F6F016B3F800000016203666F6F016C3F80000001630362617201693F800000016303626172016A7FC00000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F800000016303666F6F016A3F800000016303666F6F016B7FC00000016303666F6F016C3F800000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B3F800000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C3F80000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A3F800000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A3F800000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B3F800000016303666F6F016C00000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF000000000000003666F6F7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF0000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000"}}
{"expression":"isNan(a)","inputs":{"a":"0x03020178017A010179050C016101697FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000000161016A3FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000000161016B3FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000000161016C7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF0000000000000016201693FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000000162016A7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000000162016B3FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000000162016C3FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF8000000000000016301693FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000000163016A3FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000000163016B7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000000163016C3FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000161016A000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016B00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016C3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016C00000000000000003FF0000000000000000000000000000000000000000000003FF000000000000001630169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"isNan(a)","inputs":{"a":"0x0701020178017A010179050C016101697FC000003F8000003F8000007FC000003F8000000161016A3F8000003F8000007FC000003F8000003F8000000161016B3F8000007FC000003F8000003F8000007FC000000161016C7FC000003F8000003F8000007FC000003F800000016201693F8000007FC000003F8000003F8000007FC000000162016A7FC000003F8000003F8000007FC000003F8000000162016B3F8000003F8000007FC000003F8000003F8000000162016C3F8000007FC000003F8000003F8000007FC00000016301693F8000003F8000007FC000003F8000003F8000000163016A3F8000007FC000003F8000003F8000007FC000000163016B7FC000003F8000003F8000007FC000003F8000000163016C3F8000003F8000007FC000003F8000003F800000"},"result":{"expect":"0x0701020178017A010179050C016101693F80000000000000000000003F800000000000000161016A00000000000000003F80000000000000000000000161016B000000003F80000000000000000000003F8000000161016C3F80000000000000000000003F8000000000000001620169000000003F80000000000000000000003F8000000162016A3F80000000000000000000003F800000000000000162016B00000000000000003F80000000000000000000000162016C000000003F80000000000000000000003F8000000163016900000000000000003F80000000000000000000000163016A000000003F80000000000000000000003F8000000163016B3F80000000000000000000003F800000000000000163016C00000000000000003F8000000000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x02007FF8000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x02010178037FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02010178033FF000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x02020178030179057FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x02020178030179053FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x0203017803017905017A077FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A073FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x060103017803017905017A077FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F8000007FC000003F8000003F800000"},"result":{"expect":"0x060103017803017905017A073F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F80000000000000000000003F8000000000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x010101780301617FF800000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x010101780301613FF00000000000000162000000000000000001630000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x010201780179060161036261723FF0000000000000016103666F6F7FF80000000000000162036261727FF8000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B7FF8000000000000016103626172016C3FF0000000000000016103666F6F01697FF8000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C7FF800000000000001620362617201697FF8000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C7FF8000000000000016203666F6F01693FF0000000000000016203666F6F016A7FF8000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF000000000000001630362617201693FF0000000000000016303626172016A7FF8000000000000016303626172016B3FF0000000000000016303626172016C3FF0000000000000016303666F6F01693FF0000000000000016303666F6F016A3FF0000000000000016303666F6F016B7FF8000000000000016303666F6F016C3FF0000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B3FF0000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A3FF0000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B3FF0000000000000016303666F6F016C0000000000000000"}}
+{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x05010301780179017A1801610362617201693F800000016103626172016A3F800000016103626172016B7FC00000016103626172016C3F800000016103666F6F01697FC00000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C7FC0000001620362617201697FC00000016203626172016A3F800000016203626172016B3F800000016203626172016C7FC00000016203666F6F01693F800000016203666F6F016A7FC00000016203666F6F016B3F800000016203666F6F016C3F80000001630362617201693F800000016303626172016A7FC00000016303626172016B3F800000016303626172016C3F800000016303666F6F01693F800000016303666F6F016A3F800000016303666F6F016B7FC00000016303666F6F016C3F800000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B3F800000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C3F80000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A3F800000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A3F800000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B3F800000016303666F6F016C00000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF000000000000003666F6F7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF0000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000"}}
{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x03020178017A010179050C016101697FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000000161016A3FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000000161016B3FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000000161016C7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF0000000000000016201693FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000000162016A7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000000162016B3FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000000162016C3FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF8000000000000016301693FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF00000000000000163016A3FF00000000000007FF80000000000003FF00000000000003FF00000000000007FF80000000000000163016B7FF80000000000003FF00000000000003FF00000000000007FF80000000000003FF00000000000000163016C3FF00000000000003FF00000000000007FF80000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000161016A000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016B00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016C3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016C00000000000000003FF0000000000000000000000000000000000000000000003FF000000000000001630169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x0202017803017905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B0000000000000000016303666F6F016C0000000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"}}
-{"expression":"relu(a)","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x0202017803017905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B0000000000000000016303666F6F016C0000000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"}}
-{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x02003FC0A764FD2927E7"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x02010178033FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x02020178030179053FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E3FC5806BEB16EB7F3FC759B8355A1BB03FC95209D0A1A2DE3FCB69C25FE3C6883FCDA0FADA5A66093FCFF77A137CDBF93FD136561454BA863FD27FCDA8478FA33FD3D775461EDE953FD53C695ABCD7153FD6AD912C1375833FD829A0565978DE"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A073FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E3FC5806BEB16EB7F3FC759B8355A1BB03FC95209D0A1A2DE3FCB69C25FE3C6883FCDA0FADA5A66093FCFF77A137CDBF93FD136561454BA863FD27FCDA8478FA33FD3D775461EDE953FD53C695ABCD7153FD6AD912C1375833FD829A0565978DE3FD9AF19F3D3169C3FDB3C5574372AEB3FDCCF8510D417DA3FDE66BDB1ACA0903FE00000000000003FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8A3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667F3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9C3FEDFC1F4CE6E8223FEE2A667D67D08C3FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FB3FEF0FDFCBF19A933FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF3FEF925599378CD23FEF9CA4D40C82163FEFA5FEB616FE8F3FEFAE798F0E40823FEFB629BE21D26E3FEFBD21D8FB11A83FEFC372D07518CD3FEFC92C130538E23FEFCE5BACD8BFA43FEFD30E65B4D32F3FEFD74FDCAB1CF83FEFDB2AA1BA3C6B3FEFDEA84D73D7203FEFE1D196C3E1BA3FEFE4AE66F5A36A3FEFE745EC1330753FEFE99EA9BBCE223FEFEBBE888D05813FEFEDAAE43934F83FEFEF68986548923FEFF0FC0C65F7393FEFF2693DF385C93FEFF3B3CAE9A9D03FEFF4DEFA27BE023FEFF5EDC3A4177B3FEFF6E2D7C3F19D3FEFF7C0A60819EE3FEFF889631D483C3FEFF93F0E5DE28B3FEFF9E376D1D14B3FEFFA783FB7FEAC3FEFFAFEE4A424463FEFFB78BD3AA3B93FEFFBE7009351453FEFFC4AC84B51D53FEFFCA5134D77C33FEFFCF6C857E1CB3FEFFD40B84505A23FEFFD83A01DC2373FEFFDC02AF994433FEFFDF6F3B191333FEFFE28866A604D3FEFFE5561F90733"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x010101780301613FC0A764FD2927E701623FC2282CFA533F4601633FC3C5848EF36C9E"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x010201780179060161036261723FC2282CFA533F46016103666F6F3FC0A764FD2927E70162036261723FC5806BEB16EB7F016203666F6F3FC3C5848EF36C9E0163036261723FC95209D0A1A2DE016303666F6F3FC759B8355A1BB0"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FC759B8355A1BB0016103626172016A3FC95209D0A1A2DE016103626172016B3FCB69C25FE3C688016103626172016C3FCDA0FADA5A6609016103666F6F01693FC0A764FD2927E7016103666F6F016A3FC2282CFA533F46016103666F6F016B3FC3C5848EF36C9E016103666F6F016C3FC5806BEB16EB7F01620362617201693FD53C695ABCD715016203626172016A3FD6AD912C137583016203626172016B3FD829A0565978DE016203626172016C3FD9AF19F3D3169C016203666F6F01693FCFF77A137CDBF9016203666F6F016A3FD136561454BA86016203666F6F016B3FD27FCDA8478FA3016203666F6F016C3FD3D775461EDE9501630362617201693FE0CCA12729AFB8016303626172016A3FE1983D7795F414016303626172016B3FE261D545E46A8A016303626172016C3FE32873061674B2016303666F6F01693FDB3C5574372AEB016303666F6F016A3FDCCF8510D417DA016303666F6F016B3FDE66BDB1ACA090016303666F6F016C3FE0000000000000"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FCDA0FADA5A66093FCFF77A137CDBF93FD136561454BA863FD27FCDA8478FA33FD3D775461EDE953FD53C695ABCD7153FD6AD912C1375833FE1983D7795F4143FE261D545E46A8A3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF120203666F6F3FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E3FC5806BEB16EB7F3FC759B8355A1BB03FC95209D0A1A2DE3FCB69C25FE3C6883FD829A0565978DE3FD9AF19F3D3169C3FDB3C5574372AEB3FDCCF8510D417DA3FDE66BDB1ACA0903FE00000000000003FE0CCA12729AFB83FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667F3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A97914"}}
-{"expression":"sigmoid(a)","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC0A764FD2927E73FC759B8355A1BB03FCFF77A137CDBF93FD53C695ABCD7153FDB3C5574372AEB0161016A3FC2282CFA533F463FC95209D0A1A2DE3FD136561454BA863FD6AD912C1375833FDCCF8510D417DA0161016B3FC3C5848EF36C9E3FCB69C25FE3C6883FD27FCDA8478FA33FD829A0565978DE3FDE66BDB1ACA0900161016C3FC5806BEB16EB7F3FCDA0FADA5A66093FD3D775461EDE953FD9AF19F3D3169C3FE0000000000000016201693FE0CCA12729AFB83FE3EB2FD4D343913FE6C0192BDC382E3FE9258F68070E5E3FEB0E9EDC4324D80162016A3FE1983D7795F4143FE4A93769F6453E3FE764D4F5D5A2BD3FE9AB7D8BD797483FEB75F4C16B302F0162016B3FE261D545E46A8A3FE561CB52A194763FE802217B20C9023FEA2991F2A979143FEBD626C0B5B6060162016C3FE32873061674B23FE614455CF090B63FE897C14969667F3FEA9FE5053A45203FEC2F7D5A8A79C9016301693FEC8247621BC0C83FED9291DDB596F83FEE54C20D06AA953FEEDC99CF2C9D4D3FEF3A59F801F5820163016A3FECCED80FEF12023FEDC99E39374D9C3FEE7B7CBC36FABD3FEEF76F8069F3FB3FEF4CBFA61DE6A30163016B3FED15854CD0D92B3FEDFC1F4CE6E8223FEE9EDD88B9D8AF3FEF0FDFCBF19A933FEF5D77DCF758080163016C3FED56A636946E583FEE2A667D67D08C3FEEBF2786AED6983FEF261E0FCD4B463FEF6CA82F0DE1EA"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x02003FC0A764FD2927E7"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x02010178033FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x02020178030179053FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E3FC5806BEB16EB7F3FC759B8355A1BB03FC95209D0A1A2DE3FCB69C25FE3C6883FCDA0FADA5A66093FCFF77A137CDBF93FD136561454BA863FD27FCDA8478FA33FD3D775461EDE953FD53C695ABCD7153FD6AD912C1375833FD829A0565978DE"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A073FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E3FC5806BEB16EB7F3FC759B8355A1BB03FC95209D0A1A2DE3FCB69C25FE3C6883FCDA0FADA5A66093FCFF77A137CDBF93FD136561454BA863FD27FCDA8478FA33FD3D775461EDE953FD53C695ABCD7153FD6AD912C1375833FD829A0565978DE3FD9AF19F3D3169C3FDB3C5574372AEB3FDCCF8510D417DA3FDE66BDB1ACA0903FE00000000000003FE0CCA12729AFB83FE1983D7795F4143FE261D545E46A8A3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667F3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A979143FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF12023FED15854CD0D92B3FED56A636946E583FED9291DDB596F83FEDC99E39374D9C3FEDFC1F4CE6E8223FEE2A667D67D08C3FEE54C20D06AA953FEE7B7CBC36FABD3FEE9EDD88B9D8AF3FEEBF2786AED6983FEEDC99CF2C9D4D3FEEF76F8069F3FB3FEF0FDFCBF19A933FEF261E0FCD4B463FEF3A59F801F5823FEF4CBFA61DE6A33FEF5D77DCF758083FEF6CA82F0DE1EA3FEF7A732E4B69463FEF86F89C2183AF3FEF925599378CD23FEF9CA4D40C82163FEFA5FEB616FE8F3FEFAE798F0E40823FEFB629BE21D26E3FEFBD21D8FB11A83FEFC372D07518CD3FEFC92C130538E23FEFCE5BACD8BFA43FEFD30E65B4D32F3FEFD74FDCAB1CF83FEFDB2AA1BA3C6B3FEFDEA84D73D7203FEFE1D196C3E1BA3FEFE4AE66F5A36A3FEFE745EC1330753FEFE99EA9BBCE223FEFEBBE888D05813FEFEDAAE43934F83FEFEF68986548923FEFF0FC0C65F7393FEFF2693DF385C93FEFF3B3CAE9A9D03FEFF4DEFA27BE023FEFF5EDC3A4177B3FEFF6E2D7C3F19D3FEFF7C0A60819EE3FEFF889631D483C3FEFF93F0E5DE28B3FEFF9E376D1D14B3FEFFA783FB7FEAC3FEFFAFEE4A424463FEFFB78BD3AA3B93FEFFBE7009351453FEFFC4AC84B51D53FEFFCA5134D77C33FEFFCF6C857E1CB3FEFFD40B84505A23FEFFD83A01DC2373FEFFDC02AF994433FEFFDF6F3B191333FEFFE28866A604D3FEFFE5561F90733"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x010101780301613FC0A764FD2927E701623FC2282CFA533F4601633FC3C5848EF36C9E"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x010201780179060161036261723FC2282CFA533F46016103666F6F3FC0A764FD2927E70162036261723FC5806BEB16EB7F016203666F6F3FC3C5848EF36C9E0163036261723FC95209D0A1A2DE016303666F6F3FC759B8355A1BB0"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FC759B8355A1BB0016103626172016A3FC95209D0A1A2DE016103626172016B3FCB69C25FE3C688016103626172016C3FCDA0FADA5A6609016103666F6F01693FC0A764FD2927E7016103666F6F016A3FC2282CFA533F46016103666F6F016B3FC3C5848EF36C9E016103666F6F016C3FC5806BEB16EB7F01620362617201693FD53C695ABCD715016203626172016A3FD6AD912C137583016203626172016B3FD829A0565978DE016203626172016C3FD9AF19F3D3169C016203666F6F01693FCFF77A137CDBF9016203666F6F016A3FD136561454BA86016203666F6F016B3FD27FCDA8478FA3016203666F6F016C3FD3D775461EDE9501630362617201693FE0CCA12729AFB8016303626172016A3FE1983D7795F414016303626172016B3FE261D545E46A8A016303626172016C3FE32873061674B2016303666F6F01693FDB3C5574372AEB016303666F6F016A3FDCCF8510D417DA016303666F6F016B3FDE66BDB1ACA090016303666F6F016C3FE0000000000000"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FCDA0FADA5A66093FCFF77A137CDBF93FD136561454BA863FD27FCDA8478FA33FD3D775461EDE953FD53C695ABCD7153FD6AD912C1375833FE1983D7795F4143FE261D545E46A8A3FE32873061674B23FE3EB2FD4D343913FE4A93769F6453E3FE561CB52A194763FE614455CF090B63FEA9FE5053A45203FEB0E9EDC4324D83FEB75F4C16B302F3FEBD626C0B5B6063FEC2F7D5A8A79C93FEC8247621BC0C83FECCED80FEF120203666F6F3FC0A764FD2927E73FC2282CFA533F463FC3C5848EF36C9E3FC5806BEB16EB7F3FC759B8355A1BB03FC95209D0A1A2DE3FCB69C25FE3C6883FD829A0565978DE3FD9AF19F3D3169C3FDB3C5574372AEB3FDCCF8510D417DA3FDE66BDB1ACA0903FE00000000000003FE0CCA12729AFB83FE6C0192BDC382E3FE764D4F5D5A2BD3FE802217B20C9023FE897C14969667F3FE9258F68070E5E3FE9AB7D8BD797483FEA2991F2A97914"}}
-{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC0A764FD2927E73FC759B8355A1BB03FCFF77A137CDBF93FD53C695ABCD7153FDB3C5574372AEB0161016A3FC2282CFA533F463FC95209D0A1A2DE3FD136561454BA863FD6AD912C1375833FDCCF8510D417DA0161016B3FC3C5848EF36C9E3FCB69C25FE3C6883FD27FCDA8478FA33FD829A0565978DE3FDE66BDB1ACA0900161016C3FC5806BEB16EB7F3FCDA0FADA5A66093FD3D775461EDE953FD9AF19F3D3169C3FE0000000000000016201693FE0CCA12729AFB83FE3EB2FD4D343913FE6C0192BDC382E3FE9258F68070E5E3FEB0E9EDC4324D80162016A3FE1983D7795F4143FE4A93769F6453E3FE764D4F5D5A2BD3FE9AB7D8BD797483FEB75F4C16B302F0162016B3FE261D545E46A8A3FE561CB52A194763FE802217B20C9023FEA2991F2A979143FEBD626C0B5B6060162016C3FE32873061674B23FE614455CF090B63FE897C14969667F3FEA9FE5053A45203FEC2F7D5A8A79C9016301693FEC8247621BC0C83FED9291DDB596F83FEE54C20D06AA953FEEDC99CF2C9D4D3FEF3A59F801F5820163016A3FECCED80FEF12023FEDC99E39374D9C3FEE7B7CBC36FABD3FEEF76F8069F3FB3FEF4CBFA61DE6A30163016B3FED15854CD0D92B3FEDFC1F4CE6E8223FEE9EDD88B9D8AF3FEF0FDFCBF19A933FEF5D77DCF758080163016C3FED56A636946E583FEE2A667D67D08C3FEEBF2786AED6983FEF261E0FCD4B463FEF6CA82F0DE1EA"}}
-{"expression":"elu(a)","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x0200BFEB36BBDEFDC9FA"}}
-{"expression":"elu(a)","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x0201017803BFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7E"}}
-{"expression":"elu(a)","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x0202017803017905BFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7EBFE98A1050412C7BBFE8DC1E236D28F9BFE81BE0AF127E3BBFE7476B67B98EC0BFE65C9DF4C2F690BFE5591EBDB77208BFE43A54E4E98864BFE2FD619FFBC8F0BFE19F18DD3F123CBFE01BF92311555FBFDCE04528D3F63ABFD92E9A0720D3EC"}}
-{"expression":"elu(a)","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A07BFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7EBFE98A1050412C7BBFE8DC1E236D28F9BFE81BE0AF127E3BBFE7476B67B98EC0BFE65C9DF4C2F690BFE5591EBDB77208BFE43A54E4E98864BFE2FD619FFBC8F0BFE19F18DD3F123CBFE01BF92311555FBFDCE04528D3F63ABFD92E9A0720D3ECBFD51979F31B1E24BFD0966F2C7907F6BFC733D4A7A67A98BFB85C933156A63000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"}}
-{"expression":"elu(a)","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x01010178030161BFEB36BBDEFDC9FA0162BFEAB5DF1B20BD730163BFEA2774E1D59D7E"}}
-{"expression":"elu(a)","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x01020178017906016103626172BFEAB5DF1B20BD73016103666F6FBFEB36BBDEFDC9FA016203626172BFE98A1050412C7B016203666F6FBFEA2774E1D59D7E016303626172BFE81BE0AF127E3B016303666F6FBFE8DC1E236D28F9"}}
-{"expression":"elu(a)","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFE8DC1E236D28F9016103626172016ABFE81BE0AF127E3B016103626172016BBFE7476B67B98EC0016103626172016CBFE65C9DF4C2F690016103666F6F0169BFEB36BBDEFDC9FA016103666F6F016ABFEAB5DF1B20BD73016103666F6F016BBFEA2774E1D59D7E016103666F6F016CBFE98A1050412C7B0162036261720169BFE01BF92311555F016203626172016ABFDCE04528D3F63A016203626172016BBFD92E9A0720D3EC016203626172016CBFD51979F31B1E24016203666F6F0169BFE5591EBDB77208016203666F6F016ABFE43A54E4E98864016203666F6F016BBFE2FD619FFBC8F0016203666F6F016CBFE19F18DD3F123C01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD0966F2C7907F6016303666F6F016ABFC733D4A7A67A98016303666F6F016BBFB85C933156A630016303666F6F016C0000000000000000"}}
-{"expression":"elu(a)","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFE65C9DF4C2F690BFE5591EBDB77208BFE43A54E4E98864BFE2FD619FFBC8F0BFE19F18DD3F123CBFE01BF92311555FBFDCE04528D3F63A3FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7EBFE98A1050412C7BBFE8DC1E236D28F9BFE81BE0AF127E3BBFE7476B67B98EC0BFD92E9A0720D3ECBFD51979F31B1E24BFD0966F2C7907F6BFC733D4A7A67A98BFB85C933156A63000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"}}
-{"expression":"elu(a)","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFEB36BBDEFDC9FABFE8DC1E236D28F9BFE5591EBDB77208BFE01BF92311555FBFD0966F2C7907F60161016ABFEAB5DF1B20BD73BFE81BE0AF127E3BBFE43A54E4E98864BFDCE04528D3F63ABFC733D4A7A67A980161016BBFEA2774E1D59D7EBFE7476B67B98EC0BFE2FD619FFBC8F0BFD92E9A0720D3ECBFB85C933156A6300161016CBFE98A1050412C7BBFE65C9DF4C2F690BFE19F18DD3F123CBFD51979F31B1E240000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0200BFFE666666666666"},"result":{"expect":"0x0200BFEB36BBDEFDC9FA"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0201017803BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333"},"result":{"expect":"0x0201017803BFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7E"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0202017803017905BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000"},"result":{"expect":"0x0202017803017905BFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7EBFE98A1050412C7BBFE8DC1E236D28F9BFE81BE0AF127E3BBFE7476B67B98EC0BFE65C9DF4C2F690BFE5591EBDB77208BFE43A54E4E98864BFE2FD619FFBC8F0BFE19F18DD3F123CBFE01BF92311555FBFDCE04528D3F63ABFD92E9A0720D3EC"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0203017803017905017A07BFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE3333333333334BFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"},"result":{"expect":"0x0203017803017905017A07BFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7EBFE98A1050412C7BBFE8DC1E236D28F9BFE81BE0AF127E3BBFE7476B67B98EC0BFE65C9DF4C2F690BFE5591EBDB77208BFE43A54E4E98864BFE2FD619FFBC8F0BFE19F18DD3F123CBFE01BF92311555FBFDCE04528D3F63ABFD92E9A0720D3ECBFD51979F31B1E24BFD0966F2C7907F6BFC733D4A7A67A98BFB85C933156A63000000000000000003FB99999999999A03FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A4002666666666666400333333333333440040000000000004004CCCCCCCCCCCC400599999999999A4006666666666666400733333333333440080000000000004008CCCCCCCCCCCC400999999999999A400A666666666666400B333333333334400C000000000000400CCCCCCCCCCCCC400D99999999999A400E666666666666400F333333333334401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCC4019333333333334401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCC401B333333333334401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCC401D333333333334401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCC401F333333333334401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD4021000000000000"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x01010178030161BFFE6666666666660162BFFCCCCCCCCCCCCD0163BFFB333333333333"},"result":{"expect":"0x01010178030161BFEB36BBDEFDC9FA0162BFEAB5DF1B20BD730163BFEA2774E1D59D7E"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x01020178017906016103626172BFFCCCCCCCCCCCCD016103666F6FBFFE666666666666016203626172BFF999999999999A016203666F6FBFFB333333333333016303626172BFF6666666666666016303666F6FBFF8000000000000"},"result":{"expect":"0x01020178017906016103626172BFEAB5DF1B20BD73016103666F6FBFEB36BBDEFDC9FA016203626172BFE98A1050412C7B016203666F6FBFEA2774E1D59D7E016303626172BFE81BE0AF127E3B016303666F6FBFE8DC1E236D28F9"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x010301780179017A180161036261720169BFF8000000000000016103626172016ABFF6666666666666016103626172016BBFF4CCCCCCCCCCCD016103626172016CBFF3333333333333016103666F6F0169BFFE666666666666016103666F6F016ABFFCCCCCCCCCCCCD016103666F6F016BBFFB333333333333016103666F6F016CBFF999999999999A0162036261720169BFE6666666666666016203626172016ABFE3333333333334016203626172016BBFE0000000000000016203626172016CBFD9999999999998016203666F6F0169BFF199999999999A016203666F6F016ABFF0000000000000016203666F6F016BBFECCCCCCCCCCCCC016203666F6F016CBFE999999999999A01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD3333333333334016303666F6F016ABFC9999999999998016303666F6F016BBFB99999999999A0016303666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFE8DC1E236D28F9016103626172016ABFE81BE0AF127E3B016103626172016BBFE7476B67B98EC0016103626172016CBFE65C9DF4C2F690016103666F6F0169BFEB36BBDEFDC9FA016103666F6F016ABFEAB5DF1B20BD73016103666F6F016BBFEA2774E1D59D7E016103666F6F016CBFE98A1050412C7B0162036261720169BFE01BF92311555F016203626172016ABFDCE04528D3F63A016203626172016BBFD92E9A0720D3EC016203626172016CBFD51979F31B1E24016203666F6F0169BFE5591EBDB77208016203666F6F016ABFE43A54E4E98864016203666F6F016BBFE2FD619FFBC8F0016203666F6F016CBFE19F18DD3F123C01630362617201693FB99999999999A0016303626172016A3FC99999999999A0016303626172016B3FD3333333333330016303626172016C3FD9999999999998016303666F6F0169BFD0966F2C7907F6016303666F6F016ABFC733D4A7A67A98016303666F6F016BBFB85C933156A630016303666F6F016C0000000000000000"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0301017902017803017A070203626172BFF3333333333333BFF199999999999ABFF0000000000000BFECCCCCCCCCCCCCBFE999999999999ABFE6666666666666BFE33333333333343FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFFE666666666666BFFCCCCCCCCCCCCDBFFB333333333333BFF999999999999ABFF8000000000000BFF6666666666666BFF4CCCCCCCCCCCDBFE0000000000000BFD9999999999998BFD3333333333334BFC9999999999998BFB99999999999A000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFE65C9DF4C2F690BFE5591EBDB77208BFE43A54E4E98864BFE2FD619FFBC8F0BFE19F18DD3F123CBFE01BF92311555FBFDCE04528D3F63A3FC99999999999A03FD33333333333303FD99999999999983FE00000000000003FE33333333333343FE66666666666683FE99999999999983FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE66666666666640000000000000004000CCCCCCCCCCCC400199999999999A03666F6FBFEB36BBDEFDC9FABFEAB5DF1B20BD73BFEA2774E1D59D7EBFE98A1050412C7BBFE8DC1E236D28F9BFE81BE0AF127E3BBFE7476B67B98EC0BFD92E9A0720D3ECBFD51979F31B1E24BFD0966F2C7907F6BFC733D4A7A67A98BFB85C933156A63000000000000000003FB99999999999A03FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333343FF4CCCCCCCCCCCC3FF66666666666663FF8000000000000"}}
-{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x03020178017A010179050C01610169BFFE666666666666BFF8000000000000BFF199999999999ABFE6666666666666BFD33333333333340161016ABFFCCCCCCCCCCCCDBFF6666666666666BFF0000000000000BFE3333333333334BFC99999999999980161016BBFFB333333333333BFF4CCCCCCCCCCCDBFECCCCCCCCCCCCCBFE0000000000000BFB99999999999A00161016CBFF999999999999ABFF3333333333333BFE999999999999ABFD99999999999980000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFEB36BBDEFDC9FABFE8DC1E236D28F9BFE5591EBDB77208BFE01BF92311555FBFD0966F2C7907F60161016ABFEAB5DF1B20BD73BFE81BE0AF127E3BBFE43A54E4E98864BFDCE04528D3F63ABFC733D4A7A67A980161016BBFEA2774E1D59D7EBFE7476B67B98EC0BFE2FD619FFBC8F0BFD92E9A0720D3ECBFB85C933156A6300161016CBFE98A1050412C7BBFE65C9DF4C2F690BFE19F18DD3F123CBFD51979F31B1E240000000000000000016201693FB99999999999A03FE00000000000003FECCCCCCCCCCCCC3FF4CCCCCCCCCCCC3FFB3333333333340162016A3FC99999999999A03FE33333333333343FF00000000000003FF66666666666663FFCCCCCCCCCCCCC0162016B3FD33333333333303FE66666666666683FF199999999999A3FF80000000000003FFE6666666666660162016C3FD99999999999983FE99999999999983FF33333333333343FF999999999999A4000000000000000016301694000CCCCCCCCCCCC40040000000000004007333333333334400A666666666666400D99999999999A0163016A400199999999999A4004CCCCCCCCCCCC4008000000000000400B333333333334400E6666666666660163016B4002666666666666400599999999999A4008CCCCCCCCCCCC400C000000000000400F3333333333340163016C40033333333333344006666666666666400999999999999A400CCCCCCCCCCCCC4010000000000000"}}
+{"expression":"map(a,f(a)(isNan(a)))","inputs":{"a":"0x0701020178017A010179050C016101697FC000003F8000003F8000007FC000003F8000000161016A3F8000003F8000007FC000003F8000003F8000000161016B3F8000007FC000003F8000003F8000007FC000000161016C7FC000003F8000003F8000007FC000003F800000016201693F8000007FC000003F8000003F8000007FC000000162016A7FC000003F8000003F8000007FC000003F8000000162016B3F8000003F8000007FC000003F8000003F8000000162016C3F8000007FC000003F8000003F8000007FC00000016301693F8000003F8000007FC000003F8000003F8000000163016A3F8000007FC000003F8000003F8000007FC000000163016B7FC000003F8000003F8000007FC000003F8000000163016C3F8000003F8000007FC000003F8000003F800000"},"result":{"expect":"0x0701020178017A010179050C016101693F80000000000000000000003F800000000000000161016A00000000000000003F80000000000000000000000161016B000000003F80000000000000000000003F8000000161016C3F80000000000000000000003F8000000000000001620169000000003F80000000000000000000003F8000000162016A3F80000000000000000000003F800000000000000162016B00000000000000003F80000000000000000000000162016C000000003F80000000000000000000003F8000000163016900000000000000003F80000000000000000000000163016A000000003F80000000000000000000003F8000000163016B3F80000000000000000000003F800000000000000163016C00000000000000003F8000000000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x0202017803017905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"}}
+{"expression":"relu(a)","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A0000000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B0000000000000000016303666F6F016C0000000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C00000000016203626172016900000000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A00000000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B00000000016303666F6F016C00000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201690000000000000000000000000000000000000000000000003FB00000000000003FD40000000000000162016A0000000000000000000000000000000000000000000000003FC00000000000003FD80000000000000162016B0000000000000000000000000000000000000000000000003FC80000000000003FDC0000000000000162016C0000000000000000000000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"}}
+{"expression":"relu(a)","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C0161016900000000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000016201690000000000000000000000003D8000003EA000000162016A0000000000000000000000003E0000003EC000000162016B0000000000000000000000003E4000003EE000000162016C0000000000000000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x0201017803000000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x0202017803017905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F0000000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A1801610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A0000000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B0000000000000000016303666F6F016C0000000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A18016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C00000000016203626172016900000000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A00000000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B00000000016303666F6F016C00000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201690000000000000000000000000000000000000000000000003FB00000000000003FD40000000000000162016A0000000000000000000000000000000000000000000000003FC00000000000003FD80000000000000162016B0000000000000000000000000000000000000000000000003FC80000000000003FDC0000000000000162016C0000000000000000000000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"}}
+{"expression":"map(a,f(a)(relu(a)))","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C0161016900000000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000016201690000000000000000000000003D8000003EA000000162016A0000000000000000000000003E0000003EC000000162016B0000000000000000000000003E4000003EE000000162016C0000000000000000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x02003FC01E3CB664F724"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x02010178033FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x02020178030179053FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD3FC2F335E8E7BFD63FC3FB3ECAA307BC3FC50EE01DE5ACCF3FC62E4ED49FDE483FC759B8355A1BB03FC89140E86917A63FC9D50402C11D4A3FCB2512119B98713FCC81702A88E0D53FCDEA1703E813E03FCF5EF21A1256933FD06FEF72E4DC51"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A073FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD3FC2F335E8E7BFD63FC3FB3ECAA307BC3FC50EE01DE5ACCF3FC62E4ED49FDE483FC759B8355A1BB03FC89140E86917A63FC9D50402C11D4A3FCB2512119B98713FCC81702A88E0D53FCDEA1703E813E03FCF5EF21A1256933FD06FEF72E4DC513FD136561454BA863FD2028CAA346D913FD2D46B08DBBFE43FD3ABC0F5A661E43FD4885610B9B8283FD569E9D4F13CFC3FD65033AF8ACD793FD73AE330CA5BDD3FD829A0565978DE3FD91C0BEFA560DB3FDA11C01BF102233FDB0A50E13BDCF83FDC054CDA8768FA3FDD023DFB7009EE3FDE00AA6681FCF33FDF001553336A723FE00000000000003FE07FF556664AC73FE0FFAACCBF01873FE17EE10247FB093FE1FD5992BC4B833FE27AD78F6211853FE2F71FF2077EEE3FE371FA082D4F933FE3EB2FD4D343913FE4628E679AD2113FE4D7E6283A99433FE54B0B158761823FE5BBD4F7A323EC3FE62A1F852CCF0E3FE695CA7B92200E3FE6FEB9AAE5C9373FE764D4F5D5A2BD3FE7C808468D91D73FE82843797B6A5B3FE8857A3F05FB083FE8DFA3F55DC7CA3FE936BB7B9919E43FE98ABEFF4FB8AE3FE9DBAFC5E5BA173FEA2991F2A979143FEA746C4AD8086E3FEABC47F88694CD3FEB01304D573E113FEB433285C6100B3FEB825D8DBFE5C03FEBBEC1C71A02BD3FEBF870D266C2373FEC2F7D5A8A79C93FEC63FAE35C07B53FEC95FD9B86CDB83FECC59A31D048CA3FECF2E5ADD226B53FED1DF54C2AB5CB3FED46DE5E18C4BD3FED6DB62C6D6AC03FED9291DDB596F83FEDB5865F7689163FEDD6A8525345E13FEDF60BF8ED890F3FEE13C52952723C3FEE2FE740C2057C3FEE4A8519A0645F3FEE63B1036038143FEE7B7CBC36FABD3FEE91F96C6D823E3FEEA737A32143583FEEBB47544D1E213FEECE37D7F30E3D3FEEE017EA42BDA43FEEF0F5AC9BA8C73FEF00DEA74C30D43FEF0FDFCBF19A933FEF1E05785F852C3FEF2B5B79F7D5FE3FEF37ED115E693E3FEF43C4F67606ED3FEF4EED5C9627163FEF596FF6EAF6493FEF6355FCF2CC3B3FEF6CA82F0DE1EA3FEF756EDB168D2C3FEF7DB1E0F99CCC3FEF8578B747A5BB3FEF8CCA6FB927E33FEF93ADBBA06A983FEF9A28F044CF103FEFA0420B241D503FEFA5FEB616FE8F3FEFAB644B567290"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A073E00F1E63E0827C73E0FB44E3E1799AF3E1FD9F63E2877013E3172773E3ACDC23E448A073E4EA8203E5928913E640B813E6F50B83E7AF7913E837F7C3E89B2B13E9014653E96A3583E9D5E083EA442B13EAB4F4F3EB2819D3EB9D71A3EC14D033EC8E05F3ED08E013ED852873EE02A673EE811F03EF005533EF800AB3F0000003F03FFAB3F07FD563F0BF7083F0FEACD3F13D6BC3F17B9003F1B8FD03F1F597F3F2314733F26BF313F2A58593F2DDEA83F3150FC3F34AE543F37F5CD3F3B26A83F3E40423F41421C3F442BD23F46FD203F49B5DC3F4C55F83F4EDD7E3F514C903F53A3623F55E2403F5809823F5A19943F5C12EC3F5DF60E3F5FC3873F617BEB3F631FD73F64AFED3F662CD23F67972D3F68EFAA3F6A36F33F6B6DB13F6C948F3F6DAC333F6EB5433F6FB0603F709E293F717F3A3F7254293F731D883F73DBE63F748FCB3F7539BD3F75DA3B3F7671BF3F7700BF3F7787AD3F7806F53F787EFE3F78F02C3F795ADC3F79BF693F7A1E283F7A776B3F7ACB803F7B1AB03F7B65413F7BAB773F7BED8F3F7C2BC63F7C66533F7C9D6E3F7CD1483F7D02103F7D2FF63F7D5B22"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x010101780301613FC01E3CB664F72401623FC104F8E397F50801633FC1F689C90068FD"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x010201780179060161036261723FC104F8E397F508016103666F6F3FC01E3CB664F7240162036261723FC2F335E8E7BFD6016203666F6F3FC1F689C90068FD0163036261723FC50EE01DE5ACCF016303666F6F3FC3FB3ECAA307BC"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FC3FB3ECAA307BC016103626172016A3FC50EE01DE5ACCF016103626172016B3FC62E4ED49FDE48016103626172016C3FC759B8355A1BB0016103666F6F01693FC01E3CB664F724016103666F6F016A3FC104F8E397F508016103666F6F016B3FC1F689C90068FD016103666F6F016C3FC2F335E8E7BFD601620362617201693FCDEA1703E813E0016203626172016A3FCF5EF21A125693016203626172016B3FD06FEF72E4DC51016203626172016C3FD136561454BA86016203666F6F01693FC89140E86917A6016203666F6F016A3FC9D50402C11D4A016203666F6F016B3FCB2512119B9871016203666F6F016C3FCC81702A88E0D501630362617201693FD569E9D4F13CFC016303626172016A3FD65033AF8ACD79016303626172016B3FD73AE330CA5BDD016303626172016C3FD829A0565978DE016303666F6F01693FD2028CAA346D91016303666F6F016A3FD2D46B08DBBFE4016303666F6F016B3FD3ABC0F5A661E4016303666F6F016C3FD4885610B9B828"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A1801610362617201693E1FD9F6016103626172016A3E287701016103626172016B3E317277016103626172016C3E3ACDC2016103666F6F01693E00F1E6016103666F6F016A3E0827C7016103666F6F016B3E0FB44E016103666F6F016C3E1799AF01620362617201693E6F50B8016203626172016A3E7AF791016203626172016B3E837F7C016203626172016C3E89B2B1016203666F6F01693E448A07016203666F6F016A3E4EA820016203666F6F016B3E592891016203666F6F016C3E640B8101630362617201693EAB4F4F016303626172016A3EB2819D016303626172016B3EB9D71A016303626172016C3EC14D03016303666F6F01693E901465016303666F6F016A3E96A358016303666F6F016B3E9D5E08016303666F6F016C3EA442B1"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC759B8355A1BB03FC89140E86917A63FC9D50402C11D4A3FCB2512119B98713FCC81702A88E0D53FCDEA1703E813E03FCF5EF21A1256933FD65033AF8ACD793FD73AE330CA5BDD3FD829A0565978DE3FD91C0BEFA560DB3FDA11C01BF102233FDB0A50E13BDCF83FDC054CDA8768FA3FE1FD5992BC4B833FE27AD78F6211853FE2F71FF2077EEE3FE371FA082D4F933FE3EB2FD4D343913FE4628E679AD2113FE4D7E6283A994303666F6F3FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD3FC2F335E8E7BFD63FC3FB3ECAA307BC3FC50EE01DE5ACCF3FC62E4ED49FDE483FD06FEF72E4DC513FD136561454BA863FD2028CAA346D913FD2D46B08DBBFE43FD3ABC0F5A661E43FD4885610B9B8283FD569E9D4F13CFC3FDD023DFB7009EE3FDE00AA6681FCF33FDF001553336A723FE00000000000003FE07FF556664AC73FE0FFAACCBF01873FE17EE10247FB09"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC01E3CB664F7243FC3FB3ECAA307BC3FC89140E86917A63FCDEA1703E813E03FD2028CAA346D910161016A3FC104F8E397F5083FC50EE01DE5ACCF3FC9D50402C11D4A3FCF5EF21A1256933FD2D46B08DBBFE40161016B3FC1F689C90068FD3FC62E4ED49FDE483FCB2512119B98713FD06FEF72E4DC513FD3ABC0F5A661E40161016C3FC2F335E8E7BFD63FC759B8355A1BB03FCC81702A88E0D53FD136561454BA863FD4885610B9B828016201693FD569E9D4F13CFC3FD91C0BEFA560DB3FDD023DFB7009EE3FE07FF556664AC73FE27AD78F6211850162016A3FD65033AF8ACD793FDA11C01BF102233FDE00AA6681FCF33FE0FFAACCBF01873FE2F71FF2077EEE0162016B3FD73AE330CA5BDD3FDB0A50E13BDCF83FDF001553336A723FE17EE10247FB093FE371FA082D4F930162016C3FD829A0565978DE3FDC054CDA8768FA3FE00000000000003FE1FD5992BC4B833FE3EB2FD4D34391016301693FE4628E679AD2113FE62A1F852CCF0E3FE7C808468D91D73FE936BB7B9919E43FEA746C4AD8086E0163016A3FE4D7E6283A99433FE695CA7B92200E3FE82843797B6A5B3FE98ABEFF4FB8AE3FEABC47F88694CD0163016B3FE54B0B158761823FE6FEB9AAE5C9373FE8857A3F05FB083FE9DBAFC5E5BA173FEB01304D573E110163016C3FE5BBD4F7A323EC3FE764D4F5D5A2BD3FE8DFA3F55DC7CA3FEA2991F2A979143FEB433285C6100B"}}
+{"expression":"sigmoid(a)","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C016101693E00F1E63E1FD9F63E448A073E6F50B83E9014650161016A3E0827C73E2877013E4EA8203E7AF7913E96A3580161016B3E0FB44E3E3172773E5928913E837F7C3E9D5E080161016C3E1799AF3E3ACDC23E640B813E89B2B13EA442B1016201693EAB4F4F3EC8E05F3EE811F03F03FFAB3F13D6BC0162016A3EB2819D3ED08E013EF005533F07FD563F17B9000162016B3EB9D71A3ED852873EF800AB3F0BF7083F1B8FD00162016C3EC14D033EE02A673F0000003F0FEACD3F1F597F016301693F2314733F3150FC3F3E40423F49B5DC3F53A3620163016A3F26BF313F34AE543F41421C3F4C55F83F55E2400163016B3F2A58593F37F5CD3F442BD23F4EDD7E3F5809820163016C3F2DDEA83F3B26A83F46FD203F514C903F5A1994"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x02003FC01E3CB664F724"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x02010178033FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x02020178030179053FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD3FC2F335E8E7BFD63FC3FB3ECAA307BC3FC50EE01DE5ACCF3FC62E4ED49FDE483FC759B8355A1BB03FC89140E86917A63FC9D50402C11D4A3FCB2512119B98713FCC81702A88E0D53FCDEA1703E813E03FCF5EF21A1256933FD06FEF72E4DC51"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A073FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD3FC2F335E8E7BFD63FC3FB3ECAA307BC3FC50EE01DE5ACCF3FC62E4ED49FDE483FC759B8355A1BB03FC89140E86917A63FC9D50402C11D4A3FCB2512119B98713FCC81702A88E0D53FCDEA1703E813E03FCF5EF21A1256933FD06FEF72E4DC513FD136561454BA863FD2028CAA346D913FD2D46B08DBBFE43FD3ABC0F5A661E43FD4885610B9B8283FD569E9D4F13CFC3FD65033AF8ACD793FD73AE330CA5BDD3FD829A0565978DE3FD91C0BEFA560DB3FDA11C01BF102233FDB0A50E13BDCF83FDC054CDA8768FA3FDD023DFB7009EE3FDE00AA6681FCF33FDF001553336A723FE00000000000003FE07FF556664AC73FE0FFAACCBF01873FE17EE10247FB093FE1FD5992BC4B833FE27AD78F6211853FE2F71FF2077EEE3FE371FA082D4F933FE3EB2FD4D343913FE4628E679AD2113FE4D7E6283A99433FE54B0B158761823FE5BBD4F7A323EC3FE62A1F852CCF0E3FE695CA7B92200E3FE6FEB9AAE5C9373FE764D4F5D5A2BD3FE7C808468D91D73FE82843797B6A5B3FE8857A3F05FB083FE8DFA3F55DC7CA3FE936BB7B9919E43FE98ABEFF4FB8AE3FE9DBAFC5E5BA173FEA2991F2A979143FEA746C4AD8086E3FEABC47F88694CD3FEB01304D573E113FEB433285C6100B3FEB825D8DBFE5C03FEBBEC1C71A02BD3FEBF870D266C2373FEC2F7D5A8A79C93FEC63FAE35C07B53FEC95FD9B86CDB83FECC59A31D048CA3FECF2E5ADD226B53FED1DF54C2AB5CB3FED46DE5E18C4BD3FED6DB62C6D6AC03FED9291DDB596F83FEDB5865F7689163FEDD6A8525345E13FEDF60BF8ED890F3FEE13C52952723C3FEE2FE740C2057C3FEE4A8519A0645F3FEE63B1036038143FEE7B7CBC36FABD3FEE91F96C6D823E3FEEA737A32143583FEEBB47544D1E213FEECE37D7F30E3D3FEEE017EA42BDA43FEEF0F5AC9BA8C73FEF00DEA74C30D43FEF0FDFCBF19A933FEF1E05785F852C3FEF2B5B79F7D5FE3FEF37ED115E693E3FEF43C4F67606ED3FEF4EED5C9627163FEF596FF6EAF6493FEF6355FCF2CC3B3FEF6CA82F0DE1EA3FEF756EDB168D2C3FEF7DB1E0F99CCC3FEF8578B747A5BB3FEF8CCA6FB927E33FEF93ADBBA06A983FEF9A28F044CF103FEFA0420B241D503FEFA5FEB616FE8F3FEFAB644B567290"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A073E00F1E63E0827C73E0FB44E3E1799AF3E1FD9F63E2877013E3172773E3ACDC23E448A073E4EA8203E5928913E640B813E6F50B83E7AF7913E837F7C3E89B2B13E9014653E96A3583E9D5E083EA442B13EAB4F4F3EB2819D3EB9D71A3EC14D033EC8E05F3ED08E013ED852873EE02A673EE811F03EF005533EF800AB3F0000003F03FFAB3F07FD563F0BF7083F0FEACD3F13D6BC3F17B9003F1B8FD03F1F597F3F2314733F26BF313F2A58593F2DDEA83F3150FC3F34AE543F37F5CD3F3B26A83F3E40423F41421C3F442BD23F46FD203F49B5DC3F4C55F83F4EDD7E3F514C903F53A3623F55E2403F5809823F5A19943F5C12EC3F5DF60E3F5FC3873F617BEB3F631FD73F64AFED3F662CD23F67972D3F68EFAA3F6A36F33F6B6DB13F6C948F3F6DAC333F6EB5433F6FB0603F709E293F717F3A3F7254293F731D883F73DBE63F748FCB3F7539BD3F75DA3B3F7671BF3F7700BF3F7787AD3F7806F53F787EFE3F78F02C3F795ADC3F79BF693F7A1E283F7A776B3F7ACB803F7B1AB03F7B65413F7BAB773F7BED8F3F7C2BC63F7C66533F7C9D6E3F7CD1483F7D02103F7D2FF63F7D5B22"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x010101780301613FC01E3CB664F72401623FC104F8E397F50801633FC1F689C90068FD"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x010201780179060161036261723FC104F8E397F508016103666F6F3FC01E3CB664F7240162036261723FC2F335E8E7BFD6016203666F6F3FC1F689C90068FD0163036261723FC50EE01DE5ACCF016303666F6F3FC3FB3ECAA307BC"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FC3FB3ECAA307BC016103626172016A3FC50EE01DE5ACCF016103626172016B3FC62E4ED49FDE48016103626172016C3FC759B8355A1BB0016103666F6F01693FC01E3CB664F724016103666F6F016A3FC104F8E397F508016103666F6F016B3FC1F689C90068FD016103666F6F016C3FC2F335E8E7BFD601620362617201693FCDEA1703E813E0016203626172016A3FCF5EF21A125693016203626172016B3FD06FEF72E4DC51016203626172016C3FD136561454BA86016203666F6F01693FC89140E86917A6016203666F6F016A3FC9D50402C11D4A016203666F6F016B3FCB2512119B9871016203666F6F016C3FCC81702A88E0D501630362617201693FD569E9D4F13CFC016303626172016A3FD65033AF8ACD79016303626172016B3FD73AE330CA5BDD016303626172016C3FD829A0565978DE016303666F6F01693FD2028CAA346D91016303666F6F016A3FD2D46B08DBBFE4016303666F6F016B3FD3ABC0F5A661E4016303666F6F016C3FD4885610B9B828"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A1801610362617201693E1FD9F6016103626172016A3E287701016103626172016B3E317277016103626172016C3E3ACDC2016103666F6F01693E00F1E6016103666F6F016A3E0827C7016103666F6F016B3E0FB44E016103666F6F016C3E1799AF01620362617201693E6F50B8016203626172016A3E7AF791016203626172016B3E837F7C016203626172016C3E89B2B1016203666F6F01693E448A07016203666F6F016A3E4EA820016203666F6F016B3E592891016203666F6F016C3E640B8101630362617201693EAB4F4F016303626172016A3EB2819D016303626172016B3EB9D71A016303626172016C3EC14D03016303666F6F01693E901465016303666F6F016A3E96A358016303666F6F016B3E9D5E08016303666F6F016C3EA442B1"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC759B8355A1BB03FC89140E86917A63FC9D50402C11D4A3FCB2512119B98713FCC81702A88E0D53FCDEA1703E813E03FCF5EF21A1256933FD65033AF8ACD793FD73AE330CA5BDD3FD829A0565978DE3FD91C0BEFA560DB3FDA11C01BF102233FDB0A50E13BDCF83FDC054CDA8768FA3FE1FD5992BC4B833FE27AD78F6211853FE2F71FF2077EEE3FE371FA082D4F933FE3EB2FD4D343913FE4628E679AD2113FE4D7E6283A994303666F6F3FC01E3CB664F7243FC104F8E397F5083FC1F689C90068FD3FC2F335E8E7BFD63FC3FB3ECAA307BC3FC50EE01DE5ACCF3FC62E4ED49FDE483FD06FEF72E4DC513FD136561454BA863FD2028CAA346D913FD2D46B08DBBFE43FD3ABC0F5A661E43FD4885610B9B8283FD569E9D4F13CFC3FDD023DFB7009EE3FDE00AA6681FCF33FDF001553336A723FE00000000000003FE07FF556664AC73FE0FFAACCBF01873FE17EE10247FB09"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC01E3CB664F7243FC3FB3ECAA307BC3FC89140E86917A63FCDEA1703E813E03FD2028CAA346D910161016A3FC104F8E397F5083FC50EE01DE5ACCF3FC9D50402C11D4A3FCF5EF21A1256933FD2D46B08DBBFE40161016B3FC1F689C90068FD3FC62E4ED49FDE483FCB2512119B98713FD06FEF72E4DC513FD3ABC0F5A661E40161016C3FC2F335E8E7BFD63FC759B8355A1BB03FCC81702A88E0D53FD136561454BA863FD4885610B9B828016201693FD569E9D4F13CFC3FD91C0BEFA560DB3FDD023DFB7009EE3FE07FF556664AC73FE27AD78F6211850162016A3FD65033AF8ACD793FDA11C01BF102233FDE00AA6681FCF33FE0FFAACCBF01873FE2F71FF2077EEE0162016B3FD73AE330CA5BDD3FDB0A50E13BDCF83FDF001553336A723FE17EE10247FB093FE371FA082D4F930162016C3FD829A0565978DE3FDC054CDA8768FA3FE00000000000003FE1FD5992BC4B833FE3EB2FD4D34391016301693FE4628E679AD2113FE62A1F852CCF0E3FE7C808468D91D73FE936BB7B9919E43FEA746C4AD8086E0163016A3FE4D7E6283A99433FE695CA7B92200E3FE82843797B6A5B3FE98ABEFF4FB8AE3FEABC47F88694CD0163016B3FE54B0B158761823FE6FEB9AAE5C9373FE8857A3F05FB083FE9DBAFC5E5BA173FEB01304D573E110163016C3FE5BBD4F7A323EC3FE764D4F5D5A2BD3FE8DFA3F55DC7CA3FEA2991F2A979143FEB433285C6100B"}}
+{"expression":"map(a,f(a)(sigmoid(a)))","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C016101693E00F1E63E1FD9F63E448A073E6F50B83E9014650161016A3E0827C73E2877013E4EA8203E7AF7913E96A3580161016B3E0FB44E3E3172773E5928913E837F7C3E9D5E080161016C3E1799AF3E3ACDC23E640B813E89B2B13EA442B1016201693EAB4F4F3EC8E05F3EE811F03F03FFAB3F13D6BC0162016A3EB2819D3ED08E013EF005533F07FD563F17B9000162016B3EB9D71A3ED852873EF800AB3F0BF7083F1B8FD00162016C3EC14D033EE02A673F0000003F0FEACD3F1F597F016301693F2314733F3150FC3F3E40423F49B5DC3F53A3620163016A3F26BF313F34AE543F41421C3F4C55F83F55E2400163016B3F2A58593F37F5CD3F442BD23F4EDD7E3F5809820163016C3F2DDEA83F3B26A83F46FD203F514C903F5A1994"}}
+{"expression":"elu(a)","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x0200BFEB63D49BF3BFD2"}}
+{"expression":"elu(a)","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x0201017803BFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DE"}}
+{"expression":"elu(a)","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x0202017803017905BFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DEBFEA7071A07F77E3BFEA14A1E320F460BFE9B2E649598467BFE94ADD0F6A238EBFE8DC1E236D28F9BFE8663ABD3BB540BFE7E8BCEF9C4FEABFE76327324BD9DCBFE6D4F3E46AD3D8BFE63D94C6D15BE6BFE59C726DC42A70BFE4F0EBA97C3840"}}
+{"expression":"elu(a)","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A07BFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DEBFEA7071A07F77E3BFEA14A1E320F460BFE9B2E649598467BFE94ADD0F6A238EBFE8DC1E236D28F9BFE8663ABD3BB540BFE7E8BCEF9C4FEABFE76327324BD9DCBFE6D4F3E46AD3D8BFE63D94C6D15BE6BFE59C726DC42A70BFE4F0EBA97C3840BFE43A54E4E98864BFE377F77A0FCB45BFE2A910FB51295ABFE1CCD270F070FABFE0E25F8A081941BFDFD19B804DFFC0BFDDBE46D96CD830BFDB88AD9E7D52EABFD92E9A0720D3ECBFD6ADB1CD9205EEBFD40373D42CE2E2BFD12D35A41BA104BFCC5041854DF7D4BFC5E25FB4FDE210BFBE14AED893EEF0BFAF0540438FD5C000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"}}
+{"expression":"elu(a)","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A07BF5B1EA5BF58BDBBBF56358BBF53838DBF50A50FBF4D9732BF4A56E8BF46E0F1BF4331D6BF3F45E7BF3B193ABF36A79FBF31ECA6BF2CE393BF27875DBF21D2A7BF1BBFBCBF154888BF0E6694BF0712FCBEFE8CDCBEEDF237BEDC456DBEC974D0BEB56D8EBEA01B9FBE8969ADBE62820CBE2F12FEBDF0A577BD782A02000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"}}
+{"expression":"elu(a)","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x01010178030161BFEB63D49BF3BFD20162BFEB17B75317198B0163BFEAC6B158D953DE"}}
+{"expression":"elu(a)","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x01020178017906016103626172BFEB17B75317198B016103666F6FBFEB63D49BF3BFD2016203626172BFEA7071A07F77E3016203666F6FBFEAC6B158D953DE016303626172BFE9B2E649598467016303666F6FBFEA14A1E320F460"}}
+{"expression":"elu(a)","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFEA14A1E320F460016103626172016ABFE9B2E649598467016103626172016BBFE94ADD0F6A238E016103626172016CBFE8DC1E236D28F9016103666F6F0169BFEB63D49BF3BFD2016103666F6F016ABFEB17B75317198B016103666F6F016BBFEAC6B158D953DE016103666F6F016CBFEA7071A07F77E30162036261720169BFE63D94C6D15BE6016203626172016ABFE59C726DC42A70016203626172016BBFE4F0EBA97C3840016203626172016CBFE43A54E4E98864016203666F6F0169BFE8663ABD3BB540016203666F6F016ABFE7E8BCEF9C4FEA016203666F6F016BBFE76327324BD9DC016203666F6F016CBFE6D4F3E46AD3D80163036261720169BFDFD19B804DFFC0016303626172016ABFDDBE46D96CD830016303626172016BBFDB88AD9E7D52EA016303626172016CBFD92E9A0720D3EC016303666F6F0169BFE377F77A0FCB45016303666F6F016ABFE2A910FB51295A016303666F6F016BBFE1CCD270F070FA016303666F6F016CBFE0E25F8A081941"}}
+{"expression":"elu(a)","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A180161036261720169BF50A50F016103626172016ABF4D9732016103626172016BBF4A56E8016103626172016CBF46E0F1016103666F6F0169BF5B1EA5016103666F6F016ABF58BDBB016103666F6F016BBF56358B016103666F6F016CBF53838D0162036261720169BF31ECA6016203626172016ABF2CE393016203626172016BBF27875D016203626172016CBF21D2A7016203666F6F0169BF4331D6016203666F6F016ABF3F45E7016203666F6F016BBF3B193A016203666F6F016CBF36A79F0163036261720169BEFE8CDC016303626172016ABEEDF237016303626172016BBEDC456D016303626172016CBEC974D0016303666F6F0169BF1BBFBC016303666F6F016ABF154888016303666F6F016BBF0E6694016303666F6F016CBF0712FC"}}
+{"expression":"elu(a)","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFE8DC1E236D28F9BFE8663ABD3BB540BFE7E8BCEF9C4FEABFE76327324BD9DCBFE6D4F3E46AD3D8BFE63D94C6D15BE6BFE59C726DC42A70BFDDBE46D96CD830BFDB88AD9E7D52EABFD92E9A0720D3ECBFD6ADB1CD9205EEBFD40373D42CE2E2BFD12D35A41BA104BFCC5041854DF7D43FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DEBFEA7071A07F77E3BFEA14A1E320F460BFE9B2E649598467BFE94ADD0F6A238EBFE4F0EBA97C3840BFE43A54E4E98864BFE377F77A0FCB45BFE2A910FB51295ABFE1CCD270F070FABFE0E25F8A081941BFDFD19B804DFFC0BFC5E25FB4FDE210BFBE14AED893EEF0BFAF0540438FD5C000000000000000003FB00000000000003FC00000000000003FC8000000000000"}}
+{"expression":"elu(a)","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFEB63D49BF3BFD2BFEA14A1E320F460BFE8663ABD3BB540BFE63D94C6D15BE6BFE377F77A0FCB450161016ABFEB17B75317198BBFE9B2E649598467BFE7E8BCEF9C4FEABFE59C726DC42A70BFE2A910FB51295A0161016BBFEAC6B158D953DEBFE94ADD0F6A238EBFE76327324BD9DCBFE4F0EBA97C3840BFE1CCD270F070FA0161016CBFEA7071A07F77E3BFE8DC1E236D28F9BFE6D4F3E46AD3D8BFE43A54E4E98864BFE0E25F8A08194101620169BFDFD19B804DFFC0BFD6ADB1CD9205EEBFC5E25FB4FDE2103FB00000000000003FD40000000000000162016ABFDDBE46D96CD830BFD40373D42CE2E2BFBE14AED893EEF03FC00000000000003FD80000000000000162016BBFDB88AD9E7D52EABFD12D35A41BA104BFAF0540438FD5C03FC80000000000003FDC0000000000000162016CBFD92E9A0720D3ECBFCC5041854DF7D400000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"}}
+{"expression":"elu(a)","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C01610169BF5B1EA5BF50A50FBF4331D6BF31ECA6BF1BBFBC0161016ABF58BDBBBF4D9732BF3F45E7BF2CE393BF1548880161016BBF56358BBF4A56E8BF3B193ABF27875DBF0E66940161016CBF53838DBF46E0F1BF36A79FBF21D2A7BF0712FC01620169BEFE8CDCBEB56D8EBE2F12FE3D8000003EA000000162016ABEEDF237BEA01B9FBDF0A5773E0000003EC000000162016BBEDC456DBE8969ADBD782A023E4000003EE000000162016CBEC974D0BE62820C000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0200BFFF000000000000"},"result":{"expect":"0x0200BFEB63D49BF3BFD2"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0201017803BFFF000000000000BFFE000000000000BFFD000000000000"},"result":{"expect":"0x0201017803BFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DE"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0202017803017905BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000"},"result":{"expect":"0x0202017803017905BFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DEBFEA7071A07F77E3BFEA14A1E320F460BFE9B2E649598467BFE94ADD0F6A238EBFE8DC1E236D28F9BFE8663ABD3BB540BFE7E8BCEF9C4FEABFE76327324BD9DCBFE6D4F3E46AD3D8BFE63D94C6D15BE6BFE59C726DC42A70BFE4F0EBA97C3840"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0203017803017905017A07BFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD0000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"},"result":{"expect":"0x0203017803017905017A07BFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DEBFEA7071A07F77E3BFEA14A1E320F460BFE9B2E649598467BFE94ADD0F6A238EBFE8DC1E236D28F9BFE8663ABD3BB540BFE7E8BCEF9C4FEABFE76327324BD9DCBFE6D4F3E46AD3D8BFE63D94C6D15BE6BFE59C726DC42A70BFE4F0EBA97C3840BFE43A54E4E98864BFE377F77A0FCB45BFE2A910FB51295ABFE1CCD270F070FABFE0E25F8A081941BFDFD19B804DFFC0BFDDBE46D96CD830BFDB88AD9E7D52EABFD92E9A0720D3ECBFD6ADB1CD9205EEBFD40373D42CE2E2BFD12D35A41BA104BFCC5041854DF7D4BFC5E25FB4FDE210BFBE14AED893EEF0BFAF0540438FD5C000000000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C0000000000040120000000000004012400000000000"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x060103017803017905017A07BFF80000BFF00000BFE80000BFE00000BFD80000BFD00000BFC80000BFC00000BFB80000BFB00000BFA80000BFA00000BF980000BF900000BF880000BF800000BF700000BF600000BF500000BF400000BF300000BF200000BF100000BF000000BEE00000BEC00000BEA00000BE800000BE400000BE000000BD800000000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"},"result":{"expect":"0x060103017803017905017A07BF5B1EA5BF58BDBBBF56358BBF53838DBF50A50FBF4D9732BF4A56E8BF46E0F1BF4331D6BF3F45E7BF3B193ABF36A79FBF31ECA6BF2CE393BF27875DBF21D2A7BF1BBFBCBF154888BF0E6694BF0712FCBEFE8CDCBEEDF237BEDC456DBEC974D0BEB56D8EBEA01B9FBE8969ADBE62820CBE2F12FEBDF0A577BD782A02000000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x01010178030161BFFF0000000000000162BFFE0000000000000163BFFD000000000000"},"result":{"expect":"0x01010178030161BFEB63D49BF3BFD20162BFEB17B75317198B0163BFEAC6B158D953DE"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x01020178017906016103626172BFFE000000000000016103666F6FBFFF000000000000016203626172BFFC000000000000016203666F6FBFFD000000000000016303626172BFFA000000000000016303666F6FBFFB000000000000"},"result":{"expect":"0x01020178017906016103626172BFEB17B75317198B016103666F6FBFEB63D49BF3BFD2016203626172BFEA7071A07F77E3016203666F6FBFEAC6B158D953DE016303626172BFE9B2E649598467016303666F6FBFEA14A1E320F460"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x010301780179017A180161036261720169BFFB000000000000016103626172016ABFFA000000000000016103626172016BBFF9000000000000016103626172016CBFF8000000000000016103666F6F0169BFFF000000000000016103666F6F016ABFFE000000000000016103666F6F016BBFFD000000000000016103666F6F016CBFFC0000000000000162036261720169BFF3000000000000016203626172016ABFF2000000000000016203626172016BBFF1000000000000016203626172016CBFF0000000000000016203666F6F0169BFF7000000000000016203666F6F016ABFF6000000000000016203666F6F016BBFF5000000000000016203666F6F016CBFF40000000000000163036261720169BFE6000000000000016303626172016ABFE4000000000000016303626172016BBFE2000000000000016303626172016CBFE0000000000000016303666F6F0169BFEE000000000000016303666F6F016ABFEC000000000000016303666F6F016BBFEA000000000000016303666F6F016CBFE8000000000000"},"result":{"expect":"0x010301780179017A180161036261720169BFEA14A1E320F460016103626172016ABFE9B2E649598467016103626172016BBFE94ADD0F6A238E016103626172016CBFE8DC1E236D28F9016103666F6F0169BFEB63D49BF3BFD2016103666F6F016ABFEB17B75317198B016103666F6F016BBFEAC6B158D953DE016103666F6F016CBFEA7071A07F77E30162036261720169BFE63D94C6D15BE6016203626172016ABFE59C726DC42A70016203626172016BBFE4F0EBA97C3840016203626172016CBFE43A54E4E98864016203666F6F0169BFE8663ABD3BB540016203666F6F016ABFE7E8BCEF9C4FEA016203666F6F016BBFE76327324BD9DC016203666F6F016CBFE6D4F3E46AD3D80163036261720169BFDFD19B804DFFC0016303626172016ABFDDBE46D96CD830016303626172016BBFDB88AD9E7D52EA016303626172016CBFD92E9A0720D3EC016303666F6F0169BFE377F77A0FCB45016303666F6F016ABFE2A910FB51295A016303666F6F016BBFE1CCD270F070FA016303666F6F016CBFE0E25F8A081941"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x05010301780179017A180161036261720169BFD80000016103626172016ABFD00000016103626172016BBFC80000016103626172016CBFC00000016103666F6F0169BFF80000016103666F6F016ABFF00000016103666F6F016BBFE80000016103666F6F016CBFE000000162036261720169BF980000016203626172016ABF900000016203626172016BBF880000016203626172016CBF800000016203666F6F0169BFB80000016203666F6F016ABFB00000016203666F6F016BBFA80000016203666F6F016CBFA000000163036261720169BF300000016303626172016ABF200000016303626172016BBF100000016303626172016CBF000000016303666F6F0169BF700000016303666F6F016ABF600000016303666F6F016BBF500000016303666F6F016CBF400000"},"result":{"expect":"0x05010301780179017A180161036261720169BF50A50F016103626172016ABF4D9732016103626172016BBF4A56E8016103626172016CBF46E0F1016103666F6F0169BF5B1EA5016103666F6F016ABF58BDBB016103666F6F016BBF56358B016103666F6F016CBF53838D0162036261720169BF31ECA6016203626172016ABF2CE393016203626172016BBF27875D016203626172016CBF21D2A7016203666F6F0169BF4331D6016203666F6F016ABF3F45E7016203666F6F016BBF3B193A016203666F6F016CBF36A79F0163036261720169BEFE8CDC016303626172016ABEEDF237016303626172016BBEDC456D016303626172016CBEC974D0016303666F6F0169BF1BBFBC016303666F6F016ABF154888016303666F6F016BBF0E6694016303666F6F016CBF0712FC"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0301017902017803017A070203626172BFF8000000000000BFF7000000000000BFF6000000000000BFF5000000000000BFF4000000000000BFF3000000000000BFF2000000000000BFE4000000000000BFE2000000000000BFE0000000000000BFDC000000000000BFD8000000000000BFD4000000000000BFD00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFFF000000000000BFFE000000000000BFFD000000000000BFFC000000000000BFFB000000000000BFFA000000000000BFF9000000000000BFF1000000000000BFF0000000000000BFEE000000000000BFEC000000000000BFEA000000000000BFE8000000000000BFE6000000000000BFC8000000000000BFC0000000000000BFB000000000000000000000000000003FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFE8DC1E236D28F9BFE8663ABD3BB540BFE7E8BCEF9C4FEABFE76327324BD9DCBFE6D4F3E46AD3D8BFE63D94C6D15BE6BFE59C726DC42A70BFDDBE46D96CD830BFDB88AD9E7D52EABFD92E9A0720D3ECBFD6ADB1CD9205EEBFD40373D42CE2E2BFD12D35A41BA104BFCC5041854DF7D43FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000003666F6FBFEB63D49BF3BFD2BFEB17B75317198BBFEAC6B158D953DEBFEA7071A07F77E3BFEA14A1E320F460BFE9B2E649598467BFE94ADD0F6A238EBFE4F0EBA97C3840BFE43A54E4E98864BFE377F77A0FCB45BFE2A910FB51295ABFE1CCD270F070FABFE0E25F8A081941BFDFD19B804DFFC0BFC5E25FB4FDE210BFBE14AED893EEF0BFAF0540438FD5C000000000000000003FB00000000000003FC00000000000003FC8000000000000"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x03020178017A010179050C01610169BFFF000000000000BFFB000000000000BFF7000000000000BFF3000000000000BFEE0000000000000161016ABFFE000000000000BFFA000000000000BFF6000000000000BFF2000000000000BFEC0000000000000161016BBFFD000000000000BFF9000000000000BFF5000000000000BFF1000000000000BFEA0000000000000161016CBFFC000000000000BFF8000000000000BFF4000000000000BFF0000000000000BFE800000000000001620169BFE6000000000000BFDC000000000000BFC80000000000003FB00000000000003FD40000000000000162016ABFE4000000000000BFD8000000000000BFC00000000000003FC00000000000003FD80000000000000162016BBFE2000000000000BFD4000000000000BFB00000000000003FC80000000000003FDC0000000000000162016CBFE0000000000000BFD000000000000000000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"},"result":{"expect":"0x03020178017A010179050C01610169BFEB63D49BF3BFD2BFEA14A1E320F460BFE8663ABD3BB540BFE63D94C6D15BE6BFE377F77A0FCB450161016ABFEB17B75317198BBFE9B2E649598467BFE7E8BCEF9C4FEABFE59C726DC42A70BFE2A910FB51295A0161016BBFEAC6B158D953DEBFE94ADD0F6A238EBFE76327324BD9DCBFE4F0EBA97C3840BFE1CCD270F070FA0161016CBFEA7071A07F77E3BFE8DC1E236D28F9BFE6D4F3E46AD3D8BFE43A54E4E98864BFE0E25F8A08194101620169BFDFD19B804DFFC0BFD6ADB1CD9205EEBFC5E25FB4FDE2103FB00000000000003FD40000000000000162016ABFDDBE46D96CD830BFD40373D42CE2E2BFBE14AED893EEF03FC00000000000003FD80000000000000162016BBFDB88AD9E7D52EABFD12D35A41BA104BFAF0540438FD5C03FC80000000000003FDC0000000000000162016CBFD92E9A0720D3ECBFCC5041854DF7D400000000000000003FD00000000000003FE0000000000000016301693FE20000000000003FEA0000000000003FF10000000000003FF50000000000003FF90000000000000163016A3FE40000000000003FEC0000000000003FF20000000000003FF60000000000003FFA0000000000000163016B3FE60000000000003FEE0000000000003FF30000000000003FF70000000000003FFB0000000000000163016C3FE80000000000003FF00000000000003FF40000000000003FF80000000000003FFC000000000000"}}
+{"expression":"map(a,f(a)(elu(a)))","inputs":{"a":"0x0701020178017A010179050C01610169BFF80000BFD80000BFB80000BF980000BF7000000161016ABFF00000BFD00000BFB00000BF900000BF6000000161016BBFE80000BFC80000BFA80000BF880000BF5000000161016CBFE00000BFC00000BFA00000BF800000BF40000001620169BF300000BEE00000BE4000003D8000003EA000000162016ABF200000BEC00000BE0000003E0000003EC000000162016BBF100000BEA00000BD8000003E4000003EE000000162016CBF000000BE800000000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"},"result":{"expect":"0x0701020178017A010179050C01610169BF5B1EA5BF50A50FBF4331D6BF31ECA6BF1BBFBC0161016ABF58BDBBBF4D9732BF3F45E7BF2CE393BF1548880161016BBF56358BBF4A56E8BF3B193ABF27875DBF0E66940161016CBF53838DBF46E0F1BF36A79FBF21D2A7BF0712FC01620169BEFE8CDCBEB56D8EBE2F12FE3D8000003EA000000162016ABEEDF237BEA01B9FBDF0A5773E0000003EC000000162016BBEDC456DBE8969ADBD782A023E4000003EE000000162016CBEC974D0BE62820C000000003E8000003F000000016301693F1000003F5000003F8800003FA800003FC800000163016A3F2000003F6000003F9000003FB000003FD000000163016B3F3000003F7000003F9800003FB800003FD800000163016C3F4000003F8000003FA000003FC000003FE00000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x02003FF0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02010178033FF000000000000000000000000000000000000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x02020178030179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E000000000000"},"result":{"expect":"0x02020178030179053FF00000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060103017803017905017A073F8000000000000000000000000000003F800000000000003F80000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x010101780301613FF00000000000000162000000000000000001630000000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F3FF0000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A0000000000000000016103626172016B3FF0000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A0000000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B0000000000000000016303666F6F016C0000000000000000"}}
+{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F800000016103626172016A00000000016103626172016B3F800000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A00000000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B00000000016303666F6F016C00000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000003666F6F3FF00000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B000000000000000000000000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A3FF000000000000000000000000000000000000000000000000000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a in [1,5,7,13,42]","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003F800000000000003F800000000000000161016A00000000000000000000000000000000000000000161016B000000003F8000000000000000000000000000000161016C00000000000000000000000000000000000000000162016900000000000000000000000000000000000000000162016A00000000000000000000000000000000000000000162016B00000000000000000000000000000000000000000162016C00000000000000000000000000000000000000000163016900000000000000000000000000000000000000000163016A3F800000000000000000000000000000000000000163016B00000000000000000000000000000000000000000163016C0000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x02003FF0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000"},"result":{"expect":"0x02010178033FF000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x02020178030179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E000000000000"},"result":{"expect":"0x02020178030179053FF00000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x0203017803017905017A073FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000403D000000000000403E000000000000403F00000000000040400000000000004040800000000000404100000000000040418000000000004042000000000000404280000000000040430000000000004043800000000000404400000000000040448000000000004045000000000000404580000000000040460000000000004046800000000000404700000000000040478000000000004048000000000000404880000000000040490000000000004049800000000000404A000000000000404A800000000000404B000000000000404B800000000000404C000000000000404C800000000000404D000000000000404D800000000000404E000000000000404E800000000000404F000000000000404F8000000000004050000000000000405040000000000040508000000000004050C000000000004051000000000000405140000000000040518000000000004051C000000000004052000000000000405240000000000040528000000000004052C000000000004053000000000000405340000000000040538000000000004053C000000000004054000000000000405440000000000040548000000000004054C000000000004055000000000000405540000000000040558000000000004055C000000000004056000000000000405640000000000040568000000000004056C000000000004057000000000000405740000000000040578000000000004057C000000000004058000000000000405840000000000040588000000000004058C000000000004059000000000000405940000000000040598000000000004059C00000000000405A000000000000405A400000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x060103017803017905017A073F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C8000041D0000041D8000041E0000041E8000041F0000041F80000420000004204000042080000420C0000421000004214000042180000421C0000422000004224000042280000422C0000423000004234000042380000423C0000424000004244000042480000424C0000425000004254000042580000425C0000426000004264000042680000426C0000427000004274000042780000427C00004280000042820000428400004286000042880000428A0000428C0000428E00004290000042920000429400004296000042980000429A0000429C0000429E000042A0000042A2000042A4000042A6000042A8000042AA000042AC000042AE000042B0000042B2000042B4000042B6000042B8000042BA000042BC000042BE000042C0000042C2000042C4000042C6000042C8000042CA000042CC000042CE000042D0000042D20000"},"result":{"expect":"0x060103017803017905017A073F8000000000000000000000000000003F800000000000003F80000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x010101780301613FF00000000000000162400000000000000001634008000000000000"},"result":{"expect":"0x010101780301613FF00000000000000162000000000000000001630000000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x010201780179060161036261724000000000000000016103666F6F3FF00000000000000162036261724010000000000000016203666F6F40080000000000000163036261724018000000000000016303666F6F4014000000000000"},"result":{"expect":"0x010201780179060161036261720000000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F00000000000000000163036261720000000000000000016303666F6F3FF0000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x010301780179017A1801610362617201694014000000000000016103626172016A4018000000000000016103626172016B401C000000000000016103626172016C4020000000000000016103666F6F01693FF0000000000000016103666F6F016A4000000000000000016103666F6F016B4008000000000000016103666F6F016C40100000000000000162036261720169402A000000000000016203626172016A402C000000000000016203626172016B402E000000000000016203626172016C4030000000000000016203666F6F01694022000000000000016203666F6F016A4024000000000000016203666F6F016B4026000000000000016203666F6F016C402800000000000001630362617201694035000000000000016303626172016A4036000000000000016303626172016B4037000000000000016303626172016C4038000000000000016303666F6F01694031000000000000016303666F6F016A4032000000000000016303666F6F016B4033000000000000016303666F6F016C4034000000000000"},"result":{"expect":"0x010301780179017A1801610362617201693FF0000000000000016103626172016A0000000000000000016103626172016B3FF0000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C000000000000000001630362617201690000000000000000016303626172016A0000000000000000016303626172016B0000000000000000016303626172016C0000000000000000016303666F6F01690000000000000000016303666F6F016A0000000000000000016303666F6F016B0000000000000000016303666F6F016C0000000000000000"}}
+{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x05010301780179017A18016103626172016940A00000016103626172016A40C00000016103626172016B40E00000016103626172016C41000000016103666F6F01693F800000016103666F6F016A40000000016103666F6F016B40400000016103666F6F016C40800000016203626172016941500000016203626172016A41600000016203626172016B41700000016203626172016C41800000016203666F6F016941100000016203666F6F016A41200000016203666F6F016B41300000016203666F6F016C41400000016303626172016941A80000016303626172016A41B00000016303626172016B41B80000016303626172016C41C00000016303666F6F016941880000016303666F6F016A41900000016303666F6F016B41980000016303666F6F016C41A00000"},"result":{"expect":"0x05010301780179017A1801610362617201693F800000016103626172016A00000000016103626172016B3F800000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000016303626172016900000000016303626172016A00000000016303626172016B00000000016303626172016C00000000016303666F6F016900000000016303666F6F016A00000000016303666F6F016B00000000016303666F6F016C00000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x0301017902017803017A07020362617240200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C0000000000004036000000000000403700000000000040380000000000004039000000000000403A000000000000403B000000000000403C000000000000404200000000000040428000000000004043000000000000404380000000000040440000000000004044800000000000404500000000000003666F6F3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402E000000000000403000000000000040310000000000004032000000000000403300000000000040340000000000004035000000000000403D000000000000403E000000000000403F0000000000004040000000000000404080000000000040410000000000004041800000000000"},"result":{"expect":"0x0301017902017803017A070203626172000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000003666F6F3FF00000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x03020178017A010179050C016101693FF000000000000040140000000000004022000000000000402A00000000000040310000000000000161016A400000000000000040180000000000004024000000000000402C00000000000040320000000000000161016B4008000000000000401C0000000000004026000000000000402E00000000000040330000000000000161016C401000000000000040200000000000004028000000000000403000000000000040340000000000000162016940350000000000004039000000000000403D000000000000404080000000000040428000000000000162016A4036000000000000403A000000000000403E000000000000404100000000000040430000000000000162016B4037000000000000403B000000000000403F000000000000404180000000000040438000000000000162016C4038000000000000403C00000000000040400000000000004042000000000000404400000000000001630169404480000000000040468000000000004048800000000000404A800000000000404C8000000000000163016A404500000000000040470000000000004049000000000000404B000000000000404D0000000000000163016B404580000000000040478000000000004049800000000000404B800000000000404D8000000000000163016C40460000000000004048000000000000404A000000000000404C000000000000404E000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B000000000000000000000000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A3FF000000000000000000000000000000000000000000000000000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x02003FB999999999999A"},"result":{"expect":"0x0200400199999999999A"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x02010178033FB999999999999A3FC999999999999A3FD3333333333333"},"result":{"expect":"0x0201017803400199999999999A40033333333333334004CCCCCCCCCCCD"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017803017905400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000400999999999999A400B333333333333400CCCCCCCCCCCCD400E66666666666640100000000000004010CCCCCCCCCCCD401199999999999A401266666666666640133333333333334014000000000000"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A401400000000000040146666666666664014CCCCCCCCCCCD4015333333333333401599999999999A401600000000000040166666666666664016CCCCCCCCCCCD4017333333333333401799999999999A401800000000000040186666666666664018CCCCCCCCCCCD4019333333333333401999999999999A401A000000000000401A666666666666401ACCCCCCCCCCCD401B333333333333401B99999999999A401C000000000000401C666666666666401CCCCCCCCCCCCD401D333333333333401D99999999999A401E000000000000401E666666666666401ECCCCCCCCCCCD401F333333333333401F99999999999A402000000000000040203333333333334020666666666666402099999999999A4020CCCCCCCCCCCD402100000000000040213333333333334021666666666666402199999999999A4021CCCCCCCCCCCD402200000000000040223333333333334022666666666666402299999999999A4022CCCCCCCCCCCD402300000000000040233333333333334023666666666666402399999999999A4023CCCCCCCCCCCD402400000000000040243333333333334024666666666666402499999999999A4024CCCCCCCCCCCD4025000000000000"},"result":{"expect":"0x0203017803017905017A07400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000400999999999999A400B333333333333400CCCCCCCCCCCCD400E66666666666640100000000000004010CCCCCCCCCCCD401199999999999A4012666666666666401333333333333340140000000000004014CCCCCCCCCCCD401599999999999A4016666666666666401733333333333340180000000000004018CCCCCCCCCCCD401999999999999A401A666666666666401B333333333333401C000000000000401CCCCCCCCCCCCD401D99999999999A401E666666666666401F333333333333402000000000000040206666666666664020CCCCCCCCCCCD4021333333333333402199999999999A402200000000000040226666666666664022CCCCCCCCCCCD4023333333333333402399999999999A402400000000000040246666666666664024CCCCCCCCCCCD4025333333333333402599999999999A402600000000000040266666666666664026CCCCCCCCCCCD4027333333333333402799999999999A402800000000000040286666666666664028CCCCCCCCCCCD4029333333333333402999999999999A402A000000000000402A666666666666402ACCCCCCCCCCCD402B333333333333402B99999999999A402C000000000000402C666666666666402CCCCCCCCCCCCD402D333333333333402D99999999999A402E000000000000402E666666666666402ECCCCCCCCCCCD402F333333333333402F99999999999A403000000000000040303333333333334030666666666666403099999999999A4030CCCCCCCCCCCD403100000000000040313333333333334031666666666666403199999999999A4031CCCCCCCCCCCD403200000000000040323333333333334032666666666666403299999999999A4032CCCCCCCCCCCD403300000000000040333333333333334033666666666666403399999999999A4033CCCCCCCCCCCD403400000000000040343333333333334034666666666666403499999999999A4034CCCCCCCCCCCD403500000000000040353333333333334035666666666666403599999999999A4035CCCCCCCCCCCD403600000000000040363333333333334036666666666666403699999999999A4036CCCCCCCCCCCD4037000000000000"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x01010178030161400199999999999A0162400333333333333301634004CCCCCCCCCCCD"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179060161036261724003333333333333016103666F6F400199999999999A0162036261724006666666666666016203666F6F4004CCCCCCCCCCCD016303626172400999999999999A016303666F6F4008000000000000"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x010301780179017A1801610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FF4CCCCCCCCCCCD016203626172016A3FF6666666666666016203626172016B3FF8000000000000016203626172016C3FF999999999999A016203666F6F01693FECCCCCCCCCCCCD016203666F6F016A3FF0000000000000016203666F6F016B3FF199999999999A016203666F6F016C3FF333333333333301630362617201694000CCCCCCCCCCCD016303626172016A400199999999999A016303626172016B4002666666666666016303626172016C4003333333333333016303666F6F01693FFB333333333333016303666F6F016A3FFCCCCCCCCCCCCD016303666F6F016B3FFE666666666666016303666F6F016C4000000000000000"},"result":{"expect":"0x010301780179017A1801610362617201694008000000000000016103626172016A400999999999999A016103626172016B400B333333333333016103626172016C400CCCCCCCCCCCCD016103666F6F0169400199999999999A016103666F6F016A4003333333333333016103666F6F016B4004CCCCCCCCCCCD016103666F6F016C400666666666666601620362617201694012666666666666016203626172016A4013333333333333016203626172016B4014000000000000016203626172016C4014CCCCCCCCCCCD016203666F6F0169400E666666666666016203666F6F016A4010000000000000016203666F6F016B4010CCCCCCCCCCCD016203666F6F016C401199999999999A01630362617201694018CCCCCCCCCCCD016303626172016A401999999999999A016303626172016B401A666666666666016303626172016C401B333333333333016303666F6F0169401599999999999A016303666F6F016A4016666666666666016303666F6F016B4017333333333333016303666F6F016C4018000000000000"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF6666666666666400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400CCCCCCCCCCCCD400D99999999999A400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD03666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0301017902017803017A070203626172400CCCCCCCCCCCCD400E66666666666640100000000000004010CCCCCCCCCCCD401199999999999A40126666666666664013333333333333401999999999999A401A666666666666401B333333333333401C000000000000401CCCCCCCCCCCCD401D99999999999A401E66666666666640226666666666664022CCCCCCCCCCCD4023333333333333402399999999999A402400000000000040246666666666664024CCCCCCCCCCCD03666F6F400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000400999999999999A400B33333333333340140000000000004014CCCCCCCCCCCD401599999999999A4016666666666666401733333333333340180000000000004018CCCCCCCCCCCD401F333333333333402000000000000040206666666666664020CCCCCCCCCCCD4021333333333333402199999999999A4022000000000000"}}
-{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201694000CCCCCCCCCCCD40040000000000004007333333333333400A666666666666400D99999999999A0162016A400199999999999A4004CCCCCCCCCCCD4008000000000000400B333333333333400E6666666666660162016B4002666666666666400599999999999A4008CCCCCCCCCCCD400C000000000000400F3333333333330162016C40033333333333334006666666666666400999999999999A400CCCCCCCCCCCCD40100000000000000163016940106666666666664012000000000000401399999999999A40153333333333334016CCCCCCCCCCCD0163016A4010CCCCCCCCCCCD40126666666666664014000000000000401599999999999A40173333333333330163016B40113333333333334012CCCCCCCCCCCD40146666666666664016000000000000401799999999999A0163016C401199999999999A40133333333333334014CCCCCCCCCCCD40166666666666664018000000000000"},"result":{"expect":"0x03020178017A010179050C01610169400199999999999A4008000000000000400E6666666666664012666666666666401599999999999A0161016A4003333333333333400999999999999A4010000000000000401333333333333340166666666666660161016B4004CCCCCCCCCCCD400B3333333333334010CCCCCCCCCCCD401400000000000040173333333333330161016C4006666666666666400CCCCCCCCCCCCD401199999999999A4014CCCCCCCCCCCD4018000000000000016201694018CCCCCCCCCCCD401C000000000000401F33333333333340213333333333334022CCCCCCCCCCCD0162016A401999999999999A401CCCCCCCCCCCCD4020000000000000402199999999999A40233333333333330162016B401A666666666666401D99999999999A40206666666666664022000000000000402399999999999A0162016C401B333333333333401E6666666666664020CCCCCCCCCCCD402266666666666640240000000000000163016940246666666666664026000000000000402799999999999A4029333333333333402ACCCCCCCCCCCD0163016A4024CCCCCCCCCCCD40266666666666664028000000000000402999999999999A402B3333333333330163016B40253333333333334026CCCCCCCCCCCD4028666666666666402A000000000000402B99999999999A0163016C402599999999999A40273333333333334028CCCCCCCCCCCD402A666666666666402C000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FC999999999999A"}}
-{"expression":"a+b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FC999999999999A3FD999999999999A3FE33333333333333FE999999999999A3FF0000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FD33333333333343FD999999999999A3FE00000000000003FE33333333333343FE66666666666663FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FE00000000000003FE33333333333343FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FE999999999999A3FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333333FF66666666666673FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD40000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004CCCCCCCCCCCD400599999999999A400666666666666640073333333333334008000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FC999999999999A3FD999999999999A3FE33333333333333FE999999999999A3FF00000000000003FF33333333333333FF66666666666663FF999999999999A3FFCCCCCCCCCCCCD4000000000000000400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE99999999999993FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF99999999999993FFCCCCCCCCCCCCD3FFE66666666666740000000000000004000CCCCCCCCCCCD4001999999999999400266666666666640033333333333334004CCCCCCCCCCCD40059999999999994006666666666666400733333333333340080000000000004008CCCCCCCCCCCD4009999999999999400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F33333333333340100000000000003FE66666666666663FE999999999999A3FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCC3FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCC4002666666666666400333333333333440040000000000004004CCCCCCCCCCCD400599999999999A400666666666666640073333333333344008CCCCCCCCCCCD4009999999999999400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D999999999999400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A40120000000000003FF33333333333343FF4CCCCCCCCCCCD3FF66666666666673FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCD40000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCC4006666666666666400733333333333440080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333334400CCCCCCCCCCCCD400D999999999999400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCC401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A4014000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FC999999999999A01623FD999999999999A01633FE3333333333333"}}
-{"expression":"a+b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FC999999999999A01623FD999999999999A"}}
-{"expression":"a+b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FD333333333333401610362617A3FD999999999999A016103666F6F3FC999999999999A0162036261723FD999999999999A01620362617A3FE0000000000000016203666F6F3FD33333333333340163036261723FE000000000000001630362617A3FE3333333333333016303666F6F3FD999999999999A"}}
-{"expression":"a+b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FD333333333333401610362617A3FD999999999999A016103666F6F3FC999999999999A0162036261723FE666666666666601620362617A3FE999999999999A016203666F6F3FE33333333333340163036261723FF199999999999A01630362617A3FF3333333333333016303666F6F3FF0000000000000"}}
-{"expression":"a+b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FD999999999999A016103666F6F3FC999999999999A0162036261723FECCCCCCCCCCCCD016203666F6F3FE6666666666666"}}
-{"expression":"a+b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FE6666666666666016103626172016A3FE999999999999A016103626172016B3FECCCCCCCCCCCCC016103626172016C3FF0000000000000016103666F6F01693FC999999999999A016103666F6F016A3FD3333333333334016103666F6F016B3FD999999999999A016103666F6F016C3FE000000000000001620362617201693FF0000000000000016203626172016A3FF199999999999A016203626172016B3FF3333333333333016203626172016C3FF4CCCCCCCCCCCD016203666F6F01693FE0000000000000016203666F6F016A3FE3333333333334016203666F6F016B3FE6666666666666016203666F6F016C3FE999999999999A"}}
-{"expression":"a+b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF99999999999993FF33333333333343FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE666666666666400000000000000003666F6F3FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE99999999999993FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCC3FF00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF3333333333333"}}
-{"expression":"a+b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC999999999999A3FE66666666666663FF33333333333333FFB333333333334400199999999999A0161016A3FD33333333333343FE999999999999A3FF4CCCCCCCCCCCD3FFCCCCCCCCCCCCC40026666666666660161016B3FD999999999999A3FECCCCCCCCCCCCC3FF66666666666673FFE66666666666640033333333333330161016C3FE00000000000003FF00000000000003FF800000000000040000000000000004004000000000000016201693FE66666666666663FF33333333333333FFB333333333334400199999999999A400599999999999A0162016A3FE999999999999A3FF4CCCCCCCCCCCC3FFCCCCCCCCCCCCD400266666666666640066666666666660162016B3FECCCCCCCCCCCCC3FF66666666666663FFE666666666667400333333333333340073333333333330162016C3FF00000000000003FF8000000000000400000000000000040040000000000004008000000000000016301693FF33333333333343FFB333333333333400199999999999A400599999999999A400999999999999A0163016A3FF4CCCCCCCCCCCD3FFCCCCCCCCCCCCC40026666666666664006666666666666400A6666666666660163016B3FF66666666666673FFE66666666666640033333333333344007333333333333400B3333333333330163016C3FF8000000000000400000000000000040040000000000004008000000000000400C000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FC999999999999A"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FC999999999999A3FD999999999999A3FE33333333333333FE999999999999A3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FD33333333333343FD999999999999A3FE00000000000003FE33333333333343FE66666666666663FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FE00000000000003FE33333333333343FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FE999999999999A3FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333333FF66666666666673FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD40000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004CCCCCCCCCCCD400599999999999A400666666666666640073333333333334008000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FC999999999999A3FD999999999999A3FE33333333333333FE999999999999A3FF00000000000003FF33333333333333FF66666666666663FF999999999999A3FFCCCCCCCCCCCCD4000000000000000400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE99999999999993FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF99999999999993FFCCCCCCCCCCCCD3FFE66666666666740000000000000004000CCCCCCCCCCCD4001999999999999400266666666666640033333333333334004CCCCCCCCCCCD40059999999999994006666666666666400733333333333340080000000000004008CCCCCCCCCCCD4009999999999999400B333333333333400C000000000000400CCCCCCCCCCCCD400D99999999999A400E666666666666400F33333333333340100000000000003FE66666666666663FE999999999999A3FECCCCCCCCCCCCC3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCC3FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCC4002666666666666400333333333333440040000000000004004CCCCCCCCCCCD400599999999999A400666666666666640073333333333344008CCCCCCCCCCCD4009999999999999400A666666666666400B333333333333400C000000000000400CCCCCCCCCCCCD400D999999999999400F333333333333401000000000000040106666666666664010CCCCCCCCCCCD4011333333333333401199999999999A40120000000000003FF33333333333343FF4CCCCCCCCCCCD3FF66666666666673FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCD40000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCC4006666666666666400733333333333440080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333334400CCCCCCCCCCCCD400D999999999999400E666666666666400F333333333333401000000000000040106666666666664010CCCCCCCCCCCC401199999999999A401200000000000040126666666666664012CCCCCCCCCCCD4013333333333333401399999999999A4014000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FC999999999999A01623FD999999999999A01633FE3333333333333"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FC999999999999A01623FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FD333333333333401610362617A3FD999999999999A016103666F6F3FC999999999999A0162036261723FD999999999999A01620362617A3FE0000000000000016203666F6F3FD33333333333340163036261723FE000000000000001630362617A3FE3333333333333016303666F6F3FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FD333333333333401610362617A3FD999999999999A016103666F6F3FC999999999999A0162036261723FE666666666666601620362617A3FE999999999999A016203666F6F3FE33333333333340163036261723FF199999999999A01630362617A3FF3333333333333016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FD999999999999A016103666F6F3FC999999999999A0162036261723FECCCCCCCCCCCCD016203666F6F3FE6666666666666"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FE6666666666666016103626172016A3FE999999999999A016103626172016B3FECCCCCCCCCCCCC016103626172016C3FF0000000000000016103666F6F01693FC999999999999A016103666F6F016A3FD3333333333334016103666F6F016B3FD999999999999A016103666F6F016C3FE000000000000001620362617201693FF0000000000000016203626172016A3FF199999999999A016203626172016B3FF3333333333333016203626172016C3FF4CCCCCCCCCCCD016203666F6F01693FE0000000000000016203666F6F016A3FE3333333333334016203666F6F016B3FE6666666666666016203666F6F016C3FE999999999999A"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF99999999999993FF33333333333343FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333343FFCCCCCCCCCCCCC3FFE666666666666400000000000000003666F6F3FC999999999999A3FD33333333333343FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE99999999999993FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCC3FF00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF3333333333333"}}
-{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC999999999999A3FE66666666666663FF33333333333333FFB333333333334400199999999999A0161016A3FD33333333333343FE999999999999A3FF4CCCCCCCCCCCD3FFCCCCCCCCCCCCC40026666666666660161016B3FD999999999999A3FECCCCCCCCCCCCC3FF66666666666673FFE66666666666640033333333333330161016C3FE00000000000003FF00000000000003FF800000000000040000000000000004004000000000000016201693FE66666666666663FF33333333333333FFB333333333334400199999999999A400599999999999A0162016A3FE999999999999A3FF4CCCCCCCCCCCC3FFCCCCCCCCCCCCD400266666666666640066666666666660162016B3FECCCCCCCCCCCCC3FF66666666666663FFE666666666667400333333333333340073333333333330162016C3FF00000000000003FF8000000000000400000000000000040040000000000004008000000000000016301693FF33333333333343FFB333333333333400199999999999A400599999999999A400999999999999A0163016A3FF4CCCCCCCCCCCD3FFCCCCCCCCCCCCC40026666666666664006666666666666400A6666666666660163016B3FF66666666666673FFE66666666666640033333333333344007333333333333400B3333333333330163016C3FF8000000000000400000000000000040040000000000004008000000000000400C000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999A3FB999999999999A0000000000000000BFB9999999999998BFC999999999999ABFD33333333333333FC99999999999993FB99999999999980000000000000000BFB999999999999CBFC999999999999A3FD33333333333343FC999999999999A3FB999999999999C0000000000000000BFB99999999999983FD999999999999A3FD33333333333333FC999999999999A3FB99999999999980000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999ABFD9999999999999BFDFFFFFFFFFFFFFBFE3333333333334BFE6666666666666BFE999999999999ABFE999999999999ABFECCCCCCCCCCCCCBFF0000000000000BFF1999999999999BFF3333333333333BFF3333333333334BFF4CCCCCCCCCCCCBFF6666666666666BFF8000000000000BFF999999999999ABFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999ABFE0000000000000BFE3333333333333BFE3333333333334BFE6666666666666BFE999999999999ABFECCCCCCCCCCCCEBFF0000000000000BFF199999999999ABFF3333333333333BFF3333333333333BFF4CCCCCCCCCCCDBFF6666666666666BFF8000000000000BFF9999999999999BFFB333333333333BFFCCCCCCCCCCCCDBFFCCCCCCCCCCCCEBFFE666666666666C000000000000000C000CCCCCCCCCCCDC00199999999999AC002666666666667C003333333333333C003333333333333C004000000000000C004CCCCCCCCCCCDC00599999999999AC006666666666666C007333333333333C0080000000000003FE00000000000003FD99999999999993FD33333333333333FC99999999999983FB99999999999980000000000000000BFB9999999999998BFB99999999999A0BFC999999999999CBFD3333333333334BFD999999999999CBFE0000000000000BFE3333333333334BFE6666666666666BFE6666666666666BFE999999999999ABFECCCCCCCCCCCCCBFF0000000000000BFF1999999999999BFF3333333333333BFF4CCCCCCCCCCCDBFF4CCCCCCCCCCCEBFF6666666666666BFF8000000000000BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCEBFFE666666666666BFFE666666666666C000000000000000C000CCCCCCCCCCCDC00199999999999AC002666666666666C003333333333333C0040000000000003FF00000000000003FECCCCCCCCCCCCE3FE999999999999A3FE66666666666673FE33333333333343FE00000000000013FD999999999999C3FD99999999999983FD33333333333323FC99999999999983FB99999999999900000000000000000BFB99999999999A0BFC9999999999998BFC9999999999998BFD3333333333334BFD9999999999998BFE0000000000000BFE3333333333332BFE6666666666666BFE999999999999ABFE999999999999CBFECCCCCCCCCCCCCBFF0000000000000BFF199999999999ABFF3333333333334BFF4CCCCCCCCCCCEBFF6666666666666BFF6666666666666BFF8000000000000BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172BFB999999999999A01610362617ABFC9999999999999016103666F6F0000000000000000016203626172000000000000000001620362617ABFB9999999999998016203666F6F3FB999999999999A0163036261723FB999999999999801630362617A0000000000000000016303666F6F3FC9999999999999"}}
-{"expression":"a-b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172BFB999999999999A01610362617ABFC9999999999999016103666F6F0000000000000000016203626172BFD333333333333301620362617ABFD9999999999999016203666F6FBFC999999999999A016303626172BFE000000000000001630362617ABFE3333333333334016303666F6FBFD9999999999999"}}
-{"expression":"a-b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB9999999999998016203666F6F3FB999999999999C"}}
-{"expression":"a-b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A100161036261720169BFD3333333333333016103626172016ABFD9999999999999016103626172016BBFDFFFFFFFFFFFFF016103626172016CBFE3333333333334016103666F6F01690000000000000000016103666F6F016ABFB999999999999A016103666F6F016BBFC9999999999999016103666F6F016CBFD333333333333401620362617201690000000000000000016203626172016ABFB9999999999998016203626172016BBFC9999999999998016203626172016CBFD3333333333334016203666F6F01693FD3333333333334016203666F6F016A3FC999999999999A016203666F6F016B3FB999999999999C016203666F6F016C0000000000000000"}}
-{"expression":"a-b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A070203626172BFE3333333333334BFE6666666666666BFE999999999999ABFECCCCCCCCCCCCEBFF0000000000000BFF199999999999ABFF3333333333333BFD999999999999ABFE0000000000000BFE3333333333333BFE6666666666667BFE9999999999999BFECCCCCCCCCCCCDBFEFFFFFFFFFFFFFBFC999999999999CBFD3333333333334BFD999999999999ABFE0000000000001BFE3333333333333BFE6666666666667BFE999999999999903666F6F0000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999ABFE0000000000000BFE33333333333333FC99999999999993FB99999999999980000000000000000BFB999999999999CBFC999999999999ABFD3333333333333BFD99999999999993FD999999999999A3FD33333333333333FC999999999999A3FB99999999999980000000000000000BFB9999999999998BFC9999999999998"}}
-{"expression":"a-b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFD3333333333333BFE3333333333334BFECCCCCCCCCCCCDBFF33333333333330161016ABFB999999999999ABFD9999999999999BFE6666666666666BFEFFFFFFFFFFFFFBFF4CCCCCCCCCCCD0161016BBFC9999999999999BFDFFFFFFFFFFFFFBFE999999999999ABFF199999999999ABFF66666666666660161016CBFD3333333333334BFE3333333333334BFECCCCCCCCCCCCCBFF3333333333334BFF8000000000000016201693FE00000000000003FC9999999999998BFB9999999999998BFD999999999999ABFE66666666666660162016A3FD99999999999993FB9999999999998BFC9999999999998BFDFFFFFFFFFFFFEBFE999999999999A0162016B3FD33333333333330000000000000000BFD3333333333334BFE3333333333333BFECCCCCCCCCCCCC0162016C3FC9999999999998BFB99999999999A0BFD9999999999998BFE6666666666667BFF0000000000000016301693FF00000000000003FE66666666666663FD999999999999A3FB9999999999990BFC99999999999980163016A3FECCCCCCCCCCCCE3FE33333333333333FD33333333333340000000000000000BFD33333333333340163016B3FE999999999999A3FE00000000000003FC9999999999998BFB99999999999A0BFD99999999999980163016C3FE66666666666673FD99999999999983FB99999999999A0BFC99999999999A0BFE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999A3FB999999999999A0000000000000000BFB9999999999998BFC999999999999ABFD33333333333333FC99999999999993FB99999999999980000000000000000BFB999999999999CBFC999999999999A3FD33333333333343FC999999999999A3FB999999999999C0000000000000000BFB99999999999983FD999999999999A3FD33333333333333FC999999999999A3FB99999999999980000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999ABFD9999999999999BFDFFFFFFFFFFFFFBFE3333333333334BFE6666666666666BFE999999999999ABFE999999999999ABFECCCCCCCCCCCCCBFF0000000000000BFF1999999999999BFF3333333333333BFF3333333333334BFF4CCCCCCCCCCCCBFF6666666666666BFF8000000000000BFF999999999999ABFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999ABFE0000000000000BFE3333333333333BFE3333333333334BFE6666666666666BFE999999999999ABFECCCCCCCCCCCCEBFF0000000000000BFF199999999999ABFF3333333333333BFF3333333333333BFF4CCCCCCCCCCCDBFF6666666666666BFF8000000000000BFF9999999999999BFFB333333333333BFFCCCCCCCCCCCCDBFFCCCCCCCCCCCCEBFFE666666666666C000000000000000C000CCCCCCCCCCCDC00199999999999AC002666666666667C003333333333333C003333333333333C004000000000000C004CCCCCCCCCCCDC00599999999999AC006666666666666C007333333333333C0080000000000003FE00000000000003FD99999999999993FD33333333333333FC99999999999983FB99999999999980000000000000000BFB9999999999998BFB99999999999A0BFC999999999999CBFD3333333333334BFD999999999999CBFE0000000000000BFE3333333333334BFE6666666666666BFE6666666666666BFE999999999999ABFECCCCCCCCCCCCCBFF0000000000000BFF1999999999999BFF3333333333333BFF4CCCCCCCCCCCDBFF4CCCCCCCCCCCEBFF6666666666666BFF8000000000000BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCEBFFE666666666666BFFE666666666666C000000000000000C000CCCCCCCCCCCDC00199999999999AC002666666666666C003333333333333C0040000000000003FF00000000000003FECCCCCCCCCCCCE3FE999999999999A3FE66666666666673FE33333333333343FE00000000000013FD999999999999C3FD99999999999983FD33333333333323FC99999999999983FB99999999999900000000000000000BFB99999999999A0BFC9999999999998BFC9999999999998BFD3333333333334BFD9999999999998BFE0000000000000BFE3333333333332BFE6666666666666BFE999999999999ABFE999999999999CBFECCCCCCCCCCCCCBFF0000000000000BFF199999999999ABFF3333333333334BFF4CCCCCCCCCCCEBFF6666666666666BFF6666666666666BFF8000000000000BFF999999999999ABFFB333333333334BFFCCCCCCCCCCCCCBFFE666666666666C000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172BFB999999999999A01610362617ABFC9999999999999016103666F6F0000000000000000016203626172000000000000000001620362617ABFB9999999999998016203666F6F3FB999999999999A0163036261723FB999999999999801630362617A0000000000000000016303666F6F3FC9999999999999"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172BFB999999999999A01610362617ABFC9999999999999016103666F6F0000000000000000016203626172BFD333333333333301620362617ABFD9999999999999016203666F6FBFC999999999999A016303626172BFE000000000000001630362617ABFE3333333333334016303666F6FBFD9999999999999"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB9999999999998016203666F6F3FB999999999999C"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A100161036261720169BFD3333333333333016103626172016ABFD9999999999999016103626172016BBFDFFFFFFFFFFFFF016103626172016CBFE3333333333334016103666F6F01690000000000000000016103666F6F016ABFB999999999999A016103666F6F016BBFC9999999999999016103666F6F016CBFD333333333333401620362617201690000000000000000016203626172016ABFB9999999999998016203626172016BBFC9999999999998016203626172016CBFD3333333333334016203666F6F01693FD3333333333334016203666F6F016A3FC999999999999A016203666F6F016B3FB999999999999C016203666F6F016C0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A070203626172BFE3333333333334BFE6666666666666BFE999999999999ABFECCCCCCCCCCCCEBFF0000000000000BFF199999999999ABFF3333333333333BFD999999999999ABFE0000000000000BFE3333333333333BFE6666666666667BFE9999999999999BFECCCCCCCCCCCCDBFEFFFFFFFFFFFFFBFC999999999999CBFD3333333333334BFD999999999999ABFE0000000000001BFE3333333333333BFE6666666666667BFE999999999999903666F6F0000000000000000BFB999999999999ABFC9999999999999BFD3333333333334BFD999999999999ABFE0000000000000BFE33333333333333FC99999999999993FB99999999999980000000000000000BFB999999999999CBFC999999999999ABFD3333333333333BFD99999999999993FD999999999999A3FD33333333333333FC999999999999A3FB99999999999980000000000000000BFB9999999999998BFC9999999999998"}}
-{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFD3333333333333BFE3333333333334BFECCCCCCCCCCCCDBFF33333333333330161016ABFB999999999999ABFD9999999999999BFE6666666666666BFEFFFFFFFFFFFFFBFF4CCCCCCCCCCCD0161016BBFC9999999999999BFDFFFFFFFFFFFFFBFE999999999999ABFF199999999999ABFF66666666666660161016CBFD3333333333334BFE3333333333334BFECCCCCCCCCCCCCBFF3333333333334BFF8000000000000016201693FE00000000000003FC9999999999998BFB9999999999998BFD999999999999ABFE66666666666660162016A3FD99999999999993FB9999999999998BFC9999999999998BFDFFFFFFFFFFFFEBFE999999999999A0162016B3FD33333333333330000000000000000BFD3333333333334BFE3333333333333BFECCCCCCCCCCCCC0162016C3FC9999999999998BFB99999999999A0BFD9999999999998BFE6666666666667BFF0000000000000016301693FF00000000000003FE66666666666663FD999999999999A3FB9999999999990BFC99999999999980163016A3FECCCCCCCCCCCCE3FE33333333333333FD33333333333340000000000000000BFD33333333333340163016B3FE999999999999A3FE00000000000003FC9999999999998BFB99999999999A0BFD99999999999980163016C3FE66666666666673FD99999999999983FB99999999999A0BFC99999999999A0BFE0000000000000"}}
-{"expression":"a*b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003F847AE147AE147C"}}
-{"expression":"a*b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053F847AE147AE147C3FA47AE147AE147C3FB70A3D70A3D70A3FC47AE147AE147C3FD0000000000000"}}
-{"expression":"a*b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3F947AE147AE147C3FA47AE147AE147C3FAEB851EB851EB83FB47AE147AE147C3FB999999999999A3F9EB851EB851EB83FAEB851EB851EB83FB70A3D70A3D70A3FBEB851EB851EB83FC33333333333333FA47AE147AE147C3FB47AE147AE147C3FBEB851EB851EB83FC47AE147AE147C3FC999999999999A3FA999999999999A3FB999999999999A3FC33333333333333FC999999999999A3FD0000000000000"}}
-{"expression":"a*b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3FBEB851EB851EB83FC1EB851EB851EB3FC47AE147AE147C3FC70A3D70A3D70B3FC999999999999A3FD51EB851EB851F3FD70A3D70A3D70A3FD8F5C28F5C28F63FDAE147AE147AE13FDCCCCCCCCCCCCC3FE47AE147AE147C3FE5C28F5C28F5C33FE70A3D70A3D70B3FE851EB851EB8523FE999999999999A3FF0CCCCCCCCCCCD3FF199999999999A3FF26666666666663FF33333333333333FF4000000000000"}}
-{"expression":"a*b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033F847AE147AE147C3FA47AE147AE147C3FB70A3D70A3D70A3FC47AE147AE147C3FD00000000000003FD70A3D70A3D70A3FDF5C28F5C28F5B3FE47AE147AE147C3FE9EB851EB851EC3FF00000000000003FF35C28F5C28F5D3FF70A3D70A3D70A3FFB0A3D70A3D70B3FFF5C28F5C28F5B4002000000000000"}}
-{"expression":"a*b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3FAEB851EB851EB83FB1EB851EB851EB3FC47AE147AE147C3FC70A3D70A3D70B3FC999999999999A3FCC28F5C28F5C2A3FCEB851EB851EB83FD0A3D70A3D70A43FD1EB851EB851EB3FDCCCCCCCCCCCCC3FDEB851EB851EB83FE051EB851EB8523FE147AE147AE1483FE23D70A3D70A3D3FE33333333333333FE428F5C28F5C293FEC28F5C28F5C2A3FED70A3D70A3D703FEEB851EB851EB83FF00000000000003FF0A3D70A3D70A43FF147AE147AE1483FF1EB851EB851EB3FF73333333333333FF80000000000003FF8CCCCCCCCCCCD3FF999999999999A3FFA6666666666663FFB3333333333333FFC0000000000003FAEB851EB851EB83FBEB851EB851EB83FC70A3D70A3D70A3FCEB851EB851EB83FD33333333333333FD70A3D70A3D70A3FDAE147AE147AE13FE1EB851EB851EB3FE428F5C28F5C293FE66666666666663FE8A3D70A3D70A43FEAE147AE147AE13FED1EB851EB851E3FEF5C28F5C28F5B3FF33333333333343FF47AE147AE147C3FF5C28F5C28F5C33FF70A3D70A3D70B3FF851EB851EB8523FF999999999999A3FFAE147AE147AE23FFFAE147AE147AF40008F5C28F5C28F400147AE147AE14840020000000000004002B851EB851EB9400370A3D70A3D71400428F5C28F5C29400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C0000000000003FBC28F5C28F5C2A3FCC28F5C28F5C2A3FD51EB851EB851F3FDC28F5C28F5C2A3FE199999999999A3FE51EB851EB851F3FE8A3D70A3D70A43FEEB851EB851EB83FF147AE147AE1483FF33333333333333FF51EB851EB851F3FF70A3D70A3D70A3FF8F5C28F5C28F63FFAE147AE147AE13FFF3333333333344000A3D70A3D70A44001AE147AE147AE4002B851EB851EB94003C28F5C28F5C24004CCCCCCCCCCCD4005D70A3D70A3D84008A3D70A3D70A44009C28F5C28F5C2400AE147AE147AE1400C000000000000400D1EB851EB851E400E3D70A3D70A3D400F5C28F5C28F5B40116666666666664012000000000000401299999999999A40133333333333344013CCCCCCCCCCCC40146666666666664015000000000000"}}
-{"expression":"a*b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613F847AE147AE147C01623FA47AE147AE147C01633FB70A3D70A3D70A"}}
-{"expression":"a*b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613F847AE147AE147C01623FA47AE147AE147C"}}
-{"expression":"a*b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723F947AE147AE147C01610362617A3F9EB851EB851EB8016103666F6F3F847AE147AE147C0162036261723FA47AE147AE147C01620362617A3FAEB851EB851EB8016203666F6F3F947AE147AE147C0163036261723FAEB851EB851EB801630362617A3FB70A3D70A3D70A016303666F6F3F9EB851EB851EB8"}}
-{"expression":"a*b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723F947AE147AE147C01610362617A3F9EB851EB851EB8016103666F6F3F847AE147AE147C0162036261723FB999999999999A01620362617A3FBEB851EB851EB8016203666F6F3FB47AE147AE147C0163036261723FCEB851EB851EB801630362617A3FD147AE147AE148016303666F6F3FCAE147AE147AE1"}}
-{"expression":"a*b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FA47AE147AE147C016103666F6F3F847AE147AE147C0162036261723FC999999999999A016203666F6F3FBEB851EB851EB8"}}
-{"expression":"a*b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FB999999999999A016103626172016A3FBEB851EB851EB8016103626172016B3FC1EB851EB851EB016103626172016C3FC47AE147AE147C016103666F6F01693F847AE147AE147C016103666F6F016A3F947AE147AE147C016103666F6F016B3F9EB851EB851EB8016103666F6F016C3FA47AE147AE147C01620362617201693FD0000000000000016203626172016A3FD3333333333333016203626172016B3FD6666666666666016203626172016C3FD999999999999A016203666F6F01693FA47AE147AE147C016203666F6F016A3FB47AE147AE147C016203666F6F016B3FBEB851EB851EB8016203666F6F016C3FC47AE147AE147C"}}
-{"expression":"a*b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC47AE147AE147C3FC70A3D70A3D70B3FC999999999999A3FCC28F5C28F5C2A3FCEB851EB851EB83FD0A3D70A3D70A43FD1EB851EB851EB3FD47AE147AE147C3FD70A3D70A3D70B3FD999999999999A3FDC28F5C28F5C2A3FDEB851EB851EB83FE0A3D70A3D70A43FE1EB851EB851EB3FDEB851EB851EB83FE147AE147AE1483FE33333333333333FE51EB851EB851F3FE70A3D70A3D70A3FE8F5C28F5C28F63FEAE147AE147AE103666F6F3F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3FAEB851EB851EB83FB1EB851EB851EB3F9EB851EB851EB83FAEB851EB851EB83FB70A3D70A3D70A3FBEB851EB851EB83FC33333333333333FC70A3D70A3D70A3FCAE147AE147AE13FA999999999999A3FB999999999999A3FC33333333333333FC999999999999A3FD00000000000003FD33333333333333FD6666666666666"}}
-{"expression":"a*b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693F847AE147AE147C3FB999999999999A3FD147AE147AE1483FE0A3D70A3D70A43FEB3333333333330161016A3F947AE147AE147C3FBEB851EB851EB83FD33333333333333FE1EB851EB851EB3FECCCCCCCCCCCCD0161016B3F9EB851EB851EB83FC1EB851EB851EB3FD51EB851EB851F3FE33333333333343FEE6666666666660161016C3FA47AE147AE147C3FC47AE147AE147C3FD70A3D70A3D70A3FE47AE147AE147C3FF0000000000000016201693FAEB851EB851EB83FD66666666666663FE70A3D70A3D70B3FF2B851EB851EB93FFB3333333333330162016A3FBEB851EB851EB83FDAE147AE147AE13FE999999999999A3FF428F5C28F5C293FFCCCCCCCCCCCCD0162016B3FC70A3D70A3D70A3FDF5C28F5C28F5B3FEC28F5C28F5C2A3FF599999999999A3FFE6666666666660162016C3FCEB851EB851EB83FE1EB851EB851EB3FEEB851EB851EB83FF70A3D70A3D70B4000000000000000016301693FBC28F5C28F5C2A3FE33333333333333FF2B851EB851EB93FFD1EB851EB851E40046666666666660163016A3FCC28F5C28F5C2A3FE70A3D70A3D70A3FF4CCCCCCCCCCCD3FFF5C28F5C28F5B400599999999999A0163016B3FD51EB851EB851F3FEAE147AE147AE13FF6E147AE147AE24000CCCCCCCCCCCC4006CCCCCCCCCCCC0163016C3FDC28F5C28F5C2A3FEEB851EB851EB83FF8F5C28F5C28F64001EB851EB851EB4008000000000000"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003F847AE147AE147C"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053F847AE147AE147C3FA47AE147AE147C3FB70A3D70A3D70A3FC47AE147AE147C3FD0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3F947AE147AE147C3FA47AE147AE147C3FAEB851EB851EB83FB47AE147AE147C3FB999999999999A3F9EB851EB851EB83FAEB851EB851EB83FB70A3D70A3D70A3FBEB851EB851EB83FC33333333333333FA47AE147AE147C3FB47AE147AE147C3FBEB851EB851EB83FC47AE147AE147C3FC999999999999A3FA999999999999A3FB999999999999A3FC33333333333333FC999999999999A3FD0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3FBEB851EB851EB83FC1EB851EB851EB3FC47AE147AE147C3FC70A3D70A3D70B3FC999999999999A3FD51EB851EB851F3FD70A3D70A3D70A3FD8F5C28F5C28F63FDAE147AE147AE13FDCCCCCCCCCCCCC3FE47AE147AE147C3FE5C28F5C28F5C33FE70A3D70A3D70B3FE851EB851EB8523FE999999999999A3FF0CCCCCCCCCCCD3FF199999999999A3FF26666666666663FF33333333333333FF4000000000000"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033F847AE147AE147C3FA47AE147AE147C3FB70A3D70A3D70A3FC47AE147AE147C3FD00000000000003FD70A3D70A3D70A3FDF5C28F5C28F5B3FE47AE147AE147C3FE9EB851EB851EC3FF00000000000003FF35C28F5C28F5D3FF70A3D70A3D70A3FFB0A3D70A3D70B3FFF5C28F5C28F5B4002000000000000"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3FAEB851EB851EB83FB1EB851EB851EB3FC47AE147AE147C3FC70A3D70A3D70B3FC999999999999A3FCC28F5C28F5C2A3FCEB851EB851EB83FD0A3D70A3D70A43FD1EB851EB851EB3FDCCCCCCCCCCCCC3FDEB851EB851EB83FE051EB851EB8523FE147AE147AE1483FE23D70A3D70A3D3FE33333333333333FE428F5C28F5C293FEC28F5C28F5C2A3FED70A3D70A3D703FEEB851EB851EB83FF00000000000003FF0A3D70A3D70A43FF147AE147AE1483FF1EB851EB851EB3FF73333333333333FF80000000000003FF8CCCCCCCCCCCD3FF999999999999A3FFA6666666666663FFB3333333333333FFC0000000000003FAEB851EB851EB83FBEB851EB851EB83FC70A3D70A3D70A3FCEB851EB851EB83FD33333333333333FD70A3D70A3D70A3FDAE147AE147AE13FE1EB851EB851EB3FE428F5C28F5C293FE66666666666663FE8A3D70A3D70A43FEAE147AE147AE13FED1EB851EB851E3FEF5C28F5C28F5B3FF33333333333343FF47AE147AE147C3FF5C28F5C28F5C33FF70A3D70A3D70B3FF851EB851EB8523FF999999999999A3FFAE147AE147AE23FFFAE147AE147AF40008F5C28F5C28F400147AE147AE14840020000000000004002B851EB851EB9400370A3D70A3D71400428F5C28F5C29400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C0000000000003FBC28F5C28F5C2A3FCC28F5C28F5C2A3FD51EB851EB851F3FDC28F5C28F5C2A3FE199999999999A3FE51EB851EB851F3FE8A3D70A3D70A43FEEB851EB851EB83FF147AE147AE1483FF33333333333333FF51EB851EB851F3FF70A3D70A3D70A3FF8F5C28F5C28F63FFAE147AE147AE13FFF3333333333344000A3D70A3D70A44001AE147AE147AE4002B851EB851EB94003C28F5C28F5C24004CCCCCCCCCCCD4005D70A3D70A3D84008A3D70A3D70A44009C28F5C28F5C2400AE147AE147AE1400C000000000000400D1EB851EB851E400E3D70A3D70A3D400F5C28F5C28F5B40116666666666664012000000000000401299999999999A40133333333333344013CCCCCCCCCCCC40146666666666664015000000000000"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613F847AE147AE147C01623FA47AE147AE147C01633FB70A3D70A3D70A"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613F847AE147AE147C01623FA47AE147AE147C"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723F947AE147AE147C01610362617A3F9EB851EB851EB8016103666F6F3F847AE147AE147C0162036261723FA47AE147AE147C01620362617A3FAEB851EB851EB8016203666F6F3F947AE147AE147C0163036261723FAEB851EB851EB801630362617A3FB70A3D70A3D70A016303666F6F3F9EB851EB851EB8"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723F947AE147AE147C01610362617A3F9EB851EB851EB8016103666F6F3F847AE147AE147C0162036261723FB999999999999A01620362617A3FBEB851EB851EB8016203666F6F3FB47AE147AE147C0163036261723FCEB851EB851EB801630362617A3FD147AE147AE148016303666F6F3FCAE147AE147AE1"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FA47AE147AE147C016103666F6F3F847AE147AE147C0162036261723FC999999999999A016203666F6F3FBEB851EB851EB8"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FB999999999999A016103626172016A3FBEB851EB851EB8016103626172016B3FC1EB851EB851EB016103626172016C3FC47AE147AE147C016103666F6F01693F847AE147AE147C016103666F6F016A3F947AE147AE147C016103666F6F016B3F9EB851EB851EB8016103666F6F016C3FA47AE147AE147C01620362617201693FD0000000000000016203626172016A3FD3333333333333016203626172016B3FD6666666666666016203626172016C3FD999999999999A016203666F6F01693FA47AE147AE147C016203666F6F016A3FB47AE147AE147C016203666F6F016B3FBEB851EB851EB8016203666F6F016C3FC47AE147AE147C"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC47AE147AE147C3FC70A3D70A3D70B3FC999999999999A3FCC28F5C28F5C2A3FCEB851EB851EB83FD0A3D70A3D70A43FD1EB851EB851EB3FD47AE147AE147C3FD70A3D70A3D70B3FD999999999999A3FDC28F5C28F5C2A3FDEB851EB851EB83FE0A3D70A3D70A43FE1EB851EB851EB3FDEB851EB851EB83FE147AE147AE1483FE33333333333333FE51EB851EB851F3FE70A3D70A3D70A3FE8F5C28F5C28F63FEAE147AE147AE103666F6F3F847AE147AE147C3F947AE147AE147C3F9EB851EB851EB83FA47AE147AE147C3FA999999999999A3FAEB851EB851EB83FB1EB851EB851EB3F9EB851EB851EB83FAEB851EB851EB83FB70A3D70A3D70A3FBEB851EB851EB83FC33333333333333FC70A3D70A3D70A3FCAE147AE147AE13FA999999999999A3FB999999999999A3FC33333333333333FC999999999999A3FD00000000000003FD33333333333333FD6666666666666"}}
-{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693F847AE147AE147C3FB999999999999A3FD147AE147AE1483FE0A3D70A3D70A43FEB3333333333330161016A3F947AE147AE147C3FBEB851EB851EB83FD33333333333333FE1EB851EB851EB3FECCCCCCCCCCCCD0161016B3F9EB851EB851EB83FC1EB851EB851EB3FD51EB851EB851F3FE33333333333343FEE6666666666660161016C3FA47AE147AE147C3FC47AE147AE147C3FD70A3D70A3D70A3FE47AE147AE147C3FF0000000000000016201693FAEB851EB851EB83FD66666666666663FE70A3D70A3D70B3FF2B851EB851EB93FFB3333333333330162016A3FBEB851EB851EB83FDAE147AE147AE13FE999999999999A3FF428F5C28F5C293FFCCCCCCCCCCCCD0162016B3FC70A3D70A3D70A3FDF5C28F5C28F5B3FEC28F5C28F5C2A3FF599999999999A3FFE6666666666660162016C3FCEB851EB851EB83FE1EB851EB851EB3FEEB851EB851EB83FF70A3D70A3D70B4000000000000000016301693FBC28F5C28F5C2A3FE33333333333333FF2B851EB851EB93FFD1EB851EB851E40046666666666660163016A3FCC28F5C28F5C2A3FE70A3D70A3D70A3FF4CCCCCCCCCCCD3FFF5C28F5C28F5B400599999999999A0163016B3FD51EB851EB851F3FEAE147AE147AE13FF6E147AE147AE24000CCCCCCCCCCCC4006CCCCCCCCCCCC0163016C3FDC28F5C28F5C2A3FEEB851EB851EB83FF8F5C28F5C28F64001EB851EB851EB4008000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A40000000000000003FF00000000000003FE55555555555563FE00000000000003FD999999999999A4007FFFFFFFFFFFF3FF7FFFFFFFFFFFF3FF00000000000003FE7FFFFFFFFFFFF3FE3333333333333401000000000000040000000000000003FF55555555555563FF00000000000003FE999999999999A401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A3FD55555555555563FD24924924924933FD00000000000003FCC71C71C71C71D3FC999999999999A3FD1745D1745D1743FD00000000000003FCD89D89D89D89D3FCB6DB6DB6DB6DC3FC99999999999993FD00000000000003FCE1E1E1E1E1E1F3FCC71C71C71C71D3FCAF286BCA1AF293FC999999999999A3FCE79E79E79E79E3FCD1745D1745D173FCBD37A6F4DE9BE3FCAAAAAAAAAAAAB3FC999999999999A"}}
-{"expression":"a/b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A3FC55555555555563FC24924924924933FD00000000000003FCC71C71C71C71D3FC999999999999A3FC745D1745D17463FC55555555555563FC3B13B13B13B143FC24924924924933FC99999999999993FC7FFFFFFFFFFFF3FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21653FC55555555555563FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924933FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924017FFFFFFFFFFFF4007FFFFFFFFFFFF40000000000000003FF7FFFFFFFFFFFF3FF33333333333333FF00000000000003FEB6DB6DB6DB6DC3FEBFFFFFFFFFFFF3FE8E38E38E38E383FE66666666666663FE45D1745D1745C3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1F3FDC71C71C71C71D3FDAF286BCA1AF293FD999999999999A3FD86186186186183FDA2E8BA2E8BA2E3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555564006000000000000400199999999999A3FFD5555555555563FF924924924924A3FF7FFFFFFFFFFFF3FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89D3FEB6DB6DB6DB6DC3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878793FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745C3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EB3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF73FDE0000000000003FDD1745D1745D183FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
-{"expression":"a/b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555556016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FE5555555555556016203666F6F40000000000000000163036261723FF7FFFFFFFFFFFF01630362617A3FF0000000000000016303666F6F4007FFFFFFFFFFFF"}}
-{"expression":"a/b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555556016103666F6F3FF00000000000000162036261723FD999999999999A01620362617A3FD5555555555556016203666F6F3FE00000000000000163036261723FD7FFFFFFFFFFFF01630362617A3FD5555555555555016303666F6F3FDB6DB6DB6DB6DC"}}
-{"expression":"a/b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF4000000000000016203666F6F3FF5555555555556"}}
-{"expression":"a/b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555556016103626172016B3FD2492492492493016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555556016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555556016203666F6F016C3FF0000000000000"}}
-{"expression":"a/b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FD00000000000003FCC71C71C71C71D3FC999999999999A3FC745D1745D17463FC55555555555563FC3B13B13B13B143FC24924924924933FE00000000000003FDC71C71C71C71D3FD999999999999A3FD745D1745D17463FD55555555555563FD3B13B13B13B143FD24924924924933FE7FFFFFFFFFFFF3FE55555555555553FE33333333333333FE1745D1745D1743FE00000000000003FDD89D89D89D89D3FDB6DB6DB6DB6DC03666F6F3FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A3FC55555555555563FC24924924924934007FFFFFFFFFFFF3FF7FFFFFFFFFFFF3FF00000000000003FE7FFFFFFFFFFFF3FE33333333333333FE00000000000003FDB6DB6DB6DB6DC401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF00000000000003FEAAAAAAAAAAAAB3FE6DB6DB6DB6DB7"}}
-{"expression":"a/b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555563FD33333333333333FD24924924924933FD1C71C71C71C720161016B3FD55555555555563FD24924924924933FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD0000000000000016201694017FFFFFFFFFFFF3FF66666666666663FEC71C71C71C71D3FE62762762762763FE2D2D2D2D2D2D30162016A4007FFFFFFFFFFFF3FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF7FFFFFFFFFFFF3FEBFFFFFFFFFFFF3FE55555555555563FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAA0163016B400D5555555555563FFB6DB6DB6DB6DC3FF2E8BA2E8BA2E83FEDDDDDDDDDDDDD3FE9435E50D794360163016C40060000000000003FF7FFFFFFFFFFFF3FF15555555555563FEBFFFFFFFFFFFF3FE8000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A40000000000000003FF00000000000003FE55555555555563FE00000000000003FD999999999999A4007FFFFFFFFFFFF3FF7FFFFFFFFFFFF3FF00000000000003FE7FFFFFFFFFFFF3FE3333333333333401000000000000040000000000000003FF55555555555563FF00000000000003FE999999999999A401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A3FD55555555555563FD24924924924933FD00000000000003FCC71C71C71C71D3FC999999999999A3FD1745D1745D1743FD00000000000003FCD89D89D89D89D3FCB6DB6DB6DB6DC3FC99999999999993FD00000000000003FCE1E1E1E1E1E1F3FCC71C71C71C71D3FCAF286BCA1AF293FC999999999999A3FCE79E79E79E79E3FCD1745D1745D173FCBD37A6F4DE9BE3FCAAAAAAAAAAAAB3FC999999999999A"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A3FC55555555555563FC24924924924933FD00000000000003FCC71C71C71C71D3FC999999999999A3FC745D1745D17463FC55555555555563FC3B13B13B13B143FC24924924924933FC99999999999993FC7FFFFFFFFFFFF3FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21653FC55555555555563FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924933FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924017FFFFFFFFFFFF4007FFFFFFFFFFFF40000000000000003FF7FFFFFFFFFFFF3FF33333333333333FF00000000000003FEB6DB6DB6DB6DC3FEBFFFFFFFFFFFF3FE8E38E38E38E383FE66666666666663FE45D1745D1745C3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1F3FDC71C71C71C71D3FDAF286BCA1AF293FD999999999999A3FD86186186186183FDA2E8BA2E8BA2E3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555564006000000000000400199999999999A3FFD5555555555563FF924924924924A3FF7FFFFFFFFFFFF3FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89D3FEB6DB6DB6DB6DC3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878793FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745C3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EB3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF73FDE0000000000003FDD1745D1745D183FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555556016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FE5555555555556016203666F6F40000000000000000163036261723FF7FFFFFFFFFFFF01630362617A3FF0000000000000016303666F6F4007FFFFFFFFFFFF"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555556016103666F6F3FF00000000000000162036261723FD999999999999A01620362617A3FD5555555555556016203666F6F3FE00000000000000163036261723FD7FFFFFFFFFFFF01630362617A3FD5555555555555016303666F6F3FDB6DB6DB6DB6DC"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF4000000000000016203666F6F3FF5555555555556"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555556016103626172016B3FD2492492492493016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555556016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555556016203666F6F016C3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FD00000000000003FCC71C71C71C71D3FC999999999999A3FC745D1745D17463FC55555555555563FC3B13B13B13B143FC24924924924933FE00000000000003FDC71C71C71C71D3FD999999999999A3FD745D1745D17463FD55555555555563FD3B13B13B13B143FD24924924924933FE7FFFFFFFFFFFF3FE55555555555553FE33333333333333FE1745D1745D1743FE00000000000003FDD89D89D89D89D3FDB6DB6DB6DB6DC03666F6F3FF00000000000003FE00000000000003FD55555555555563FD00000000000003FC999999999999A3FC55555555555563FC24924924924934007FFFFFFFFFFFF3FF7FFFFFFFFFFFF3FF00000000000003FE7FFFFFFFFFFFF3FE33333333333333FE00000000000003FDB6DB6DB6DB6DC401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF00000000000003FEAAAAAAAAAAAAB3FE6DB6DB6DB6DB7"}}
-{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555563FD33333333333333FD24924924924933FD1C71C71C71C720161016B3FD55555555555563FD24924924924933FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD0000000000000016201694017FFFFFFFFFFFF3FF66666666666663FEC71C71C71C71D3FE62762762762763FE2D2D2D2D2D2D30162016A4007FFFFFFFFFFFF3FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF7FFFFFFFFFFFF3FEBFFFFFFFFFFFF3FE55555555555563FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAA0163016B400D5555555555563FFB6DB6DB6DB6DC3FF2E8BA2E8BA2E83FEDDDDDDDDDDDDD3FE9435E50D794360163016C40060000000000003FF7FFFFFFFFFFFF3FF15555555555563FEBFFFFFFFFFFFF3FE8000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A000000000000000000000000000000003FC999999999999A3FC999999999999A3FC999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD3333333333333000000000000000000000000000000003FB999999999999C00000000000000003FD999999999999A3FB99999999999983FB99999999999983FC999999999999A3FB99999999999980000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FB99999999999963FC999999999999800000000000000003FC99999999999983FB999999999999800000000000000003FE33333333333333FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003C800000000000003FB999999999999C3FC999999999999E3FD33333333333343FB99999999999A03FE00000000000013FD999999999999C3FD99999999999983FD33333333333323FC99999999999983FB999999999999000000000000000003FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF8000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F0000000000000000016203626172000000000000000001620362617A3FC999999999999A016203666F6F00000000000000000163036261723FB999999999999801630362617A0000000000000000016303666F6F3FB9999999999998"}}
-{"expression":"a%b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F00000000000000000162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"a%b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB9999999999998016203666F6F3FB999999999999C"}}
-{"expression":"a%b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01690000000000000000016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201690000000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB999999999999C016203666F6F016C0000000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE333333333333303666F6F00000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD33333333333333FD33333333333333FD33333333333333FB99999999999983FB99999999999983FC999999999999A3FB999999999999800000000000000003FE00000000000003FE0000000000000"}}
-{"expression":"a%b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016B3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016C3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000016201693FB99999999999963FC99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016A3FC99999999999983FB99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016B000000000000000000000000000000003FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016C3FC99999999999983FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000016301693C800000000000003FC99999999999983FD999999999999A3FB99999999999903FF80000000000000163016A3FB999999999999C00000000000000003FD333333333333400000000000000003FF80000000000000163016B3FC999999999999E3FE00000000000003FC99999999999983FF66666666666663FF80000000000000163016C3FD33333333333343FD99999999999983FB99999999999A03FF66666666666663FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A000000000000000000000000000000003FC999999999999A3FC999999999999A3FC999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD3333333333333000000000000000000000000000000003FB999999999999C00000000000000003FD999999999999A3FB99999999999983FB99999999999983FC999999999999A3FB99999999999980000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FB99999999999963FC999999999999800000000000000003FC99999999999983FB999999999999800000000000000003FE33333333333333FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003C800000000000003FB999999999999C3FC999999999999E3FD33333333333343FB99999999999A03FE00000000000013FD999999999999C3FD99999999999983FD33333333333323FC99999999999983FB999999999999000000000000000003FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F0000000000000000016203626172000000000000000001620362617A3FC999999999999A016203666F6F00000000000000000163036261723FB999999999999801630362617A0000000000000000016303666F6F3FB9999999999998"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F00000000000000000162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB9999999999998016203666F6F3FB999999999999C"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01690000000000000000016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201690000000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB999999999999C016203666F6F016C0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE333333333333303666F6F00000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD33333333333333FD33333333333333FD33333333333333FB99999999999983FB99999999999983FC999999999999A3FB999999999999800000000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016B3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016C3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000016201693FB99999999999963FC99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016A3FC99999999999983FB99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016B000000000000000000000000000000003FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016C3FC99999999999983FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000016301693C800000000000003FC99999999999983FD999999999999A3FB99999999999903FF80000000000000163016A3FB999999999999C00000000000000003FD333333333333400000000000000003FF80000000000000163016B3FC999999999999E3FE00000000000003FC99999999999983FF66666666666663FF80000000000000163016C3FD33333333333343FD99999999999983FB99999999999A03FF66666666666663FF8000000000000"}}
-{"expression":"a^b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FE96B230BCDC434"}}
-{"expression":"a^b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD"}}
-{"expression":"a^b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FEB3E2D38A030B13FE731651F09A68E3FE3BEBDCC9D061B3FE0CF4D9B8C79053FDC9F25C5BFEDD93FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FED32BCC99E79D23FEAA4469FBF12063FE84F1DDC1979893FE62E3E1817C1C43FE43D136248490F3FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD"}}
-{"expression":"a^b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD85DE4AA7BFC063FD4BE914A0AC7523FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FD105A8E6ED2C753FCE2EB9881431F93FCAC2449F53F2B03FC7B93ABF4B50DD3FC50854F2C3D2223FCD8BE7091AE7E23FCAF5A24955081F3FC89959ECFD79DC3FC671FA3B35627A3FC47AE147AE147C3FCDDB680117AB123FCBDB8CDADBE11F3FC9FDF8BCCE533E3FC8406003B2AE5D3FC6A09E667F3BCD"}}
-{"expression":"a^b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD3FE78D7DD8F4883C3FE8EE06AA5599B03FEAC4B4102DA8F13FED1AE40F9D88D83FF00000000000003FF1C4BF8D66AE6C3FF3E9BCB96FEDF13FF680D8B66CC34C3FF9A088BB80392C3FFD64D51E0DB1C6"}}
-{"expression":"a^b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FC50854F2C3D2223FC2A593BD9B85113FC08819F76D9F8D3FBD5017B9C942F93FB9FCE3BAB663693FB70A3D70A3D70A3FB46D31151C9BBF3FC10CF9FFD671EF3FBF1D96DC4991553FBC6426853D20FD3FB9E7C6E43390B83FB7A31F3A7BECB53FB5914EA110D34B3FB3ADE18A64617E3FC125FBEE2506643FC00000000000003FBDDB680117AB123FBBDB8CDADBE11F3FB9FDF8BCCE533E3FB8406003B2AE5D3FB6A09E667F3BCD3FEE680A48D168723FECE4658B6543243FEB740EC5D2AA1A3FEA160FDC35D2CB3FE8C97EF43F72483FE78D7DD8F4883C3FE6613966362A653FE80E68263B1BFB3FE7369F7D10F6863FE66666666666663FE59D79103A1FBA3FE4DB9608E352C43FE4207E29C0D5E53FE36BF482A783413FE6E5B7D16657E23FE6645DBC0597E73FE5E5DE6318DBC83FE56A29A68AED8E3FE4F12FC15F00C13FE47AE147AE147C3FE4072F24AFB0A73FE96128962B8A153FE91D10418F0C823FE8D9AEA11BD8103FE89701CA9CF25E3FE85507D900A37C3FE813BEEC4AACF63FE7D3252986A5EA3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF02739C65D58BF3FF04ED3B73257833FF076CEBE41BF7A3FF09F2BC99051DD3FF0C7EBC96A56F63FF0F10FB06934B03FF11A98737912E13FF28332F16166A53FF2DA65B57E7F983FF33333333333333FF38DA2F91C82C43FF3E9BCB96FEDF13FF447884AA31CC03FF4A70DA8169F5C3FF7B734C33413AD3FF85899CE90E5E53FF8FE493556F45B3FF9A8602A4B50503FFA56FCA6E7E9C63FFB0A3D70A3D70B3FFBC2421E5F8F004000C58069F8993F4001586C869D8A724001F05FB6735B3840028D86049083C04003300CFDDFFAB14003D823BE552C18400485FAFE93999D4009ED592591221D400B000000000000400C1E044C616F57400D47DE6F15B0FF400E7E0BC7D3E01D400FC10EE66FE364401088B7E0E7B3FF"}}
-{"expression":"a^b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FE96B230BCDC43401623FE731651F09A68E01633FE64C8E84C5F4E9"}}
-{"expression":"a^b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FE96B230BCDC43401623FE731651F09A68E"}}
-{"expression":"a^b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FE731651F09A68E01620362617A3FE3BEBDCC9D061B016203666F6F3FEB3E2D38A030B10163036261723FE926EFF16629A501630362617A3FE64C8E84C5F4E9016303666F6F3FEC5EC42B8B4A19"}}
-{"expression":"a^b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FDC9F25C5BFEDD901620362617A3FD85DE4AA7BFC06016203666F6F3FE0CF4D9B8C79050163036261723FD86D691AD2627A01630362617A3FD5A8131B97FD82016303666F6F3FDB8D809C615F41"}}
-{"expression":"a^b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FE731651F09A68E016103666F6F3FE96B230BCDC4340162036261723FE8406003B2AE5C016203666F6F3FE84F1DDC197989"}}
-{"expression":"a^b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FDC9F25C5BFEDD9016103626172016A3FD85DE4AA7BFC06016103626172016B3FD4BE914A0AC752016103626172016C3FD1A91920AA33D6016103666F6F01693FE96B230BCDC434016103666F6F016A3FE430CD74F6D478016103666F6F016B3FE009B9CF334253016103666F6F016C3FD97A967F7524B301620362617201693FE6A09E667F3BCD016203626172016A3FE51CB453B9536C016203626172016B3FE3B2C47BFF8329016203626172016C3FE2611186BAE674016203666F6F01693FED32BCC99E79D2016203666F6F016A3FEAA4469FBF1206016203666F6F016B3FE84F1DDC197989016203666F6F016C3FE62E3E1817C1C4"}}
-{"expression":"a^b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FDEBFB0683CD8533FDC0E78CA02BB173FD999999999999A3FD75BCA3AE52E423FD550387FCC0E6C3FD3727E49ADFAD43FD1BE981346349E3FE543E8FBAE1CEA3FE434CDF6C1F4C83FE33333333333333FE23E6C92173EAA3FE155D686D65B7C3FE078D5A9E4CC763FDF4DACA1DA302703666F6F3FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FDF13F63C03331E3FDB8D809C615F413FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD3FE51CB453B9536C3FE3B2C47BFF8329"}}
-{"expression":"a^b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE96B230BCDC4343FDC9F25C5BFEDD93FD5A8131B97FD823FD3727E49ADFAD43FD3B2C47BFF83290161016A3FE430CD74F6D4783FD85DE4AA7BFC063FD33333333333333FD1BE981346349E3FD2611186BAE6740161016B3FE009B9CF3342533FD4BE914A0AC7523FD105A8E6ED2C753FD030DC4EA03A733FD125FBEE2506640161016C3FD97A967F7524B33FD1A91920AA33D63FCE2EB9881431F93FCD8BE7091AE7E23FD0000000000000016201693FEE680A48D168723FEAC5EB3F7AB2F83FEA2D7BB1B6C0F13FEBE76765499C1E3FF00000000000000162016A3FECE4658B6543243FE9D5C3DF24FB633FE999999999999A3FEB9C8924C99ABC3FF00000000000000162016B3FEB740EC5D2AA1A3FE8EE06AA5599B03FE908FAEDDB9CD13FEB5273C4AE62A13FF00000000000000162016C3FEA160FDC35D2CB3FE80E68263B1BFB3FE87B8D3F012DD53FEB09252A00B5A63FF0000000000000016301693FF02739C65D58BF3FF186F174F884723FF442E9BB77515D3FF8C776772A337F3FFFE077EA4184BA0163016A3FF04ED3B73257833FF1D980099BA1493FF4CCCCCCCCCCCD3FF9A088BB80392C40009912C0E98B3D0163016B3FF076CEBE41BF7A3FF22D937B32C2D33FF55A5A3EBFA9133FFA810898CE7313400148E6190B6C130163016C3FF09F2BC99051DD3FF28332F16166A53FF5EBAB035ACD4C3FFB693721891CFE4002000000000000"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FE96B230BCDC434"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FEB3E2D38A030B13FE731651F09A68E3FE3BEBDCC9D061B3FE0CF4D9B8C79053FDC9F25C5BFEDD93FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FED32BCC99E79D23FEAA4469FBF12063FE84F1DDC1979893FE62E3E1817C1C43FE43D136248490F3FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD85DE4AA7BFC063FD4BE914A0AC7523FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FD105A8E6ED2C753FCE2EB9881431F93FCAC2449F53F2B03FC7B93ABF4B50DD3FC50854F2C3D2223FCD8BE7091AE7E23FCAF5A24955081F3FC89959ECFD79DC3FC671FA3B35627A3FC47AE147AE147C3FCDDB680117AB123FCBDB8CDADBE11F3FC9FDF8BCCE533E3FC8406003B2AE5D3FC6A09E667F3BCD"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD3FE78D7DD8F4883C3FE8EE06AA5599B03FEAC4B4102DA8F13FED1AE40F9D88D83FF00000000000003FF1C4BF8D66AE6C3FF3E9BCB96FEDF13FF680D8B66CC34C3FF9A088BB80392C3FFD64D51E0DB1C6"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FC50854F2C3D2223FC2A593BD9B85113FC08819F76D9F8D3FBD5017B9C942F93FB9FCE3BAB663693FB70A3D70A3D70A3FB46D31151C9BBF3FC10CF9FFD671EF3FBF1D96DC4991553FBC6426853D20FD3FB9E7C6E43390B83FB7A31F3A7BECB53FB5914EA110D34B3FB3ADE18A64617E3FC125FBEE2506643FC00000000000003FBDDB680117AB123FBBDB8CDADBE11F3FB9FDF8BCCE533E3FB8406003B2AE5D3FB6A09E667F3BCD3FEE680A48D168723FECE4658B6543243FEB740EC5D2AA1A3FEA160FDC35D2CB3FE8C97EF43F72483FE78D7DD8F4883C3FE6613966362A653FE80E68263B1BFB3FE7369F7D10F6863FE66666666666663FE59D79103A1FBA3FE4DB9608E352C43FE4207E29C0D5E53FE36BF482A783413FE6E5B7D16657E23FE6645DBC0597E73FE5E5DE6318DBC83FE56A29A68AED8E3FE4F12FC15F00C13FE47AE147AE147C3FE4072F24AFB0A73FE96128962B8A153FE91D10418F0C823FE8D9AEA11BD8103FE89701CA9CF25E3FE85507D900A37C3FE813BEEC4AACF63FE7D3252986A5EA3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF02739C65D58BF3FF04ED3B73257833FF076CEBE41BF7A3FF09F2BC99051DD3FF0C7EBC96A56F63FF0F10FB06934B03FF11A98737912E13FF28332F16166A53FF2DA65B57E7F983FF33333333333333FF38DA2F91C82C43FF3E9BCB96FEDF13FF447884AA31CC03FF4A70DA8169F5C3FF7B734C33413AD3FF85899CE90E5E53FF8FE493556F45B3FF9A8602A4B50503FFA56FCA6E7E9C63FFB0A3D70A3D70B3FFBC2421E5F8F004000C58069F8993F4001586C869D8A724001F05FB6735B3840028D86049083C04003300CFDDFFAB14003D823BE552C18400485FAFE93999D4009ED592591221D400B000000000000400C1E044C616F57400D47DE6F15B0FF400E7E0BC7D3E01D400FC10EE66FE364401088B7E0E7B3FF"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FE96B230BCDC43401623FE731651F09A68E01633FE64C8E84C5F4E9"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FE96B230BCDC43401623FE731651F09A68E"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FE731651F09A68E01620362617A3FE3BEBDCC9D061B016203666F6F3FEB3E2D38A030B10163036261723FE926EFF16629A501630362617A3FE64C8E84C5F4E9016303666F6F3FEC5EC42B8B4A19"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FDC9F25C5BFEDD901620362617A3FD85DE4AA7BFC06016203666F6F3FE0CF4D9B8C79050163036261723FD86D691AD2627A01630362617A3FD5A8131B97FD82016303666F6F3FDB8D809C615F41"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FE731651F09A68E016103666F6F3FE96B230BCDC4340162036261723FE8406003B2AE5C016203666F6F3FE84F1DDC197989"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FDC9F25C5BFEDD9016103626172016A3FD85DE4AA7BFC06016103626172016B3FD4BE914A0AC752016103626172016C3FD1A91920AA33D6016103666F6F01693FE96B230BCDC434016103666F6F016A3FE430CD74F6D478016103666F6F016B3FE009B9CF334253016103666F6F016C3FD97A967F7524B301620362617201693FE6A09E667F3BCD016203626172016A3FE51CB453B9536C016203626172016B3FE3B2C47BFF8329016203626172016C3FE2611186BAE674016203666F6F01693FED32BCC99E79D2016203666F6F016A3FEAA4469FBF1206016203666F6F016B3FE84F1DDC197989016203666F6F016C3FE62E3E1817C1C4"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FDEBFB0683CD8533FDC0E78CA02BB173FD999999999999A3FD75BCA3AE52E423FD550387FCC0E6C3FD3727E49ADFAD43FD1BE981346349E3FE543E8FBAE1CEA3FE434CDF6C1F4C83FE33333333333333FE23E6C92173EAA3FE155D686D65B7C3FE078D5A9E4CC763FDF4DACA1DA302703666F6F3FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FDF13F63C03331E3FDB8D809C615F413FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD3FE51CB453B9536C3FE3B2C47BFF8329"}}
-{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE96B230BCDC4343FDC9F25C5BFEDD93FD5A8131B97FD823FD3727E49ADFAD43FD3B2C47BFF83290161016A3FE430CD74F6D4783FD85DE4AA7BFC063FD33333333333333FD1BE981346349E3FD2611186BAE6740161016B3FE009B9CF3342533FD4BE914A0AC7523FD105A8E6ED2C753FD030DC4EA03A733FD125FBEE2506640161016C3FD97A967F7524B33FD1A91920AA33D63FCE2EB9881431F93FCD8BE7091AE7E23FD0000000000000016201693FEE680A48D168723FEAC5EB3F7AB2F83FEA2D7BB1B6C0F13FEBE76765499C1E3FF00000000000000162016A3FECE4658B6543243FE9D5C3DF24FB633FE999999999999A3FEB9C8924C99ABC3FF00000000000000162016B3FEB740EC5D2AA1A3FE8EE06AA5599B03FE908FAEDDB9CD13FEB5273C4AE62A13FF00000000000000162016C3FEA160FDC35D2CB3FE80E68263B1BFB3FE87B8D3F012DD53FEB09252A00B5A63FF0000000000000016301693FF02739C65D58BF3FF186F174F884723FF442E9BB77515D3FF8C776772A337F3FFFE077EA4184BA0163016A3FF04ED3B73257833FF1D980099BA1493FF4CCCCCCCCCCCD3FF9A088BB80392C40009912C0E98B3D0163016B3FF076CEBE41BF7A3FF22D937B32C2D33FF55A5A3EBFA9133FFA810898CE7313400148E6190B6C130163016C3FF09F2BC99051DD3FF28332F16166A53FF5EBAB035ACD4C3FFB693721891CFE4002000000000000"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FE96B230BCDC434"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FEB3E2D38A030B13FE731651F09A68E3FE3BEBDCC9D061B3FE0CF4D9B8C79053FDC9F25C5BFEDD93FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FED32BCC99E79D23FEAA4469FBF12063FE84F1DDC1979893FE62E3E1817C1C43FE43D136248490F3FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD85DE4AA7BFC063FD4BE914A0AC7523FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FD105A8E6ED2C753FCE2EB9881431F93FCAC2449F53F2B03FC7B93ABF4B50DD3FC50854F2C3D2223FCD8BE7091AE7E23FCAF5A24955081F3FC89959ECFD79DC3FC671FA3B35627A3FC47AE147AE147C3FCDDB680117AB123FCBDB8CDADBE11F3FC9FDF8BCCE533E3FC8406003B2AE5D3FC6A09E667F3BCD"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD3FE78D7DD8F4883C3FE8EE06AA5599B03FEAC4B4102DA8F13FED1AE40F9D88D83FF00000000000003FF1C4BF8D66AE6C3FF3E9BCB96FEDF13FF680D8B66CC34C3FF9A088BB80392C3FFD64D51E0DB1C6"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FC50854F2C3D2223FC2A593BD9B85113FC08819F76D9F8D3FBD5017B9C942F93FB9FCE3BAB663693FB70A3D70A3D70A3FB46D31151C9BBF3FC10CF9FFD671EF3FBF1D96DC4991553FBC6426853D20FD3FB9E7C6E43390B83FB7A31F3A7BECB53FB5914EA110D34B3FB3ADE18A64617E3FC125FBEE2506643FC00000000000003FBDDB680117AB123FBBDB8CDADBE11F3FB9FDF8BCCE533E3FB8406003B2AE5D3FB6A09E667F3BCD3FEE680A48D168723FECE4658B6543243FEB740EC5D2AA1A3FEA160FDC35D2CB3FE8C97EF43F72483FE78D7DD8F4883C3FE6613966362A653FE80E68263B1BFB3FE7369F7D10F6863FE66666666666663FE59D79103A1FBA3FE4DB9608E352C43FE4207E29C0D5E53FE36BF482A783413FE6E5B7D16657E23FE6645DBC0597E73FE5E5DE6318DBC83FE56A29A68AED8E3FE4F12FC15F00C13FE47AE147AE147C3FE4072F24AFB0A73FE96128962B8A153FE91D10418F0C823FE8D9AEA11BD8103FE89701CA9CF25E3FE85507D900A37C3FE813BEEC4AACF63FE7D3252986A5EA3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF02739C65D58BF3FF04ED3B73257833FF076CEBE41BF7A3FF09F2BC99051DD3FF0C7EBC96A56F63FF0F10FB06934B03FF11A98737912E13FF28332F16166A53FF2DA65B57E7F983FF33333333333333FF38DA2F91C82C43FF3E9BCB96FEDF13FF447884AA31CC03FF4A70DA8169F5C3FF7B734C33413AD3FF85899CE90E5E53FF8FE493556F45B3FF9A8602A4B50503FFA56FCA6E7E9C63FFB0A3D70A3D70B3FFBC2421E5F8F004000C58069F8993F4001586C869D8A724001F05FB6735B3840028D86049083C04003300CFDDFFAB14003D823BE552C18400485FAFE93999D4009ED592591221D400B000000000000400C1E044C616F57400D47DE6F15B0FF400E7E0BC7D3E01D400FC10EE66FE364401088B7E0E7B3FF"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FE96B230BCDC43401623FE731651F09A68E01633FE64C8E84C5F4E9"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FE96B230BCDC43401623FE731651F09A68E"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FE731651F09A68E01620362617A3FE3BEBDCC9D061B016203666F6F3FEB3E2D38A030B10163036261723FE926EFF16629A501630362617A3FE64C8E84C5F4E9016303666F6F3FEC5EC42B8B4A19"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FDC9F25C5BFEDD901620362617A3FD85DE4AA7BFC06016203666F6F3FE0CF4D9B8C79050163036261723FD86D691AD2627A01630362617A3FD5A8131B97FD82016303666F6F3FDB8D809C615F41"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FE731651F09A68E016103666F6F3FE96B230BCDC4340162036261723FE8406003B2AE5C016203666F6F3FE84F1DDC197989"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FDC9F25C5BFEDD9016103626172016A3FD85DE4AA7BFC06016103626172016B3FD4BE914A0AC752016103626172016C3FD1A91920AA33D6016103666F6F01693FE96B230BCDC434016103666F6F016A3FE430CD74F6D478016103666F6F016B3FE009B9CF334253016103666F6F016C3FD97A967F7524B301620362617201693FE6A09E667F3BCD016203626172016A3FE51CB453B9536C016203626172016B3FE3B2C47BFF8329016203626172016C3FE2611186BAE674016203666F6F01693FED32BCC99E79D2016203666F6F016A3FEAA4469FBF1206016203666F6F016B3FE84F1DDC197989016203666F6F016C3FE62E3E1817C1C4"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FDEBFB0683CD8533FDC0E78CA02BB173FD999999999999A3FD75BCA3AE52E423FD550387FCC0E6C3FD3727E49ADFAD43FD1BE981346349E3FE543E8FBAE1CEA3FE434CDF6C1F4C83FE33333333333333FE23E6C92173EAA3FE155D686D65B7C3FE078D5A9E4CC763FDF4DACA1DA302703666F6F3FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FDF13F63C03331E3FDB8D809C615F413FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD3FE51CB453B9536C3FE3B2C47BFF8329"}}
-{"expression":"pow(a,b)","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE96B230BCDC4343FDC9F25C5BFEDD93FD5A8131B97FD823FD3727E49ADFAD43FD3B2C47BFF83290161016A3FE430CD74F6D4783FD85DE4AA7BFC063FD33333333333333FD1BE981346349E3FD2611186BAE6740161016B3FE009B9CF3342533FD4BE914A0AC7523FD105A8E6ED2C753FD030DC4EA03A733FD125FBEE2506640161016C3FD97A967F7524B33FD1A91920AA33D63FCE2EB9881431F93FCD8BE7091AE7E23FD0000000000000016201693FEE680A48D168723FEAC5EB3F7AB2F83FEA2D7BB1B6C0F13FEBE76765499C1E3FF00000000000000162016A3FECE4658B6543243FE9D5C3DF24FB633FE999999999999A3FEB9C8924C99ABC3FF00000000000000162016B3FEB740EC5D2AA1A3FE8EE06AA5599B03FE908FAEDDB9CD13FEB5273C4AE62A13FF00000000000000162016C3FEA160FDC35D2CB3FE80E68263B1BFB3FE87B8D3F012DD53FEB09252A00B5A63FF0000000000000016301693FF02739C65D58BF3FF186F174F884723FF442E9BB77515D3FF8C776772A337F3FFFE077EA4184BA0163016A3FF04ED3B73257833FF1D980099BA1493FF4CCCCCCCCCCCD3FF9A088BB80392C40009912C0E98B3D0163016B3FF076CEBE41BF7A3FF22D937B32C2D33FF55A5A3EBFA9133FFA810898CE7313400148E6190B6C130163016C3FF09F2BC99051DD3FF28332F16166A53FF5EBAB035ACD4C3FFB693721891CFE4002000000000000"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FE96B230BCDC434"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FEB3E2D38A030B13FE731651F09A68E3FE3BEBDCC9D061B3FE0CF4D9B8C79053FDC9F25C5BFEDD93FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FED32BCC99E79D23FEAA4469FBF12063FE84F1DDC1979893FE62E3E1817C1C43FE43D136248490F3FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD85DE4AA7BFC063FD4BE914A0AC7523FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FD105A8E6ED2C753FCE2EB9881431F93FCAC2449F53F2B03FC7B93ABF4B50DD3FC50854F2C3D2223FCD8BE7091AE7E23FCAF5A24955081F3FC89959ECFD79DC3FC671FA3B35627A3FC47AE147AE147C3FCDDB680117AB123FCBDB8CDADBE11F3FC9FDF8BCCE533E3FC8406003B2AE5D3FC6A09E667F3BCD"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FE96B230BCDC4343FE731651F09A68E3FE64C8E84C5F4E93FE62E3E1817C1C43FE6A09E667F3BCD3FE78D7DD8F4883C3FE8EE06AA5599B03FEAC4B4102DA8F13FED1AE40F9D88D83FF00000000000003FF1C4BF8D66AE6C3FF3E9BCB96FEDF13FF680D8B66CC34C3FF9A088BB80392C3FFD64D51E0DB1C6"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FC50854F2C3D2223FC2A593BD9B85113FC08819F76D9F8D3FBD5017B9C942F93FB9FCE3BAB663693FB70A3D70A3D70A3FB46D31151C9BBF3FC10CF9FFD671EF3FBF1D96DC4991553FBC6426853D20FD3FB9E7C6E43390B83FB7A31F3A7BECB53FB5914EA110D34B3FB3ADE18A64617E3FC125FBEE2506643FC00000000000003FBDDB680117AB123FBBDB8CDADBE11F3FB9FDF8BCCE533E3FB8406003B2AE5D3FB6A09E667F3BCD3FEE680A48D168723FECE4658B6543243FEB740EC5D2AA1A3FEA160FDC35D2CB3FE8C97EF43F72483FE78D7DD8F4883C3FE6613966362A653FE80E68263B1BFB3FE7369F7D10F6863FE66666666666663FE59D79103A1FBA3FE4DB9608E352C43FE4207E29C0D5E53FE36BF482A783413FE6E5B7D16657E23FE6645DBC0597E73FE5E5DE6318DBC83FE56A29A68AED8E3FE4F12FC15F00C13FE47AE147AE147C3FE4072F24AFB0A73FE96128962B8A153FE91D10418F0C823FE8D9AEA11BD8103FE89701CA9CF25E3FE85507D900A37C3FE813BEEC4AACF63FE7D3252986A5EA3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF02739C65D58BF3FF04ED3B73257833FF076CEBE41BF7A3FF09F2BC99051DD3FF0C7EBC96A56F63FF0F10FB06934B03FF11A98737912E13FF28332F16166A53FF2DA65B57E7F983FF33333333333333FF38DA2F91C82C43FF3E9BCB96FEDF13FF447884AA31CC03FF4A70DA8169F5C3FF7B734C33413AD3FF85899CE90E5E53FF8FE493556F45B3FF9A8602A4B50503FFA56FCA6E7E9C63FFB0A3D70A3D70B3FFBC2421E5F8F004000C58069F8993F4001586C869D8A724001F05FB6735B3840028D86049083C04003300CFDDFFAB14003D823BE552C18400485FAFE93999D4009ED592591221D400B000000000000400C1E044C616F57400D47DE6F15B0FF400E7E0BC7D3E01D400FC10EE66FE364401088B7E0E7B3FF"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FE96B230BCDC43401623FE731651F09A68E01633FE64C8E84C5F4E9"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FE96B230BCDC43401623FE731651F09A68E"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FE731651F09A68E01620362617A3FE3BEBDCC9D061B016203666F6F3FEB3E2D38A030B10163036261723FE926EFF16629A501630362617A3FE64C8E84C5F4E9016303666F6F3FEC5EC42B8B4A19"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FE430CD74F6D47801610362617A3FE009B9CF334253016103666F6F3FE96B230BCDC4340162036261723FDC9F25C5BFEDD901620362617A3FD85DE4AA7BFC06016203666F6F3FE0CF4D9B8C79050163036261723FD86D691AD2627A01630362617A3FD5A8131B97FD82016303666F6F3FDB8D809C615F41"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FE731651F09A68E016103666F6F3FE96B230BCDC4340162036261723FE8406003B2AE5C016203666F6F3FE84F1DDC197989"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FDC9F25C5BFEDD9016103626172016A3FD85DE4AA7BFC06016103626172016B3FD4BE914A0AC752016103626172016C3FD1A91920AA33D6016103666F6F01693FE96B230BCDC434016103666F6F016A3FE430CD74F6D478016103666F6F016B3FE009B9CF334253016103666F6F016C3FD97A967F7524B301620362617201693FE6A09E667F3BCD016203626172016A3FE51CB453B9536C016203626172016B3FE3B2C47BFF8329016203626172016C3FE2611186BAE674016203666F6F01693FED32BCC99E79D2016203666F6F016A3FEAA4469FBF1206016203666F6F016B3FE84F1DDC197989016203666F6F016C3FE62E3E1817C1C4"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FD1A91920AA33D63FCE11FB92951F8D3FC999999999999A3FC5CB57608026F33FC28DEA7F3AEBA63FBF9796142E702A3FBAE548F8E0C1A43FDEBFB0683CD8533FDC0E78CA02BB173FD999999999999A3FD75BCA3AE52E423FD550387FCC0E6C3FD3727E49ADFAD43FD1BE981346349E3FE543E8FBAE1CEA3FE434CDF6C1F4C83FE33333333333333FE23E6C92173EAA3FE155D686D65B7C3FE078D5A9E4CC763FDF4DACA1DA302703666F6F3FE96B230BCDC4343FE430CD74F6D4783FE009B9CF3342533FD97A967F7524B33FD43D136248490F3FD0137987DD704C3FC98A13577C93C13FEC5EC42B8B4A193FE926EFF16629A53FE64C8E84C5F4E93FE3C5064A1418B73FE186F174F884723FDF13F63C03331E3FDB8D809C615F413FEDDB680117AB123FEBDB8CDADBE1203FE9FDF8BCCE533E3FE8406003B2AE5C3FE6A09E667F3BCD3FE51CB453B9536C3FE3B2C47BFF8329"}}
-{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE96B230BCDC4343FDC9F25C5BFEDD93FD5A8131B97FD823FD3727E49ADFAD43FD3B2C47BFF83290161016A3FE430CD74F6D4783FD85DE4AA7BFC063FD33333333333333FD1BE981346349E3FD2611186BAE6740161016B3FE009B9CF3342533FD4BE914A0AC7523FD105A8E6ED2C753FD030DC4EA03A733FD125FBEE2506640161016C3FD97A967F7524B33FD1A91920AA33D63FCE2EB9881431F93FCD8BE7091AE7E23FD0000000000000016201693FEE680A48D168723FEAC5EB3F7AB2F83FEA2D7BB1B6C0F13FEBE76765499C1E3FF00000000000000162016A3FECE4658B6543243FE9D5C3DF24FB633FE999999999999A3FEB9C8924C99ABC3FF00000000000000162016B3FEB740EC5D2AA1A3FE8EE06AA5599B03FE908FAEDDB9CD13FEB5273C4AE62A13FF00000000000000162016C3FEA160FDC35D2CB3FE80E68263B1BFB3FE87B8D3F012DD53FEB09252A00B5A63FF0000000000000016301693FF02739C65D58BF3FF186F174F884723FF442E9BB77515D3FF8C776772A337F3FFFE077EA4184BA0163016A3FF04ED3B73257833FF1D980099BA1493FF4CCCCCCCCCCCD3FF9A088BB80392C40009912C0E98B3D0163016B3FF076CEBE41BF7A3FF22D937B32C2D33FF55A5A3EBFA9133FFA810898CE7313400148E6190B6C130163016C3FF09F2BC99051DD3FF28332F16166A53FF5EBAB035ACD4C3FFB693721891CFE4002000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"a==b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a!=b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"a~=b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a<=b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x0202017805017905000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x0202017805017905000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"a>=b","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)(a in [1,5,7,13,42]))","inputs":{"a":"0x0701020178017A010179050C016101693F80000040A000004110000041500000418800000161016A4000000040C000004120000041600000419000000161016B4040000040E000004130000041700000419800000161016C4080000041000000414000004180000041A000000162016941A8000041C8000041E8000042040000421400000162016A41B0000041D0000041F0000042080000421800000162016B41B8000041D8000041F80000420C0000421C00000162016C41C0000041E000004200000042100000422000000163016942240000423400004244000042540000426400000163016A42280000423800004248000042580000426800000163016B422C0000423C0000424C0000425C0000426C00000163016C4230000042400000425000004260000042700000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003F800000000000003F800000000000000161016A00000000000000000000000000000000000000000161016B000000003F8000000000000000000000000000000161016C00000000000000000000000000000000000000000162016900000000000000000000000000000000000000000162016A00000000000000000000000000000000000000000162016B00000000000000000000000000000000000000000162016C00000000000000000000000000000000000000000163016900000000000000000000000000000000000000000163016A3F800000000000000000000000000000000000000163016B00000000000000000000000000000000000000000163016C0000000000000000000000000000000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x02003FB0000000000000"},"result":{"expect":"0x02004001000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x02010178033FB00000000000003FC00000000000003FC8000000000000"},"result":{"expect":"0x0201017803400100000000000040020000000000004003000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000"},"result":{"expect":"0x0202017803017905400100000000000040020000000000004003000000000000400400000000000040050000000000004006000000000000400700000000000040080000000000004009000000000000400A000000000000400B000000000000400C000000000000400D000000000000400E000000000000400F000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040030000000000004003800000000000400400000000000040048000000000004005000000000000400580000000000040060000000000004006800000000000400700000000000040078000000000004008000000000000400880000000000040090000000000004009800000000000400A000000000000400A800000000000400B000000000000400B800000000000400C000000000000400C800000000000400D000000000000400D800000000000400E000000000000400E800000000000400F000000000000400F8000000000004010000000000000401040000000000040108000000000004010C000000000004011000000000000401140000000000040118000000000004011C000000000004012000000000000401240000000000040128000000000004012C000000000004013000000000000401340000000000040138000000000004013C000000000004014000000000000401440000000000040148000000000004014C000000000004015000000000000401540000000000040158000000000004015C000000000004016000000000000401640000000000040168000000000004016C000000000004017000000000000401740000000000040178000000000004017C000000000004018000000000000401840000000000040188000000000004018C000000000004019000000000000401940000000000040198000000000004019C00000000000401A000000000000401A400000000000"},"result":{"expect":"0x0203017803017905017A07400100000000000040020000000000004003000000000000400400000000000040050000000000004006000000000000400700000000000040080000000000004009000000000000400A000000000000400B000000000000400C000000000000400D000000000000400E000000000000400F00000000000040100000000000004010800000000000401100000000000040118000000000004012000000000000401280000000000040130000000000004013800000000000401400000000000040148000000000004015000000000000401580000000000040160000000000004016800000000000401700000000000040178000000000004018000000000000401880000000000040190000000000004019800000000000401A000000000000401A800000000000401B000000000000401B800000000000401C000000000000401C800000000000401D000000000000401D800000000000401E000000000000401E800000000000401F000000000000401F8000000000004020000000000000402040000000000040208000000000004020C000000000004021000000000000402140000000000040218000000000004021C000000000004022000000000000402240000000000040228000000000004022C000000000004023000000000000402340000000000040238000000000004023C000000000004024000000000000402440000000000040248000000000004024C000000000004025000000000000402540000000000040258000000000004025C000000000004026000000000000402640000000000040268000000000004026C000000000004027000000000000402740000000000040278000000000004027C000000000004028000000000000402840000000000040288000000000004028C000000000004029000000000000402940000000000040298000000000004029C00000000000402A000000000000402A400000000000402A800000000000402AC00000000000402B000000000000402B400000000000402B800000000000402BC00000000000402C000000000000402C400000000000402C800000000000402CC00000000000402D000000000000402D400000000000402D800000000000402DC00000000000402E000000000000402E400000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000401000004014000040180000401C0000402000004024000040280000402C0000403000004034000040380000403C0000404000004044000040480000404C0000405000004054000040580000405C0000406000004064000040680000406C0000407000004074000040780000407C00004080000040820000408400004086000040880000408A0000408C0000408E00004090000040920000409400004096000040980000409A0000409C0000409E000040A0000040A2000040A4000040A6000040A8000040AA000040AC000040AE000040B0000040B2000040B4000040B6000040B8000040BA000040BC000040BE000040C0000040C2000040C4000040C6000040C8000040CA000040CC000040CE000040D0000040D20000"},"result":{"expect":"0x060103017803017905017A07400800004010000040180000402000004028000040300000403800004040000040480000405000004058000040600000406800004070000040780000408000004084000040880000408C0000409000004094000040980000409C000040A0000040A4000040A8000040AC000040B0000040B4000040B8000040BC000040C0000040C4000040C8000040CC000040D0000040D4000040D8000040DC000040E0000040E4000040E8000040EC000040F0000040F4000040F8000040FC00004100000041020000410400004106000041080000410A0000410C0000410E00004110000041120000411400004116000041180000411A0000411C0000411E00004120000041220000412400004126000041280000412A0000412C0000412E00004130000041320000413400004136000041380000413A0000413C0000413E00004140000041420000414400004146000041480000414A0000414C0000414E00004150000041520000415400004156000041580000415A0000415C0000415E00004160000041620000416400004166000041680000416A0000416C0000416E00004170000041720000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016140010000000000000162400200000000000001634003000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179060161036261724002000000000000016103666F6F40010000000000000162036261724004000000000000016203666F6F40030000000000000163036261724006000000000000016303666F6F4005000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x010301780179017A1801610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FEA000000000000016203626172016A3FEC000000000000016203626172016B3FEE000000000000016203626172016C3FF0000000000000016203666F6F01693FE2000000000000016203666F6F016A3FE4000000000000016203666F6F016B3FE6000000000000016203666F6F016C3FE800000000000001630362617201693FF5000000000000016303626172016A3FF6000000000000016303626172016B3FF7000000000000016303626172016C3FF8000000000000016303666F6F01693FF1000000000000016303666F6F016A3FF2000000000000016303666F6F016B3FF3000000000000016303666F6F016C3FF4000000000000"},"result":{"expect":"0x010301780179017A1801610362617201694005000000000000016103626172016A4006000000000000016103626172016B4007000000000000016103626172016C4008000000000000016103666F6F01694001000000000000016103666F6F016A4002000000000000016103666F6F016B4003000000000000016103666F6F016C40040000000000000162036261720169400D000000000000016203626172016A400E000000000000016203626172016B400F000000000000016203626172016C4010000000000000016203666F6F01694009000000000000016203666F6F016A400A000000000000016203666F6F016B400B000000000000016203666F6F016C400C00000000000001630362617201694012800000000000016303626172016A4013000000000000016303626172016B4013800000000000016303626172016C4014000000000000016303666F6F01694010800000000000016303666F6F016A4011000000000000016303666F6F016B4011800000000000016303666F6F016C4012000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x05010301780179017A1801610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693F500000016203626172016A3F600000016203626172016B3F700000016203626172016C3F800000016203666F6F01693F100000016203666F6F016A3F200000016203666F6F016B3F300000016203666F6F016C3F40000001630362617201693FA80000016303626172016A3FB00000016303626172016B3FB80000016303626172016C3FC00000016303666F6F01693F880000016303666F6F016A3F900000016303666F6F016B3F980000016303666F6F016C3FA00000"},"result":{"expect":"0x05010301780179017A18016103626172016940280000016103626172016A40300000016103626172016B40380000016103626172016C40400000016103666F6F016940080000016103666F6F016A40100000016103666F6F016B40180000016103666F6F016C40200000016203626172016940680000016203626172016A40700000016203626172016B40780000016203626172016C40800000016203666F6F016940480000016203666F6F016A40500000016203666F6F016B40580000016203666F6F016C40600000016303626172016940940000016303626172016A40980000016303626172016B409C0000016303626172016C40A00000016303666F6F016940840000016303666F6F016A40880000016303666F6F016B408C0000016303666F6F016C40900000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC000000000000400200000000000040028000000000004003000000000000400380000000000040040000000000004004800000000000400500000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0301017902017803017A07020362617240080000000000004009000000000000400A000000000000400B000000000000400C000000000000400D000000000000400E0000000000004013000000000000401380000000000040140000000000004014800000000000401500000000000040158000000000004016000000000000401A000000000000401A800000000000401B000000000000401B800000000000401C000000000000401C800000000000401D00000000000003666F6F4001000000000000400200000000000040030000000000004004000000000000400500000000000040060000000000004007000000000000400F0000000000004010000000000000401080000000000040110000000000004011800000000000401200000000000040128000000000004016800000000000401700000000000040178000000000004018000000000000401880000000000040190000000000004019800000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FF50000000000003FF90000000000003FFD000000000000400080000000000040028000000000000162016A3FF60000000000003FFA0000000000003FFE000000000000400100000000000040030000000000000162016B3FF70000000000003FFB0000000000003FFF000000000000400180000000000040038000000000000162016C3FF80000000000003FFC00000000000040000000000000004002000000000000400400000000000001630169400480000000000040068000000000004008800000000000400A800000000000400C8000000000000163016A400500000000000040070000000000004009000000000000400B000000000000400D0000000000000163016B400580000000000040078000000000004009800000000000400B800000000000400D8000000000000163016C40060000000000004008000000000000400A000000000000400C000000000000400E000000000000"},"result":{"expect":"0x03020178017A010179050C01610169400100000000000040050000000000004009000000000000400D00000000000040108000000000000161016A40020000000000004006000000000000400A000000000000400E00000000000040110000000000000161016B40030000000000004007000000000000400B000000000000400F00000000000040118000000000000161016C40040000000000004008000000000000400C00000000000040100000000000004012000000000000016201694012800000000000401480000000000040168000000000004018800000000000401A8000000000000162016A4013000000000000401500000000000040170000000000004019000000000000401B0000000000000162016B4013800000000000401580000000000040178000000000004019800000000000401B8000000000000162016C401400000000000040160000000000004018000000000000401A000000000000401C00000000000001630169401C800000000000401E8000000000004020400000000000402140000000000040224000000000000163016A401D000000000000401F0000000000004020800000000000402180000000000040228000000000000163016B401D800000000000401F8000000000004020C000000000004021C000000000004022C000000000000163016C401E0000000000004020000000000000402100000000000040220000000000004023000000000000"}}
+{"expression":"map(a,f(a)((a+1)*2))","inputs":{"a":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693FA800003FC800003FE8000040040000401400000162016A3FB000003FD000003FF0000040080000401800000162016B3FB800003FD800003FF80000400C0000401C00000162016C3FC000003FE000004000000040100000402000000163016940240000403400004044000040540000406400000163016A40280000403800004048000040580000406800000163016B402C0000403C0000404C0000405C0000406C00000163016C4030000040400000405000004060000040700000"},"result":{"expect":"0x0701020178017A010179050C0161016940080000402800004048000040680000408400000161016A40100000403000004050000040700000408800000161016B40180000403800004058000040780000408C00000161016C4020000040400000406000004080000040900000016201694094000040A4000040B4000040C4000040D400000162016A4098000040A8000040B8000040C8000040D800000162016B409C000040AC000040BC000040CC000040DC00000162016C40A0000040B0000040C0000040D0000040E000000163016940E4000040F4000041020000410A0000411200000163016A40E8000040F8000041040000410C0000411400000163016B40EC000040FC000041060000410E0000411600000163016C40F0000041000000410800004110000041180000"}}
+{"expression":"a+b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FC0000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053E0000003E4000003E8000003EA000003EC00000"}}
+{"expression":"a+b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053E0000003E4000003E8000003EA000003EC00000"}}
+{"expression":"a+b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FC00000000000003FD00000000000003FD80000000000003FE00000000000003FE4000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FC00000000000003FC80000000000003FD00000000000003FC80000000000003FD00000000000003FD40000000000003FD00000000000003FD40000000000003FD80000000000003FD40000000000003FD80000000000003FDC0000000000003FD80000000000003FDC0000000000003FE00000000000003FDC0000000000003FE00000000000003FE2000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF000000000000400000000000000040010000000000004001800000000000400200000000000040028000000000004003000000000000400380000000000040040000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040038000000000004004000000000000400480000000000040050000000000004005800000000000400600000000000040068000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040020000000000004002800000000000400300000000000040038000000000004004000000000000400480000000000040050000000000004006000000000000400680000000000040070000000000004007800000000000400800000000000040088000000000004009000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF000000000000400000000000000040010000000000004001800000000000400200000000000040028000000000004003000000000000400380000000000040040000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040038000000000004004000000000000400480000000000040050000000000004005800000000000400600000000000040068000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040020000000000004002800000000000400300000000000040038000000000004004000000000000400480000000000040050000000000004006000000000000400680000000000040070000000000004007800000000000400800000000000040088000000000004009000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF000000000000400000000000000040010000000000004001800000000000400200000000000040028000000000004003000000000000400380000000000040040000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040038000000000004004000000000000400480000000000040050000000000004005800000000000400600000000000040068000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040020000000000004002800000000000400300000000000040038000000000004004000000000000400480000000000040050000000000004006000000000000400680000000000040070000000000004007800000000000400800000000000040088000000000004009000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073E0000003E4000003E8000003EA000003EC000003EE000003F0000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FD000003FD800003FE000003FE800003FF000003FF800004000000040080000400C0000401000004014000040180000401C0000402000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF80000400000004004000040080000400C00004010000040140000401C0000402000004024000040280000402C000040300000403400003F4000003F5000003F6000003F7000003F8000003F8800003F9000003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FE000003FE800003FF000003FF80000400000004004000040080000401000004014000040180000401C0000402000004024000040280000403000004034000040380000403C0000404000004044000040480000"}}
+{"expression":"a+b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FC000000000000001623FD000000000000001633FD8000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FC000000000000001623FD0000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FC800000000000001610362617A3FD0000000000000016103666F6F3FC00000000000000162036261723FD000000000000001620362617A3FD4000000000000016203666F6F3FC80000000000000163036261723FD400000000000001630362617A3FD8000000000000016303666F6F3FD0000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FC800000000000001610362617A3FD0000000000000016103666F6F3FC00000000000000162036261723FDC00000000000001620362617A3FE0000000000000016203666F6F3FD80000000000000163036261723FE600000000000001630362617A3FE8000000000000016303666F6F3FE4000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FD0000000000000016103666F6F3FC00000000000000162036261723FE2000000000000016203666F6F3FDC000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FDC000000000000016103626172016A3FE0000000000000016103626172016B3FE2000000000000016103626172016C3FE4000000000000016103666F6F01693FC0000000000000016103666F6F016A3FC8000000000000016103666F6F016B3FD0000000000000016103666F6F016C3FD400000000000001620362617201693FE4000000000000016203626172016A3FE6000000000000016203626172016B3FE8000000000000016203626172016C3FEA000000000000016203666F6F01693FD4000000000000016203666F6F016A3FD8000000000000016203666F6F016B3FDC000000000000016203666F6F016C3FE0000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FDC000000000000016103626172016A3FE0000000000000016103626172016B3FE2000000000000016103626172016C3FE4000000000000016103666F6F01693FC0000000000000016103666F6F016A3FC8000000000000016103666F6F016B3FD0000000000000016103666F6F016C3FD400000000000001620362617201693FE4000000000000016203626172016A3FE6000000000000016203626172016B3FE8000000000000016203626172016C3FEA000000000000016203666F6F01693FD4000000000000016203666F6F016A3FD8000000000000016203666F6F016B3FDC000000000000016203666F6F016C3FE0000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FDC000000000000016103626172016A3FE0000000000000016103626172016B3FE2000000000000016103626172016C3FE4000000000000016103666F6F01693FC0000000000000016103666F6F016A3FC8000000000000016103666F6F016B3FD0000000000000016103666F6F016C3FD400000000000001620362617201693FE4000000000000016203626172016A3FE6000000000000016203626172016B3FE8000000000000016203626172016C3FEA000000000000016203666F6F01693FD4000000000000016203666F6F016A3FD8000000000000016203666F6F016B3FDC000000000000016203666F6F016C3FE0000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693EE00000016103626172016A3F000000016103626172016B3F100000016103626172016C3F200000016103666F6F01693E000000016103666F6F016A3E400000016103666F6F016B3E800000016103666F6F016C3EA0000001620362617201693F200000016203626172016A3F300000016203626172016B3F400000016203626172016C3F500000016203666F6F01693EA00000016203666F6F016A3EC00000016203666F6F016B3EE00000016203666F6F016C3F000000"}}
+{"expression":"a+b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF400000000000003666F6F3FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE8000000000000"}}
+{"expression":"a+b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC00000000000003FDC0000000000003FE80000000000003FF10000000000003FF60000000000000161016A3FC80000000000003FE00000000000003FEA0000000000003FF20000000000003FF70000000000000161016B3FD00000000000003FE20000000000003FEC0000000000003FF30000000000003FF80000000000000161016C3FD40000000000003FE40000000000003FEE0000000000003FF40000000000003FF9000000000000016201693FDC0000000000003FE80000000000003FF10000000000003FF60000000000003FFB0000000000000162016A3FE00000000000003FEA0000000000003FF20000000000003FF70000000000003FFC0000000000000162016B3FE20000000000003FEC0000000000003FF30000000000003FF80000000000003FFD0000000000000162016C3FE40000000000003FEE0000000000003FF40000000000003FF90000000000003FFE000000000000016301693FE80000000000003FF10000000000003FF60000000000003FFB00000000000040000000000000000163016A3FEA0000000000003FF20000000000003FF70000000000003FFC00000000000040008000000000000163016B3FEC0000000000003FF30000000000003FF80000000000003FFD00000000000040010000000000000163016C3FEE0000000000003FF40000000000003FF90000000000003FFE0000000000004001800000000000"}}
+{"expression":"a+b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC00000000000003FDC0000000000003FE80000000000003FF10000000000003FF60000000000000161016A3FC80000000000003FE00000000000003FEA0000000000003FF20000000000003FF70000000000000161016B3FD00000000000003FE20000000000003FEC0000000000003FF30000000000003FF80000000000000161016C3FD40000000000003FE40000000000003FEE0000000000003FF40000000000003FF9000000000000016201693FDC0000000000003FE80000000000003FF10000000000003FF60000000000003FFB0000000000000162016A3FE00000000000003FEA0000000000003FF20000000000003FF70000000000003FFC0000000000000162016B3FE20000000000003FEC0000000000003FF30000000000003FF80000000000003FFD0000000000000162016C3FE40000000000003FEE0000000000003FF40000000000003FF90000000000003FFE000000000000016301693FE80000000000003FF10000000000003FF60000000000003FFB00000000000040000000000000000163016A3FEA0000000000003FF20000000000003FF70000000000003FFC00000000000040008000000000000163016B3FEC0000000000003FF30000000000003FF80000000000003FFD00000000000040010000000000000163016C3FEE0000000000003FF40000000000003FF90000000000003FFE0000000000004001800000000000"}}
+{"expression":"a+b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FC00000000000003FDC0000000000003FE80000000000003FF10000000000003FF60000000000000161016A3FC80000000000003FE00000000000003FEA0000000000003FF20000000000003FF70000000000000161016B3FD00000000000003FE20000000000003FEC0000000000003FF30000000000003FF80000000000000161016C3FD40000000000003FE40000000000003FEE0000000000003FF40000000000003FF9000000000000016201693FDC0000000000003FE80000000000003FF10000000000003FF60000000000003FFB0000000000000162016A3FE00000000000003FEA0000000000003FF20000000000003FF70000000000003FFC0000000000000162016B3FE20000000000003FEC0000000000003FF30000000000003FF80000000000003FFD0000000000000162016C3FE40000000000003FEE0000000000003FF40000000000003FF90000000000003FFE000000000000016301693FE80000000000003FF10000000000003FF60000000000003FFB00000000000040000000000000000163016A3FEA0000000000003FF20000000000003FF70000000000003FFC00000000000040008000000000000163016B3FEC0000000000003FF30000000000003FF80000000000003FFD00000000000040010000000000000163016C3FEE0000000000003FF40000000000003FF90000000000003FFE0000000000004001800000000000"}}
+{"expression":"a+b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693E0000003EE000003F4000003F8800003FB000000161016A3E4000003F0000003F5000003F9000003FB800000161016B3E8000003F1000003F6000003F9800003FC000000161016C3EA000003F2000003F7000003FA000003FC80000016201693EE000003F4000003F8800003FB000003FD800000162016A3F0000003F5000003F9000003FB800003FE000000162016B3F1000003F6000003F9800003FC000003FE800000162016C3F2000003F7000003FA000003FC800003FF00000016301693F4000003F8800003FB000003FD80000400000000163016A3F5000003F9000003FB800003FE00000400400000163016B3F6000003F9800003FC000003FE80000400800000163016C3F7000003FA000003FC800003FF00000400C0000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FC0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053E0000003E4000003E8000003EA000003EC00000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053E0000003E4000003E8000003EA000003EC00000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FC00000000000003FD00000000000003FD80000000000003FE00000000000003FE4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FC00000000000003FC80000000000003FD00000000000003FC80000000000003FD00000000000003FD40000000000003FD00000000000003FD40000000000003FD80000000000003FD40000000000003FD80000000000003FDC0000000000003FD80000000000003FDC0000000000003FE00000000000003FDC0000000000003FE00000000000003FE2000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF000000000000400000000000000040010000000000004001800000000000400200000000000040028000000000004003000000000000400380000000000040040000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040038000000000004004000000000000400480000000000040050000000000004005800000000000400600000000000040068000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040020000000000004002800000000000400300000000000040038000000000004004000000000000400480000000000040050000000000004006000000000000400680000000000040070000000000004007800000000000400800000000000040088000000000004009000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF000000000000400000000000000040010000000000004001800000000000400200000000000040028000000000004003000000000000400380000000000040040000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040038000000000004004000000000000400480000000000040050000000000004005800000000000400600000000000040068000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040020000000000004002800000000000400300000000000040038000000000004004000000000000400480000000000040050000000000004006000000000000400680000000000040070000000000004007800000000000400800000000000040088000000000004009000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF000000000000400000000000000040010000000000004001800000000000400200000000000040028000000000004003000000000000400380000000000040040000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000004002000000000000400280000000000040038000000000004004000000000000400480000000000040050000000000004005800000000000400600000000000040068000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040020000000000004002800000000000400300000000000040038000000000004004000000000000400480000000000040050000000000004006000000000000400680000000000040070000000000004007800000000000400800000000000040088000000000004009000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073E0000003E4000003E8000003EA000003EC000003EE000003F0000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FD000003FD800003FE000003FE800003FF000003FF800004000000040080000400C0000401000004014000040180000401C0000402000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF80000400000004004000040080000400C00004010000040140000401C0000402000004024000040280000402C000040300000403400003F4000003F5000003F6000003F7000003F8000003F8800003F9000003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FE000003FE800003FF000003FF80000400000004004000040080000401000004014000040180000401C0000402000004024000040280000403000004034000040380000403C0000404000004044000040480000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FC000000000000001623FD000000000000001633FD8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FC000000000000001623FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FC800000000000001610362617A3FD0000000000000016103666F6F3FC00000000000000162036261723FD000000000000001620362617A3FD4000000000000016203666F6F3FC80000000000000163036261723FD400000000000001630362617A3FD8000000000000016303666F6F3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FC800000000000001610362617A3FD0000000000000016103666F6F3FC00000000000000162036261723FDC00000000000001620362617A3FE0000000000000016203666F6F3FD80000000000000163036261723FE600000000000001630362617A3FE8000000000000016303666F6F3FE4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FD0000000000000016103666F6F3FC00000000000000162036261723FE2000000000000016203666F6F3FDC000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FDC000000000000016103626172016A3FE0000000000000016103626172016B3FE2000000000000016103626172016C3FE4000000000000016103666F6F01693FC0000000000000016103666F6F016A3FC8000000000000016103666F6F016B3FD0000000000000016103666F6F016C3FD400000000000001620362617201693FE4000000000000016203626172016A3FE6000000000000016203626172016B3FE8000000000000016203626172016C3FEA000000000000016203666F6F01693FD4000000000000016203666F6F016A3FD8000000000000016203666F6F016B3FDC000000000000016203666F6F016C3FE0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FDC000000000000016103626172016A3FE0000000000000016103626172016B3FE2000000000000016103626172016C3FE4000000000000016103666F6F01693FC0000000000000016103666F6F016A3FC8000000000000016103666F6F016B3FD0000000000000016103666F6F016C3FD400000000000001620362617201693FE4000000000000016203626172016A3FE6000000000000016203626172016B3FE8000000000000016203626172016C3FEA000000000000016203666F6F01693FD4000000000000016203666F6F016A3FD8000000000000016203666F6F016B3FDC000000000000016203666F6F016C3FE0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FDC000000000000016103626172016A3FE0000000000000016103626172016B3FE2000000000000016103626172016C3FE4000000000000016103666F6F01693FC0000000000000016103666F6F016A3FC8000000000000016103666F6F016B3FD0000000000000016103666F6F016C3FD400000000000001620362617201693FE4000000000000016203626172016A3FE6000000000000016203626172016B3FE8000000000000016203626172016C3FEA000000000000016203666F6F01693FD4000000000000016203666F6F016A3FD8000000000000016203666F6F016B3FDC000000000000016203666F6F016C3FE0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693EE00000016103626172016A3F000000016103626172016B3F100000016103626172016C3F200000016103666F6F01693E000000016103666F6F016A3E400000016103666F6F016B3E800000016103666F6F016C3EA0000001620362617201693F200000016203626172016A3F300000016203626172016B3F400000016203626172016C3F500000016203666F6F01693EA00000016203666F6F016A3EC00000016203666F6F016B3EE00000016203666F6F016C3F000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF400000000000003666F6F3FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC00000000000003FDC0000000000003FE80000000000003FF10000000000003FF60000000000000161016A3FC80000000000003FE00000000000003FEA0000000000003FF20000000000003FF70000000000000161016B3FD00000000000003FE20000000000003FEC0000000000003FF30000000000003FF80000000000000161016C3FD40000000000003FE40000000000003FEE0000000000003FF40000000000003FF9000000000000016201693FDC0000000000003FE80000000000003FF10000000000003FF60000000000003FFB0000000000000162016A3FE00000000000003FEA0000000000003FF20000000000003FF70000000000003FFC0000000000000162016B3FE20000000000003FEC0000000000003FF30000000000003FF80000000000003FFD0000000000000162016C3FE40000000000003FEE0000000000003FF40000000000003FF90000000000003FFE000000000000016301693FE80000000000003FF10000000000003FF60000000000003FFB00000000000040000000000000000163016A3FEA0000000000003FF20000000000003FF70000000000003FFC00000000000040008000000000000163016B3FEC0000000000003FF30000000000003FF80000000000003FFD00000000000040010000000000000163016C3FEE0000000000003FF40000000000003FF90000000000003FFE0000000000004001800000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FC00000000000003FDC0000000000003FE80000000000003FF10000000000003FF60000000000000161016A3FC80000000000003FE00000000000003FEA0000000000003FF20000000000003FF70000000000000161016B3FD00000000000003FE20000000000003FEC0000000000003FF30000000000003FF80000000000000161016C3FD40000000000003FE40000000000003FEE0000000000003FF40000000000003FF9000000000000016201693FDC0000000000003FE80000000000003FF10000000000003FF60000000000003FFB0000000000000162016A3FE00000000000003FEA0000000000003FF20000000000003FF70000000000003FFC0000000000000162016B3FE20000000000003FEC0000000000003FF30000000000003FF80000000000003FFD0000000000000162016C3FE40000000000003FEE0000000000003FF40000000000003FF90000000000003FFE000000000000016301693FE80000000000003FF10000000000003FF60000000000003FFB00000000000040000000000000000163016A3FEA0000000000003FF20000000000003FF70000000000003FFC00000000000040008000000000000163016B3FEC0000000000003FF30000000000003FF80000000000003FFD00000000000040010000000000000163016C3FEE0000000000003FF40000000000003FF90000000000003FFE0000000000004001800000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FC00000000000003FDC0000000000003FE80000000000003FF10000000000003FF60000000000000161016A3FC80000000000003FE00000000000003FEA0000000000003FF20000000000003FF70000000000000161016B3FD00000000000003FE20000000000003FEC0000000000003FF30000000000003FF80000000000000161016C3FD40000000000003FE40000000000003FEE0000000000003FF40000000000003FF9000000000000016201693FDC0000000000003FE80000000000003FF10000000000003FF60000000000003FFB0000000000000162016A3FE00000000000003FEA0000000000003FF20000000000003FF70000000000003FFC0000000000000162016B3FE20000000000003FEC0000000000003FF30000000000003FF80000000000003FFD0000000000000162016C3FE40000000000003FEE0000000000003FF40000000000003FF90000000000003FFE000000000000016301693FE80000000000003FF10000000000003FF60000000000003FFB00000000000040000000000000000163016A3FEA0000000000003FF20000000000003FF70000000000003FFC00000000000040008000000000000163016B3FEC0000000000003FF30000000000003FF80000000000003FFD00000000000040010000000000000163016C3FEE0000000000003FF40000000000003FF90000000000003FFE0000000000004001800000000000"}}
+{"expression":"join(a,b,f(a,b)(a+b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693E0000003EE000003F4000003F8800003FB000000161016A3E4000003F0000003F5000003F9000003FB800000161016B3E8000003F1000003F6000003F9800003FC000000161016C3EA000003F2000003F7000003FA000003FC80000016201693EE000003F4000003F8800003FB000003FD800000162016A3F0000003F5000003F9000003FB800003FE000000162016B3F1000003F6000003F9800003FC000003FE800000162016C3F2000003F7000003FA000003FC800003FF00000016301693F4000003F8800003FB000003FD80000400000000163016A3F5000003F9000003FB800003FE00000400400000163016B3F6000003F9800003FC000003FE80000400800000163016C3F7000003FA000003FC800003FF00000400C0000"}}
+{"expression":"a-b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178050000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000003FB00000000000003FC00000000000003FC80000000000003FD0000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x06010101780500000000BD800000BE000000BE400000BE800000"}}
+{"expression":"a-b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x060101017805000000003D8000003E0000003E4000003E800000"}}
+{"expression":"a-b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A030000000000000000BFB0000000000000BFC00000000000003FB00000000000000000000000000000BFB00000000000003FC00000000000003FB00000000000000000000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFB0000000000000BFC0000000000000BFC8000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE0000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF90000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE0000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF90000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE0000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF90000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A0700000000BD800000BE000000BE400000BE800000BEA00000BEC00000BEC00000BEE00000BF000000BF100000BF200000BF300000BF400000BF400000BF500000BF600000BF700000BF800000BF880000BF900000BF900000BF980000BFA00000BFA80000BFB00000BFB80000BFC00000BFC00000BFC80000BFD00000BFD80000BFE00000BFE80000BFF000003EA000003E8000003E4000003E0000003D80000000000000BD800000BD800000BE000000BE400000BE800000BEA00000BEC00000BEE00000BEE00000BF000000BF100000BF200000BF300000BF400000BF500000BF500000BF600000BF700000BF800000BF880000BF900000BF980000BF980000BFA00000BFA80000BFB00000BFB80000BFC00000BFC800003F2000003F1000003F0000003EE000003EC000003EA000003E8000003E8000003E4000003E0000003D80000000000000BD800000BE000000BE000000BE400000BE800000BEA00000BEC00000BEE00000BF000000BF000000BF100000BF200000BF300000BF400000BF500000BF600000BF600000BF700000BF800000BF880000BF900000BF980000BFA00000"}}
+{"expression":"a-b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172BFB000000000000001610362617ABFC0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617ABFB0000000000000016203666F6F3FB00000000000000163036261723FB000000000000001630362617A0000000000000000016303666F6F3FC0000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172BFB000000000000001610362617ABFC0000000000000016103666F6F0000000000000000016203626172BFC800000000000001620362617ABFD0000000000000016203666F6FBFC0000000000000016303626172BFD400000000000001630362617ABFD8000000000000016303666F6FBFD0000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB0000000000000016203666F6F3FB0000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A100161036261720169BFC8000000000000016103626172016ABFD0000000000000016103626172016BBFD4000000000000016103626172016CBFD8000000000000016103666F6F01690000000000000000016103666F6F016ABFB0000000000000016103666F6F016BBFC0000000000000016103666F6F016CBFC800000000000001620362617201690000000000000000016203626172016ABFB0000000000000016203626172016BBFC0000000000000016203626172016CBFC8000000000000016203666F6F01693FC8000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A100161036261720169BFC8000000000000016103626172016ABFD0000000000000016103626172016BBFD4000000000000016103626172016CBFD8000000000000016103666F6F01690000000000000000016103666F6F016ABFB0000000000000016103666F6F016BBFC0000000000000016103666F6F016CBFC800000000000001620362617201690000000000000000016203626172016ABFB0000000000000016203626172016BBFC0000000000000016203626172016CBFC8000000000000016203666F6F01693FC8000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A100161036261720169BFC8000000000000016103626172016ABFD0000000000000016103626172016BBFD4000000000000016103626172016CBFD8000000000000016103666F6F01690000000000000000016103666F6F016ABFB0000000000000016103666F6F016BBFC0000000000000016103666F6F016CBFC800000000000001620362617201690000000000000000016203626172016ABFB0000000000000016203626172016BBFC0000000000000016203626172016CBFC8000000000000016203666F6F01693FC8000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A100161036261720169BE400000016103626172016ABE800000016103626172016BBEA00000016103626172016CBEC00000016103666F6F016900000000016103666F6F016ABD800000016103666F6F016BBE000000016103666F6F016CBE400000016203626172016900000000016203626172016ABD800000016203626172016BBE000000016203626172016CBE400000016203666F6F01693E400000016203666F6F016A3E000000016203666F6F016B3D800000016203666F6F016C00000000"}}
+{"expression":"a-b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE000000000000003666F6F0000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFC8000000000000BFD8000000000000BFE2000000000000BFE80000000000000161016ABFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000BFEA0000000000000161016BBFC0000000000000BFD4000000000000BFE0000000000000BFE6000000000000BFEC0000000000000161016CBFC8000000000000BFD8000000000000BFE2000000000000BFE8000000000000BFEE000000000000016201693FD40000000000003FC0000000000000BFB0000000000000BFD0000000000000BFDC0000000000000162016A3FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000BFE00000000000000162016B3FC80000000000000000000000000000BFC8000000000000BFD8000000000000BFE20000000000000162016C3FC0000000000000BFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000016301693FE40000000000003FDC0000000000003FD00000000000003FB0000000000000BFC00000000000000163016A3FE20000000000003FD80000000000003FC80000000000000000000000000000BFC80000000000000163016B3FE00000000000003FD40000000000003FC0000000000000BFB0000000000000BFD00000000000000163016C3FDC0000000000003FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFC8000000000000BFD8000000000000BFE2000000000000BFE80000000000000161016ABFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000BFEA0000000000000161016BBFC0000000000000BFD4000000000000BFE0000000000000BFE6000000000000BFEC0000000000000161016CBFC8000000000000BFD8000000000000BFE2000000000000BFE8000000000000BFEE000000000000016201693FD40000000000003FC0000000000000BFB0000000000000BFD0000000000000BFDC0000000000000162016A3FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000BFE00000000000000162016B3FC80000000000000000000000000000BFC8000000000000BFD8000000000000BFE20000000000000162016C3FC0000000000000BFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000016301693FE40000000000003FDC0000000000003FD00000000000003FB0000000000000BFC00000000000000163016A3FE20000000000003FD80000000000003FC80000000000000000000000000000BFC80000000000000163016B3FE00000000000003FD40000000000003FC0000000000000BFB0000000000000BFD00000000000000163016C3FDC0000000000003FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFC8000000000000BFD8000000000000BFE2000000000000BFE80000000000000161016ABFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000BFEA0000000000000161016BBFC0000000000000BFD4000000000000BFE0000000000000BFE6000000000000BFEC0000000000000161016CBFC8000000000000BFD8000000000000BFE2000000000000BFE8000000000000BFEE000000000000016201693FD40000000000003FC0000000000000BFB0000000000000BFD0000000000000BFDC0000000000000162016A3FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000BFE00000000000000162016B3FC80000000000000000000000000000BFC8000000000000BFD8000000000000BFE20000000000000162016C3FC0000000000000BFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000016301693FE40000000000003FDC0000000000003FD00000000000003FB0000000000000BFC00000000000000163016A3FE20000000000003FD80000000000003FC80000000000000000000000000000BFC80000000000000163016B3FE00000000000003FD40000000000003FC0000000000000BFB0000000000000BFD00000000000000163016C3FDC0000000000003FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000"}}
+{"expression":"a-b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C0161016900000000BE400000BEC00000BF100000BF4000000161016ABD800000BE800000BEE00000BF200000BF5000000161016BBE000000BEA00000BF000000BF300000BF6000000161016CBE400000BEC00000BF100000BF400000BF700000016201693EA000003E000000BD800000BE800000BEE000000162016A3E8000003D800000BE000000BEA00000BF0000000162016B3E40000000000000BE400000BEC00000BF1000000162016C3E000000BD800000BE800000BEE00000BF200000016301693F2000003EE000003E8000003D800000BE0000000163016A3F1000003EC000003E40000000000000BE4000000163016B3F0000003EA000003E000000BD800000BE8000000163016C3EE000003E8000003D800000BE000000BEA00000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178050000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000003FB00000000000003FC00000000000003FC80000000000003FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x06010101780500000000BD800000BE000000BE400000BE800000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x060101017805000000003D8000003E0000003E4000003E800000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179050000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A030000000000000000BFB0000000000000BFC00000000000003FB00000000000000000000000000000BFB00000000000003FC00000000000003FB00000000000000000000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFB0000000000000BFC0000000000000BFC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE0000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF90000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE0000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF90000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A070000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF2000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF8000000000000BFF9000000000000BFFA000000000000BFFB000000000000BFFC000000000000BFFD000000000000BFFE0000000000003FD40000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEA000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF3000000000000BFF4000000000000BFF5000000000000BFF6000000000000BFF7000000000000BFF8000000000000BFF90000000000003FE40000000000003FE20000000000003FE00000000000003FDC0000000000003FD80000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFEA000000000000BFEC000000000000BFEC000000000000BFEE000000000000BFF0000000000000BFF1000000000000BFF2000000000000BFF3000000000000BFF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A0700000000BD800000BE000000BE400000BE800000BEA00000BEC00000BEC00000BEE00000BF000000BF100000BF200000BF300000BF400000BF400000BF500000BF600000BF700000BF800000BF880000BF900000BF900000BF980000BFA00000BFA80000BFB00000BFB80000BFC00000BFC00000BFC80000BFD00000BFD80000BFE00000BFE80000BFF000003EA000003E8000003E4000003E0000003D80000000000000BD800000BD800000BE000000BE400000BE800000BEA00000BEC00000BEE00000BEE00000BF000000BF100000BF200000BF300000BF400000BF500000BF500000BF600000BF700000BF800000BF880000BF900000BF980000BF980000BFA00000BFA80000BFB00000BFB80000BFC00000BFC800003F2000003F1000003F0000003EE000003EC000003EA000003E8000003E8000003E4000003E0000003D80000000000000BD800000BE000000BE000000BE400000BE800000BEA00000BEC00000BEE00000BF000000BF000000BF100000BF200000BF300000BF400000BF500000BF600000BF600000BF700000BF800000BF880000BF900000BF980000BFA00000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172BFB000000000000001610362617ABFC0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617ABFB0000000000000016203666F6F3FB00000000000000163036261723FB000000000000001630362617A0000000000000000016303666F6F3FC0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172BFB000000000000001610362617ABFC0000000000000016103666F6F0000000000000000016203626172BFC800000000000001620362617ABFD0000000000000016203666F6FBFC0000000000000016303626172BFD400000000000001630362617ABFD8000000000000016303666F6FBFD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB0000000000000016203666F6F3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A100161036261720169BFC8000000000000016103626172016ABFD0000000000000016103626172016BBFD4000000000000016103626172016CBFD8000000000000016103666F6F01690000000000000000016103666F6F016ABFB0000000000000016103666F6F016BBFC0000000000000016103666F6F016CBFC800000000000001620362617201690000000000000000016203626172016ABFB0000000000000016203626172016BBFC0000000000000016203626172016CBFC8000000000000016203666F6F01693FC8000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A100161036261720169BFC8000000000000016103626172016ABFD0000000000000016103626172016BBFD4000000000000016103626172016CBFD8000000000000016103666F6F01690000000000000000016103666F6F016ABFB0000000000000016103666F6F016BBFC0000000000000016103666F6F016CBFC800000000000001620362617201690000000000000000016203626172016ABFB0000000000000016203626172016BBFC0000000000000016203626172016CBFC8000000000000016203666F6F01693FC8000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A100161036261720169BFC8000000000000016103626172016ABFD0000000000000016103626172016BBFD4000000000000016103626172016CBFD8000000000000016103666F6F01690000000000000000016103666F6F016ABFB0000000000000016103666F6F016BBFC0000000000000016103666F6F016CBFC800000000000001620362617201690000000000000000016203626172016ABFB0000000000000016203626172016BBFC0000000000000016203626172016CBFC8000000000000016203666F6F01693FC8000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A100161036261720169BE400000016103626172016ABE800000016103626172016BBEA00000016103626172016CBEC00000016103666F6F016900000000016103666F6F016ABD800000016103666F6F016BBE000000016103666F6F016CBE400000016203626172016900000000016203626172016ABD800000016203626172016BBE000000016203626172016CBE400000016203666F6F01693E400000016203666F6F016A3E000000016203666F6F016B3D800000016203666F6F016C00000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A070203626172BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFE6000000000000BFE8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE0000000000000BFE2000000000000BFE4000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD8000000000000BFDC000000000000BFE000000000000003666F6F0000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD0000000000000BFD4000000000000BFD80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000BFC8000000000000BFD00000000000003FD00000000000003FC80000000000003FC00000000000003FB00000000000000000000000000000BFB0000000000000BFC0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFC8000000000000BFD8000000000000BFE2000000000000BFE80000000000000161016ABFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000BFEA0000000000000161016BBFC0000000000000BFD4000000000000BFE0000000000000BFE6000000000000BFEC0000000000000161016CBFC8000000000000BFD8000000000000BFE2000000000000BFE8000000000000BFEE000000000000016201693FD40000000000003FC0000000000000BFB0000000000000BFD0000000000000BFDC0000000000000162016A3FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000BFE00000000000000162016B3FC80000000000000000000000000000BFC8000000000000BFD8000000000000BFE20000000000000162016C3FC0000000000000BFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000016301693FE40000000000003FDC0000000000003FD00000000000003FB0000000000000BFC00000000000000163016A3FE20000000000003FD80000000000003FC80000000000000000000000000000BFC80000000000000163016B3FE00000000000003FD40000000000003FC0000000000000BFB0000000000000BFD00000000000000163016C3FDC0000000000003FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFC8000000000000BFD8000000000000BFE2000000000000BFE80000000000000161016ABFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000BFEA0000000000000161016BBFC0000000000000BFD4000000000000BFE0000000000000BFE6000000000000BFEC0000000000000161016CBFC8000000000000BFD8000000000000BFE2000000000000BFE8000000000000BFEE000000000000016201693FD40000000000003FC0000000000000BFB0000000000000BFD0000000000000BFDC0000000000000162016A3FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000BFE00000000000000162016B3FC80000000000000000000000000000BFC8000000000000BFD8000000000000BFE20000000000000162016C3FC0000000000000BFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000016301693FE40000000000003FDC0000000000003FD00000000000003FB0000000000000BFC00000000000000163016A3FE20000000000003FD80000000000003FC80000000000000000000000000000BFC80000000000000163016B3FE00000000000003FD40000000000003FC0000000000000BFB0000000000000BFD00000000000000163016C3FDC0000000000003FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101690000000000000000BFC8000000000000BFD8000000000000BFE2000000000000BFE80000000000000161016ABFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000BFEA0000000000000161016BBFC0000000000000BFD4000000000000BFE0000000000000BFE6000000000000BFEC0000000000000161016CBFC8000000000000BFD8000000000000BFE2000000000000BFE8000000000000BFEE000000000000016201693FD40000000000003FC0000000000000BFB0000000000000BFD0000000000000BFDC0000000000000162016A3FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000BFE00000000000000162016B3FC80000000000000000000000000000BFC8000000000000BFD8000000000000BFE20000000000000162016C3FC0000000000000BFB0000000000000BFD0000000000000BFDC000000000000BFE4000000000000016301693FE40000000000003FDC0000000000003FD00000000000003FB0000000000000BFC00000000000000163016A3FE20000000000003FD80000000000003FC80000000000000000000000000000BFC80000000000000163016B3FE00000000000003FD40000000000003FC0000000000000BFB0000000000000BFD00000000000000163016C3FDC0000000000003FD00000000000003FB0000000000000BFC0000000000000BFD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a-b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C0161016900000000BE400000BEC00000BF100000BF4000000161016ABD800000BE800000BEE00000BF200000BF5000000161016BBE000000BEA00000BF000000BF300000BF6000000161016CBE400000BEC00000BF100000BF400000BF700000016201693EA000003E000000BD800000BE800000BEE000000162016A3E8000003D800000BE000000BEA00000BF0000000162016B3E40000000000000BE400000BEC00000BF1000000162016C3E000000BD800000BE800000BEE00000BF200000016301693F2000003EE000003E8000003D800000BE0000000163016A3F1000003EC000003E40000000000000BE4000000163016B3F0000003EA000003E000000BD800000BE8000000163016C3EE000003E8000003D800000BE000000BEA00000"}}
+{"expression":"a*b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003F70000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053F700000000000003F800000000000003F880000000000003F900000000000003F94000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053F700000000000003F800000000000003F880000000000003F900000000000003F94000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053B8000003C0000003C4000003C8000003CA00000"}}
+{"expression":"a*b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053B8000003C0000003C4000003C8000003CA00000"}}
+{"expression":"a*b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053F700000000000003F900000000000003FA20000000000003FB00000000000003FB9000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F800000000000003F900000000000003F980000000000003FA00000000000003FA40000000000003F880000000000003F980000000000003FA20000000000003FA80000000000003FAE0000000000003F900000000000003FA00000000000003FA80000000000003FB00000000000003FB40000000000003F940000000000003FA40000000000003FAE0000000000003FB40000000000003FB9000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003FA80000000000003FAC0000000000003FB00000000000003FB20000000000003FB40000000000003FC08000000000003FC20000000000003FC38000000000003FC50000000000003FC68000000000003FD00000000000003FD10000000000003FD20000000000003FD30000000000003FD40000000000003FDA4000000000003FDB8000000000003FDCC000000000003FDE0000000000003FDF400000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033F700000000000003F800000000000003F880000000000003F800000000000003F900000000000003F980000000000003F880000000000003F980000000000003FA20000000000003F900000000000003F940000000000003F980000000000003FA00000000000003FA40000000000003FA80000000000003FA80000000000003FAE0000000000003FB2000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC68000000000003FC80000000000003FC98000000000003FCB0000000000003FCC8000000000003FCE0000000000003FCF8000000000003FD60000000000003FD70000000000003FD80000000000003FD90000000000003FDA0000000000003FDB0000000000003FDC0000000000003FE22000000000003FE2C000000000003FE36000000000003FE40000000000003FE4A000000000003FE54000000000003FE5E000000000003F980000000000003FA80000000000003FB20000000000003FB80000000000003FBE0000000000003FC20000000000003FC50000000000003FCC0000000000003FCF8000000000003FD18000000000003FD34000000000003FD50000000000003FD6C000000000003FD88000000000003FDE0000000000003FE00000000000003FE10000000000003FE20000000000003FE30000000000003FE40000000000003FE50000000000003FE8C000000000003FE9E000000000003FEB0000000000003FEC2000000000003FED4000000000003FEE6000000000003FEF8000000000003FF22000000000003FF2C000000000003FF36000000000003FF40000000000003FF4A000000000003FF54000000000003FF5E000000000003FA60000000000003FB60000000000003FC08000000000003FC60000000000003FCB8000000000003FD08000000000003FD34000000000003FD80000000000003FDB0000000000003FDE0000000000003FE08000000000003FE20000000000003FE38000000000003FE50000000000003FE86000000000003FEA0000000000003FEBA000000000003FED4000000000003FEEE000000000003FF04000000000003FF11000000000003FF34000000000003FF42000000000003FF50000000000003FF5E000000000003FF6C000000000003FF7A000000000003FF88000000000003FFB3000000000003FFC2000000000003FFD1000000000003FFE0000000000003FFEF000000000003FFFE000000000004000680000000000"}}
+{"expression":"a*b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC68000000000003FC80000000000003FC98000000000003FCB0000000000003FCC8000000000003FCE0000000000003FCF8000000000003FD60000000000003FD70000000000003FD80000000000003FD90000000000003FDA0000000000003FDB0000000000003FDC0000000000003FE22000000000003FE2C000000000003FE36000000000003FE40000000000003FE4A000000000003FE54000000000003FE5E000000000003F980000000000003FA80000000000003FB20000000000003FB80000000000003FBE0000000000003FC20000000000003FC50000000000003FCC0000000000003FCF8000000000003FD18000000000003FD34000000000003FD50000000000003FD6C000000000003FD88000000000003FDE0000000000003FE00000000000003FE10000000000003FE20000000000003FE30000000000003FE40000000000003FE50000000000003FE8C000000000003FE9E000000000003FEB0000000000003FEC2000000000003FED4000000000003FEE6000000000003FEF8000000000003FF22000000000003FF2C000000000003FF36000000000003FF40000000000003FF4A000000000003FF54000000000003FF5E000000000003FA60000000000003FB60000000000003FC08000000000003FC60000000000003FCB8000000000003FD08000000000003FD34000000000003FD80000000000003FDB0000000000003FDE0000000000003FE08000000000003FE20000000000003FE38000000000003FE50000000000003FE86000000000003FEA0000000000003FEBA000000000003FED4000000000003FEEE000000000003FF04000000000003FF11000000000003FF34000000000003FF42000000000003FF50000000000003FF5E000000000003FF6C000000000003FF7A000000000003FF88000000000003FFB3000000000003FFC2000000000003FFD1000000000003FFE0000000000003FFEF000000000003FFFE000000000004000680000000000"}}
+{"expression":"a*b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC68000000000003FC80000000000003FC98000000000003FCB0000000000003FCC8000000000003FCE0000000000003FCF8000000000003FD60000000000003FD70000000000003FD80000000000003FD90000000000003FDA0000000000003FDB0000000000003FDC0000000000003FE22000000000003FE2C000000000003FE36000000000003FE40000000000003FE4A000000000003FE54000000000003FE5E000000000003F980000000000003FA80000000000003FB20000000000003FB80000000000003FBE0000000000003FC20000000000003FC50000000000003FCC0000000000003FCF8000000000003FD18000000000003FD34000000000003FD50000000000003FD6C000000000003FD88000000000003FDE0000000000003FE00000000000003FE10000000000003FE20000000000003FE30000000000003FE40000000000003FE50000000000003FE8C000000000003FE9E000000000003FEB0000000000003FEC2000000000003FED4000000000003FEE6000000000003FEF8000000000003FF22000000000003FF2C000000000003FF36000000000003FF40000000000003FF4A000000000003FF54000000000003FF5E000000000003FA60000000000003FB60000000000003FC08000000000003FC60000000000003FCB8000000000003FD08000000000003FD34000000000003FD80000000000003FDB0000000000003FDE0000000000003FE08000000000003FE20000000000003FE38000000000003FE50000000000003FE86000000000003FEA0000000000003FEBA000000000003FED4000000000003FEEE000000000003FF04000000000003FF11000000000003FF34000000000003FF42000000000003FF50000000000003FF5E000000000003FF6C000000000003FF7A000000000003FF88000000000003FFB3000000000003FFC2000000000003FFD1000000000003FFE0000000000003FFEF000000000003FFFE000000000004000680000000000"}}
+{"expression":"a*b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073B8000003C0000003C4000003C8000003CA000003CC000003CE000003D8000003D9000003DA000003DB000003DC000003DD000003DE000003E3400003E4000003E4C00003E5800003E6400003E7000003E7C00003EB000003EB800003EC000003EC800003ED000003ED800003EE000003F1100003F1600003F1B00003F2000003F2500003F2A00003F2F00003CC000003D4000003D9000003DC000003DF000003E1000003E2800003E6000003E7C00003E8C00003E9A00003EA800003EB600003EC400003EF000003F0000003F0800003F1000003F1800003F2000003F2800003F4600003F4F00003F5800003F6100003F6A00003F7300003F7C00003F9100003F9600003F9B00003FA000003FA500003FAA00003FAF00003D3000003DB000003E0400003E3000003E5C00003E8400003E9A00003EC000003ED800003EF000003F0400003F1000003F1C00003F2800003F4300003F5000003F5D00003F6A00003F7700003F8200003F8880003F9A00003FA100003FA800003FAF00003FB600003FBD00003FC400003FD980003FE100003FE880003FF000003FF780003FFF000040034000"}}
+{"expression":"a*b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613F7000000000000001623F9000000000000001633FA2000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613F7000000000000001623F90000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723F8000000000000001610362617A3F88000000000000016103666F6F3F700000000000000162036261723F9000000000000001620362617A3F98000000000000016203666F6F3F800000000000000163036261723F9800000000000001630362617A3FA2000000000000016303666F6F3F88000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723F8000000000000001610362617A3F88000000000000016103666F6F3F700000000000000162036261723FA400000000000001620362617A3FA8000000000000016203666F6F3FA00000000000000163036261723FB800000000000001630362617A3FBB000000000000016303666F6F3FB5000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723F90000000000000016103666F6F3F700000000000000162036261723FB4000000000000016203666F6F3FA8000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FA4000000000000016103626172016A3FA8000000000000016103626172016B3FAC000000000000016103626172016C3FB0000000000000016103666F6F01693F70000000000000016103666F6F016A3F80000000000000016103666F6F016B3F88000000000000016103666F6F016C3F9000000000000001620362617201693FB9000000000000016203626172016A3FBE000000000000016203626172016B3FC1800000000000016203626172016C3FC4000000000000016203666F6F01693F90000000000000016203666F6F016A3FA0000000000000016203666F6F016B3FA8000000000000016203666F6F016C3FB0000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FA4000000000000016103626172016A3FA8000000000000016103626172016B3FAC000000000000016103626172016C3FB0000000000000016103666F6F01693F70000000000000016103666F6F016A3F80000000000000016103666F6F016B3F88000000000000016103666F6F016C3F9000000000000001620362617201693FB9000000000000016203626172016A3FBE000000000000016203626172016B3FC1800000000000016203626172016C3FC4000000000000016203666F6F01693F90000000000000016203666F6F016A3FA0000000000000016203666F6F016B3FA8000000000000016203666F6F016C3FB0000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FA4000000000000016103626172016A3FA8000000000000016103626172016B3FAC000000000000016103626172016C3FB0000000000000016103666F6F01693F70000000000000016103666F6F016A3F80000000000000016103666F6F016B3F88000000000000016103666F6F016C3F9000000000000001620362617201693FB9000000000000016203626172016A3FBE000000000000016203626172016B3FC1800000000000016203626172016C3FC4000000000000016203666F6F01693F90000000000000016203666F6F016A3FA0000000000000016203666F6F016B3FA8000000000000016203666F6F016C3FB0000000000000"}}
+{"expression":"a*b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693D200000016103626172016A3D400000016103626172016B3D600000016103626172016C3D800000016103666F6F01693B800000016103666F6F016A3C000000016103666F6F016B3C400000016103666F6F016C3C80000001620362617201693DC80000016203626172016A3DF00000016203626172016B3E0C0000016203626172016C3E200000016203666F6F01693C800000016203666F6F016A3D000000016203666F6F016B3D400000016203666F6F016C3D800000"}}
+{"expression":"a*b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC00000000000003FC20000000000003FC40000000000003FC60000000000003FC80000000000003FCA0000000000003FCC0000000000003FC80000000000003FCB0000000000003FCE0000000000003FD08000000000003FD20000000000003FD38000000000003FD500000000000003666F6F3F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003F880000000000003F980000000000003FA20000000000003FA80000000000003FAE0000000000003FB20000000000003FB50000000000003F940000000000003FA40000000000003FAE0000000000003FB40000000000003FB90000000000003FBE0000000000003FC1800000000000"}}
+{"expression":"a*b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693F700000000000003FA40000000000003FBB0000000000003FCA0000000000003FD54000000000000161016A3F800000000000003FA80000000000003FBE0000000000003FCC0000000000003FD68000000000000161016B3F880000000000003FAC0000000000003FC08000000000003FCE0000000000003FD7C000000000000161016C3F900000000000003FB00000000000003FC20000000000003FD00000000000003FD9000000000000016201693F980000000000003FC18000000000003FD20000000000003FDD4000000000003FE54000000000000162016A3FA80000000000003FC50000000000003FD40000000000003FDF8000000000003FE68000000000000162016B3FB20000000000003FC88000000000003FD60000000000003FE0E000000000003FE7C000000000000162016C3FB80000000000003FCC0000000000003FD80000000000003FE20000000000003FE9000000000000016301693FA60000000000003FCE0000000000003FDD4000000000003FE6C000000000003FEFE000000000000163016A3FB60000000000003FD20000000000003FE04000000000003FE88000000000003FF0E000000000000163016B3FC08000000000003FD50000000000003FE1E000000000003FEA4000000000003FF1D000000000000163016C3FC60000000000003FD80000000000003FE38000000000003FEC0000000000003FF2C00000000000"}}
+{"expression":"a*b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693F700000000000003FA40000000000003FBB0000000000003FCA0000000000003FD54000000000000161016A3F800000000000003FA80000000000003FBE0000000000003FCC0000000000003FD68000000000000161016B3F880000000000003FAC0000000000003FC08000000000003FCE0000000000003FD7C000000000000161016C3F900000000000003FB00000000000003FC20000000000003FD00000000000003FD9000000000000016201693F980000000000003FC18000000000003FD20000000000003FDD4000000000003FE54000000000000162016A3FA80000000000003FC50000000000003FD40000000000003FDF8000000000003FE68000000000000162016B3FB20000000000003FC88000000000003FD60000000000003FE0E000000000003FE7C000000000000162016C3FB80000000000003FCC0000000000003FD80000000000003FE20000000000003FE9000000000000016301693FA60000000000003FCE0000000000003FDD4000000000003FE6C000000000003FEFE000000000000163016A3FB60000000000003FD20000000000003FE04000000000003FE88000000000003FF0E000000000000163016B3FC08000000000003FD50000000000003FE1E000000000003FEA4000000000003FF1D000000000000163016C3FC60000000000003FD80000000000003FE38000000000003FEC0000000000003FF2C00000000000"}}
+{"expression":"a*b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693F700000000000003FA40000000000003FBB0000000000003FCA0000000000003FD54000000000000161016A3F800000000000003FA80000000000003FBE0000000000003FCC0000000000003FD68000000000000161016B3F880000000000003FAC0000000000003FC08000000000003FCE0000000000003FD7C000000000000161016C3F900000000000003FB00000000000003FC20000000000003FD00000000000003FD9000000000000016201693F980000000000003FC18000000000003FD20000000000003FDD4000000000003FE54000000000000162016A3FA80000000000003FC50000000000003FD40000000000003FDF8000000000003FE68000000000000162016B3FB20000000000003FC88000000000003FD60000000000003FE0E000000000003FE7C000000000000162016C3FB80000000000003FCC0000000000003FD80000000000003FE20000000000003FE9000000000000016301693FA60000000000003FCE0000000000003FDD4000000000003FE6C000000000003FEFE000000000000163016A3FB60000000000003FD20000000000003FE04000000000003FE88000000000003FF0E000000000000163016B3FC08000000000003FD50000000000003FE1E000000000003FEA4000000000003FF1D000000000000163016C3FC60000000000003FD80000000000003FE38000000000003FEC0000000000003FF2C00000000000"}}
+{"expression":"a*b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693B8000003D2000003DD800003E5000003EAA00000161016A3C0000003D4000003DF000003E6000003EB400000161016B3C4000003D6000003E0400003E7000003EBE00000161016C3C8000003D8000003E1000003E8000003EC80000016201693CC000003E0C00003E9000003EEA00003F2A00000162016A3D4000003E2800003EA000003EFC00003F3400000162016B3D9000003E4400003EB000003F0700003F3E00000162016C3DC000003E6000003EC000003F1000003F480000016301693D3000003E7000003EEA00003F3600003F7F00000163016A3DB000003E9000003F0200003F4400003F8700000163016B3E0400003EA800003F0F00003F5200003F8E80000163016C3E3000003EC000003F1C00003F6000003F960000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003F70000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053F700000000000003F800000000000003F880000000000003F900000000000003F94000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053F700000000000003F800000000000003F880000000000003F900000000000003F94000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053B8000003C0000003C4000003C8000003CA00000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053B8000003C0000003C4000003C8000003CA00000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053F700000000000003F900000000000003FA20000000000003FB00000000000003FB9000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F800000000000003F900000000000003F980000000000003FA00000000000003FA40000000000003F880000000000003F980000000000003FA20000000000003FA80000000000003FAE0000000000003F900000000000003FA00000000000003FA80000000000003FB00000000000003FB40000000000003F940000000000003FA40000000000003FAE0000000000003FB40000000000003FB9000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003FA80000000000003FAC0000000000003FB00000000000003FB20000000000003FB40000000000003FC08000000000003FC20000000000003FC38000000000003FC50000000000003FC68000000000003FD00000000000003FD10000000000003FD20000000000003FD30000000000003FD40000000000003FDA4000000000003FDB8000000000003FDCC000000000003FDE0000000000003FDF400000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033F700000000000003F800000000000003F880000000000003F800000000000003F900000000000003F980000000000003F880000000000003F980000000000003FA20000000000003F900000000000003F940000000000003F980000000000003FA00000000000003FA40000000000003FA80000000000003FA80000000000003FAE0000000000003FB2000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC68000000000003FC80000000000003FC98000000000003FCB0000000000003FCC8000000000003FCE0000000000003FCF8000000000003FD60000000000003FD70000000000003FD80000000000003FD90000000000003FDA0000000000003FDB0000000000003FDC0000000000003FE22000000000003FE2C000000000003FE36000000000003FE40000000000003FE4A000000000003FE54000000000003FE5E000000000003F980000000000003FA80000000000003FB20000000000003FB80000000000003FBE0000000000003FC20000000000003FC50000000000003FCC0000000000003FCF8000000000003FD18000000000003FD34000000000003FD50000000000003FD6C000000000003FD88000000000003FDE0000000000003FE00000000000003FE10000000000003FE20000000000003FE30000000000003FE40000000000003FE50000000000003FE8C000000000003FE9E000000000003FEB0000000000003FEC2000000000003FED4000000000003FEE6000000000003FEF8000000000003FF22000000000003FF2C000000000003FF36000000000003FF40000000000003FF4A000000000003FF54000000000003FF5E000000000003FA60000000000003FB60000000000003FC08000000000003FC60000000000003FCB8000000000003FD08000000000003FD34000000000003FD80000000000003FDB0000000000003FDE0000000000003FE08000000000003FE20000000000003FE38000000000003FE50000000000003FE86000000000003FEA0000000000003FEBA000000000003FED4000000000003FEEE000000000003FF04000000000003FF11000000000003FF34000000000003FF42000000000003FF50000000000003FF5E000000000003FF6C000000000003FF7A000000000003FF88000000000003FFB3000000000003FFC2000000000003FFD1000000000003FFE0000000000003FFEF000000000003FFFE000000000004000680000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC68000000000003FC80000000000003FC98000000000003FCB0000000000003FCC8000000000003FCE0000000000003FCF8000000000003FD60000000000003FD70000000000003FD80000000000003FD90000000000003FDA0000000000003FDB0000000000003FDC0000000000003FE22000000000003FE2C000000000003FE36000000000003FE40000000000003FE4A000000000003FE54000000000003FE5E000000000003F980000000000003FA80000000000003FB20000000000003FB80000000000003FBE0000000000003FC20000000000003FC50000000000003FCC0000000000003FCF8000000000003FD18000000000003FD34000000000003FD50000000000003FD6C000000000003FD88000000000003FDE0000000000003FE00000000000003FE10000000000003FE20000000000003FE30000000000003FE40000000000003FE50000000000003FE8C000000000003FE9E000000000003FEB0000000000003FEC2000000000003FED4000000000003FEE6000000000003FEF8000000000003FF22000000000003FF2C000000000003FF36000000000003FF40000000000003FF4A000000000003FF54000000000003FF5E000000000003FA60000000000003FB60000000000003FC08000000000003FC60000000000003FCB8000000000003FD08000000000003FD34000000000003FD80000000000003FDB0000000000003FDE0000000000003FE08000000000003FE20000000000003FE38000000000003FE50000000000003FE86000000000003FEA0000000000003FEBA000000000003FED4000000000003FEEE000000000003FF04000000000003FF11000000000003FF34000000000003FF42000000000003FF50000000000003FF5E000000000003FF6C000000000003FF7A000000000003FF88000000000003FFB3000000000003FFC2000000000003FFD1000000000003FFE0000000000003FFEF000000000003FFFE000000000004000680000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC68000000000003FC80000000000003FC98000000000003FCB0000000000003FCC8000000000003FCE0000000000003FCF8000000000003FD60000000000003FD70000000000003FD80000000000003FD90000000000003FDA0000000000003FDB0000000000003FDC0000000000003FE22000000000003FE2C000000000003FE36000000000003FE40000000000003FE4A000000000003FE54000000000003FE5E000000000003F980000000000003FA80000000000003FB20000000000003FB80000000000003FBE0000000000003FC20000000000003FC50000000000003FCC0000000000003FCF8000000000003FD18000000000003FD34000000000003FD50000000000003FD6C000000000003FD88000000000003FDE0000000000003FE00000000000003FE10000000000003FE20000000000003FE30000000000003FE40000000000003FE50000000000003FE8C000000000003FE9E000000000003FEB0000000000003FEC2000000000003FED4000000000003FEE6000000000003FEF8000000000003FF22000000000003FF2C000000000003FF36000000000003FF40000000000003FF4A000000000003FF54000000000003FF5E000000000003FA60000000000003FB60000000000003FC08000000000003FC60000000000003FCB8000000000003FD08000000000003FD34000000000003FD80000000000003FDB0000000000003FDE0000000000003FE08000000000003FE20000000000003FE38000000000003FE50000000000003FE86000000000003FEA0000000000003FEBA000000000003FED4000000000003FEEE000000000003FF04000000000003FF11000000000003FF34000000000003FF42000000000003FF50000000000003FF5E000000000003FF6C000000000003FF7A000000000003FF88000000000003FFB3000000000003FFC2000000000003FFD1000000000003FFE0000000000003FFEF000000000003FFFE000000000004000680000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073B8000003C0000003C4000003C8000003CA000003CC000003CE000003D8000003D9000003DA000003DB000003DC000003DD000003DE000003E3400003E4000003E4C00003E5800003E6400003E7000003E7C00003EB000003EB800003EC000003EC800003ED000003ED800003EE000003F1100003F1600003F1B00003F2000003F2500003F2A00003F2F00003CC000003D4000003D9000003DC000003DF000003E1000003E2800003E6000003E7C00003E8C00003E9A00003EA800003EB600003EC400003EF000003F0000003F0800003F1000003F1800003F2000003F2800003F4600003F4F00003F5800003F6100003F6A00003F7300003F7C00003F9100003F9600003F9B00003FA000003FA500003FAA00003FAF00003D3000003DB000003E0400003E3000003E5C00003E8400003E9A00003EC000003ED800003EF000003F0400003F1000003F1C00003F2800003F4300003F5000003F5D00003F6A00003F7700003F8200003F8880003F9A00003FA100003FA800003FAF00003FB600003FBD00003FC400003FD980003FE100003FE880003FF000003FF780003FFF000040034000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613F7000000000000001623F9000000000000001633FA2000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613F7000000000000001623F90000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723F8000000000000001610362617A3F88000000000000016103666F6F3F700000000000000162036261723F9000000000000001620362617A3F98000000000000016203666F6F3F800000000000000163036261723F9800000000000001630362617A3FA2000000000000016303666F6F3F88000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723F8000000000000001610362617A3F88000000000000016103666F6F3F700000000000000162036261723FA400000000000001620362617A3FA8000000000000016203666F6F3FA00000000000000163036261723FB800000000000001630362617A3FBB000000000000016303666F6F3FB5000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723F90000000000000016103666F6F3F700000000000000162036261723FB4000000000000016203666F6F3FA8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FA4000000000000016103626172016A3FA8000000000000016103626172016B3FAC000000000000016103626172016C3FB0000000000000016103666F6F01693F70000000000000016103666F6F016A3F80000000000000016103666F6F016B3F88000000000000016103666F6F016C3F9000000000000001620362617201693FB9000000000000016203626172016A3FBE000000000000016203626172016B3FC1800000000000016203626172016C3FC4000000000000016203666F6F01693F90000000000000016203666F6F016A3FA0000000000000016203666F6F016B3FA8000000000000016203666F6F016C3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FA4000000000000016103626172016A3FA8000000000000016103626172016B3FAC000000000000016103626172016C3FB0000000000000016103666F6F01693F70000000000000016103666F6F016A3F80000000000000016103666F6F016B3F88000000000000016103666F6F016C3F9000000000000001620362617201693FB9000000000000016203626172016A3FBE000000000000016203626172016B3FC1800000000000016203626172016C3FC4000000000000016203666F6F01693F90000000000000016203666F6F016A3FA0000000000000016203666F6F016B3FA8000000000000016203666F6F016C3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FA4000000000000016103626172016A3FA8000000000000016103626172016B3FAC000000000000016103626172016C3FB0000000000000016103666F6F01693F70000000000000016103666F6F016A3F80000000000000016103666F6F016B3F88000000000000016103666F6F016C3F9000000000000001620362617201693FB9000000000000016203626172016A3FBE000000000000016203626172016B3FC1800000000000016203626172016C3FC4000000000000016203666F6F01693F90000000000000016203666F6F016A3FA0000000000000016203666F6F016B3FA8000000000000016203666F6F016C3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693D200000016103626172016A3D400000016103626172016B3D600000016103626172016C3D800000016103666F6F01693B800000016103666F6F016A3C000000016103666F6F016B3C400000016103666F6F016C3C80000001620362617201693DC80000016203626172016A3DF00000016203626172016B3E0C0000016203626172016C3E200000016203666F6F01693C800000016203666F6F016A3D000000016203666F6F016B3D400000016203666F6F016C3D800000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FB00000000000003FB20000000000003FB40000000000003FB60000000000003FB80000000000003FBA0000000000003FBC0000000000003FC00000000000003FC20000000000003FC40000000000003FC60000000000003FC80000000000003FCA0000000000003FCC0000000000003FC80000000000003FCB0000000000003FCE0000000000003FD08000000000003FD20000000000003FD38000000000003FD500000000000003666F6F3F700000000000003F800000000000003F880000000000003F900000000000003F940000000000003F980000000000003F9C0000000000003F880000000000003F980000000000003FA20000000000003FA80000000000003FAE0000000000003FB20000000000003FB50000000000003F940000000000003FA40000000000003FAE0000000000003FB40000000000003FB90000000000003FBE0000000000003FC1800000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693F700000000000003FA40000000000003FBB0000000000003FCA0000000000003FD54000000000000161016A3F800000000000003FA80000000000003FBE0000000000003FCC0000000000003FD68000000000000161016B3F880000000000003FAC0000000000003FC08000000000003FCE0000000000003FD7C000000000000161016C3F900000000000003FB00000000000003FC20000000000003FD00000000000003FD9000000000000016201693F980000000000003FC18000000000003FD20000000000003FDD4000000000003FE54000000000000162016A3FA80000000000003FC50000000000003FD40000000000003FDF8000000000003FE68000000000000162016B3FB20000000000003FC88000000000003FD60000000000003FE0E000000000003FE7C000000000000162016C3FB80000000000003FCC0000000000003FD80000000000003FE20000000000003FE9000000000000016301693FA60000000000003FCE0000000000003FDD4000000000003FE6C000000000003FEFE000000000000163016A3FB60000000000003FD20000000000003FE04000000000003FE88000000000003FF0E000000000000163016B3FC08000000000003FD50000000000003FE1E000000000003FEA4000000000003FF1D000000000000163016C3FC60000000000003FD80000000000003FE38000000000003FEC0000000000003FF2C00000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693F700000000000003FA40000000000003FBB0000000000003FCA0000000000003FD54000000000000161016A3F800000000000003FA80000000000003FBE0000000000003FCC0000000000003FD68000000000000161016B3F880000000000003FAC0000000000003FC08000000000003FCE0000000000003FD7C000000000000161016C3F900000000000003FB00000000000003FC20000000000003FD00000000000003FD9000000000000016201693F980000000000003FC18000000000003FD20000000000003FDD4000000000003FE54000000000000162016A3FA80000000000003FC50000000000003FD40000000000003FDF8000000000003FE68000000000000162016B3FB20000000000003FC88000000000003FD60000000000003FE0E000000000003FE7C000000000000162016C3FB80000000000003FCC0000000000003FD80000000000003FE20000000000003FE9000000000000016301693FA60000000000003FCE0000000000003FDD4000000000003FE6C000000000003FEFE000000000000163016A3FB60000000000003FD20000000000003FE04000000000003FE88000000000003FF0E000000000000163016B3FC08000000000003FD50000000000003FE1E000000000003FEA4000000000003FF1D000000000000163016C3FC60000000000003FD80000000000003FE38000000000003FEC0000000000003FF2C00000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693F700000000000003FA40000000000003FBB0000000000003FCA0000000000003FD54000000000000161016A3F800000000000003FA80000000000003FBE0000000000003FCC0000000000003FD68000000000000161016B3F880000000000003FAC0000000000003FC08000000000003FCE0000000000003FD7C000000000000161016C3F900000000000003FB00000000000003FC20000000000003FD00000000000003FD9000000000000016201693F980000000000003FC18000000000003FD20000000000003FDD4000000000003FE54000000000000162016A3FA80000000000003FC50000000000003FD40000000000003FDF8000000000003FE68000000000000162016B3FB20000000000003FC88000000000003FD60000000000003FE0E000000000003FE7C000000000000162016C3FB80000000000003FCC0000000000003FD80000000000003FE20000000000003FE9000000000000016301693FA60000000000003FCE0000000000003FDD4000000000003FE6C000000000003FEFE000000000000163016A3FB60000000000003FD20000000000003FE04000000000003FE88000000000003FF0E000000000000163016B3FC08000000000003FD50000000000003FE1E000000000003FEA4000000000003FF1D000000000000163016C3FC60000000000003FD80000000000003FE38000000000003FEC0000000000003FF2C00000000000"}}
+{"expression":"join(a,b,f(a,b)(a*b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693B8000003D2000003DD800003E5000003EAA00000161016A3C0000003D4000003DF000003E6000003EB400000161016B3C4000003D6000003E0400003E7000003EBE00000161016C3C8000003D8000003E1000003E8000003EC80000016201693CC000003E0C00003E9000003EEA00003F2A00000162016A3D4000003E2800003EA000003EFC00003F3400000162016B3D9000003E4400003EB000003F0700003F3E00000162016C3DC000003E6000003EC000003F1000003F480000016301693D3000003E7000003EEA00003F3600003F7F00000163016A3DB000003E9000003F0200003F4400003F8700000163016B3E0400003EA800003F0F00003F5200003F8E80000163016C3E3000003EC000003F1C00003F6000003F960000"}}
+{"expression":"a/b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A"}}
+{"expression":"a/b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F8000003F0000003EAAAAAB3E8000003E4CCCCD"}}
+{"expression":"a/b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000040000000404000004080000040A00000"}}
+{"expression":"a/b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A40000000000000003FF00000000000003FE55555555555553FE00000000000003FD999999999999A40080000000000003FF80000000000003FF00000000000003FE80000000000003FE3333333333333401000000000000040000000000000003FF55555555555553FF00000000000003FE999999999999A401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FD55555555555553FD24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FD1745D1745D1743FD00000000000003FCD89D89D89D89E3FCB6DB6DB6DB6DB3FC999999999999A3FD00000000000003FCE1E1E1E1E1E1E3FCC71C71C71C71C3FCAF286BCA1AF283FC999999999999A3FCE79E79E79E79E3FCD1745D1745D173FCBD37A6F4DE9BD3FCAAAAAAAAAAAAB3FC999999999999A"}}
+{"expression":"a/b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000003FE00000000000003FD555555555555540000000000000003FF00000000000003FE555555555555540080000000000003FF80000000000003FF00000000000003FD00000000000003FC999999999999A3FC55555555555553FE00000000000003FD999999999999A3FD55555555555553FE80000000000003FE33333333333333FE0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FC999999999999A3FC80000000000003FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21643FC55555555555553FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924923FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924018000000000000400800000000000040000000000000003FF80000000000003FF33333333333333FF00000000000003FEB6DB6DB6DB6DB3FEC0000000000003FE8E38E38E38E393FE66666666666663FE45D1745D1745D3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1E3FDC71C71C71C71C3FDAF286BCA1AF283FD999999999999A3FD86186186186183FDA2E8BA2E8BA2F3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555554006000000000000400199999999999A3FFD5555555555553FF92492492492493FF80000000000003FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89E3FEB6DB6DB6DB6DB3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878783FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745D3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EC3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF83FDE0000000000003FDD1745D1745D173FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
+{"expression":"a/b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FC999999999999A3FC80000000000003FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21643FC55555555555553FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924923FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924018000000000000400800000000000040000000000000003FF80000000000003FF33333333333333FF00000000000003FEB6DB6DB6DB6DB3FEC0000000000003FE8E38E38E38E393FE66666666666663FE45D1745D1745D3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1E3FDC71C71C71C71C3FDAF286BCA1AF283FD999999999999A3FD86186186186183FDA2E8BA2E8BA2F3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555554006000000000000400199999999999A3FFD5555555555553FF92492492492493FF80000000000003FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89E3FEB6DB6DB6DB6DB3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878783FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745D3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EC3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF83FDE0000000000003FDD1745D1745D173FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
+{"expression":"a/b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FC999999999999A3FC80000000000003FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21643FC55555555555553FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924923FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924018000000000000400800000000000040000000000000003FF80000000000003FF33333333333333FF00000000000003FEB6DB6DB6DB6DB3FEC0000000000003FE8E38E38E38E393FE66666666666663FE45D1745D1745D3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1E3FDC71C71C71C71C3FDAF286BCA1AF283FD999999999999A3FD86186186186183FDA2E8BA2E8BA2F3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555554006000000000000400199999999999A3FFD5555555555553FF92492492492493FF80000000000003FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89E3FEB6DB6DB6DB6DB3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878783FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745D3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EC3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF83FDE0000000000003FDD1745D1745D173FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
+{"expression":"a/b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000003F0000003EAAAAAB3E8000003E4CCCCD3E2AAAAB3E1249253E8000003E638E393E4CCCCD3E3A2E8C3E2AAAAB3E1D89D93E1249253E4CCCCD3E4000003E34B4B53E2AAAAB3E21AF283E19999A3E1249253E3A2E8C3E3216433E2AAAAB3E23D70A3E1D89D93E17B4263E1249253E308D3E3E2AAAAB3E25294A3E2000003E1B26CA3E1696973E12492540C0000040400000400000003FC000003F99999A3F8000003F5B6DB73F6000003F471C723F3333333F22E8BA3F1555553F09D89E3F0000003F0888893F0000003EF0F0F13EE38E393ED794363ECCCCCD3EC30C313ED1745D3EC8590B3EC000003EB851EC3EB13B143EAAAAAB3EA492493EB08D3E3EAAAAAB3EA5294A3EA000003E9B26CA3E9696973E9249254130000040B00000406AAAAB40300000400CCCCD3FEAAAAB3FC924923FC000003FAAAAAB3F99999A3F8BA2E93F8000003F6C4EC53F5B6DB73F5DDDDE3F5000003F43C3C43F38E38E3F2F286C3F2666663F1E79E83F22E8BA3F1BD37A3F1555553F0F5C293F09D89E3F04BDA13F0000003F0469EE3F0000003EF7BDEF3EF000003EE8BA2F3EE1E1E23EDB6DB7"}}
+{"expression":"a/b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555555016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FE5555555555555016203666F6F40000000000000000163036261723FF800000000000001630362617A3FF0000000000000016303666F6F4008000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555555016103666F6F3FF00000000000000162036261723FD999999999999A01620362617A3FD5555555555555016203666F6F3FE00000000000000163036261723FD800000000000001630362617A3FD5555555555555016303666F6F3FDB6DB6DB6DB6DB"}}
+{"expression":"a/b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF4000000000000016203666F6F3FF5555555555555"}}
+{"expression":"a/b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555555016103626172016B3FD2492492492492016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555555016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555555016203666F6F016C3FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555555016103626172016B3FD2492492492492016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555555016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555555016203666F6F016C3FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555555016103626172016B3FD2492492492492016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555555016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555555016203666F6F016C3FF0000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693ECCCCCD016103626172016A3EAAAAAB016103626172016B3E924925016103626172016C3E800000016103666F6F01693F800000016103666F6F016A3F000000016103666F6F016B3EAAAAAB016103666F6F016C3E80000001620362617201693F800000016203626172016A3F555555016203626172016B3F36DB6E016203626172016C3F200000016203666F6F016940800000016203666F6F016A40000000016203666F6F016B3FAAAAAB016203666F6F016C3F800000"}}
+{"expression":"a/b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FE00000000000003FDC71C71C71C71C3FD999999999999A3FD745D1745D17463FD55555555555553FD3B13B13B13B143FD24924924924923FE80000000000003FE55555555555553FE33333333333333FE1745D1745D1743FE00000000000003FDD89D89D89D89E3FDB6DB6DB6DB6DB03666F6F3FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC249249249249240080000000000003FF80000000000003FF00000000000003FE80000000000003FE33333333333333FE00000000000003FDB6DB6DB6DB6DB401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF00000000000003FEAAAAAAAAAAAAB3FE6DB6DB6DB6DB7"}}
+{"expression":"a/b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555553FD33333333333333FD24924924924923FD1C71C71C71C720161016B3FD55555555555553FD24924924924923FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000000162016940180000000000003FF66666666666663FEC71C71C71C71C3FE62762762762763FE2D2D2D2D2D2D30162016A40080000000000003FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF80000000000003FEC0000000000003FE55555555555553FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAB0163016B400D5555555555553FFB6DB6DB6DB6DB3FF2E8BA2E8BA2E93FEDDDDDDDDDDDDE3FE9435E50D794360163016C40060000000000003FF80000000000003FF15555555555553FEC0000000000003FE8000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555553FD33333333333333FD24924924924923FD1C71C71C71C720161016B3FD55555555555553FD24924924924923FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000000162016940180000000000003FF66666666666663FEC71C71C71C71C3FE62762762762763FE2D2D2D2D2D2D30162016A40080000000000003FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF80000000000003FEC0000000000003FE55555555555553FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAB0163016B400D5555555555553FFB6DB6DB6DB6DB3FF2E8BA2E8BA2E93FEDDDDDDDDDDDDE3FE9435E50D794360163016C40060000000000003FF80000000000003FF15555555555553FEC0000000000003FE8000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555553FD33333333333333FD24924924924923FD1C71C71C71C720161016B3FD55555555555553FD24924924924923FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000000162016940180000000000003FF66666666666663FEC71C71C71C71C3FE62762762762763FE2D2D2D2D2D2D30162016A40080000000000003FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF80000000000003FEC0000000000003FE55555555555553FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAB0163016B400D5555555555553FFB6DB6DB6DB6DB3FF2E8BA2E8BA2E93FEDDDDDDDDDDDDE3FE9435E50D794360163016C40060000000000003FF80000000000003FF15555555555553FEC0000000000003FE8000000000000"}}
+{"expression":"a/b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003ECCCCCD3EAAAAAB3E9D89D93E9696970161016A3F0000003EAAAAAB3E99999A3E9249253E8E38E40161016B3EAAAAAB3E9249253E8BA2E93E8888893E86BCA20161016C3E8000003E8000003E8000003E8000003E8000000162016940C000003FB333333F638E393F313B143F1696970162016A404000003F9555553F4CCCCD3F2492493F0E38E40162016B400000003F8000003F3A2E8C3F19999A3F06BCA20162016C3FC000003F6000003F2AAAAB3F1000003F00000001630169413000004019999A3FB8E38E3F89D89E3F61E1E20163016A40B00000400000003FA666663F8000003F5555550163016B406AAAAB3FDB6DB73F9745D13F6EEEEF3F4A1AF30163016C403000003FC000003F8AAAAB3F6000003F400000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F8000003F0000003EAAAAAB3E8000003E4CCCCD"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000040000000404000004080000040A00000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A40000000000000003FF00000000000003FE55555555555553FE00000000000003FD999999999999A40080000000000003FF80000000000003FF00000000000003FE80000000000003FE3333333333333401000000000000040000000000000003FF55555555555553FF00000000000003FE999999999999A401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FD55555555555553FD24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FD1745D1745D1743FD00000000000003FCD89D89D89D89E3FCB6DB6DB6DB6DB3FC999999999999A3FD00000000000003FCE1E1E1E1E1E1E3FCC71C71C71C71C3FCAF286BCA1AF283FC999999999999A3FCE79E79E79E79E3FCD1745D1745D173FCBD37A6F4DE9BD3FCAAAAAAAAAAAAB3FC999999999999A"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000003FE00000000000003FD555555555555540000000000000003FF00000000000003FE555555555555540080000000000003FF80000000000003FF00000000000003FD00000000000003FC999999999999A3FC55555555555553FE00000000000003FD999999999999A3FD55555555555553FE80000000000003FE33333333333333FE0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FC999999999999A3FC80000000000003FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21643FC55555555555553FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924923FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924018000000000000400800000000000040000000000000003FF80000000000003FF33333333333333FF00000000000003FEB6DB6DB6DB6DB3FEC0000000000003FE8E38E38E38E393FE66666666666663FE45D1745D1745D3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1E3FDC71C71C71C71C3FDAF286BCA1AF283FD999999999999A3FD86186186186183FDA2E8BA2E8BA2F3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555554006000000000000400199999999999A3FFD5555555555553FF92492492492493FF80000000000003FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89E3FEB6DB6DB6DB6DB3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878783FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745D3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EC3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF83FDE0000000000003FDD1745D1745D173FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FC999999999999A3FC80000000000003FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21643FC55555555555553FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924923FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924018000000000000400800000000000040000000000000003FF80000000000003FF33333333333333FF00000000000003FEB6DB6DB6DB6DB3FEC0000000000003FE8E38E38E38E393FE66666666666663FE45D1745D1745D3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1E3FDC71C71C71C71C3FDAF286BCA1AF283FD999999999999A3FD86186186186183FDA2E8BA2E8BA2F3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555554006000000000000400199999999999A3FFD5555555555553FF92492492492493FF80000000000003FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89E3FEB6DB6DB6DB6DB3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878783FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745D3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EC3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF83FDE0000000000003FDD1745D1745D173FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC24924924924923FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FC999999999999A3FC80000000000003FC69696969696973FC55555555555553FC435E50D79435E3FC33333333333333FC24924924924923FC745D1745D17463FC642C8590B21643FC55555555555553FC47AE147AE147B3FC3B13B13B13B143FC2F684BDA12F683FC24924924924923FC611A7B9611A7C3FC55555555555553FC4A5294A5294A53FC40000000000003FC364D9364D93653FC2D2D2D2D2D2D33FC24924924924924018000000000000400800000000000040000000000000003FF80000000000003FF33333333333333FF00000000000003FEB6DB6DB6DB6DB3FEC0000000000003FE8E38E38E38E393FE66666666666663FE45D1745D1745D3FE2AAAAAAAAAAAB3FE13B13B13B13B13FE00000000000003FE11111111111113FE00000000000003FDE1E1E1E1E1E1E3FDC71C71C71C71C3FDAF286BCA1AF283FD999999999999A3FD86186186186183FDA2E8BA2E8BA2F3FD90B21642C85913FD80000000000003FD70A3D70A3D70A3FD62762762762763FD55555555555553FD49249249249253FD611A7B9611A7C3FD55555555555553FD4A5294A5294A53FD40000000000003FD364D9364D93653FD2D2D2D2D2D2D33FD249249249249240260000000000004016000000000000400D5555555555554006000000000000400199999999999A3FFD5555555555553FF92492492492493FF80000000000003FF55555555555553FF33333333333333FF1745D1745D1743FF00000000000003FED89D89D89D89E3FEB6DB6DB6DB6DB3FEBBBBBBBBBBBBC3FEA0000000000003FE87878787878783FE71C71C71C71C73FE5E50D79435E513FE4CCCCCCCCCCCD3FE3CF3CF3CF3CF43FE45D1745D1745D3FE37A6F4DE9BD383FE2AAAAAAAAAAAB3FE1EB851EB851EC3FE13B13B13B13B13FE097B425ED097B3FE00000000000003FE08D3DCB08D3DD3FE00000000000003FDEF7BDEF7BDEF83FDE0000000000003FDD1745D1745D173FDC3C3C3C3C3C3C3FDB6DB6DB6DB6DB"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000003F0000003EAAAAAB3E8000003E4CCCCD3E2AAAAB3E1249253E8000003E638E393E4CCCCD3E3A2E8C3E2AAAAB3E1D89D93E1249253E4CCCCD3E4000003E34B4B53E2AAAAB3E21AF283E19999A3E1249253E3A2E8C3E3216433E2AAAAB3E23D70A3E1D89D93E17B4263E1249253E308D3E3E2AAAAB3E25294A3E2000003E1B26CA3E1696973E12492540C0000040400000400000003FC000003F99999A3F8000003F5B6DB73F6000003F471C723F3333333F22E8BA3F1555553F09D89E3F0000003F0888893F0000003EF0F0F13EE38E393ED794363ECCCCCD3EC30C313ED1745D3EC8590B3EC000003EB851EC3EB13B143EAAAAAB3EA492493EB08D3E3EAAAAAB3EA5294A3EA000003E9B26CA3E9696973E9249254130000040B00000406AAAAB40300000400CCCCD3FEAAAAB3FC924923FC000003FAAAAAB3F99999A3F8BA2E93F8000003F6C4EC53F5B6DB73F5DDDDE3F5000003F43C3C43F38E38E3F2F286C3F2666663F1E79E83F22E8BA3F1BD37A3F1555553F0F5C293F09D89E3F04BDA13F0000003F0469EE3F0000003EF7BDEF3EF000003EE8BA2F3EE1E1E23EDB6DB7"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555555016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FE5555555555555016203666F6F40000000000000000163036261723FF800000000000001630362617A3FF0000000000000016303666F6F4008000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FE000000000000001610362617A3FD5555555555555016103666F6F3FF00000000000000162036261723FD999999999999A01620362617A3FD5555555555555016203666F6F3FE00000000000000163036261723FD800000000000001630362617A3FD5555555555555016303666F6F3FDB6DB6DB6DB6DB"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF4000000000000016203666F6F3FF5555555555555"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555555016103626172016B3FD2492492492492016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555555016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555555016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555555016103626172016B3FD2492492492492016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555555016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555555016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FD999999999999A016103626172016A3FD5555555555555016103626172016B3FD2492492492492016103626172016C3FD0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FE0000000000000016103666F6F016B3FD5555555555555016103666F6F016C3FD000000000000001620362617201693FF0000000000000016203626172016A3FEAAAAAAAAAAAAB016203626172016B3FE6DB6DB6DB6DB7016203626172016C3FE4000000000000016203666F6F01694010000000000000016203666F6F016A4000000000000000016203666F6F016B3FF5555555555555016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693ECCCCCD016103626172016A3EAAAAAB016103626172016B3E924925016103626172016C3E800000016103666F6F01693F800000016103666F6F016A3F000000016103666F6F016B3EAAAAAB016103666F6F016C3E80000001620362617201693F800000016203626172016A3F555555016203626172016B3F36DB6E016203626172016C3F200000016203666F6F016940800000016203666F6F016A40000000016203666F6F016B3FAAAAAB016203666F6F016C3F800000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FD00000000000003FCC71C71C71C71C3FC999999999999A3FC745D1745D17463FC55555555555553FC3B13B13B13B143FC24924924924923FE00000000000003FDC71C71C71C71C3FD999999999999A3FD745D1745D17463FD55555555555553FD3B13B13B13B143FD24924924924923FE80000000000003FE55555555555553FE33333333333333FE1745D1745D1743FE00000000000003FDD89D89D89D89E3FDB6DB6DB6DB6DB03666F6F3FF00000000000003FE00000000000003FD55555555555553FD00000000000003FC999999999999A3FC55555555555553FC249249249249240080000000000003FF80000000000003FF00000000000003FE80000000000003FE33333333333333FE00000000000003FDB6DB6DB6DB6DB401400000000000040040000000000003FFAAAAAAAAAAAAB3FF40000000000003FF00000000000003FEAAAAAAAAAAAAB3FE6DB6DB6DB6DB7"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555553FD33333333333333FD24924924924923FD1C71C71C71C720161016B3FD55555555555553FD24924924924923FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000000162016940180000000000003FF66666666666663FEC71C71C71C71C3FE62762762762763FE2D2D2D2D2D2D30162016A40080000000000003FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF80000000000003FEC0000000000003FE55555555555553FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAB0163016B400D5555555555553FFB6DB6DB6DB6DB3FF2E8BA2E8BA2E93FEDDDDDDDDDDDDE3FE9435E50D794360163016C40060000000000003FF80000000000003FF15555555555553FEC0000000000003FE8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555553FD33333333333333FD24924924924923FD1C71C71C71C720161016B3FD55555555555553FD24924924924923FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000000162016940180000000000003FF66666666666663FEC71C71C71C71C3FE62762762762763FE2D2D2D2D2D2D30162016A40080000000000003FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF80000000000003FEC0000000000003FE55555555555553FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAB0163016B400D5555555555553FFB6DB6DB6DB6DB3FF2E8BA2E8BA2E93FEDDDDDDDDDDDDE3FE9435E50D794360163016C40060000000000003FF80000000000003FF15555555555553FEC0000000000003FE8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FD999999999999A3FD55555555555553FD3B13B13B13B143FD2D2D2D2D2D2D30161016A3FE00000000000003FD55555555555553FD33333333333333FD24924924924923FD1C71C71C71C720161016B3FD55555555555553FD24924924924923FD1745D1745D1743FD11111111111113FD0D79435E50D790161016C3FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000000162016940180000000000003FF66666666666663FEC71C71C71C71C3FE62762762762763FE2D2D2D2D2D2D30162016A40080000000000003FF2AAAAAAAAAAAB3FE999999999999A3FE49249249249253FE1C71C71C71C720162016B40000000000000003FF00000000000003FE745D1745D17463FE33333333333333FE0D79435E50D790162016C3FF80000000000003FEC0000000000003FE55555555555553FE20000000000003FE000000000000001630169402600000000000040033333333333333FF71C71C71C71C73FF13B13B13B13B13FEC3C3C3C3C3C3C0163016A401600000000000040000000000000003FF4CCCCCCCCCCCD3FF00000000000003FEAAAAAAAAAAAAB0163016B400D5555555555553FFB6DB6DB6DB6DB3FF2E8BA2E8BA2E93FEDDDDDDDDDDDDE3FE9435E50D794360163016C40060000000000003FF80000000000003FF15555555555553FEC0000000000003FE8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a/b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003ECCCCCD3EAAAAAB3E9D89D93E9696970161016A3F0000003EAAAAAB3E99999A3E9249253E8E38E40161016B3EAAAAAB3E9249253E8BA2E93E8888893E86BCA20161016C3E8000003E8000003E8000003E8000003E8000000162016940C000003FB333333F638E393F313B143F1696970162016A404000003F9555553F4CCCCD3F2492493F0E38E40162016B400000003F8000003F3A2E8C3F19999A3F06BCA20162016C3FC000003F6000003F2AAAAB3F1000003F00000001630169413000004019999A3FB8E38E3F89D89E3F61E1E20163016A40B00000400000003FA666663F8000003F5555550163016B406AAAAB3FDB6DB73F9745D13F6EEEEF3F4A1AF30163016C403000003FC000003F8AAAAB3F6000003F400000"}}
+{"expression":"a%b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003D8000003D8000003D8000003D800000"}}
+{"expression":"a%b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC00000000000003FC00000000000003FC000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC8000000000000000000000000000000000000000000003FB000000000000000000000000000003FD000000000000000000000000000003FB00000000000003FC00000000000003FB00000000000000000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC000000000000000000000000000003FB000000000000000000000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003E4000003E4000003E4000003E4000003E4000003E4000003E8000003E8000003E8000003E8000003E8000003E8000003E8000003EA000003EA000003EA000003EA000003EA000003EA000003EA000000000000000000000000000003E0000003D800000000000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F1000003F1000003F1000003F1000003F1000003F1000003F1000003F2000003F2000003F2000003F2000003F2000003F2000003F200000000000003D8000003E0000003E4000003D8000003EA000003E8000003E8000003E4000003E0000003D800000000000003F4000003F4000003F5000003F5000003F5000003F5000003F5000003F5000003F5000003F6000003F6000003F6000003F6000003F6000003F6000003F6000003F7000003F7000003F7000003F7000003F7000003F7000003F700000"}}
+{"expression":"a%b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FC0000000000000016203666F6F00000000000000000163036261723FB000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F00000000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB0000000000000016203666F6F3FB0000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F016900000000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D800000016203626172016900000000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B3D800000016203666F6F016C00000000"}}
+{"expression":"a%b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F00000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC80000000000003FC80000000000003FC800000000000000000000000000003FB00000000000003FC00000000000003FB000000000000000000000000000003FD40000000000003FD4000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"a%b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003E0000003E4000003E8000003EA000000161016A3D8000003E0000003E4000003E8000003EA000000161016B3D8000003E0000003E4000003E8000003EA000000161016C3D8000003E0000003E4000003E8000003EA0000001620169000000003E0000003F0000003F1000003F2000000162016A000000003D8000003F0000003F1000003F2000000162016B00000000000000003F0000003F1000003F2000000162016C3E0000003EE000003F0000003F1000003F20000001630169000000003E0000003E8000003D8000003F7000000163016A3D800000000000003E400000000000003F7000000163016B3E0000003EA000003E0000003F6000003F7000000163016C3E4000003E8000003D8000003F6000003F700000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003D8000003D8000003D8000003D800000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC00000000000003FC00000000000003FC000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC8000000000000000000000000000000000000000000003FB000000000000000000000000000003FD000000000000000000000000000003FB00000000000003FC00000000000003FB00000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC000000000000000000000000000003FB000000000000000000000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003E4000003E4000003E4000003E4000003E4000003E4000003E8000003E8000003E8000003E8000003E8000003E8000003E8000003EA000003EA000003EA000003EA000003EA000003EA000003EA000000000000000000000000000003E0000003D800000000000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F1000003F1000003F1000003F1000003F1000003F1000003F1000003F2000003F2000003F2000003F2000003F2000003F2000003F200000000000003D8000003E0000003E4000003D8000003EA000003E8000003E8000003E4000003E0000003D800000000000003F4000003F4000003F5000003F5000003F5000003F5000003F5000003F5000003F5000003F6000003F6000003F6000003F6000003F6000003F6000003F6000003F7000003F7000003F7000003F7000003F7000003F7000003F700000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FC0000000000000016203666F6F00000000000000000163036261723FB000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F00000000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB0000000000000016203666F6F3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F016900000000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D800000016203626172016900000000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B3D800000016203666F6F016C00000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F00000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC80000000000003FC80000000000003FC800000000000000000000000000003FB00000000000003FC00000000000003FB000000000000000000000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(a%b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003E0000003E4000003E8000003EA000000161016A3D8000003E0000003E4000003E8000003EA000000161016B3D8000003E0000003E4000003E8000003EA000000161016C3D8000003E0000003E4000003E8000003EA0000001620169000000003E0000003F0000003F1000003F2000000162016A000000003D8000003F0000003F1000003F2000000162016B00000000000000003F0000003F1000003F2000000162016C3E0000003EE000003F0000003F1000003F20000001630169000000003E0000003E8000003D8000003F7000000163016A3D800000000000003E400000000000003F7000000163016B3E0000003EA000003E0000003F6000003F7000000163016C3E4000003E8000003D8000003F6000003F700000"}}
+{"expression":"a^b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FEAE89F995AD3AD"}}
+{"expression":"a^b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD"}}
+{"expression":"a^b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FEC199BDD85529C3FECD23C550063613FED5818DCFBA4873FEDC1992D6172F6"}}
+{"expression":"a^b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F5744FD3F3504F33F1837F03F0000003ED744FD"}}
+{"expression":"a^b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F5744FD3F60CCDF3F6691E33F6AC0C73F6E0CC9"}}
+{"expression":"a^b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE8ACE5422AA0DB3FE7612FB975A7143FE6A09E667F3BCD3FE63F7BB335DC60"}}
+{"expression":"a^b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FE306FE0A31B7153FE0B5586CF9890F3FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FED5818DCFBA4873FEAE89F995AD3AD3FE8ACE5422AA0DB3FE6A09E667F3BCD3FE4BFDAD5362A273FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC60"}}
+{"expression":"a^b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FDD5818DCFBA4873FD9C49182A3F0903FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FD43F52D03122773FD23C6E3224F9D03FD06CAF60C8C89A3FCD960356091EFE3FCAA5A32909AD093FD00000000000003FCD5818DCFBA4873FCAE89F995AD3AD3FC8ACE5422AA0DB3FC6A09E667F3BCD3FCBCF5AA00353783FC9DC29DA71ACA83FC80BF993B8F9A33FC65C55827DF1D23FC4CAF56B2BF322"}}
+{"expression":"a^b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FE306FE0A31B7153FE0B5586CF9890F3FDD5818DCFBA4873FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E"}}
+{"expression":"a^b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"a^b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"a^b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"a^b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F5744FD3F3504F33F1837F03F0000003ED744FD3EB504F33E9837F03EB504F33E9EF5323E8B95C23E75257D3E5744FD3E3D08A43E25FED73E552D193E4000003E2CED6A3E1BBFD93E0C471E3DFCAFAB3DE395D33E1837F03E0B95C23E0000003DEAC0C73DD744FD3DC5672A3DB504F33DF8BD703DE74C8B3DD714B73DC800003DB9F9FD3DACEFB43DA0CF7C3F70C72F3F6276143F54FEE63F4854B13F3C6B453F31372B3F26AD9B3F2953FD3F20CD303F18B44D3F1103CB3F09B6693F02C72A3EF8629E3F05AAC33F0000003EF5257D3EEAC0C73EE0CCDF3ED744FD3ECE248C3EE81B6B3EDFE8A53ED800003ED05EDF3EC902BA3EC1E9223EBB0FBE3EDA6CD23ED41A243ECDF6523EC800003EC235DD3EBC96A23EB721113F7A13163F7449493F6EA1C83F691BC83F63B6823F5E71363F594B243F5DB3D73F59C07C3F55DF263F520F833F4E51433F4AA4163F4707AF3F52B7873F5000003F4D51713F4AABBC3F480EC43F457A6C3F42EE983F550F403F5349F13F5188663F4FCA993F4E107F3F4C5A123F4AA74A3F63BD403F62D28F3F61E8CF3F6100003F6018213F5F31313F5E4B2F"}}
+{"expression":"a^b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FEAE89F995AD3AD01623FE8ACE5422AA0DB01633FE7612FB975A714"}}
+{"expression":"a^b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FEAE89F995AD3AD01623FE8ACE5422AA0DB"}}
+{"expression":"a^b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE8ACE5422AA0DB01620362617A3FE5AB07DD485429016203666F6F3FEC199BDD85529C0163036261723FE9F54ECD0E12A501630362617A3FE7612FB975A714016303666F6F3FECD23C55006361"}}
+{"expression":"a^b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE0B5586CF9890F01620362617A3FDD5818DCFBA487016203666F6F3FE306FE0A31B7150163036261723FDBB67AE8584CAA01630362617A3FD8F5BD51A586BC016303666F6F3FDEC4F2C4C2AFA9"}}
+{"expression":"a^b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FE8ACE5422AA0DB016103666F6F3FEAE89F995AD3AD0162036261723FE7ECF2D7F7566E016203666F6F3FE8ACE5422AA0DB"}}
+{"expression":"a^b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"a^b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"a^b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"a^b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F05AAC3016103626172016A3EEAC0C7016103626172016B3ECE248C016103626172016C3EB504F3016103666F6F01693F5744FD016103666F6F016A3F3504F3016103666F6F016B3F1837F0016103666F6F016C3F00000001620362617201693F31FBDE016203626172016A3F25810C016203626172016B3F19E63D016203626172016C3F0F1BBD016203666F6F01693F6AC0C7016203666F6F016A3F5744FD016203666F6F016B3F45672A016203666F6F016C3F3504F3"}}
+{"expression":"a^b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FE00000000000003FDD5818DCFBA4873FDAE89F995AD3AD3FD8ACE5422AA0DB3FD6A09E667F3BCD3FD4BFDAD5362A273FD306FE0A31B7153FE3988E1409212E3FE26E44673282E13FE155B73ED4E4963FE04DD89F79CA703FDEAB5536A3A3563FDCD87CBBAFA5093FDB21668BF75D6A03666F6F3FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E3FDEC4F2C4C2AFA93FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC603FE4B0217B8E23BA3FE33CC7A960C7B6"}}
+{"expression":"a^b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"a^b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"a^b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"a^b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F5744FD3F05AAC33EC7ADEB3EA5FED73E94C7FE0161016A3F3504F33EEAC0C73EB3D80B3E9837F03E8A595C0161016B3F1837F03ECE248C3EA1FA973E8B95C23E80A5FD0161016C3F0000003EB504F33E91E3723E8000003E6F417C016201693F70C72F3F45B7BD3F2D583F3F20675C3F1B5E4B0162016A3F6276143F3BC2F73F25FED73F1ABCF23F16DEE80162016B3F54FEE63F324E893F1EF5323F1545C33F1280DA0162016C3F4854B13F2953FD3F1837F03F1000003F0E432A016301693F7A13163F69FD583F63C7AF3F65ADDB3F6F08AC0163016A3F7449493F65D1F03F60D7D63F63C5303F6E12570163016B3F6EA1C83F61B98C3F5DF1AE3F61E0943F6D1CFF0163016C3F691BC83F5DB3D73F5B15183F6000003F6C28A5"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FEAE89F995AD3AD"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FEC199BDD85529C3FECD23C550063613FED5818DCFBA4873FEDC1992D6172F6"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F5744FD3F3504F33F1837F03F0000003ED744FD"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F5744FD3F60CCDF3F6691E33F6AC0C73F6E0CC9"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE8ACE5422AA0DB3FE7612FB975A7143FE6A09E667F3BCD3FE63F7BB335DC60"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FE306FE0A31B7153FE0B5586CF9890F3FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FED5818DCFBA4873FEAE89F995AD3AD3FE8ACE5422AA0DB3FE6A09E667F3BCD3FE4BFDAD5362A273FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC60"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FDD5818DCFBA4873FD9C49182A3F0903FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FD43F52D03122773FD23C6E3224F9D03FD06CAF60C8C89A3FCD960356091EFE3FCAA5A32909AD093FD00000000000003FCD5818DCFBA4873FCAE89F995AD3AD3FC8ACE5422AA0DB3FC6A09E667F3BCD3FCBCF5AA00353783FC9DC29DA71ACA83FC80BF993B8F9A33FC65C55827DF1D23FC4CAF56B2BF322"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FE306FE0A31B7153FE0B5586CF9890F3FDD5818DCFBA4873FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F5744FD3F3504F33F1837F03F0000003ED744FD3EB504F33E9837F03EB504F33E9EF5323E8B95C23E75257D3E5744FD3E3D08A43E25FED73E552D193E4000003E2CED6A3E1BBFD93E0C471E3DFCAFAB3DE395D33E1837F03E0B95C23E0000003DEAC0C73DD744FD3DC5672A3DB504F33DF8BD703DE74C8B3DD714B73DC800003DB9F9FD3DACEFB43DA0CF7C3F70C72F3F6276143F54FEE63F4854B13F3C6B453F31372B3F26AD9B3F2953FD3F20CD303F18B44D3F1103CB3F09B6693F02C72A3EF8629E3F05AAC33F0000003EF5257D3EEAC0C73EE0CCDF3ED744FD3ECE248C3EE81B6B3EDFE8A53ED800003ED05EDF3EC902BA3EC1E9223EBB0FBE3EDA6CD23ED41A243ECDF6523EC800003EC235DD3EBC96A23EB721113F7A13163F7449493F6EA1C83F691BC83F63B6823F5E71363F594B243F5DB3D73F59C07C3F55DF263F520F833F4E51433F4AA4163F4707AF3F52B7873F5000003F4D51713F4AABBC3F480EC43F457A6C3F42EE983F550F403F5349F13F5188663F4FCA993F4E107F3F4C5A123F4AA74A3F63BD403F62D28F3F61E8CF3F6100003F6018213F5F31313F5E4B2F"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FEAE89F995AD3AD01623FE8ACE5422AA0DB01633FE7612FB975A714"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FEAE89F995AD3AD01623FE8ACE5422AA0DB"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE8ACE5422AA0DB01620362617A3FE5AB07DD485429016203666F6F3FEC199BDD85529C0163036261723FE9F54ECD0E12A501630362617A3FE7612FB975A714016303666F6F3FECD23C55006361"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE0B5586CF9890F01620362617A3FDD5818DCFBA487016203666F6F3FE306FE0A31B7150163036261723FDBB67AE8584CAA01630362617A3FD8F5BD51A586BC016303666F6F3FDEC4F2C4C2AFA9"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FE8ACE5422AA0DB016103666F6F3FEAE89F995AD3AD0162036261723FE7ECF2D7F7566E016203666F6F3FE8ACE5422AA0DB"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F05AAC3016103626172016A3EEAC0C7016103626172016B3ECE248C016103626172016C3EB504F3016103666F6F01693F5744FD016103666F6F016A3F3504F3016103666F6F016B3F1837F0016103666F6F016C3F00000001620362617201693F31FBDE016203626172016A3F25810C016203626172016B3F19E63D016203626172016C3F0F1BBD016203666F6F01693F6AC0C7016203666F6F016A3F5744FD016203666F6F016B3F45672A016203666F6F016C3F3504F3"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FE00000000000003FDD5818DCFBA4873FDAE89F995AD3AD3FD8ACE5422AA0DB3FD6A09E667F3BCD3FD4BFDAD5362A273FD306FE0A31B7153FE3988E1409212E3FE26E44673282E13FE155B73ED4E4963FE04DD89F79CA703FDEAB5536A3A3563FDCD87CBBAFA5093FDB21668BF75D6A03666F6F3FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E3FDEC4F2C4C2AFA93FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC603FE4B0217B8E23BA3FE33CC7A960C7B6"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"join(a,b,f(a,b)(a^b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F5744FD3F05AAC33EC7ADEB3EA5FED73E94C7FE0161016A3F3504F33EEAC0C73EB3D80B3E9837F03E8A595C0161016B3F1837F03ECE248C3EA1FA973E8B95C23E80A5FD0161016C3F0000003EB504F33E91E3723E8000003E6F417C016201693F70C72F3F45B7BD3F2D583F3F20675C3F1B5E4B0162016A3F6276143F3BC2F73F25FED73F1ABCF23F16DEE80162016B3F54FEE63F324E893F1EF5323F1545C33F1280DA0162016C3F4854B13F2953FD3F1837F03F1000003F0E432A016301693F7A13163F69FD583F63C7AF3F65ADDB3F6F08AC0163016A3F7449493F65D1F03F60D7D63F63C5303F6E12570163016B3F6EA1C83F61B98C3F5DF1AE3F61E0943F6D1CFF0163016C3F691BC83F5DB3D73F5B15183F6000003F6C28A5"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FEAE89F995AD3AD"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FEC199BDD85529C3FECD23C550063613FED5818DCFBA4873FEDC1992D6172F6"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F5744FD3F3504F33F1837F03F0000003ED744FD"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F5744FD3F60CCDF3F6691E33F6AC0C73F6E0CC9"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE8ACE5422AA0DB3FE7612FB975A7143FE6A09E667F3BCD3FE63F7BB335DC60"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FE306FE0A31B7153FE0B5586CF9890F3FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FED5818DCFBA4873FEAE89F995AD3AD3FE8ACE5422AA0DB3FE6A09E667F3BCD3FE4BFDAD5362A273FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC60"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FDD5818DCFBA4873FD9C49182A3F0903FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FD43F52D03122773FD23C6E3224F9D03FD06CAF60C8C89A3FCD960356091EFE3FCAA5A32909AD093FD00000000000003FCD5818DCFBA4873FCAE89F995AD3AD3FC8ACE5422AA0DB3FC6A09E667F3BCD3FCBCF5AA00353783FC9DC29DA71ACA83FC80BF993B8F9A33FC65C55827DF1D23FC4CAF56B2BF322"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FE306FE0A31B7153FE0B5586CF9890F3FDD5818DCFBA4873FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F5744FD3F3504F33F1837F03F0000003ED744FD3EB504F33E9837F03EB504F33E9EF5323E8B95C23E75257D3E5744FD3E3D08A43E25FED73E552D193E4000003E2CED6A3E1BBFD93E0C471E3DFCAFAB3DE395D33E1837F03E0B95C23E0000003DEAC0C73DD744FD3DC5672A3DB504F33DF8BD703DE74C8B3DD714B73DC800003DB9F9FD3DACEFB43DA0CF7C3F70C72F3F6276143F54FEE63F4854B13F3C6B453F31372B3F26AD9B3F2953FD3F20CD303F18B44D3F1103CB3F09B6693F02C72A3EF8629E3F05AAC33F0000003EF5257D3EEAC0C73EE0CCDF3ED744FD3ECE248C3EE81B6B3EDFE8A53ED800003ED05EDF3EC902BA3EC1E9223EBB0FBE3EDA6CD23ED41A243ECDF6523EC800003EC235DD3EBC96A23EB721113F7A13163F7449493F6EA1C83F691BC83F63B6823F5E71363F594B243F5DB3D73F59C07C3F55DF263F520F833F4E51433F4AA4163F4707AF3F52B7873F5000003F4D51713F4AABBC3F480EC43F457A6C3F42EE983F550F403F5349F13F5188663F4FCA993F4E107F3F4C5A123F4AA74A3F63BD403F62D28F3F61E8CF3F6100003F6018213F5F31313F5E4B2F"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FEAE89F995AD3AD01623FE8ACE5422AA0DB01633FE7612FB975A714"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FEAE89F995AD3AD01623FE8ACE5422AA0DB"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE8ACE5422AA0DB01620362617A3FE5AB07DD485429016203666F6F3FEC199BDD85529C0163036261723FE9F54ECD0E12A501630362617A3FE7612FB975A714016303666F6F3FECD23C55006361"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE0B5586CF9890F01620362617A3FDD5818DCFBA487016203666F6F3FE306FE0A31B7150163036261723FDBB67AE8584CAA01630362617A3FD8F5BD51A586BC016303666F6F3FDEC4F2C4C2AFA9"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FE8ACE5422AA0DB016103666F6F3FEAE89F995AD3AD0162036261723FE7ECF2D7F7566E016203666F6F3FE8ACE5422AA0DB"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F05AAC3016103626172016A3EEAC0C7016103626172016B3ECE248C016103626172016C3EB504F3016103666F6F01693F5744FD016103666F6F016A3F3504F3016103666F6F016B3F1837F0016103666F6F016C3F00000001620362617201693F31FBDE016203626172016A3F25810C016203626172016B3F19E63D016203626172016C3F0F1BBD016203666F6F01693F6AC0C7016203666F6F016A3F5744FD016203666F6F016B3F45672A016203666F6F016C3F3504F3"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FE00000000000003FDD5818DCFBA4873FDAE89F995AD3AD3FD8ACE5422AA0DB3FD6A09E667F3BCD3FD4BFDAD5362A273FD306FE0A31B7153FE3988E1409212E3FE26E44673282E13FE155B73ED4E4963FE04DD89F79CA703FDEAB5536A3A3563FDCD87CBBAFA5093FDB21668BF75D6A03666F6F3FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E3FDEC4F2C4C2AFA93FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC603FE4B0217B8E23BA3FE33CC7A960C7B6"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"pow(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F5744FD3F05AAC33EC7ADEB3EA5FED73E94C7FE0161016A3F3504F33EEAC0C73EB3D80B3E9837F03E8A595C0161016B3F1837F03ECE248C3EA1FA973E8B95C23E80A5FD0161016C3F0000003EB504F33E91E3723E8000003E6F417C016201693F70C72F3F45B7BD3F2D583F3F20675C3F1B5E4B0162016A3F6276143F3BC2F73F25FED73F1ABCF23F16DEE80162016B3F54FEE63F324E893F1EF5323F1545C33F1280DA0162016C3F4854B13F2953FD3F1837F03F1000003F0E432A016301693F7A13163F69FD583F63C7AF3F65ADDB3F6F08AC0163016A3F7449493F65D1F03F60D7D63F63C5303F6E12570163016B3F6EA1C83F61B98C3F5DF1AE3F61E0943F6D1CFF0163016C3F691BC83F5DB3D73F5B15183F6000003F6C28A5"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FEAE89F995AD3AD"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FEC199BDD85529C3FECD23C550063613FED5818DCFBA4873FEDC1992D6172F6"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F5744FD3F3504F33F1837F03F0000003ED744FD"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F5744FD3F60CCDF3F6691E33F6AC0C73F6E0CC9"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FEAE89F995AD3AD3FE8ACE5422AA0DB3FE7612FB975A7143FE6A09E667F3BCD3FE63F7BB335DC60"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FE306FE0A31B7153FE0B5586CF9890F3FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FED5818DCFBA4873FEAE89F995AD3AD3FE8ACE5422AA0DB3FE6A09E667F3BCD3FE4BFDAD5362A273FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC60"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FDD5818DCFBA4873FD9C49182A3F0903FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FD43F52D03122773FD23C6E3224F9D03FD06CAF60C8C89A3FCD960356091EFE3FCAA5A32909AD093FD00000000000003FCD5818DCFBA4873FCAE89F995AD3AD3FC8ACE5422AA0DB3FC6A09E667F3BCD3FCBCF5AA00353783FC9DC29DA71ACA83FC80BF993B8F9A33FC65C55827DF1D23FC4CAF56B2BF322"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FEC199BDD85529C3FE8ACE5422AA0DB3FE5AB07DD4854293FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FE306FE0A31B7153FE0B5586CF9890F3FDD5818DCFBA4873FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FCAA5A32909AD093FC80000000000003FC59DAD3FC04A893FC377FB19CA8DFC3FC188E3CB183D4F3FBF95F56FB1EA1A3FBC72BA697B93DD3FC306FE0A31B7153FC172B83C7D517B3FC00000000000003FBD5818DCFBA4873FBAE89F995AD3AD3FB8ACE5422AA0DB3FB6A09E667F3BCD3FBF17AE04649A0B3FBCE9915AD5AB8E3FBAE296D4BCF6C03FB90000000000003FB73F3FAB7421D03FB59DF672C37B9A3FB419EF884F9ECA3FEE18E5E81A61343FEC4EC2728166603FEA9FDCBE210C2E3FE90A9620EE37F63FE78D6898DBC7E33FE626E55489D6E33FE4D5B35246075A3FE52A7FA9D2F8EA3FE419A5F83CBA873FE3168994D2D71C3FE22079621CAADF3FE136CD2DD107AA3FE058E53DDDBCA13FDF0C53C67265DD3FE0B5586CF9890F3FE00000000000003FDEA4AFA2A490DA3FDD5818DCFBA4873FDC199BDD85529C3FDAE89F995AD3AD3FD9C49182A3F0903FDD036D680A12183FDBFD1498E9176B3FDB0000000000003FDA0BDBD320664C3FD920573DC23D533FD83D244640F0CB3FD761F7B40A80B03FDB4D9A35BB6F283FDA834480E197343FD9BECA3C41A9BA3FD90000000000003FD846BBA5EB5FC63FD792D4402D38463FD6E422103EE0843FEF4262C6AAAADA3FEE8929198F10AF3FEDD438F728B7833FED2378F80BE1D93FEC76D04B5477763FEBCE26B32A10A13FEB29648158A6A73FEBB67AE8584CAA3FEB380F7403CA5C3FEABBE4B2A13DED3FEA41F05D6A93C03FE9CA285C7ABAC03FE95482C5F7CA693FE8E0F5DD40F85F3FEA56F0DE44EF8A3FEA0000000000003FE9AA2E1A70518E3FE955777A5C19BD3FE901D878C020133FE8AF4D7AA76E023FE85DD2F10383E13FEAA1E7F72554723FEA693E1BC5E3383FEA310CCF3B37603FE9F953110531EA3FE9C20FE2C56F973FE98B42483ABFCD3FE954E9473CA51F3FEC77A803167AE13FEC5A51D0E999BB3FEC3D19DA44BAFB3FEC2000000000003FEC03042313A5923FEBE6262497E2D13FEBC965E5C4C83F"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F5744FD3F3504F33F1837F03F0000003ED744FD3EB504F33E9837F03EB504F33E9EF5323E8B95C23E75257D3E5744FD3E3D08A43E25FED73E552D193E4000003E2CED6A3E1BBFD93E0C471E3DFCAFAB3DE395D33E1837F03E0B95C23E0000003DEAC0C73DD744FD3DC5672A3DB504F33DF8BD703DE74C8B3DD714B73DC800003DB9F9FD3DACEFB43DA0CF7C3F70C72F3F6276143F54FEE63F4854B13F3C6B453F31372B3F26AD9B3F2953FD3F20CD303F18B44D3F1103CB3F09B6693F02C72A3EF8629E3F05AAC33F0000003EF5257D3EEAC0C73EE0CCDF3ED744FD3ECE248C3EE81B6B3EDFE8A53ED800003ED05EDF3EC902BA3EC1E9223EBB0FBE3EDA6CD23ED41A243ECDF6523EC800003EC235DD3EBC96A23EB721113F7A13163F7449493F6EA1C83F691BC83F63B6823F5E71363F594B243F5DB3D73F59C07C3F55DF263F520F833F4E51433F4AA4163F4707AF3F52B7873F5000003F4D51713F4AABBC3F480EC43F457A6C3F42EE983F550F403F5349F13F5188663F4FCA993F4E107F3F4C5A123F4AA74A3F63BD403F62D28F3F61E8CF3F6100003F6018213F5F31313F5E4B2F"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FEAE89F995AD3AD01623FE8ACE5422AA0DB01633FE7612FB975A714"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FEAE89F995AD3AD01623FE8ACE5422AA0DB"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE8ACE5422AA0DB01620362617A3FE5AB07DD485429016203666F6F3FEC199BDD85529C0163036261723FE9F54ECD0E12A501630362617A3FE7612FB975A714016303666F6F3FECD23C55006361"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FE6A09E667F3BCD01610362617A3FE306FE0A31B715016103666F6F3FEAE89F995AD3AD0162036261723FE0B5586CF9890F01620362617A3FDD5818DCFBA487016203666F6F3FE306FE0A31B7150163036261723FDBB67AE8584CAA01630362617A3FD8F5BD51A586BC016303666F6F3FDEC4F2C4C2AFA9"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FE8ACE5422AA0DB016103666F6F3FEAE89F995AD3AD0162036261723FE7ECF2D7F7566E016203666F6F3FE8ACE5422AA0DB"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FE0B5586CF9890F016103626172016A3FDD5818DCFBA487016103626172016B3FD9C49182A3F090016103626172016C3FD6A09E667F3BCD016103666F6F01693FEAE89F995AD3AD016103666F6F016A3FE6A09E667F3BCD016103666F6F016B3FE306FE0A31B715016103666F6F016C3FE000000000000001620362617201693FE63F7BB335DC60016203626172016A3FE4B0217B8E23BA016203626172016B3FE33CC7A960C7B6016203626172016C3FE1E3779B97F4A8016203666F6F01693FED5818DCFBA487016203666F6F016A3FEAE89F995AD3AD016203666F6F016B3FE8ACE5422AA0DB016203666F6F016C3FE6A09E667F3BCD"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F05AAC3016103626172016A3EEAC0C7016103626172016B3ECE248C016103626172016C3EB504F3016103666F6F01693F5744FD016103666F6F016A3F3504F3016103666F6F016B3F1837F0016103666F6F016C3F00000001620362617201693F31FBDE016203626172016A3F25810C016203626172016B3F19E63D016203626172016C3F0F1BBD016203666F6F01693F6AC0C7016203666F6F016A3F5744FD016203666F6F016B3F45672A016203666F6F016C3F3504F3"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FD6A09E667F3BCD3FD3DEA64C1234223FD172B83C7D517B3FCEA4AFA2A490DA3FCAE89F995AD3AD3FC7A11473EB01873FC4BFDAD5362A273FE00000000000003FDD5818DCFBA4873FDAE89F995AD3AD3FD8ACE5422AA0DB3FD6A09E667F3BCD3FD4BFDAD5362A273FD306FE0A31B7153FE3988E1409212E3FE26E44673282E13FE155B73ED4E4963FE04DD89F79CA703FDEAB5536A3A3563FDCD87CBBAFA5093FDB21668BF75D6A03666F6F3FEAE89F995AD3AD3FE6A09E667F3BCD3FE306FE0A31B7153FE00000000000003FDAE89F995AD3AD3FD6A09E667F3BCD3FD306FE0A31B7153FECD23C550063613FE9F54ECD0E12A53FE7612FB975A7143FE50EA39FCBF1663FE2F726F0FD0D3E3FE114DBC434A66E3FDEC4F2C4C2AFA93FEDC1992D6172F63FEBAB78E4D1420D3FE9BACC33991D2B3FE7ECF2D7F7566E3FE63F7BB335DC603FE4B0217B8E23BA3FE33CC7A960C7B6"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FEAE89F995AD3AD3FE0B5586CF9890F3FD8F5BD51A586BC3FD4BFDAD5362A273FD298FFBC5CE7DA0161016A3FE6A09E667F3BCD3FDD5818DCFBA4873FD67B0160E8A9A33FD306FE0A31B7153FD14B2B8F02C9480161016B3FE306FE0A31B7153FD9C49182A3F0903FD43F52D03122773FD172B83C7D517B3FD014BFA03FB23B0161016C3FE00000000000003FD6A09E667F3BCD3FD23C6E3224F9D03FD00000000000003FCDE82F8DF52C0A016201693FEE18E5E81A61343FE8B6F79DCD314B3FE5AB07DD4854293FE40CEB85F8EE713FE36BC95189196B0162016A3FEC4EC2728166603FE7785EE226A6343FE4BFDAD5362A273FE3579E455C0C103FE2DBDD00242D050162016B3FEA9FDCBE210C2E3FE649D12B4ECF943FE3DEA64C1234223FE2A8B865F0BA473FE2501B40324D370162016C3FE90A9620EE37F63FE52A7FA9D2F8EA3FE306FE0A31B7153FE20000000000003FE1C86531B4AC69016301693FEF4262C6AAAADA3FED3FAB0BE595653FEC78F5DAE56B173FECB5BB51F591A53FEDE1157ABF9F8B0163016A3FEE8929198F10AF3FECBA3DF472E47F3FEC1AFAB455D9983FEC78A5F1E124063FEDC24AD1B314120163016B3FEDD438F728B7833FEC3731861F96323FEBBE35C364FED83FEC3C12881004A43FEDA39FE40519DD0163016C3FED2378F80BE1D93FEBB67AE8584CAA3FEB62A3082519673FEC0000000000003FED851491024321"}}
+{"expression":"join(a,b,f(a,b)(pow(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F5744FD3F05AAC33EC7ADEB3EA5FED73E94C7FE0161016A3F3504F33EEAC0C73EB3D80B3E9837F03E8A595C0161016B3F1837F03ECE248C3EA1FA973E8B95C23E80A5FD0161016C3F0000003EB504F33E91E3723E8000003E6F417C016201693F70C72F3F45B7BD3F2D583F3F20675C3F1B5E4B0162016A3F6276143F3BC2F73F25FED73F1ABCF23F16DEE80162016B3F54FEE63F324E893F1EF5323F1545C33F1280DA0162016C3F4854B13F2953FD3F1837F03F1000003F0E432A016301693F7A13163F69FD583F63C7AF3F65ADDB3F6F08AC0163016A3F7449493F65D1F03F60D7D63F63C5303F6E12570163016B3F6EA1C83F61B98C3F5DF1AE3F61E0943F6D1CFF0163016C3F691BC83F5DB3D73F5B15183F6000003F6C28A5"}}
+{"expression":"a==b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000000000000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C3F800000"}}
+{"expression":"a==b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a==b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F800000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000162016900000000000000000000000000000000000000000162016A00000000000000000000000000000000000000000162016B000000003F8000000000000000000000000000000162016C00000000000000000000000000000000000000000163016900000000000000000000000000000000000000000163016A0000000000000000000000003F800000000000000163016B00000000000000000000000000000000000000000163016C0000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000000000000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C3F800000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a==b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F800000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000162016900000000000000000000000000000000000000000162016A00000000000000000000000000000000000000000162016B000000003F8000000000000000000000000000000162016C00000000000000000000000000000000000000000163016900000000000000000000000000000000000000000163016A0000000000000000000000003F800000000000000163016B00000000000000000000000000000000000000000163016C0000000000000000000000000000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"a!=b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"a!=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"a!=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F800000016203626172016900000000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C00000000"}}
+{"expression":"a!=b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a!=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F8000003F8000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C3F8000003F8000003F8000003F8000003F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F800000000000003F8000003F8000003F8000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F8000003F800000000000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F800000016203626172016900000000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C00000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a!=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F8000003F8000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C3F8000003F8000003F8000003F8000003F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F800000000000003F8000003F8000003F8000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F8000003F800000000000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"a~=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000000000000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C3F800000"}}
+{"expression":"a~=b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a~=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F800000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000162016900000000000000000000000000000000000000000162016A00000000000000000000000000000000000000000162016B000000003F8000000000000000000000000000000162016C00000000000000000000000000000000000000000163016900000000000000000000000000000000000000000163016A0000000000000000000000003F800000000000000163016B00000000000000000000000000000000000000000163016C0000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000000000000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C3F800000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001620169000000000000000000000000000000000000000000000000000000000000000000000000000000000162016A000000000000000000000000000000000000000000000000000000000000000000000000000000000162016B00000000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C0000000000000000000000000000000000000000000000000000000000000000000000000000000001630169000000000000000000000000000000000000000000000000000000000000000000000000000000000163016A0000000000000000000000000000000000000000000000003FF000000000000000000000000000000163016B000000000000000000000000000000000000000000000000000000000000000000000000000000000163016C00000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a~=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F800000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000162016900000000000000000000000000000000000000000162016A00000000000000000000000000000000000000000162016B000000003F8000000000000000000000000000000162016C00000000000000000000000000000000000000000163016900000000000000000000000000000000000000000163016A0000000000000000000000003F800000000000000163016B00000000000000000000000000000000000000000163016C0000000000000000000000000000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"a<b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"a<b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F800000016203626172016900000000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000"}}
+{"expression":"a<b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F8000003F8000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C3F8000003F8000003F8000003F8000003F8000000162016900000000000000003F8000003F8000003F8000000162016A00000000000000003F8000003F8000003F8000000162016B00000000000000003F8000003F8000003F8000000162016C000000003F8000003F8000003F8000003F80000001630169000000000000000000000000000000003F8000000163016A000000000000000000000000000000003F8000000163016B0000000000000000000000003F8000003F8000000163016C0000000000000000000000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201690000000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F800000016203626172016900000000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A00000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F8000003F8000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C3F8000003F8000003F8000003F8000003F8000000162016900000000000000003F8000003F8000003F8000000162016A00000000000000003F8000003F8000003F8000000162016B00000000000000003F8000003F8000003F8000000162016C000000003F8000003F8000003F8000003F80000001630169000000000000000000000000000000003F8000000163016A000000000000000000000000000000003F8000000163016B0000000000000000000000003F8000003F8000000163016C0000000000000000000000003F8000003F800000"}}
+{"expression":"a<=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"a<=b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"a<=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F01693F800000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F80000001620362617201693F800000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C3F800000"}}
+{"expression":"a<=b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a<=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003F8000003F8000003F8000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C3F8000003F8000003F8000003F8000003F8000000162016900000000000000003F8000003F8000003F8000000162016A00000000000000003F8000003F8000003F8000000162016B000000003F8000003F8000003F8000003F8000000162016C000000003F8000003F8000003F8000003F80000001630169000000000000000000000000000000003F8000000163016A0000000000000000000000003F8000003F8000000163016B0000000000000000000000003F8000003F8000000163016C0000000000000000000000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261720000000000000000016203666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01693FF0000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C3FF000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F01693F800000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C3F80000001620362617201693F800000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C3F800000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000001620169000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016A000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000000162016B00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016C00000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016900000000000000000000000000000000000000000000000000000000000000003FF00000000000000163016A0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016B0000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000163016C0000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a<=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F8000003F8000003F8000003F8000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C3F8000003F8000003F8000003F8000003F8000000162016900000000000000003F8000003F8000003F8000000162016A00000000000000003F8000003F8000003F8000000162016B000000003F8000003F8000003F8000003F8000000162016C000000003F8000003F8000003F8000003F80000001630169000000000000000000000000000000003F8000000163016A0000000000000000000000003F8000003F8000000163016B0000000000000000000000003F8000003F8000000163016C0000000000000000000000003F8000003F800000"}}
+{"expression":"a>b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"a>b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x0202017805017905000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A030000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C00000000016203626172016900000000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C00000000"}}
+{"expression":"a>b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C0161016900000000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000016201693F8000003F8000000000000000000000000000000162016A3F8000003F8000000000000000000000000000000162016B3F800000000000000000000000000000000000000162016C3F80000000000000000000000000000000000000016301693F8000003F8000003F8000003F800000000000000163016A3F8000003F8000003F80000000000000000000000163016B3F8000003F8000003F80000000000000000000000163016C3F8000003F8000003F8000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x060101017805000000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x0202017805017905000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A030000000000000000000000000000000000000000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A0000000000000000016303666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201690000000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C00000000016203626172016900000000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C00000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C01610169000000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF000000000000000000000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C0161016900000000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000016201693F8000003F8000000000000000000000000000000162016A3F8000003F8000000000000000000000000000000162016B3F800000000000000000000000000000000000000162016C3F80000000000000000000000000000000000000016301693F8000003F8000003F8000003F800000000000000163016A3F8000003F8000003F80000000000000000000000163016B3F8000003F8000003F80000000000000000000000163016C3F8000003F8000003F8000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"a>=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF0000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C3F800000"}}
+{"expression":"a>=b","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"a>=b","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F800000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000016201693F8000003F8000000000000000000000000000000162016A3F8000003F8000000000000000000000000000000162016B3F8000003F8000000000000000000000000000000162016C3F80000000000000000000000000000000000000016301693F8000003F8000003F8000003F800000000000000163016A3F8000003F8000003F8000003F800000000000000163016B3F8000003F8000003F80000000000000000000000163016C3F8000003F8000003F8000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F80000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FF0000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FF000000000000001623FF000000000000001633FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FF000000000000001623FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF00000000000000162036261723FF000000000000001620362617A0000000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F3FF0000000000000016203626172000000000000000001620362617A0000000000000000016203666F6F0000000000000000016303626172000000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F3FF00000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201690000000000000000016103626172016A0000000000000000016103626172016B0000000000000000016103626172016C0000000000000000016103666F6F01693FF0000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A0000000000000000016203626172016B0000000000000000016203626172016C0000000000000000016203666F6F01693FF0000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C3FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016900000000016103626172016A00000000016103626172016B00000000016103626172016C00000000016103666F6F01693F800000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A00000000016203626172016B00000000016203626172016C00000000016203666F6F01693F800000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C3F800000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A07020362617200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003666F6F3FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FF000000000000000000000000000000000000000000000000000000000000000000000000000000161016A000000000000000000000000000000000000000000000000000000000000000000000000000000000161016B000000000000000000000000000000000000000000000000000000000000000000000000000000000161016C00000000000000000000000000000000000000000000000000000000000000000000000000000000016201693FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016A3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016B3FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000162016C3FF00000000000000000000000000000000000000000000000000000000000000000000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016A3FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000000163016B3FF00000000000003FF00000000000003FF0000000000000000000000000000000000000000000000163016C3FF00000000000003FF00000000000003FF000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a>=b))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F800000000000000000000000000000000000000161016A00000000000000000000000000000000000000000161016B00000000000000000000000000000000000000000161016C0000000000000000000000000000000000000000016201693F8000003F8000000000000000000000000000000162016A3F8000003F8000000000000000000000000000000162016B3F8000003F8000000000000000000000000000000162016C3F80000000000000000000000000000000000000016301693F8000003F8000003F8000003F800000000000000163016A3F8000003F8000003F8000003F800000000000000163016B3F8000003F8000003F80000000000000000000000163016C3F8000003F8000003F8000000000000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x02000000000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x02000000000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x02000000000000000000","b":"0x060101017805000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x060101017805000000003F8000003F800000000000003F800000","b":"0x02000000000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101790500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x02020178050179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x0202017805017905000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"}}
-{"expression":"a&&b","inputs":{"a":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x020101790300000000000000003FF00000000000003FF0000000000000","b":"0x0202017802017A0300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0203017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x060103017803017905017A07000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F800000000000003F8000003F800000000000003F8000003F80000000000000000000000000000000000000000000000000000000000000000000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F80000000000000000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"}}
{"expression":"a&&b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178020161000000000000000001623FF0000000000000"},"result":{"expect":"0x01010178020161000000000000000001623FF0000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x0101017903036261723FF00000000000000362617A3FF000000000000003666F6F0000000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x010201780179060161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F0000000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B00000000016103626172016C3F800000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A3F800000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000"}}
{"expression":"a&&b","inputs":{"a":"0x030101790101780302036261723FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF0000000000000","b":"0x0301017901017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000003666F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"}}
{"expression":"a&&b","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001620169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C00000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001620169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C00000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001620169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C00000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"a&&b","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F800000000000003F8000000161016A000000003F80000000000000000000003F8000000161016B00000000000000003F80000000000000000000000161016C000000003F8000003F800000000000003F8000000162016900000000000000003F80000000000000000000000162016A3F80000000000000000000003F800000000000000162016B3F800000000000003F8000003F800000000000000162016C00000000000000003F800000000000000000000001630169000000003F80000000000000000000003F8000000163016A3F8000003F800000000000003F8000003F8000000163016B3F80000000000000000000003F800000000000000163016C000000003F80000000000000000000003F800000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x02000000000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x02000000000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x02000000000000000000","b":"0x060101017805000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x060101017805000000003F8000003F800000000000003F800000","b":"0x02000000000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101790500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x02020178050179050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x0202017805017905000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020101790300000000000000003FF00000000000003FF0000000000000","b":"0x0202017802017A0300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0203017803017905017A0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x060103017803017905017A07000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F800000000000003F8000003F800000000000003F8000003F80000000000000000000000000000000000000000000000000000000000000000000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F8000000000000000000000000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F80000000000000000000000000000000000000000000000000000000000000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178020161000000000000000001623FF0000000000000"},"result":{"expect":"0x01010178020161000000000000000001623FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x0101017903036261723FF00000000000000362617A3FF000000000000003666F6F0000000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"},"result":{"expect":"0x01020178017909016103626172000000000000000001610362617A0000000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x010201780179060161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F0000000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B0000000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A0000000000000000016103666F6F016B0000000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B0000000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B0000000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B00000000016103626172016C3F800000016103666F6F016900000000016103666F6F016A00000000016103666F6F016B00000000016103666F6F016C0000000001620362617201693F800000016203626172016A3F800000016203626172016B00000000016203626172016C3F800000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B00000000016203666F6F016C00000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x030101790101780302036261723FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF0000000000000","b":"0x0301017901017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000003666F6F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"}}
{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001620169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C00000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001620169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C00000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A00000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000161016B000000000000000000000000000000003FF0000000000000000000000000000000000000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001620169000000000000000000000000000000003FF0000000000000000000000000000000000000000000000162016A3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C000000000000000000000000000000003FF0000000000000000000000000000000000000000000000163016900000000000000003FF0000000000000000000000000000000000000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF0000000000000000000000000000000000000000000003FF000000000000000000000000000000163016C00000000000000003FF0000000000000000000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a&&b))","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F800000000000003F8000000161016A000000003F80000000000000000000003F8000000161016B00000000000000003F80000000000000000000000161016C000000003F8000003F800000000000003F8000000162016900000000000000003F80000000000000000000000162016A3F80000000000000000000003F800000000000000162016B3F800000000000003F8000003F800000000000000162016C00000000000000003F800000000000000000000001630169000000003F80000000000000000000003F8000000163016A3F8000003F800000000000003F8000003F8000000163016B3F80000000000000000000003F800000000000000163016C000000003F80000000000000000000003F800000"}}
{"expression":"a||b","inputs":{"a":"0x02000000000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x02000000000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x02000000000000000000","b":"0x060101017805000000003F8000003F800000000000003F800000"},"result":{"expect":"0x060101017805000000003F8000003F800000000000003F800000"}}
+{"expression":"a||b","inputs":{"a":"0x060101017805000000003F8000003F800000000000003F800000","b":"0x02000000000000000000"},"result":{"expect":"0x060101017805000000003F8000003F800000000000003F800000"}}
{"expression":"a||b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101790500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"a||b","inputs":{"a":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x020101790300000000000000003FF00000000000003FF0000000000000","b":"0x0202017802017A0300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x060103017803017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
{"expression":"a||b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178020161000000000000000001623FF0000000000000"},"result":{"expect":"0x01010178020161000000000000000001623FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x0101017903036261723FF00000000000000362617A3FF000000000000003666F6F0000000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x010201780179060161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C0000000001620362617201693F800000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F016900000000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C00000000"}}
{"expression":"a||b","inputs":{"a":"0x030101790101780302036261723FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF0000000000000","b":"0x0301017901017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
{"expression":"a||b","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"a||b","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F800000000000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C000000003F8000003F800000000000003F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F800000000000003F8000003F800000000000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F800000000000003F8000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x02000000000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x02000000000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x02000000000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x02000000000000000000","b":"0x060101017805000000003F8000003F800000000000003F800000"},"result":{"expect":"0x060101017805000000003F8000003F800000000000003F800000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x060101017805000000003F8000003F800000000000003F800000","b":"0x02000000000000000000"},"result":{"expect":"0x060101017805000000003F8000003F800000000000003F800000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020101790500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020101780500000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000","b":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x020201780501790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x020201780501790300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020101790300000000000000003FF00000000000003FF0000000000000","b":"0x0202017802017A0300000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x0202017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x020201780301790500000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x060102017803017905000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000","b":"0x060102017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F800000"},"result":{"expect":"0x060103017803017905017A07000000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000000000003F8000003F800000000000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"},"result":{"expect":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x01010178020161000000000000000001623FF0000000000000"},"result":{"expect":"0x01010178020161000000000000000001623FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x0101017903036261723FF00000000000000362617A3FF000000000000003666F6F0000000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x01010178030161000000000000000001623FF000000000000001633FF0000000000000","b":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F00000000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F0000000000000000"},"result":{"expect":"0x010201780179090161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F3FF00000000000000163036261723FF000000000000001630362617A3FF0000000000000016303666F6F3FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x010201780179060161036261723FF0000000000000016103666F6F00000000000000000162036261720000000000000000016203666F6F3FF00000000000000163036261723FF0000000000000016303666F6F3FF0000000000000"},"result":{"expect":"0x010201780179040161036261723FF0000000000000016103666F6F00000000000000000162036261723FF0000000000000016203666F6F3FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x01020179017A080362617201693FF000000000000003626172016A3FF000000000000003626172016B000000000000000003626172016C3FF000000000000003666F6F0169000000000000000003666F6F016A3FF000000000000003666F6F016B3FF000000000000003666F6F016C0000000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x010201780179060161036261723FF000000000000001610362617A3FF0000000000000016103666F6F00000000000000000162036261723FF000000000000001620362617A3FF0000000000000016203666F6F0000000000000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x010301780179017A1001610362617201693FF0000000000000016103626172016A3FF0000000000000016103626172016B3FF0000000000000016103626172016C3FF0000000000000016103666F6F01690000000000000000016103666F6F016A3FF0000000000000016103666F6F016B3FF0000000000000016103666F6F016C000000000000000001620362617201693FF0000000000000016203626172016A3FF0000000000000016203626172016B3FF0000000000000016203626172016C3FF0000000000000016203666F6F01690000000000000000016203666F6F016A3FF0000000000000016203666F6F016B3FF0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x05010201780179060161036261723F80000001610362617A3F800000016103666F6F000000000162036261723F80000001620362617A3F800000016203666F6F00000000","b":"0x0501020179017A080362617201693F80000003626172016A3F80000003626172016B0000000003626172016C3F80000003666F6F01690000000003666F6F016A3F80000003666F6F016B3F80000003666F6F016C00000000"},"result":{"expect":"0x05010301780179017A1001610362617201693F800000016103626172016A3F800000016103626172016B3F800000016103626172016C3F800000016103666F6F016900000000016103666F6F016A3F800000016103666F6F016B3F800000016103666F6F016C0000000001620362617201693F800000016203626172016A3F800000016203626172016B3F800000016203626172016C3F800000016203666F6F016900000000016203666F6F016A3F800000016203666F6F016B3F800000016203666F6F016C00000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x030101790101780302036261723FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF0000000000000","b":"0x0301017901017A0702036261723FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF000000000000003666F6F00000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FF1B6E192EBBE443FE921FB54442D183FE2D0EAD60663963FDDAC670561BB4F3FD85A376B677DC03FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FF5368C951E9CFD3FF1B6E192EBBE443FEDAC670561BB503FE921FB54442D183FE5977A5103EA933FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FD4978FA3269EE23FD1CFA95F7A8DCF3FCF5B75F92C80DD3FCBFD581196F5C23FC94441F8F7260C3FD10A4608E628493FCF5B75F92C80DD3FCD07BEA194B9913FCB051B394C33AB3FC94441F8F7260B3FCF5B75F92C80DD3FCD94610502338C3FCBFD581196F5C23FCA8F3C814A92D73FC94441F8F7260C3FCDEB4BEABF5A573FCC9AE19AA8FE1E3FCB665729A20CE23FCA4A6567A8DCF43FC94441F8F7260B"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FC52397843C9ADE3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C23FC94441F8F7260C3FC7057081D704E63FC52397843C9ADE3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DC3FC7057081D704E63FC60A593E8618943FC52397843C9ADE3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846333FE5274400EEA72A3FE38B112D7BD4AD3FE222A54FDE6FA73FE0E5FC62BB05C33FDF9CBC4269AB2A3FDDAC670561BB4F3FDF5B75F92C80DE3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A23FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5453FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A13FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36163FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA73FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2A3FDE9D53842EF0533FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9EF3FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FE921FB54442D1801623FE921FB54442D1801633FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FE921FB54442D1801623FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE2016103666F6F3FE921FB54442D180162036261723FE921FB54442D1801620362617A3FE2D0EAD6066396016203666F6F3FF1B6E192EBBE440163036261723FEF730BD281F69B01630362617A3FE921FB54442D18016303666F6F3FF3FC176B7A8560"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE2016103666F6F3FE921FB54442D180162036261723FD85A376B677DC001620362617A3FD4978FA3269EE2016203666F6F3FDDAC670561BB4F0163036261723FD6F61941E4DEF001630362617A3FD4978FA3269EE1016303666F6F3FD9E9BF3D20DC71"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FE921FB54442D18016103666F6F3FE921FB54442D180162036261723FECAC7C57846F9E016203666F6F3FEDAC670561BB50"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE2016103626172016B3FD1CFA95F7A8DCF016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE2016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8B016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB50016203666F6F016C3FE921FB54442D18"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FCF5B75F92C80DD3FCBFD581196F5C23FC94441F8F7260C3FC7057081D704E63FC52397843C9ADE3FC38A03609B65453FC229AEC47638DD3FDDAC670561BB4F3FDAC42FFA7BCBCF3FD85A376B677DC03FD652439D8BE7153FD4978FA3269EE23FD31A9B43436DE13FD1CFA95F7A8DCF3FE4978FA3269EE13FE2D0EAD60663953FE14B1DD5F90CE13FDFF54BF3BEC8423FDDAC670561BB4F3FDBAC91A9A723ED3FD9E9BF3D20DC7103666F6F3FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FC52397843C9ADE3FC229AEC47638DD3FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FDDAC670561BB4F3FD9E9BF3D20DC713FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D183FE63B4BC3F16A8B3FE3D91573350661"}}
-{"expression":"atan2(a,b)","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE23FD2A73A661EAF063FD1CFA95F7A8DCF3FD15731754A18210161016B3FD4978FA3269EE23FD1CFA95F7A8DCF3FD10A4608E628493FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353CF3FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C513FE5977A5103EA933FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BE0162016C3FEF730BD281F69B3FE700A7C57846333FE2D0EAD60663963FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEDF3FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846333FE4978FA3269EE1"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FF1B6E192EBBE443FE921FB54442D183FE2D0EAD60663963FDDAC670561BB4F3FD85A376B677DC03FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FF5368C951E9CFD3FF1B6E192EBBE443FEDAC670561BB503FE921FB54442D183FE5977A5103EA933FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FD4978FA3269EE23FD1CFA95F7A8DCF3FCF5B75F92C80DD3FCBFD581196F5C23FC94441F8F7260C3FD10A4608E628493FCF5B75F92C80DD3FCD07BEA194B9913FCB051B394C33AB3FC94441F8F7260B3FCF5B75F92C80DD3FCD94610502338C3FCBFD581196F5C23FCA8F3C814A92D73FC94441F8F7260C3FCDEB4BEABF5A573FCC9AE19AA8FE1E3FCB665729A20CE23FCA4A6567A8DCF43FC94441F8F7260B"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FC52397843C9ADE3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C23FC94441F8F7260C3FC7057081D704E63FC52397843C9ADE3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DC3FC7057081D704E63FC60A593E8618943FC52397843C9ADE3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846333FE5274400EEA72A3FE38B112D7BD4AD3FE222A54FDE6FA73FE0E5FC62BB05C33FDF9CBC4269AB2A3FDDAC670561BB4F3FDF5B75F92C80DE3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A23FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5453FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A13FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36163FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA73FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2A3FDE9D53842EF0533FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9EF3FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FE921FB54442D1801623FE921FB54442D1801633FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FE921FB54442D1801623FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE2016103666F6F3FE921FB54442D180162036261723FE921FB54442D1801620362617A3FE2D0EAD6066396016203666F6F3FF1B6E192EBBE440163036261723FEF730BD281F69B01630362617A3FE921FB54442D18016303666F6F3FF3FC176B7A8560"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE2016103666F6F3FE921FB54442D180162036261723FD85A376B677DC001620362617A3FD4978FA3269EE2016203666F6F3FDDAC670561BB4F0163036261723FD6F61941E4DEF001630362617A3FD4978FA3269EE1016303666F6F3FD9E9BF3D20DC71"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FE921FB54442D18016103666F6F3FE921FB54442D180162036261723FECAC7C57846F9E016203666F6F3FEDAC670561BB50"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE2016103626172016B3FD1CFA95F7A8DCF016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE2016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8B016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB50016203666F6F016C3FE921FB54442D18"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FCF5B75F92C80DD3FCBFD581196F5C23FC94441F8F7260C3FC7057081D704E63FC52397843C9ADE3FC38A03609B65453FC229AEC47638DD3FDDAC670561BB4F3FDAC42FFA7BCBCF3FD85A376B677DC03FD652439D8BE7153FD4978FA3269EE23FD31A9B43436DE13FD1CFA95F7A8DCF3FE4978FA3269EE13FE2D0EAD60663953FE14B1DD5F90CE13FDFF54BF3BEC8423FDDAC670561BB4F3FDBAC91A9A723ED3FD9E9BF3D20DC7103666F6F3FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE23FCF5B75F92C80DD3FC94441F8F7260C3FC52397843C9ADE3FC229AEC47638DD3FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FDDAC670561BB4F3FD9E9BF3D20DC713FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D183FE63B4BC3F16A8B3FE3D91573350661"}}
-{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE23FD2A73A661EAF063FD1CFA95F7A8DCF3FD15731754A18210161016B3FD4978FA3269EE23FD1CFA95F7A8DCF3FD10A4608E628493FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353CF3FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C513FE5977A5103EA933FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BE0162016C3FEF730BD281F69B3FE700A7C57846333FE2D0EAD60663963FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEDF3FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846333FE4978FA3269EE1"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FF999999999999A40000000000000004000000000000000400000000000000040000000000000004000000000000000"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD4000000000000000400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FF33333333333333FF33333333333333FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A40000000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000003FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE66666666666663FE66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A400999999999999A400999999999999A400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD40100000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000003FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF33333333333333FF3333333333333400333333333333340033333333333334003333333333333400333333333333340033333333333334004CCCCCCCCCCCD4004CCCCCCCCCCCD4004CCCCCCCCCCCD4004CCCCCCCCCCCD4004CCCCCCCCCCCD4014CCCCCCCCCCCD4014CCCCCCCCCCCD40166666666666664016666666666666401666666666666640166666666666664016666666666666401666666666666640166666666666664018000000000000402800000000000040280000000000004028000000000000402800000000000040280000000000004028000000000000"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FB999999999999A01623FC999999999999A"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FE0000000000000016203666F6F3FD999999999999A"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201693FE0000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01693FD999999999999A016203666F6F016A3FD999999999999A016203666F6F016B3FD999999999999A016203666F6F016C3FD999999999999A"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE33333333333333FE33333333333333FF33333333333333FF33333333333333FF33333333333333FF33333333333333FF333333333333303666F6F3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"ldexp(a,b)","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FC999999999999A3FD33333333333333FE999999999999A3FF00000000000000161016A3FB999999999999A3FC999999999999A3FE33333333333333FE999999999999A3FF00000000000000161016B3FB999999999999A3FC999999999999A3FE33333333333333FE999999999999A3FF00000000000000161016C3FB999999999999A3FC999999999999A3FE33333333333333FE999999999999A4000000000000000016201693FE33333333333333FE66666666666663FE999999999999A3FFCCCCCCCCCCCCD40000000000000000162016A3FE33333333333333FE66666666666663FF999999999999A3FFCCCCCCCCCCCCD40000000000000000162016B3FE33333333333333FE66666666666663FF999999999999A3FFCCCCCCCCCCCCD40000000000000000162016C3FE33333333333333FE66666666666663FF999999999999A3FFCCCCCCCCCCCCD4010000000000000016301693FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD400666666666666640080000000000000163016A3FF199999999999A3FF33333333333334004CCCCCCCCCCCD400666666666666640080000000000000163016B3FF199999999999A3FF33333333333334004CCCCCCCCCCCD400666666666666640080000000000000163016C3FF199999999999A3FF33333333333334004CCCCCCCCCCCD40066666666666664018000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FF999999999999A40000000000000004000000000000000400000000000000040000000000000004000000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD4000000000000000400199999999999A40033333333333334004CCCCCCCCCCCD40066666666666664008000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FF33333333333333FF33333333333333FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A40000000000000004010000000000000401000000000000040100000000000004010000000000000401000000000000040100000000000003FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE66666666666663FE66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A3FF999999999999A400999999999999A400999999999999A400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD400CCCCCCCCCCCCD40100000000000004020000000000000402000000000000040200000000000004020000000000000402000000000000040200000000000003FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF33333333333333FF3333333333333400333333333333340033333333333334003333333333333400333333333333340033333333333334004CCCCCCCCCCCD4004CCCCCCCCCCCD4004CCCCCCCCCCCD4004CCCCCCCCCCCD4004CCCCCCCCCCCD4014CCCCCCCCCCCD4014CCCCCCCCCCCD40166666666666664016666666666666401666666666666640166666666666664016666666666666401666666666666640166666666666664018000000000000402800000000000040280000000000004028000000000000402800000000000040280000000000004028000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FB999999999999A01623FC999999999999A"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FE0000000000000016203666F6F3FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201693FE0000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01693FD999999999999A016203666F6F016A3FD999999999999A016203666F6F016B3FD999999999999A016203666F6F016C3FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE33333333333333FE33333333333333FF33333333333333FF33333333333333FF33333333333333FF33333333333333FF333333333333303666F6F3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FC999999999999A3FD33333333333333FE999999999999A3FF00000000000000161016A3FB999999999999A3FC999999999999A3FE33333333333333FE999999999999A3FF00000000000000161016B3FB999999999999A3FC999999999999A3FE33333333333333FE999999999999A3FF00000000000000161016C3FB999999999999A3FC999999999999A3FE33333333333333FE999999999999A4000000000000000016201693FE33333333333333FE66666666666663FE999999999999A3FFCCCCCCCCCCCCD40000000000000000162016A3FE33333333333333FE66666666666663FF999999999999A3FFCCCCCCCCCCCCD40000000000000000162016B3FE33333333333333FE66666666666663FF999999999999A3FFCCCCCCCCCCCCD40000000000000000162016C3FE33333333333333FE66666666666663FF999999999999A3FFCCCCCCCCCCCCD4010000000000000016301693FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD400666666666666640080000000000000163016A3FF199999999999A3FF33333333333334004CCCCCCCCCCCD400666666666666640080000000000000163016B3FF199999999999A3FF33333333333334004CCCCCCCCCCCD400666666666666640080000000000000163016C3FF199999999999A3FF33333333333334004CCCCCCCCCCCD40066666666666664018000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A000000000000000000000000000000003FC999999999999A3FC999999999999A3FC999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD3333333333333000000000000000000000000000000003FB999999999999C00000000000000003FD999999999999A3FB99999999999983FB99999999999983FC999999999999A3FB99999999999980000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FB99999999999963FC999999999999800000000000000003FC99999999999983FB999999999999800000000000000003FE33333333333333FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003C800000000000003FB999999999999C3FC999999999999E3FD33333333333343FB99999999999A03FE00000000000013FD999999999999C3FD99999999999983FD33333333333323FC99999999999983FB999999999999000000000000000003FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF8000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F0000000000000000016203626172000000000000000001620362617A3FC999999999999A016203666F6F00000000000000000163036261723FB999999999999801630362617A0000000000000000016303666F6F3FB9999999999998"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F00000000000000000162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB9999999999998016203666F6F3FB999999999999C"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01690000000000000000016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201690000000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB999999999999C016203666F6F016C0000000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE333333333333303666F6F00000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD33333333333333FD33333333333333FD33333333333333FB99999999999983FB99999999999983FC999999999999A3FB999999999999800000000000000003FE00000000000003FE0000000000000"}}
-{"expression":"fmod(a,b)","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016B3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016C3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000016201693FB99999999999963FC99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016A3FC99999999999983FB99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016B000000000000000000000000000000003FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016C3FC99999999999983FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000016301693C800000000000003FC99999999999983FD999999999999A3FB99999999999903FF80000000000000163016A3FB999999999999C00000000000000003FD333333333333400000000000000003FF80000000000000163016B3FC999999999999E3FE00000000000003FC99999999999983FF66666666666663FF80000000000000163016C3FD33333333333343FD99999999999983FB99999999999A03FF66666666666663FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A000000000000000000000000000000003FC999999999999A3FC999999999999A3FC999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD3333333333333000000000000000000000000000000003FB999999999999C00000000000000003FD999999999999A3FB99999999999983FB99999999999983FC999999999999A3FB99999999999980000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x0202017805017903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FB99999999999963FC999999999999800000000000000003FC99999999999983FB999999999999800000000000000003FE33333333333333FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003C800000000000003FB999999999999C3FC999999999999E3FD33333333333343FB99999999999A03FE00000000000013FD999999999999C3FD99999999999983FD33333333333323FC99999999999983FB999999999999000000000000000003FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F0000000000000000016203626172000000000000000001620362617A3FC999999999999A016203666F6F00000000000000000163036261723FB999999999999801630362617A0000000000000000016303666F6F3FB9999999999998"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F00000000000000000162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB9999999999998016203666F6F3FB999999999999C"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01690000000000000000016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201690000000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB999999999999C016203666F6F016C0000000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE333333333333303666F6F00000000000000003FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB99999999999983FB999999999999800000000000000003FD33333333333333FD33333333333333FD33333333333333FD33333333333333FB99999999999983FB99999999999983FC999999999999A3FB999999999999800000000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016B3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016C3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000016201693FB99999999999963FC99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016A3FC99999999999983FB99999999999983FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016B000000000000000000000000000000003FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016C3FC99999999999983FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000016301693C800000000000003FC99999999999983FD999999999999A3FB99999999999903FF80000000000000163016A3FB999999999999C00000000000000003FD333333333333400000000000000003FF80000000000000163016B3FC999999999999E3FE00000000000003FC99999999999983FF66666666666663FF80000000000000163016C3FD33333333333343FD99999999999983FB99999999999A03FF66666666666663FF8000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FB999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FD999999999999A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE33333333333333FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF8000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FB999999999999A01623FC999999999999A"}}
-{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FB999999999999A0163036261723FC999999999999A01630362617A3FD3333333333333016303666F6F3FB999999999999A"}}
-{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"min(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD3333333333333"}}
-{"expression":"min(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201693FE0000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01693FB999999999999A016203666F6F016A3FC999999999999A016203666F6F016B3FD3333333333333016203666F6F016C3FD999999999999A"}}
-{"expression":"min(a,b)","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE333333333333303666F6F3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"min(a,b)","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016B3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016C3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000016201693FB999999999999A3FE00000000000003FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016A3FC999999999999A3FE33333333333333FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016B3FD33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016C3FD999999999999A3FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000016301693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF80000000000000163016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FF80000000000000163016B3FD33333333333333FE66666666666663FF199999999999A3FF66666666666663FF80000000000000163016C3FD999999999999A3FE999999999999A3FF33333333333333FF66666666666663FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FB999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FD999999999999A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE33333333333333FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE66666666666663FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FE999999999999A3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FECCCCCCCCCCCCD3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF66666666666663FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF80000000000003FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FB999999999999A01623FC999999999999A"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FB999999999999A0163036261723FC999999999999A01630362617A3FD3333333333333016303666F6F3FB999999999999A"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FB999999999999A01610362617A3FB999999999999A016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FC999999999999A016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FC999999999999A016103626172016A3FC999999999999A016103626172016B3FC999999999999A016103626172016C3FC999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FB999999999999A016103666F6F016B3FB999999999999A016103666F6F016C3FB999999999999A01620362617201693FE0000000000000016203626172016A3FE0000000000000016203626172016B3FE0000000000000016203626172016C3FE0000000000000016203666F6F01693FB999999999999A016203666F6F016A3FC999999999999A016203666F6F016B3FD3333333333333016203666F6F016C3FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FC999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE333333333333303666F6F3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FB999999999999A3FC999999999999A3FD33333333333333FD33333333333333FD33333333333333FD33333333333333FD33333333333333FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016A3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016B3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000000161016C3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000016201693FB999999999999A3FE00000000000003FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016A3FC999999999999A3FE33333333333333FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016B3FD33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000000162016C3FD999999999999A3FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF0000000000000016301693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FF80000000000000163016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FF80000000000000163016B3FD33333333333333FE66666666666663FF199999999999A3FF66666666666663FF80000000000000163016C3FD999999999999A3FE999999999999A3FF33333333333333FF66666666666663FF8000000000000"}}
-{"expression":"max(a,b)","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FC999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FE00000000000003FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"}}
-{"expression":"max(a,b)","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"}}
-{"expression":"max(a,b)","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C0000000000003FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C0000000000003FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF33333333333333FF33333333333333FF33333333333333FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"}}
-{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FB999999999999A01623FC999999999999A"}}
-{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FD3333333333333016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"}}
-{"expression":"max(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FE0000000000000016203666F6F3FD999999999999A"}}
-{"expression":"max(a,b)","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FE0000000000000016203626172016A3FE3333333333333016203626172016B3FE6666666666666016203626172016C3FE999999999999A016203666F6F01693FD999999999999A016203666F6F016A3FD999999999999A016203666F6F016B3FD999999999999A016203666F6F016C3FD999999999999A"}}
-{"expression":"max(a,b)","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE33333333333333FE6666666666666"}}
-{"expression":"max(a,b)","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201693FE33333333333333FE66666666666663FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330162016A3FE33333333333333FE66666666666663FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0162016B3FE33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660162016C3FE33333333333333FE999999999999A3FF33333333333333FF999999999999A4000000000000000016301693FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FFB3333333333330163016A3FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FFCCCCCCCCCCCCD0163016B3FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF80000000000003FFE6666666666660163016C3FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF999999999999A4000000000000000"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02003FB999999999999A"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FC999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FE00000000000003FD999999999999A3FD999999999999A3FD999999999999A3FD999999999999A3FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000000000"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C0000000000003FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C0000000000003FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF199999999999A3FF33333333333333FF33333333333333FF33333333333333FF33333333333333FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201613FB999999999999A01623FC999999999999A"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FC999999999999A01620362617A3FD3333333333333016203666F6F3FC999999999999A0163036261723FD333333333333301630362617A3FD3333333333333016303666F6F3FD3333333333333"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FE0000000000000016203666F6F3FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A1001610362617201693FE0000000000000016103626172016A3FE3333333333333016103626172016B3FE6666666666666016103626172016C3FE999999999999A016103666F6F01693FB999999999999A016103666F6F016A3FC999999999999A016103666F6F016B3FD3333333333333016103666F6F016C3FD999999999999A01620362617201693FE0000000000000016203626172016A3FE3333333333333016203626172016B3FE6666666666666016203626172016C3FE999999999999A016203666F6F01693FD999999999999A016203666F6F016A3FD999999999999A016203666F6F016B3FD999999999999A016203666F6F016C3FD999999999999A"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FD33333333333333FD33333333333333FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE33333333333333FE6666666666666"}}
-{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330161016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0161016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660161016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000016201693FE33333333333333FE66666666666663FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB3333333333330162016A3FE33333333333333FE66666666666663FF00000000000003FF66666666666663FFCCCCCCCCCCCCD0162016B3FE33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE6666666666660162016C3FE33333333333333FE999999999999A3FF33333333333333FF999999999999A4000000000000000016301693FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FFB3333333333330163016A3FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FFCCCCCCCCCCCCD0163016B3FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF80000000000003FFE6666666666660163016C3FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF999999999999A4000000000000000"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02003FB999999999999A","b":"0x02003FB999999999999A"},"result":{"expect":"0x02004033FFFFFFFFFFFF"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02010178054033FFFFFFFFFFFF4023FFFFFFFFFFFF401AAAAAAAAAAAAB4013FFFFFFFFFFFF4010000000000000"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02010179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000"},"result":{"expect":"0x02020178050179054033FFFFFFFFFFFF402E000000000000402AAAAAAAAAAAAB4028FFFFFFFFFFFF4027FFFFFFFFFFFF402E0000000000004023FFFFFFFFFFFF4020AAAAAAAAAAAB401E000000000000401BFFFFFFFFFFFF402AAAAAAAAAAAAB4020AAAAAAAAAAAB401AAAAAAAAAAAAB401755555555555540155555555555564028FFFFFFFFFFFF401E00000000000040175555555555554013FFFFFFFFFFFF40120000000000004027FFFFFFFFFFFF401BFFFFFFFFFFFF401555555555555640120000000000004010000000000000"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE0000000000000","b":"0x02020178050179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A400266666666666640033333333333334004000000000000"},"result":{"expect":"0x02020178050179054033FFFFFFFFFFFF402E000000000000402AAAAAAAAAAAAB4028FFFFFFFFFFFF4027FFFFFFFFFFFF401AAAAAAAAAAAAB4019B6DB6DB6DB6E4018FFFFFFFFFFFF401871C71C71C71C4017FFFFFFFFFFFF4010F83E0F83E0F84010AAAAAAAAAAAB4010690690690691401030C30C30C30C40100000000000014008FFFFFFFFFFFF4008B4B4B4B4B4B5400871C71C71C71C400835E50D79435E4007FFFFFFFFFFFF4003CF3CF3CF3CF44003A2E8BA2E8BA340037A6F4DE9BD3840035555555555554003333333333333"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x02020178050179033FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000"},"result":{"expect":"0x02020178050179034033FFFFFFFFFFFF4023FFFFFFFFFFFF401AAAAAAAAAAAAB4013FFFFFFFFFFFF4010000000000000400AAAAAAAAAAAAB4006DB6DB6DB6DB74003FFFFFFFFFFFF4001C71C71C71C7240000000000000003FFD1745D1745D173FFAAAAAAAAAAAAB3FF89D89D89D89D83FF6DB6DB6DB6DB73FF5555555555555"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02020178030179053FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0202017905017A073FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF80000000000003FF999999999999A3FFB3333333333333FFCCCCCCCCCCCCD3FFE66666666666640000000000000004000CCCCCCCCCCCD400199999999999A4002666666666666400333333333333340040000000000004004CCCCCCCCCCCD400599999999999A4006666666666666400733333333333340080000000000004008CCCCCCCCCCCD400999999999999A400A666666666666400B333333333333400C000000000000"},"result":{"expect":"0x0203017803017905017A074033FFFFFFFFFFFF402E000000000000402AAAAAAAAAAAAB4028FFFFFFFFFFFF4027FFFFFFFFFFFF40275555555555554026DB6DB6DB6DB74018FFFFFFFFFFFF401871C71C71C71C4017FFFFFFFFFFFF4017A2E8BA2E8BA24017555555555555401713B13B13B13B4016DB6DB6DB6DB74010000000000001400FAAAAAAAAAAAC400F5F5F5F5F5F5F400F1C71C71C71C7400EE08FB823EE09400EAAAAAAAAAAAA400E79E79E79E79E4007A2E8BA2E8BA240077A6F4DE9BD3840075555555555554007333333333333400713B13B13B13B4006F684BDA12F684006DB6DB6DB6DB74002C234F72C234F4002AAAAAAAAAAAB400294A5294A5295400280000000000040026C9B26C9B26D40025A5A5A5A5A5A40024924924924924027555555555555401AAAAAAAAAAAAB40140000000000004010AAAAAAAAAAAB400D555555555556400AAAAAAAAAAAAB4008C30C30C30C3040056DB6DB6DB6DC400451451451451540036DB6DB6DB6DC4002B3884FCACE214002186186186186400195195195195240012492492492493FFEAAAAAAAAAAA93FFE0000000000003FFD6969696969693FFCE38E38E38E383FFC6BCA1AF286BD3FFBFFFFFFFFFFFF3FFB9E79E79E79E83FF90CEDE62433B73FF8BBFB0D9A96E13FF871C71C71C71C3FF82D82D82D82D83FF7EE7EE7EE7EE73FF7B425ED097B423FF77DF7DF7DF7DF3FF58469EE58469F3FF55555555555553FF5294A5294A5293FF50000000000003FF4D9364D9364D93FF4B4B4B4B4B4B53FF49249249249254025D1745D1745D24017A2E8BA2E8BA24010F83E0F83E0F8400B45D1745D1745400745D1745D174640049B26C9B26C9B4002B3884FCACE214000AAAAAAAAAAAB3FFF1C71C71C71C73FFD5555555555563FFBE0F83E0F83E03FFAAAAAAAAAAAAB3FF9A41A41A41A413FF8C30C30C30C303FF6F96F96F96F963FF64EC4EC4EC4ED3FF5B82E55B82E563FF53253253253253FF4BA8F07414BAA3FF44EC4EC4EC4EC3FF3ED3ED3ED3ED43FF2B3884FCACE213FF262957741314B3FF21861861861863FF1D41D41D41D423FF19519519519523FF15AC056B015AC3FF12492492492493FF02F149902F14A3FF00000000000003FEFA7E9FA7E9FA73FEF5555555555543FEF07C1F07C1F093FEEBEBEBEBEBEC03FEE79E79E79E79E"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333"},"result":{"expect":"0x010101780301614033FFFFFFFFFFFF01624023FFFFFFFFFFFF0163401AAAAAAAAAAAAB"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010101780201613FB999999999999A01623FC999999999999A"},"result":{"expect":"0x010101780201614033FFFFFFFFFFFF01624023FFFFFFFFFFFF"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x0101017903036261723FC999999999999A0362617A3FD333333333333303666F6F3FB999999999999A"},"result":{"expect":"0x01020178017909016103626172402E00000000000001610362617A402AAAAAAAAAAAAB016103666F6F4033FFFFFFFFFFFF0162036261724023FFFFFFFFFFFF01620362617A4020AAAAAAAAAAAB016203666F6F402E0000000000000163036261724020AAAAAAAAAAAB01630362617A401AAAAAAAAAAAAB016303666F6F402AAAAAAAAAAAAB"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB999999999999A01623FC999999999999A01633FD3333333333333","b":"0x010201780179090161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A0163036261723FE999999999999A01630362617A3FECCCCCCCCCCCCD016303666F6F3FE6666666666666"},"result":{"expect":"0x01020178017909016103626172402E00000000000001610362617A402AAAAAAAAAAAAB016103666F6F4033FFFFFFFFFFFF016203626172401BFFFFFFFFFFFF01620362617A401AAAAAAAAAAAAB016203666F6F401E000000000000016303626172401255555555555601630362617A4011C71C71C71C71016303666F6F40130C30C30C30C3"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x010201780179060161036261723FC999999999999A016103666F6F3FB999999999999A0162036261723FD999999999999A016203666F6F3FD33333333333330163036261723FE3333333333333016303666F6F3FE0000000000000"},"result":{"expect":"0x010201780179040161036261724023FFFFFFFFFFFF016103666F6F4033FFFFFFFFFFFF0162036261724012000000000000016203666F6F4017555555555555"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010201780179060161036261723FC999999999999A01610362617A3FD3333333333333016103666F6F3FB999999999999A0162036261723FE000000000000001620362617A3FE3333333333333016203666F6F3FD999999999999A","b":"0x01020179017A080362617201693FE000000000000003626172016A3FE333333333333303626172016B3FE666666666666603626172016C3FE999999999999A03666F6F01693FB999999999999A03666F6F016A3FC999999999999A03666F6F016B3FD333333333333303666F6F016C3FD999999999999A"},"result":{"expect":"0x010301780179017A100161036261720169401BFFFFFFFFFFFF016103626172016A401AAAAAAAAAAAAB016103626172016B4019B6DB6DB6DB6E016103626172016C4018FFFFFFFFFFFF016103666F6F01694033FFFFFFFFFFFF016103666F6F016A402E000000000000016103666F6F016B402AAAAAAAAAAAAB016103666F6F016C4028FFFFFFFFFFFF01620362617201694010000000000000016203626172016A400D555555555556016203626172016B400B6DB6DB6DB6DC016203626172016C400A000000000000016203666F6F01694028FFFFFFFFFFFF016203666F6F016A401E000000000000016203666F6F016B4017555555555555016203666F6F016C4013FFFFFFFFFFFF"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x030101790101780302036261723FC999999999999A3FD999999999999A3FE333333333333303666F6F3FB999999999999A3FD33333333333333FE0000000000000","b":"0x0301017901017A0702036261723FE999999999999A3FECCCCCCCCCCCCD3FF00000000000003FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF666666666666603666F6F3FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE00000000000003FE33333333333333FE6666666666666"},"result":{"expect":"0x0301017902017803017A0702036261724018FFFFFFFFFFFF401871C71C71C71C4017FFFFFFFFFFFF4017A2E8BA2E8BA24017555555555555401713B13B13B13B4016DB6DB6DB6DB7400E000000000000400CE38E38E38E38400BFFFFFFFFFFFF400B45D1745D1745400AAAAAAAAAAAAB400A2762762762774009B6DB6DB6DB6E4007555555555555400638E38E38E38E400555555555555640049B26C9B26C9B400400000000000040037CB7CB7CB7CB40030C30C30C30C303666F6F4033FFFFFFFFFFFF402E000000000000402AAAAAAAAAAAAB4028FFFFFFFFFFFF4027FFFFFFFFFFFF40275555555555554026DB6DB6DB6DB7402AAAAAAAAAAAAB4020AAAAAAAAAAAB401AAAAAAAAAAAAB40175555555555554015555555555556401400000000000040130C30C30C30C34027FFFFFFFFFFFF401BFFFFFFFFFFFF401555555555555640120000000000004010000000000000400D555555555556400B6DB6DB6DB6DC"}}
-{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x03010178010179050301613FB999999999999A3FC999999999999A3FD33333333333333FD999999999999A3FE000000000000001623FE33333333333333FE66666666666663FE999999999999A3FECCCCCCCCCCCCD3FF000000000000001633FF199999999999A3FF33333333333333FF4CCCCCCCCCCCD3FF66666666666663FF8000000000000","b":"0x0301017A010179050401693FB999999999999A3FE00000000000003FECCCCCCCCCCCCD3FF4CCCCCCCCCCCD3FFB333333333333016A3FC999999999999A3FE33333333333333FF00000000000003FF66666666666663FFCCCCCCCCCCCCD016B3FD33333333333333FE66666666666663FF199999999999A3FF80000000000003FFE666666666666016C3FD999999999999A3FE999999999999A3FF33333333333333FF999999999999A4000000000000000"},"result":{"expect":"0x03020178017A010179050C016101694033FFFFFFFFFFFF401BFFFFFFFFFFFF4011C71C71C71C71400A2762762762774004B4B4B4B4B4B50161016A402E000000000000401AAAAAAAAAAAAB40115555555555564009B6DB6DB6DB6E400471C71C71C71C0161016B402AAAAAAAAAAAAB4019B6DB6DB6DB6E4010F83E0F83E0F84009555555555554400435E50D79435E0161016C4028FFFFFFFFFFFF4018FFFFFFFFFFFF4010AAAAAAAAAAAB4008FFFFFFFFFFFF4004000000000000016201694027555555555555400B6DB6DB6DB6DC4002E38E38E38E393FFE15E15E15E15E3FF969696969696A0162016A401AAAAAAAAAAAAB4008C30C30C30C3040020000000000003FFD34D34D34D34D3FF8E38E38E38E380162016B40140000000000004006DB6DB6DB6DB7400145D1745D17463FFC71C71C71C71C3FF86BCA1AF286BD0162016C4010AAAAAAAAAAAB40056DB6DB6DB6DC4000AAAAAAAAAAAB3FFBC71C71C71C713FF8000000000000016301694025D1745D1745D24006AAAAAAAAAAAB3FFE15E15E15E15E3FF7BC7BC7BC7BC93FF41414141414150163016A4017A2E8BA2E8BA240040000000000003FFC4EC4EC4EC4EB3FF6DB6DB6DB6DB73FF38E38E38E38E30163016B4010F83E0F83E0F840021861861861863FFADA67D508F3783FF61861861861873FF31674C59D31680163016C400B45D1745D17454000AAAAAAAAAAAB3FF9A41A41A41A413FF56DB6DB6DB6DC3FF2AAAAAAAAAAAB"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x0301017A0101790504016900000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000016B3FF000000000000000000000000000003FF00000000000003FF00000000000000000000000000000016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x030101780101790503016100000000000000003FF00000000000003FF000000000000000000000000000003FF000000000000001623FF000000000000000000000000000003FF00000000000003FF0000000000000000000000000000001633FF00000000000003FF000000000000000000000000000003FF00000000000003FF0000000000000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FF00000000000003FF000000000000000000000000000003FF00000000000000161016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000161016C00000000000000003FF00000000000003FF000000000000000000000000000003FF0000000000000016201693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016A3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000162016B3FF000000000000000000000000000003FF00000000000003FF000000000000000000000000000000162016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000016301693FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016A3FF00000000000003FF000000000000000000000000000003FF00000000000003FF00000000000000163016B3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000000163016C3FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF0000000000000"}}
+{"expression":"join(a,b,f(a,b)(a||b))","inputs":{"a":"0x070101017801017905030161000000003F8000003F800000000000003F80000001623F800000000000003F8000003F8000000000000001633F8000003F800000000000003F8000003F800000","b":"0x070101017A01017905040169000000003F8000003F800000000000003F800000016A3F8000003F800000000000003F8000003F800000016B3F800000000000003F8000003F80000000000000016C000000003F8000003F800000000000003F800000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003F8000003F800000000000003F8000000161016A3F8000003F8000003F8000003F8000003F8000000161016B3F8000003F8000003F8000003F8000003F8000000161016C000000003F8000003F800000000000003F800000016201693F8000003F8000003F8000003F8000003F8000000162016A3F8000003F8000003F8000003F8000003F8000000162016B3F800000000000003F8000003F800000000000000162016C3F8000003F8000003F8000003F8000003F800000016301693F8000003F8000003F8000003F8000003F8000000163016A3F8000003F800000000000003F8000003F8000000163016B3F8000003F8000003F8000003F8000003F8000000163016C3F8000003F8000003F8000003F8000003F800000"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FF1B6E192EBBE443FF3FC176B7A85603FF5368C951E9CFD3FF5F97315254857"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F490FDB3EED63383EA4BC7D3E7ADBB03E4A2210"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F490FDB3F8DB70D3F9FE0BB3FA9B4653FAFCB99"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FF1B6E192EBBE443FE921FB54442D183FE2D0EAD60663953FDDAC670561BB4F3FD85A376B677DC03FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FF5368C951E9CFD3FF1B6E192EBBE443FEDAC670561BB4F3FE921FB54442D183FE5977A5103EA923FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FD4978FA3269EE13FD1CFA95F7A8DCE3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FD10A4608E6284A3FCF5B75F92C80DD3FCD07BEA194B9913FCB051B394C33AA3FC94441F8F7260B3FCF5B75F92C80DD3FCD94610502338B3FCBFD581196F5C13FCA8F3C814A92D63FC94441F8F7260B3FCDEB4BEABF5A573FCC9AE19AA8FE1F3FCB665729A20CE23FCA4A6567A8DCF33FC94441F8F7260B"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FF1B6E192EBBE443FE921FB54442D183FE2D0EAD60663953FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FDDAC670561BB4F3FD85A376B677DC03FD4978FA3269EE13FE4978FA3269EE13FE14B1DD5F90CE13FDDAC670561BB4F"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DD3FC7057081D704E63FC60A593E8618933FC52397843C9ADD3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846343FE5274400EEA72B3FE38B112D7BD4AD3FE222A54FDE6FA83FE0E5FC62BB05C33FDF9CBC4269AB2B3FDDAC670561BB4F3FDF5B75F92C80DD3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A13FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5443FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A23FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36153FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA83FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2B3FDE9D53842EF0543FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9F03FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DD3FC7057081D704E63FC60A593E8618933FC52397843C9ADD3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846343FE5274400EEA72B3FE38B112D7BD4AD3FE222A54FDE6FA83FE0E5FC62BB05C33FDF9CBC4269AB2B3FDDAC670561BB4F3FDF5B75F92C80DD3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A13FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5443FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A23FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36153FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA83FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2B3FDE9D53842EF0543FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9F03FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DD3FC7057081D704E63FC60A593E8618933FC52397843C9ADD3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846343FE5274400EEA72B3FE38B112D7BD4AD3FE222A54FDE6FA83FE0E5FC62BB05C33FDF9CBC4269AB2B3FDDAC670561BB4F3FDF5B75F92C80DD3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A13FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5443FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A23FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36153FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA83FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2B3FDE9D53842EF0543FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9F03FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F490FDB3EED63383EA4BC7D3E7ADBB03E4A22103E291CBC3E114D763E7ADBB03E5FEAC13E4A22103E382B843E291CBC3E1C501B3E114D763E4A22103E3DCBDA3E32DD453E291CBC3E205C3E3E18769B3E114D763E382B843E3052CA3E291CBC3E2276863E1C501B3E169BB53E114D763E2ED5363E291CBC3E23C0443E1EB7773E19FAF83E15843D3E114D763FB3EC433F9FE0BB3F8DB70D3F7B985F3F6045573F490FDB3F3568883F38053E3F293A203F1C58893F11152A3F072FE33EFCE5E23EED63383EFADBB03EED63383EE1330C3ED621803ECC0B223EC2D1BB3EBA5B733EC6D1B63EBEF83F3EB7B0CA3EB0ECA93EAA9EFF3EA4BC7D3E9F3B2B3EAA03B33EA4BC7D3E9FC3FC3E9B13BA3E96A5EA3E9275563E8E7D4B3FBD751C3FB20A6A3FA6FB4F3F9C6B533F9274203F8925433F8085453F7B985F3F6D63383F6045573F542F743F490FDB3F3ED3D03F3568883F36CEA63F2EAC4C3F2720F53F201FCA3F199CE43F138D543F0DE7193F11152A3F0BFA5A3F072FE33F02AF5D3EFCE5E23EF4EA9C3EED63383EF4669D3EED63383EE6BD153EE06DA63EDA6EEB3ED4BB613ECF4DFA"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FE921FB54442D1801623FE921FB54442D1801633FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FE921FB54442D1801623FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE1016103666F6F3FE921FB54442D180162036261723FE921FB54442D1801620362617A3FE2D0EAD6066395016203666F6F3FF1B6E192EBBE440163036261723FEF730BD281F69B01630362617A3FE921FB54442D18016303666F6F3FF3FC176B7A8560"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE1016103666F6F3FE921FB54442D180162036261723FD85A376B677DC001620362617A3FD4978FA3269EE1016203666F6F3FDDAC670561BB4F0163036261723FD6F61941E4DEF101630362617A3FD4978FA3269EE1016303666F6F3FD9E9BF3D20DC71"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FE921FB54442D18016103666F6F3FE921FB54442D180162036261723FECAC7C57846F9E016203666F6F3FEDAC670561BB4F"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE1016103626172016B3FD1CFA95F7A8DCE016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE1016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8A016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB4F016203666F6F016C3FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE1016103626172016B3FD1CFA95F7A8DCE016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE1016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8A016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB4F016203666F6F016C3FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE1016103626172016B3FD1CFA95F7A8DCE016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE1016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8A016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB4F016203666F6F016C3FE921FB54442D18"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693EC2D1BB016103626172016A3EA4BC7D016103626172016B3E8E7D4B016103626172016C3E7ADBB0016103666F6F01693F490FDB016103666F6F016A3EED6338016103666F6F016B3EA4BC7D016103666F6F016C3E7ADBB001620362617201693F490FDB016203626172016A3F31DA5E016203626172016B3F1EC8AC016203626172016C3F0F005D016203666F6F01693FA9B465016203666F6F016A3F8DB70D016203666F6F016B3F6D6338016203666F6F016C3F490FDB"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FDDAC670561BB4F3FDAC42FFA7BCBCF3FD85A376B677DC03FD652439D8BE7163FD4978FA3269EE13FD31A9B43436DE13FD1CFA95F7A8DCE3FE4978FA3269EE13FE2D0EAD60663953FE14B1DD5F90CE13FDFF54BF3BEC8433FDDAC670561BB4F3FDBAC91A9A723ED3FD9E9BF3D20DC7103666F6F3FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FDDAC670561BB4F3FD9E9BF3D20DC713FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D183FE63B4BC3F16A8A3FE3D91573350661"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE13FD2A73A661EAF063FD1CFA95F7A8DCE3FD15731754A18210161016B3FD4978FA3269EE13FD1CFA95F7A8DCE3FD10A4608E6284A3FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353D03FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C523FE5977A5103EA923FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BD0162016C3FEF730BD281F69B3FE700A7C57846343FE2D0EAD60663953FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEE03FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846343FE4978FA3269EE1"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE13FD2A73A661EAF063FD1CFA95F7A8DCE3FD15731754A18210161016B3FD4978FA3269EE13FD1CFA95F7A8DCE3FD10A4608E6284A3FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353D03FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C523FE5977A5103EA923FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BD0162016C3FEF730BD281F69B3FE700A7C57846343FE2D0EAD60663953FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEE03FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846343FE4978FA3269EE1"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE13FD2A73A661EAF063FD1CFA95F7A8DCE3FD15731754A18210161016B3FD4978FA3269EE13FD1CFA95F7A8DCE3FD10A4608E6284A3FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353D03FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C523FE5977A5103EA923FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BD0162016C3FEF730BD281F69B3FE700A7C57846343FE2D0EAD60663953FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEE03FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846343FE4978FA3269EE1"}}
+{"expression":"atan2(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F490FDB3EC2D1BB3EA4BC7D3E98D4DA3E9275560161016A3EED63383EA4BC7D3E9539D33E8E7D4B3E8AB98C0161016B3EA4BC7D3E8E7D4B3E8852303E856DAD3E83BFEF0161016C3E7ADBB03E7ADBB03E7ADBB03E7ADBB03E7ADBB0016201693FB3EC433F73570A3F3A053C3F1B04FA3F081F120162016A3F9FE0BB3F5CB72D3F2CBBD33F12432C3F01D1350162016B3F8DB70D3F490FDB3F20F8CB3F0A58EF3EF80D7E0162016C3F7B985F3F38053E3F1687573F032BF53EED6338016301693FBD751C3F9687573F771ABC3F528A013F39152D0163016A3FB20A6A3F8DB70D3F6A440A3F490FDB3F31DA5E0163016B3FA6FB4F3F8577E93F5E58993F403CE33F2B15040163016C3F9C6B533F7B985F3F534BE63F38053E3F24BC7D"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FF1B6E192EBBE443FF3FC176B7A85603FF5368C951E9CFD3FF5F97315254857"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053F490FDB3EED63383EA4BC7D3E7ADBB03E4A2210"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053F490FDB3F8DB70D3F9FE0BB3FA9B4653FAFCB99"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D183FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FF1B6E192EBBE443FE921FB54442D183FE2D0EAD60663953FDDAC670561BB4F3FD85A376B677DC03FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FF5368C951E9CFD3FF1B6E192EBBE443FEDAC670561BB4F3FE921FB54442D183FE5977A5103EA923FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FD4978FA3269EE13FD1CFA95F7A8DCE3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FD10A4608E6284A3FCF5B75F92C80DD3FCD07BEA194B9913FCB051B394C33AA3FC94441F8F7260B3FCF5B75F92C80DD3FCD94610502338B3FCBFD581196F5C13FCA8F3C814A92D63FC94441F8F7260B3FCDEB4BEABF5A573FCC9AE19AA8FE1F3FCB665729A20CE23FCA4A6567A8DCF33FC94441F8F7260B"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FF1B6E192EBBE443FE921FB54442D183FE2D0EAD60663953FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FDDAC670561BB4F3FD85A376B677DC03FD4978FA3269EE13FE4978FA3269EE13FE14B1DD5F90CE13FDDAC670561BB4F"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DD3FC7057081D704E63FC60A593E8618933FC52397843C9ADD3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846343FE5274400EEA72B3FE38B112D7BD4AD3FE222A54FDE6FA83FE0E5FC62BB05C33FDF9CBC4269AB2B3FDDAC670561BB4F3FDF5B75F92C80DD3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A13FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5443FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A23FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36153FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA83FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2B3FDE9D53842EF0543FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9F03FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DD3FC7057081D704E63FC60A593E8618933FC52397843C9ADD3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846343FE5274400EEA72B3FE38B112D7BD4AD3FE222A54FDE6FA83FE0E5FC62BB05C33FDF9CBC4269AB2B3FDDAC670561BB4F3FDF5B75F92C80DD3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A13FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5443FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A23FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36153FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA83FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2B3FDE9D53842EF0543FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9F03FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FC94441F8F7260B3FC7B97B4BCE5B023FC65BA89B2161AB3FC52397843C9ADD3FC40B87C210A2E53FC30ED367D7CD043FC229AEC47638DD3FC7057081D704E63FC60A593E8618933FC52397843C9ADD3FC44ED0CD36E62E3FC38A03609B65453FC2D376AB2BDC173FC229AEC47638DD3FC5DAA6C2C7EF143FC52397843C9ADD3FC47808811538043FC3D6EEE8C6626C3FC33F5EF6C590243FC2B08797D7AFC63FC229AEC47638DD3FF67D8863BC99BD3FF3FC176B7A85603FF1B6E192EBBE443FEF730BD281F69B3FEC08AAE496EFA63FE921FB54442D183FE6AD1100FBFDDF3FE700A7C57846343FE5274400EEA72B3FE38B112D7BD4AD3FE222A54FDE6FA83FE0E5FC62BB05C33FDF9CBC4269AB2B3FDDAC670561BB4F3FDF5B75F92C80DD3FDDAC670561BB4F3FDC266181253B883FDAC42FFA7BCBCF3FD9816449B6FD543FD85A376B677DC03FD74B6E64A9083C3FD8DA36C0BE6CAA3FD7DF07E4BC36343FD6F61941E4DEF13FD61D9527631EA93FD553DFE7B697BA3FD4978FA3269EE13FD3E765551408AD3FD540765A5B20A13FD4978FA3269EE13FD3F87F84C579703FD362773707EBCC3FD2D4BD36A057653FD24EAAB4C991EE3FD1CFA95F7A8DCE3FF7AEA38C1ACBD13FF6414D44094C7C3FF4DF69D20AA3063FF38D6A6CE133533FF24E83FA9B4E483FF124A857547B083FF010A8AC54F5443FEF730BD281F69B3FEDAC670561BB4F3FEC08AAE496EFA63FEA85EE761A35A23FE921FB54442D183FE7DA79F20CC4433FE6AD1100FBFDDF3FE6D9D4BC9D58283FE5D58987169B183FE4E41E9E3C36153FE403F933FEDF173FE3339C815096583FE271AA72553ED53FE1BCE31303A0353FE222A54FDE6FA83FE17F4B4FADFC703FE0E5FC62BB05C33FE055EB9AF3EB4A3FDF9CBC4269AB2B3FDE9D53842EF0543FDDAC670561BB4F3FDE8CD3A58C421F3FDDAC670561BB4F3FDCD7A29A45A6ED3FDC0DB4C94EC9F03FDB4DDD66A37B403FDA976C28F401F63FD9E9BF3D20DC71"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073F490FDB3EED63383EA4BC7D3E7ADBB03E4A22103E291CBC3E114D763E7ADBB03E5FEAC13E4A22103E382B843E291CBC3E1C501B3E114D763E4A22103E3DCBDA3E32DD453E291CBC3E205C3E3E18769B3E114D763E382B843E3052CA3E291CBC3E2276863E1C501B3E169BB53E114D763E2ED5363E291CBC3E23C0443E1EB7773E19FAF83E15843D3E114D763FB3EC433F9FE0BB3F8DB70D3F7B985F3F6045573F490FDB3F3568883F38053E3F293A203F1C58893F11152A3F072FE33EFCE5E23EED63383EFADBB03EED63383EE1330C3ED621803ECC0B223EC2D1BB3EBA5B733EC6D1B63EBEF83F3EB7B0CA3EB0ECA93EAA9EFF3EA4BC7D3E9F3B2B3EAA03B33EA4BC7D3E9FC3FC3E9B13BA3E96A5EA3E9275563E8E7D4B3FBD751C3FB20A6A3FA6FB4F3F9C6B533F9274203F8925433F8085453F7B985F3F6D63383F6045573F542F743F490FDB3F3ED3D03F3568883F36CEA63F2EAC4C3F2720F53F201FCA3F199CE43F138D543F0DE7193F11152A3F0BFA5A3F072FE33F02AF5D3EFCE5E23EF4EA9C3EED63383EF4669D3EED63383EE6BD153EE06DA63EDA6EEB3ED4BB613ECF4DFA"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FE921FB54442D1801623FE921FB54442D1801633FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FE921FB54442D1801623FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE1016103666F6F3FE921FB54442D180162036261723FE921FB54442D1801620362617A3FE2D0EAD6066395016203666F6F3FF1B6E192EBBE440163036261723FEF730BD281F69B01630362617A3FE921FB54442D18016303666F6F3FF3FC176B7A8560"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FDDAC670561BB4F01610362617A3FD4978FA3269EE1016103666F6F3FE921FB54442D180162036261723FD85A376B677DC001620362617A3FD4978FA3269EE1016203666F6F3FDDAC670561BB4F0163036261723FD6F61941E4DEF101630362617A3FD4978FA3269EE1016303666F6F3FD9E9BF3D20DC71"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FE921FB54442D18016103666F6F3FE921FB54442D180162036261723FECAC7C57846F9E016203666F6F3FEDAC670561BB4F"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE1016103626172016B3FD1CFA95F7A8DCE016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE1016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8A016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB4F016203666F6F016C3FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE1016103626172016B3FD1CFA95F7A8DCE016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE1016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8A016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB4F016203666F6F016C3FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FD85A376B677DC0016103626172016A3FD4978FA3269EE1016103626172016B3FD1CFA95F7A8DCE016103626172016C3FCF5B75F92C80DD016103666F6F01693FE921FB54442D18016103666F6F016A3FDDAC670561BB4F016103666F6F016B3FD4978FA3269EE1016103666F6F016C3FCF5B75F92C80DD01620362617201693FE921FB54442D18016203626172016A3FE63B4BC3F16A8A016203626172016B3FE3D91573350661016203626172016C3FE1E00BABDEFEB4016203666F6F01693FF5368C951E9CFD016203666F6F016A3FF1B6E192EBBE44016203666F6F016B3FEDAC670561BB4F016203666F6F016C3FE921FB54442D18"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693EC2D1BB016103626172016A3EA4BC7D016103626172016B3E8E7D4B016103626172016C3E7ADBB0016103666F6F01693F490FDB016103666F6F016A3EED6338016103666F6F016B3EA4BC7D016103666F6F016C3E7ADBB001620362617201693F490FDB016203626172016A3F31DA5E016203626172016B3F1EC8AC016203626172016C3F0F005D016203666F6F01693FA9B465016203666F6F016A3F8DB70D016203666F6F016B3F6D6338016203666F6F016C3F490FDB"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FCF5B75F92C80DD3FCBFD581196F5C13FC94441F8F7260B3FC7057081D704E63FC52397843C9ADD3FC38A03609B65453FC229AEC47638DD3FDDAC670561BB4F3FDAC42FFA7BCBCF3FD85A376B677DC03FD652439D8BE7163FD4978FA3269EE13FD31A9B43436DE13FD1CFA95F7A8DCE3FE4978FA3269EE13FE2D0EAD60663953FE14B1DD5F90CE13FDFF54BF3BEC8433FDDAC670561BB4F3FDBAC91A9A723ED3FD9E9BF3D20DC7103666F6F3FE921FB54442D183FDDAC670561BB4F3FD4978FA3269EE13FCF5B75F92C80DD3FC94441F8F7260B3FC52397843C9ADD3FC229AEC47638DD3FF3FC176B7A85603FEF730BD281F69B3FE921FB54442D183FE4978FA3269EE13FE14B1DD5F90CE13FDDAC670561BB4F3FD9E9BF3D20DC713FF5F973152548573FF30B6D796A4DA83FF07C6C6947A6A83FECAC7C57846F9E3FE921FB54442D183FE63B4BC3F16A8A3FE3D91573350661"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE13FD2A73A661EAF063FD1CFA95F7A8DCE3FD15731754A18210161016B3FD4978FA3269EE13FD1CFA95F7A8DCE3FD10A4608E6284A3FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353D03FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C523FE5977A5103EA923FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BD0162016C3FEF730BD281F69B3FE700A7C57846343FE2D0EAD60663953FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEE03FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846343FE4978FA3269EE1"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE13FD2A73A661EAF063FD1CFA95F7A8DCE3FD15731754A18210161016B3FD4978FA3269EE13FD1CFA95F7A8DCE3FD10A4608E6284A3FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353D03FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C523FE5977A5103EA923FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BD0162016C3FEF730BD281F69B3FE700A7C57846343FE2D0EAD60663953FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEE03FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846343FE4978FA3269EE1"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FE921FB54442D183FD85A376B677DC03FD4978FA3269EE13FD31A9B43436DE13FD24EAAB4C991EE0161016A3FDDAC670561BB4F3FD4978FA3269EE13FD2A73A661EAF063FD1CFA95F7A8DCE3FD15731754A18210161016B3FD4978FA3269EE13FD1CFA95F7A8DCE3FD10A4608E6284A3FD0ADB5A7741C043FD077FDE3124EAA0161016C3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD3FCF5B75F92C80DD016201693FF67D8863BC99BD3FEE6AE1355353D03FE740A77023BDA93FE3609F33CE6BDF3FE103E230EBECF30162016A3FF3FC176B7A85603FEB96E5A78C5C523FE5977A5103EA923FE2486589DBA9E03FE03A26A486E6310162016B3FF1B6E192EBBE443FE921FB54442D183FE41F1963C0045F3FE14B1DD5F90CE13FDF01AFB73642BD0162016C3FEF730BD281F69B3FE700A7C57846343FE2D0EAD60663953FE0657E94DB30D03FDDAC670561BB4F016301693FF7AEA38C1ACBD13FF2D0EAD60663953FEEE35774B9EE523FEA514023A34D203FE722A598D15D3A0163016A3FF6414D44094C7C3FF1B6E192EBBE443FED488143AD8C443FE921FB54442D183FE63B4BC3F16A8A0163016B3FF4DF69D20AA3063FF0AEFD22E6AA373FEBCB1321414BE03FE8079C6293AEE03FE562A07DC47C8F0163016C3FF38D6A6CE133533FEF730BD281F69B3FEA697CB67B95EE3FE700A7C57846343FE4978FA3269EE1"}}
+{"expression":"join(a,b,f(a,b)(atan2(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693F490FDB3EC2D1BB3EA4BC7D3E98D4DA3E9275560161016A3EED63383EA4BC7D3E9539D33E8E7D4B3E8AB98C0161016B3EA4BC7D3E8E7D4B3E8852303E856DAD3E83BFEF0161016C3E7ADBB03E7ADBB03E7ADBB03E7ADBB03E7ADBB0016201693FB3EC433F73570A3F3A053C3F1B04FA3F081F120162016A3F9FE0BB3F5CB72D3F2CBBD33F12432C3F01D1350162016B3F8DB70D3F490FDB3F20F8CB3F0A58EF3EF80D7E0162016C3F7B985F3F38053E3F1687573F032BF53EED6338016301693FBD751C3F9687573F771ABC3F528A013F39152D0163016A3FB20A6A3F8DB70D3F6A440A3F490FDB3F31DA5E0163016B3FA6FB4F3F8577E93F5E58993F403CE33F2B15040163016C3F9C6B533F7B985F3F534BE63F38053E3F24BC7D"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053D8000003D8000003D8000003D8000003D800000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE4000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FF40000000000003FF40000000000003FF40000000000003FF40000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF40000000000003FF40000000000003FF400000000000040040000000000004004000000000000400400000000000040040000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFE0000000000003FFE0000000000003FFE000000000000400E000000000000400E000000000000400E000000000000400E000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FF40000000000003FF40000000000003FF40000000000003FF40000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF40000000000003FF40000000000003FF400000000000040040000000000004004000000000000400400000000000040040000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFE0000000000003FFE0000000000003FFE000000000000400E000000000000400E000000000000400E000000000000400E000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FF40000000000003FF40000000000003FF40000000000003FF40000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF40000000000003FF40000000000003FF400000000000040040000000000004004000000000000400400000000000040040000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFE0000000000003FFE0000000000003FFE000000000000400E000000000000400E000000000000400E000000000000400E000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073D8000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003EC000003EC000003EC000003EC000003EC000003EC000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F2000003F2000003F2000003FA000003FA000003FA000003FA000003EC000003EC000003EC000003EC000003EC000003EC000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F8000003F8000003F8000003F8000003F8000003F8000003F9000003F9000003F9000003F9000003F9000003F9000003F9000003FA000003FA000003FA00000402000004020000040200000402000003F3000003F3000003F3000003F3000003F3000003F3000003F3000003F4000003F4000003F4000003F4000003F4000003F4000003F4000003F5000003FD000003FD000003FD000003FD000003FD000003FD000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FF000003FF000003FF0000040700000407000004070000040700000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FB000000000000001623FC0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD4000000000000016203666F6F3FD0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F01693D800000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D80000001620362617201693EA00000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F01693E800000016203666F6F016A3E800000016203666F6F016B3E800000016203666F6F016C3E800000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F3FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FE00000000000003FE4000000000000016201693FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016A3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016B3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016C3FD80000000000003FDC0000000000003FE00000000000003FF20000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FFC0000000000003FFE000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FE00000000000003FE4000000000000016201693FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016A3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016B3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016C3FD80000000000003FDC0000000000003FE00000000000003FF20000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FFC0000000000003FFE000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FE00000000000003FE4000000000000016201693FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016A3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016B3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016C3FD80000000000003FDC0000000000003FE00000000000003FF20000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FFC0000000000003FFE000000000000"}}
+{"expression":"ldexp(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003E0000003E4000003E8000003F2000000161016A3D8000003E0000003E4000003E8000003F2000000161016B3D8000003E0000003E4000003E8000003F2000000161016C3D8000003E0000003E4000003F0000003F200000016201693EC000003EE000003F0000003F1000003FA000000162016A3EC000003EE000003F0000003F1000003FA000000162016B3EC000003EE000003F0000003F1000003FA000000162016C3EC000003EE000003F0000003F9000003FA00000016301693F3000003F4000003F5000003F6000003FF000000163016A3F3000003F4000003F5000003F6000003FF000000163016B3F3000003F4000003F5000003F6000003FF000000163016C3F3000003F4000003F5000003FE000003FF00000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053D8000003D8000003D8000003D8000003D800000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE4000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FF40000000000003FF40000000000003FF40000000000003FF40000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF40000000000003FF40000000000003FF400000000000040040000000000004004000000000000400400000000000040040000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFE0000000000003FFE0000000000003FFE000000000000400E000000000000400E000000000000400E000000000000400E000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FF40000000000003FF40000000000003FF40000000000003FF40000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF40000000000003FF40000000000003FF400000000000040040000000000004004000000000000400400000000000040040000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFE0000000000003FFE0000000000003FFE000000000000400E000000000000400E000000000000400E000000000000400E000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE40000000000003FE40000000000003FE40000000000003FF40000000000003FF40000000000003FF40000000000003FF40000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF00000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF20000000000003FF40000000000003FF40000000000003FF400000000000040040000000000004004000000000000400400000000000040040000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFA0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFC0000000000003FFE0000000000003FFE0000000000003FFE000000000000400E000000000000400E000000000000400E000000000000400E000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073D8000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003EC000003EC000003EC000003EC000003EC000003EC000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F2000003F2000003F2000003FA000003FA000003FA000003FA000003EC000003EC000003EC000003EC000003EC000003EC000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F8000003F8000003F8000003F8000003F8000003F8000003F9000003F9000003F9000003F9000003F9000003F9000003F9000003FA000003FA000003FA00000402000004020000040200000402000003F3000003F3000003F3000003F3000003F3000003F3000003F3000003F4000003F4000003F4000003F4000003F4000003F4000003F4000003F5000003FD000003FD000003FD000003FD000003FD000003FD000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FF000003FF000003FF0000040700000407000004070000040700000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FB000000000000001623FC0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD4000000000000016203666F6F3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F01693D800000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D80000001620362617201693EA00000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F01693E800000016203666F6F016A3E800000016203666F6F016B3E800000016203666F6F016C3E800000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F3FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FE00000000000003FE4000000000000016201693FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016A3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016B3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016C3FD80000000000003FDC0000000000003FE00000000000003FF20000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FFC0000000000003FFE000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FE00000000000003FE4000000000000016201693FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016A3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016B3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016C3FD80000000000003FDC0000000000003FE00000000000003FF20000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FFC0000000000003FFE000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FE40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FE00000000000003FE4000000000000016201693FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016A3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016B3FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FF40000000000000162016C3FD80000000000003FDC0000000000003FE00000000000003FF20000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FFE0000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FFC0000000000003FFE000000000000"}}
+{"expression":"join(a,b,f(a,b)(ldexp(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003E0000003E4000003E8000003F2000000161016A3D8000003E0000003E4000003E8000003F2000000161016B3D8000003E0000003E4000003E8000003F2000000161016C3D8000003E0000003E4000003F0000003F200000016201693EC000003EE000003F0000003F1000003FA000000162016A3EC000003EE000003F0000003F1000003FA000000162016B3EC000003EE000003F0000003F1000003FA000000162016C3EC000003EE000003F0000003F9000003FA00000016301693F3000003F4000003F5000003F6000003FF000000163016A3F3000003F4000003F5000003F6000003FF000000163016B3F3000003F4000003F5000003F6000003FF000000163016C3F3000003F4000003F5000003FE000003FF00000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003D8000003D8000003D8000003D800000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC00000000000003FC00000000000003FC000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC8000000000000000000000000000000000000000000003FB000000000000000000000000000003FD000000000000000000000000000003FB00000000000003FC00000000000003FB00000000000000000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC000000000000000000000000000003FB000000000000000000000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003E4000003E4000003E4000003E4000003E4000003E4000003E8000003E8000003E8000003E8000003E8000003E8000003E8000003EA000003EA000003EA000003EA000003EA000003EA000003EA000000000000000000000000000003E0000003D800000000000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F1000003F1000003F1000003F1000003F1000003F1000003F1000003F2000003F2000003F2000003F2000003F2000003F2000003F200000000000003D8000003E0000003E4000003D8000003EA000003E8000003E8000003E4000003E0000003D800000000000003F4000003F4000003F5000003F5000003F5000003F5000003F5000003F5000003F5000003F6000003F6000003F6000003F6000003F6000003F6000003F6000003F7000003F7000003F7000003F7000003F7000003F7000003F700000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FC0000000000000016203666F6F00000000000000000163036261723FB000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F00000000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB0000000000000016203666F6F3FB0000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F016900000000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D800000016203626172016900000000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B3D800000016203666F6F016C00000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F00000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC80000000000003FC80000000000003FC800000000000000000000000000003FB00000000000003FC00000000000003FB000000000000000000000000000003FD40000000000003FD4000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"fmod(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003E0000003E4000003E8000003EA000000161016A3D8000003E0000003E4000003E8000003EA000000161016B3D8000003E0000003E4000003E8000003EA000000161016C3D8000003E0000003E4000003E8000003EA0000001620169000000003E0000003F0000003F1000003F2000000162016A000000003D8000003F0000003F1000003F2000000162016B00000000000000003F0000003F1000003F2000000162016C3E0000003EE000003F0000003F1000003F20000001630169000000003E0000003E8000003D8000003F7000000163016A3D800000000000003E400000000000003F7000000163016B3E0000003EA000003E0000003F6000003F7000000163016C3E4000003E8000003D8000003F6000003F700000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x060101017805000000003D8000003D8000003D8000003D800000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178050000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780500000000000000000000000000000000000000000000000000000000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC00000000000003FC00000000000003FC000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC8000000000000000000000000000000000000000000003FB000000000000000000000000000003FD000000000000000000000000000003FB00000000000003FC00000000000003FB00000000000000000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x020201780501790500000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0300000000000000003FB00000000000003FB0000000000000000000000000000000000000000000003FC000000000000000000000000000003FB000000000000000000000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A0700000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000000000000000000000000000000000000000000000000000003FC00000000000003FB000000000000000000000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE400000000000000000000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FD40000000000003FD00000000000003FD00000000000003FC80000000000003FC00000000000003FB000000000000000000000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A07000000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003E4000003E4000003E4000003E4000003E4000003E4000003E8000003E8000003E8000003E8000003E8000003E8000003E8000003EA000003EA000003EA000003EA000003EA000003EA000003EA000000000000000000000000000003E0000003D800000000000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F1000003F1000003F1000003F1000003F1000003F1000003F1000003F2000003F2000003F2000003F2000003F2000003F2000003F200000000000003D8000003E0000003E4000003D8000003EA000003E8000003E8000003E4000003E0000003D800000000000003F4000003F4000003F5000003F5000003F5000003F5000003F5000003F5000003F5000003F6000003F6000003F6000003F6000003F6000003F6000003F6000003F7000003F7000003F7000003F7000003F7000003F7000003F700000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016100000000000000000162000000000000000001630000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161000000000000000001620000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F0000000000000000016203626172000000000000000001620362617A3FC0000000000000016203666F6F00000000000000000163036261723FB000000000000001630362617A0000000000000000016303666F6F0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F00000000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261720000000000000000016103666F6F00000000000000000162036261723FB0000000000000016203666F6F3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01690000000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201690000000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01690000000000000000016203666F6F016A0000000000000000016203666F6F016B3FB0000000000000016203666F6F016C0000000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F016900000000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D800000016203626172016900000000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F016900000000016203666F6F016A00000000016203666F6F016B3D800000016203666F6F016C00000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F00000000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB000000000000000000000000000003FB000000000000000000000000000003FC80000000000003FC80000000000003FC80000000000003FC800000000000000000000000000003FB00000000000003FC00000000000003FB000000000000000000000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016900000000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000162016900000000000000003FC00000000000003FE00000000000003FE20000000000003FE40000000000000162016A00000000000000003FB00000000000003FE00000000000003FE20000000000003FE40000000000000162016B000000000000000000000000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FC00000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000163016900000000000000003FC00000000000003FD00000000000003FB00000000000003FEE0000000000000163016A3FB000000000000000000000000000003FC800000000000000000000000000003FEE0000000000000163016B3FC00000000000003FD40000000000003FC00000000000003FEC0000000000003FEE0000000000000163016C3FC80000000000003FD00000000000003FB00000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(fmod(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169000000003E0000003E4000003E8000003EA000000161016A3D8000003E0000003E4000003E8000003EA000000161016B3D8000003E0000003E4000003E8000003EA000000161016C3D8000003E0000003E4000003E8000003EA0000001620169000000003E0000003F0000003F1000003F2000000162016A000000003D8000003F0000003F1000003F2000000162016B00000000000000003F0000003F1000003F2000000162016C3E0000003EE000003F0000003F1000003F20000001630169000000003E0000003E8000003D8000003F7000000163016A3D800000000000003E400000000000003F7000000163016B3E0000003EA000003E0000003F6000003F7000000163016C3E4000003E8000003D8000003F6000003F700000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053D8000003D8000003D8000003D8000003D800000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053D8000003D8000003D8000003D8000003D800000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FB00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD00000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073D8000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003E4000003E4000003E4000003E4000003E4000003E4000003E8000003E8000003E8000003E8000003E8000003E8000003E8000003EA000003EA000003EA000003EA000003EA000003EA000003EA000003D8000003E0000003E4000003E8000003EA000003EC000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F1000003F1000003F1000003F1000003F1000003F1000003F1000003F2000003F2000003F2000003F2000003F2000003F2000003F2000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F4000003F4000003F5000003F5000003F5000003F5000003F5000003F5000003F5000003F6000003F6000003F6000003F6000003F6000003F6000003F6000003F7000003F7000003F7000003F7000003F7000003F7000003F700000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FB000000000000001623FC0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FB00000000000000163036261723FC000000000000001630362617A3FC8000000000000016303666F6F3FB0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC8000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FB0000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FC8000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FB0000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FC8000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FB0000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FC8000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F01693D800000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D80000001620362617201693EA00000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F01693D800000016203666F6F016A3E000000016203666F6F016B3E400000016203666F6F016C3E800000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F3FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000016201693FB00000000000003FD40000000000003FE00000000000003FE20000000000003FE40000000000000162016A3FC00000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000000162016B3FC80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FD00000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000016301693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FEE0000000000000163016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FEE0000000000000163016B3FC80000000000003FDC0000000000003FE60000000000003FEC0000000000003FEE0000000000000163016C3FD00000000000003FE00000000000003FE80000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000016201693FB00000000000003FD40000000000003FE00000000000003FE20000000000003FE40000000000000162016A3FC00000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000000162016B3FC80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FD00000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000016301693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FEE0000000000000163016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FEE0000000000000163016B3FC80000000000003FDC0000000000003FE60000000000003FEC0000000000003FEE0000000000000163016C3FD00000000000003FE00000000000003FE80000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000016201693FB00000000000003FD40000000000003FE00000000000003FE20000000000003FE40000000000000162016A3FC00000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000000162016B3FC80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FD00000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000016301693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FEE0000000000000163016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FEE0000000000000163016B3FC80000000000003FDC0000000000003FE60000000000003FEC0000000000003FEE0000000000000163016C3FD00000000000003FE00000000000003FE80000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"min(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003E0000003E4000003E8000003EA000000161016A3D8000003E0000003E4000003E8000003EA000000161016B3D8000003E0000003E4000003E8000003EA000000161016C3D8000003E0000003E4000003E8000003EA00000016201693D8000003EA000003F0000003F1000003F2000000162016A3E0000003EC000003F0000003F1000003F2000000162016B3E4000003EE000003F0000003F1000003F2000000162016C3E8000003EE000003F0000003F1000003F200000016301693D8000003EA000003F1000003F5000003F7000000163016A3E0000003EC000003F2000003F6000003F7000000163016B3E4000003EE000003F3000003F6000003F7000000163016C3E8000003F0000003F4000003F6000003F700000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053D8000003D8000003D8000003D8000003D800000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053D8000003D8000003D8000003D8000003D800000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FB00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD00000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FB00000000000003FC00000000000003FC80000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD80000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FDC0000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE20000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FE40000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEA0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEC0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073D8000003D8000003D8000003D8000003D8000003D8000003D8000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E4000003E4000003E4000003E4000003E4000003E4000003E4000003E8000003E8000003E8000003E8000003E8000003E8000003E8000003EA000003EA000003EA000003EA000003EA000003EA000003EA000003D8000003E0000003E4000003E8000003EA000003EC000003EC000003EE000003EE000003EE000003EE000003EE000003EE000003EE000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F1000003F1000003F1000003F1000003F1000003F1000003F1000003F2000003F2000003F2000003F2000003F2000003F2000003F2000003D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F4000003F4000003F5000003F5000003F5000003F5000003F5000003F5000003F5000003F6000003F6000003F6000003F6000003F6000003F6000003F6000003F7000003F7000003F7000003F7000003F7000003F7000003F700000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FB000000000000001623FC0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FB00000000000000163036261723FC000000000000001630362617A3FC8000000000000016303666F6F3FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FB000000000000001610362617A3FB0000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC0000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FB0000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FC8000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FB0000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FC8000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FC0000000000000016103626172016A3FC0000000000000016103626172016B3FC0000000000000016103626172016C3FC0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FB0000000000000016103666F6F016B3FB0000000000000016103666F6F016C3FB000000000000001620362617201693FD4000000000000016203626172016A3FD4000000000000016203626172016B3FD4000000000000016203626172016C3FD4000000000000016203666F6F01693FB0000000000000016203666F6F016A3FC0000000000000016203666F6F016B3FC8000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693E000000016103626172016A3E000000016103626172016B3E000000016103626172016C3E000000016103666F6F01693D800000016103666F6F016A3D800000016103666F6F016B3D800000016103666F6F016C3D80000001620362617201693EA00000016203626172016A3EA00000016203626172016B3EA00000016203626172016C3EA00000016203666F6F01693D800000016203666F6F016A3E000000016203666F6F016B3E400000016203666F6F016C3E800000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD800000000000003666F6F3FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FB00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000016201693FB00000000000003FD40000000000003FE00000000000003FE20000000000003FE40000000000000162016A3FC00000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000000162016B3FC80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FD00000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000016301693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FEE0000000000000163016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FEE0000000000000163016B3FC80000000000003FDC0000000000003FE60000000000003FEC0000000000003FEE0000000000000163016C3FD00000000000003FE00000000000003FE80000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000016201693FB00000000000003FD40000000000003FE00000000000003FE20000000000003FE40000000000000162016A3FC00000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000000162016B3FC80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FD00000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000016301693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FEE0000000000000163016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FEE0000000000000163016B3FC80000000000003FDC0000000000003FE60000000000003FEC0000000000003FEE0000000000000163016C3FD00000000000003FE00000000000003FE80000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016A3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016B3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000000161016C3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000016201693FB00000000000003FD40000000000003FE00000000000003FE20000000000003FE40000000000000162016A3FC00000000000003FD80000000000003FE00000000000003FE20000000000003FE40000000000000162016B3FC80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000000162016C3FD00000000000003FDC0000000000003FE00000000000003FE20000000000003FE4000000000000016301693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FEE0000000000000163016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FEE0000000000000163016B3FC80000000000003FDC0000000000003FE60000000000003FEC0000000000003FEE0000000000000163016C3FD00000000000003FE00000000000003FE80000000000003FEC0000000000003FEE000000000000"}}
+{"expression":"join(a,b,f(a,b)(min(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003E0000003E4000003E8000003EA000000161016A3D8000003E0000003E4000003E8000003EA000000161016B3D8000003E0000003E4000003E8000003EA000000161016C3D8000003E0000003E4000003E8000003EA00000016201693D8000003EA000003F0000003F1000003F2000000162016A3E0000003EC000003F0000003F1000003F2000000162016B3E4000003EE000003F0000003F1000003F2000000162016C3E8000003EE000003F0000003F1000003F200000016301693D8000003EA000003F1000003F5000003F7000000163016A3E0000003EC000003F2000003F6000003F7000000163016B3E4000003EE000003F3000003F6000003F7000000163016C3E8000003F0000003F4000003F6000003F700000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FC00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD40000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FB00000000000003FC00000000000003FC80000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD00000000000003FD40000000000003FD80000000000003FD00000000000003FD40000000000003FD8000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C00003EC000003EC000003EC000003EC000003EC000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C00003F3000003F3000003F3000003F3000003F3000003F3000003F3000003F4000003F4000003F4000003F4000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FB000000000000001623FC0000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC8000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD4000000000000016203666F6F3FD0000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FD4000000000000016203626172016A3FD8000000000000016203626172016B3FDC000000000000016203626172016C3FE0000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FD4000000000000016203626172016A3FD8000000000000016203626172016B3FDC000000000000016203626172016C3FE0000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FD4000000000000016203626172016A3FD8000000000000016203626172016B3FDC000000000000016203626172016C3FE0000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693EA00000016203626172016A3EC00000016203626172016B3EE00000016203626172016C3F000000016203666F6F01693E800000016203666F6F016A3E800000016203666F6F016B3E800000016203666F6F016C3E800000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD80000000000003FDC000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FD80000000000003FDC0000000000003FE20000000000003FEA0000000000003FF10000000000000162016A3FD80000000000003FDC0000000000003FE40000000000003FEC0000000000003FF20000000000000162016B3FD80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000162016C3FD80000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF10000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF20000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF30000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FF00000000000003FF4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FD80000000000003FDC0000000000003FE20000000000003FEA0000000000003FF10000000000000162016A3FD80000000000003FDC0000000000003FE40000000000003FEC0000000000003FF20000000000000162016B3FD80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000162016C3FD80000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF10000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF20000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF30000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FF00000000000003FF4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FD80000000000003FDC0000000000003FE20000000000003FEA0000000000003FF10000000000000162016A3FD80000000000003FDC0000000000003FE40000000000003FEC0000000000003FF20000000000000162016B3FD80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000162016C3FD80000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF10000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF20000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF30000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FF00000000000003FF4000000000000"}}
+{"expression":"max(a,b)","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693EC000003EE000003F1000003F5000003F8800000162016A3EC000003EE000003F2000003F6000003F9000000162016B3EC000003EE000003F3000003F7000003F9800000162016C3EC000003F0000003F4000003F8000003FA00000016301693F3000003F4000003F5000003F6000003F8800000163016A3F3000003F4000003F5000003F6000003F9000000163016B3F3000003F4000003F5000003F7000003F9800000163016C3F3000003F4000003F5000003F8000003FA00000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02003FB0000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FC00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD40000000000003FD00000000000003FD00000000000003FD00000000000003FD00000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A033FB00000000000003FC00000000000003FC80000000000003FC00000000000003FC00000000000003FC80000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FD00000000000003FD40000000000003FD80000000000003FD00000000000003FD40000000000003FD8000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF00000000000040000000000000004000800000000000400100000000000040018000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE60000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C00003EC000003EC000003EC000003EC000003EC000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C00003F3000003F3000003F3000003F3000003F3000003F3000003F3000003F4000003F4000003F4000003F4000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x010101780201613FB000000000000001623FC0000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FC000000000000001620362617A3FC8000000000000016203666F6F3FC00000000000000163036261723FC800000000000001630362617A3FC8000000000000016303666F6F3FC8000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD4000000000000016203666F6F3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FD4000000000000016203626172016A3FD8000000000000016203626172016B3FDC000000000000016203626172016C3FE0000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FD4000000000000016203626172016A3FD8000000000000016203626172016B3FDC000000000000016203626172016C3FE0000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201693FD4000000000000016103626172016A3FD8000000000000016103626172016B3FDC000000000000016103626172016C3FE0000000000000016103666F6F01693FB0000000000000016103666F6F016A3FC0000000000000016103666F6F016B3FC8000000000000016103666F6F016C3FD000000000000001620362617201693FD4000000000000016203626172016A3FD8000000000000016203626172016B3FDC000000000000016203626172016C3FE0000000000000016203666F6F01693FD0000000000000016203666F6F016A3FD0000000000000016203666F6F016B3FD0000000000000016203666F6F016C3FD0000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A1001610362617201693EA00000016103626172016A3EC00000016103626172016B3EE00000016103626172016C3F000000016103666F6F01693D800000016103666F6F016A3E000000016103666F6F016B3E400000016103666F6F016C3E80000001620362617201693EA00000016203626172016A3EC00000016203626172016B3EE00000016203626172016C3F000000016203666F6F01693E800000016203666F6F016A3E800000016203666F6F016B3E800000016203666F6F016C3E800000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FC80000000000003FC80000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD40000000000003FD80000000000003FDC000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FD80000000000003FDC0000000000003FE20000000000003FEA0000000000003FF10000000000000162016A3FD80000000000003FDC0000000000003FE40000000000003FEC0000000000003FF20000000000000162016B3FD80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000162016C3FD80000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF10000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF20000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF30000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FF00000000000003FF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FD80000000000003FDC0000000000003FE20000000000003FEA0000000000003FF10000000000000162016A3FD80000000000003FDC0000000000003FE40000000000003FEC0000000000003FF20000000000000162016B3FD80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000162016C3FD80000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF10000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF20000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF30000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FF00000000000003FF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C016101693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF10000000000000161016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF20000000000000161016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000161016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016201693FD80000000000003FDC0000000000003FE20000000000003FEA0000000000003FF10000000000000162016A3FD80000000000003FDC0000000000003FE40000000000003FEC0000000000003FF20000000000000162016B3FD80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF30000000000000162016C3FD80000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000016301693FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF10000000000000163016A3FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FF20000000000000163016B3FE60000000000003FE80000000000003FEA0000000000003FEE0000000000003FF30000000000000163016C3FE60000000000003FE80000000000003FEA0000000000003FF00000000000003FF4000000000000"}}
+{"expression":"join(a,b,f(a,b)(max(a,b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C016101693D8000003EA000003F1000003F5000003F8800000161016A3E0000003EC000003F2000003F6000003F9000000161016B3E4000003EE000003F3000003F7000003F9800000161016C3E8000003F0000003F4000003F8000003FA00000016201693EC000003EE000003F1000003F5000003F8800000162016A3EC000003EE000003F2000003F6000003F9000000162016B3EC000003EE000003F3000003F7000003F9800000162016C3EC000003F0000003F4000003F8000003FA00000016301693F3000003F4000003F5000003F6000003F8800000163016A3F3000003F4000003F5000003F6000003F9000000163016B3F3000003F4000003F5000003F7000003F9800000163016C3F3000003F4000003F5000003F8000003FA00000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x02004040000000000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x020101780540400000000000004038000000000000403555555555555540340000000000004033333333333333"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02003FB0000000000000"},"result":{"expect":"0x020101780540400000000000004038000000000000403555555555555540340000000000004033333333333333"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02003FB0000000000000","b":"0x0601010178053D8000003E0000003E4000003E8000003EA00000"},"result":{"expect":"0x0601010178054200000041C0000041AAAAAB41A000004199999A"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x0601010178053D8000003E0000003E4000003E8000003EA00000","b":"0x02003FB0000000000000"},"result":{"expect":"0x0601010178054200000041C0000041AAAAAB41A000004199999A"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02010178054040000000000000403000000000000040255555555555554020000000000000401999999999999A"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02010179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000"},"result":{"expect":"0x02020178050179054040000000000000403800000000000040355555555555554034000000000000403333333333333340380000000000004030000000000000402AAAAAAAAAAAAB402800000000000040266666666666664035555555555555402AAAAAAAAAAAAB40255555555555554022AAAAAAAAAAAB4021111111111111403400000000000040280000000000004022AAAAAAAAAAAB4020000000000000401CCCCCCCCCCCCD403333333333333340266666666666664021111111111111401CCCCCCCCCCCCD401999999999999A"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010178053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD4000000000000","b":"0x02020178050179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF9000000000000"},"result":{"expect":"0x02020178050179054040000000000000403800000000000040355555555555554034000000000000403333333333333340255555555555554024924924924925402400000000000040238E38E38E38E44023333333333333401B26C9B26C9B27401AAAAAAAAAAAAB401A41A41A41A41A4019E79E79E79E7A401999999999999A40140000000000004013C3C3C3C3C3C440138E38E38E38E440135E50D79435E54013333333333333400FB1FB1FB1FB20400F6B0DF6B0DF6B400F2A4BAFDC61F3400EEEEEEEEEEEEF400EB851EB851EB8"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02010179033FB00000000000003FC00000000000003FC8000000000000","b":"0x0202017802017A033FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD8000000000000"},"result":{"expect":"0x0203017802017903017A0340400000000000004038000000000000403555555555555540380000000000004030000000000000402AAAAAAAAAAAAB4035555555555555402AAAAAAAAAAAAB4025555555555555403400000000000040333333333333334032AAAAAAAAAAAB4028000000000000402666666666666640255555555555554022AAAAAAAAAAAB40211111111111114020000000000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A07404000000000000040380000000000004035555555555555403400000000000040333333333333334032AAAAAAAAAAAB4032492492492492402400000000000040238E38E38E38E440233333333333334022E8BA2E8BA2E94022AAAAAAAAAAAB40227627627627624022492492492492401999999999999A401955555555555540191919191919194018E38E38E38E394018B3A62CE98B3A401888888888888940186186186186184012E8BA2E8BA2E94012C8590B21642D4012AAAAAAAAAAAB40128F5C28F5C28F401276276276276240125ED097B425ED4012492492492492400E0387F1E0387F400DDDDDDDDDDDDE400DBAA1DBAA1DBB400D99999999999A400D7A91D7A91D7B400D5D5D5D5D5D5D400D41D41D41D41D4032AAAAAAAAAAAB40255555555555554020000000000000401AAAAAAAAAAAAB401777777777777740155555555555554013CF3CF3CF3CF440112492492492494010410410410410400F15F15F15F15F400DEC0D4C77B035400CF3CF3CF3CF3D400C21C21C21C21C400B6DB6DB6DB6DB40088888888888894008000000000000400787878787878840071C71C71C71C74006BCA1AF286BCA4006666666666666400618618618618640040A57EB5029604003C995A47BABE740038E38E38E38E44003579BE02468AD40032532532532534002F684BDA12F684002CB2CB2CB2CB3400136BB25136BB240011111111111114000EDD50EDD50EE4000CCCCCCCCCCCD4000ADC50ADC50AE400090909090909140007507507507504031745D1745D1744022E8BA2E8BA2E9401B26C9B26C9B274015D1745D1745D140129E4129E4129E40107C1F07C1F07C400DEC0D4C77B035400AAAAAAAAAAAAB4008E38E38E38E39400777777777777740064D9364D9364E400555555555555540048348348348354003CF3CF3CF3CF440026126126126124001D89D89D89D8A40016025116025114000F50F50F50F514000953F3901095440003F03F03F03F03FFFE1FE1FE1FE203FFDEC0D4C77B0353FFD6A88BECEB5443FFCF3CF3CF3CF3D3FFC869536202ED03FFC21C21C21C21C3FFBC466F119BC463FFB6DB6DB6DB6DB3FF9E4EDC19E4EDC3FF999999999999A3FF95321953219533FF91111111111113FF8D3018D3018D33FF89898989898993FF8618618618618"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x0202017905017A073FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE0000000000003FF00000000000003FF10000000000003FF20000000000003FF30000000000003FF40000000000003FF50000000000003FF60000000000003FF70000000000003FF80000000000003FF90000000000003FFA0000000000003FFB0000000000003FFC0000000000003FFD0000000000003FFE0000000000003FFF0000000000004000000000000000400080000000000040010000000000004001800000000000"},"result":{"expect":"0x0203017803017905017A07404000000000000040380000000000004035555555555555403400000000000040333333333333334032AAAAAAAAAAAB4032492492492492402400000000000040238E38E38E38E440233333333333334022E8BA2E8BA2E94022AAAAAAAAAAAB40227627627627624022492492492492401999999999999A401955555555555540191919191919194018E38E38E38E394018B3A62CE98B3A401888888888888940186186186186184012E8BA2E8BA2E94012C8590B21642D4012AAAAAAAAAAAB40128F5C28F5C28F401276276276276240125ED097B425ED4012492492492492400E0387F1E0387F400DDDDDDDDDDDDE400DBAA1DBAA1DBB400D99999999999A400D7A91D7A91D7B400D5D5D5D5D5D5D400D41D41D41D41D4032AAAAAAAAAAAB40255555555555554020000000000000401AAAAAAAAAAAAB401777777777777740155555555555554013CF3CF3CF3CF440112492492492494010410410410410400F15F15F15F15F400DEC0D4C77B035400CF3CF3CF3CF3D400C21C21C21C21C400B6DB6DB6DB6DB40088888888888894008000000000000400787878787878840071C71C71C71C74006BCA1AF286BCA4006666666666666400618618618618640040A57EB5029604003C995A47BABE740038E38E38E38E44003579BE02468AD40032532532532534002F684BDA12F684002CB2CB2CB2CB3400136BB25136BB240011111111111114000EDD50EDD50EE4000CCCCCCCCCCCD4000ADC50ADC50AE400090909090909140007507507507504031745D1745D1744022E8BA2E8BA2E9401B26C9B26C9B274015D1745D1745D140129E4129E4129E40107C1F07C1F07C400DEC0D4C77B035400AAAAAAAAAAAAB4008E38E38E38E39400777777777777740064D9364D9364E400555555555555540048348348348354003CF3CF3CF3CF440026126126126124001D89D89D89D8A40016025116025114000F50F50F50F514000953F3901095440003F03F03F03F03FFFE1FE1FE1FE203FFDEC0D4C77B0353FFD6A88BECEB5443FFCF3CF3CF3CF3D3FFC869536202ED03FFC21C21C21C21C3FFBC466F119BC463FFB6DB6DB6DB6DB3FF9E4EDC19E4EDC3FF999999999999A3FF95321953219533FF91111111111113FF8D3018D3018D33FF89898989898993FF8618618618618"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x02020178030179053FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x0203017803017905017A07404000000000000040380000000000004035555555555555403400000000000040333333333333334032AAAAAAAAAAAB4032492492492492402400000000000040238E38E38E38E440233333333333334022E8BA2E8BA2E94022AAAAAAAAAAAB40227627627627624022492492492492401999999999999A401955555555555540191919191919194018E38E38E38E394018B3A62CE98B3A401888888888888940186186186186184012E8BA2E8BA2E94012C8590B21642D4012AAAAAAAAAAAB40128F5C28F5C28F401276276276276240125ED097B425ED4012492492492492400E0387F1E0387F400DDDDDDDDDDDDE400DBAA1DBAA1DBB400D99999999999A400D7A91D7A91D7B400D5D5D5D5D5D5D400D41D41D41D41D4032AAAAAAAAAAAB40255555555555554020000000000000401AAAAAAAAAAAAB401777777777777740155555555555554013CF3CF3CF3CF440112492492492494010410410410410400F15F15F15F15F400DEC0D4C77B035400CF3CF3CF3CF3D400C21C21C21C21C400B6DB6DB6DB6DB40088888888888894008000000000000400787878787878840071C71C71C71C74006BCA1AF286BCA4006666666666666400618618618618640040A57EB5029604003C995A47BABE740038E38E38E38E44003579BE02468AD40032532532532534002F684BDA12F684002CB2CB2CB2CB3400136BB25136BB240011111111111114000EDD50EDD50EE4000CCCCCCCCCCCD4000ADC50ADC50AE400090909090909140007507507507504031745D1745D1744022E8BA2E8BA2E9401B26C9B26C9B274015D1745D1745D140129E4129E4129E40107C1F07C1F07C400DEC0D4C77B035400AAAAAAAAAAAAB4008E38E38E38E39400777777777777740064D9364D9364E400555555555555540048348348348354003CF3CF3CF3CF440026126126126124001D89D89D89D8A40016025116025114000F50F50F50F514000953F3901095440003F03F03F03F03FFFE1FE1FE1FE203FFDEC0D4C77B0353FFD6A88BECEB5443FFCF3CF3CF3CF3D3FFC869536202ED03FFC21C21C21C21C3FFBC466F119BC463FFB6DB6DB6DB6DB3FF9E4EDC19E4EDC3FF999999999999A3FF95321953219533FF91111111111113FF8D3018D3018D33FF89898989898993FF8618618618618"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x0601020178030179053D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F700000","b":"0x060102017905017A073D8000003E0000003E4000003E8000003EA000003EC000003EE000003F0000003F1000003F2000003F3000003F4000003F5000003F6000003F7000003F8000003F8800003F9000003F9800003FA000003FA800003FB000003FB800003FC000003FC800003FD000003FD800003FE000003FE800003FF000003FF80000400000004004000040080000400C0000"},"result":{"expect":"0x060103017803017905017A074200000041C0000041AAAAAB41A000004199999A419555554192492541200000411C71C74119999A411745D1411555554113B13B4112492540CCCCCD40CAAAAB40C8C8C940C71C7240C59D3140C4444440C30C31409745D1409642C84095555540947AE14093B13B4092F6854092492540701C40406EEEEF406DD50F406CCCCD406BD48F406AEAEB406A0EA141955555412AAAAB4100000040D5555540BBBBBC40AAAAAB409E79E840892492408208214078AF8B406F606A40679E7A40610E11405B6DB74044444440400000403C3C3C4038E38E4035E50D403333334030C30C402052BF401E4CAD401C71C7401ABCDF401929934017B426401659664009B5D94008888940076EA84006666640056E28400484854003A83B418BA2E9411745D140D9364E40AE8BA34094F2094083E0F8406F606A4055555540471C72403BBBBC40326C9B402AAAAB40241A42401E79E840130931400EC4EC400B01294007A87B4004A9FA4001F8203FFF0FF13FEF606A3FEB54463FE79E7A3FE434AA3FE10E113FDE23383FDB6DB73FCF276E3FCCCCCD3FCA990D3FC888893FC6980C3FC4C4C53FC30C31"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000"},"result":{"expect":"0x0101017803016140400000000000000162403000000000000001634025555555555555"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010101780201613FB000000000000001623FC0000000000000"},"result":{"expect":"0x01010178020161404000000000000001624030000000000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x0101017903036261723FC00000000000000362617A3FC800000000000003666F6F3FB0000000000000"},"result":{"expect":"0x01020178017909016103626172403800000000000001610362617A4035555555555555016103666F6F4040000000000000016203626172403000000000000001620362617A402AAAAAAAAAAAAB016203666F6F4038000000000000016303626172402AAAAAAAAAAAAB01630362617A4025555555555555016303666F6F4035555555555555"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010101780301613FB000000000000001623FC000000000000001633FC8000000000000","b":"0x010201780179090161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD00000000000000163036261723FE000000000000001630362617A3FE2000000000000016303666F6F3FDC000000000000"},"result":{"expect":"0x01020178017909016103626172403800000000000001610362617A4035555555555555016103666F6F4040000000000000016203626172402666666666666601620362617A4025555555555555016203666F6F4028000000000000016303626172401D55555555555501630362617A401C71C71C71C71C016303666F6F401E79E79E79E79E"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x010201780179060161036261723FC0000000000000016103666F6F3FB00000000000000162036261723FD0000000000000016203666F6F3FC80000000000000163036261723FD8000000000000016303666F6F3FD4000000000000"},"result":{"expect":"0x010201780179040161036261724030000000000000016103666F6F4040000000000000016203626172401CCCCCCCCCCCCD016203666F6F4022AAAAAAAAAAAB"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201694026666666666666016103626172016A4025555555555555016103626172016B4024924924924925016103626172016C4024000000000000016103666F6F01694040000000000000016103666F6F016A4038000000000000016103666F6F016B4035555555555555016103666F6F016C40340000000000000162036261720169401999999999999A016203626172016A4017777777777777016203626172016B4015F15F15F15F16016203626172016C4014CCCCCCCCCCCD016203666F6F01694034000000000000016203666F6F016A4028000000000000016203666F6F016B4022AAAAAAAAAAAB016203666F6F016C4020000000000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x01020179017A080362617201693FD400000000000003626172016A3FD800000000000003626172016B3FDC00000000000003626172016C3FE000000000000003666F6F01693FB000000000000003666F6F016A3FC000000000000003666F6F016B3FC800000000000003666F6F016C3FD0000000000000"},"result":{"expect":"0x010301780179017A1001610362617201694026666666666666016103626172016A4025555555555555016103626172016B4024924924924925016103626172016C4024000000000000016103666F6F01694040000000000000016103666F6F016A4038000000000000016103666F6F016B4035555555555555016103666F6F016C40340000000000000162036261720169401999999999999A016203626172016A4017777777777777016203626172016B4015F15F15F15F16016203626172016C4014CCCCCCCCCCCD016203666F6F01694034000000000000016203666F6F016A4028000000000000016203666F6F016B4022AAAAAAAAAAAB016203666F6F016C4020000000000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x010201780179060161036261723FC000000000000001610362617A3FC8000000000000016103666F6F3FB00000000000000162036261723FD400000000000001620362617A3FD8000000000000016203666F6F3FD0000000000000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x010301780179017A1001610362617201694026666666666666016103626172016A4025555555555555016103626172016B4024924924924925016103626172016C4024000000000000016103666F6F01694040000000000000016103666F6F016A4038000000000000016103666F6F016B4035555555555555016103666F6F016C40340000000000000162036261720169401999999999999A016203626172016A4017777777777777016203626172016B4015F15F15F15F16016203626172016C4014CCCCCCCCCCCD016203666F6F01694034000000000000016203666F6F016A4028000000000000016203666F6F016B4022AAAAAAAAAAAB016203666F6F016C4020000000000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x05010201780179060161036261723E00000001610362617A3E400000016103666F6F3D8000000162036261723EA0000001620362617A3EC00000016203666F6F3E800000","b":"0x0501020179017A080362617201693EA0000003626172016A3EC0000003626172016B3EE0000003626172016C3F00000003666F6F01693D80000003666F6F016A3E00000003666F6F016B3E40000003666F6F016C3E800000"},"result":{"expect":"0x05010301780179017A10016103626172016941333333016103626172016A412AAAAB016103626172016B41249249016103626172016C41200000016103666F6F016942000000016103666F6F016A41C00000016103666F6F016B41AAAAAB016103666F6F016C41A00000016203626172016940CCCCCD016203626172016A40BBBBBC016203626172016B40AF8AF9016203626172016C40A66666016203666F6F016941A00000016203666F6F016A41400000016203666F6F016B41155555016203666F6F016C41000000"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x030101790101780302036261723FC00000000000003FD00000000000003FD800000000000003666F6F3FB00000000000003FC80000000000003FD4000000000000","b":"0x0301017901017A0702036261723FE00000000000003FE20000000000003FE40000000000003FE60000000000003FE80000000000003FEA0000000000003FEC00000000000003666F6F3FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD40000000000003FD80000000000003FDC000000000000"},"result":{"expect":"0x0301017902017803017A070203626172402400000000000040238E38E38E38E440233333333333334022E8BA2E8BA2E94022AAAAAAAAAAAB40227627627627624022492492492492401800000000000040171C71C71C71C740166666666666664015D1745D1745D140155555555555554014EC4EC4EC4EC540149249249249254012AAAAAAAAAAAB4011C71C71C71C72401111111111111140107C1F07C1F07C4010000000000000400F2DF2DF2DF2DF400E79E79E79E79E03666F6F404000000000000040380000000000004035555555555555403400000000000040333333333333334032AAAAAAAAAAAB40324924924924924035555555555555402AAAAAAAAAAAAB40255555555555554022AAAAAAAAAAAB40211111111111114020000000000000401E79E79E79E79E403333333333333340266666666666664021111111111111401CCCCCCCCCCCCD401999999999999A40177777777777774015F15F15F15F16"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016940400000000000004026666666666666401C71C71C71C71C4014EC4EC4EC4EC540109090909090910161016A40380000000000004025555555555555401BBBBBBBBBBBBC401492492492492540105B05B05B05B00161016B40355555555555554024924924924925401B26C9B26C9B27401444444444444440102B1DA46102B20161016C40340000000000004024000000000000401AAAAAAAAAAAAB40140000000000004010000000000000016201694032AAAAAAAAAAAB4015F15F15F15F16400E38E38E38E38E400811811811811840045454545454540162016A40255555555555554013CF3CF3CF3CF4400CCCCCCCCCCCCD40075D75D75D75D74003E93E93E93E940162016B40200000000000004012492492492492400BA2E8BA2E8BA34006C16C16C16C174003896E7BF538970162016C401AAAAAAAAAAAAB4011249249249249400AAAAAAAAAAAAB400638E38E38E38E4003333333333333016301694031745D1745D174401222222222222240081181181181184002FD2FD2FD2FD340001010101010100163016A4022E8BA2E8BA2E940100000000000004006A56A56A56A5740024924924924923FFF49F49F49F49F0163016B401B26C9B26C9B27400CF3CF3CF3CF3D40057B864407292D4001AD1AD1AD1AD23FFE8A546F61E8A50163016C4015D1745D1745D1400AAAAAAAAAAAAB400483483483483540012492492492493FFDDDDDDDDDDDDE"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x0301017A010179050401693FB00000000000003FD40000000000003FE20000000000003FEA0000000000003FF1000000000000016A3FC00000000000003FD80000000000003FE40000000000003FEC0000000000003FF2000000000000016B3FC80000000000003FDC0000000000003FE60000000000003FEE0000000000003FF3000000000000016C3FD00000000000003FE00000000000003FE80000000000003FF00000000000003FF4000000000000"},"result":{"expect":"0x03020178017A010179050C0161016940400000000000004026666666666666401C71C71C71C71C4014EC4EC4EC4EC540109090909090910161016A40380000000000004025555555555555401BBBBBBBBBBBBC401492492492492540105B05B05B05B00161016B40355555555555554024924924924925401B26C9B26C9B27401444444444444440102B1DA46102B20161016C40340000000000004024000000000000401AAAAAAAAAAAAB40140000000000004010000000000000016201694032AAAAAAAAAAAB4015F15F15F15F16400E38E38E38E38E400811811811811840045454545454540162016A40255555555555554013CF3CF3CF3CF4400CCCCCCCCCCCCD40075D75D75D75D74003E93E93E93E940162016B40200000000000004012492492492492400BA2E8BA2E8BA34006C16C16C16C174003896E7BF538970162016C401AAAAAAAAAAAAB4011249249249249400AAAAAAAAAAAAB400638E38E38E38E4003333333333333016301694031745D1745D174401222222222222240081181181181184002FD2FD2FD2FD340001010101010100163016A4022E8BA2E8BA2E940100000000000004006A56A56A56A5740024924924924923FFF49F49F49F49F0163016B401B26C9B26C9B27400CF3CF3CF3CF3D40057B864407292D4001AD1AD1AD1AD23FFE8A546F61E8A50163016C4015D1745D1745D1400AAAAAAAAAAAAB400483483483483540012492492492493FFDDDDDDDDDDDDE"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x03010178010179050301613FB00000000000003FC00000000000003FC80000000000003FD00000000000003FD400000000000001623FD80000000000003FDC0000000000003FE00000000000003FE20000000000003FE400000000000001633FE60000000000003FE80000000000003FEA0000000000003FEC0000000000003FEE000000000000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x03020178017A010179050C0161016940400000000000004026666666666666401C71C71C71C71C4014EC4EC4EC4EC540109090909090910161016A40380000000000004025555555555555401BBBBBBBBBBBBC401492492492492540105B05B05B05B00161016B40355555555555554024924924924925401B26C9B26C9B27401444444444444440102B1DA46102B20161016C40340000000000004024000000000000401AAAAAAAAAAAAB40140000000000004010000000000000016201694032AAAAAAAAAAAB4015F15F15F15F16400E38E38E38E38E400811811811811840045454545454540162016A40255555555555554013CF3CF3CF3CF4400CCCCCCCCCCCCD40075D75D75D75D74003E93E93E93E940162016B40200000000000004012492492492492400BA2E8BA2E8BA34006C16C16C16C174003896E7BF538970162016C401AAAAAAAAAAAAB4011249249249249400AAAAAAAAAAAAB400638E38E38E38E4003333333333333016301694031745D1745D174401222222222222240081181181181184002FD2FD2FD2FD340001010101010100163016A4022E8BA2E8BA2E940100000000000004006A56A56A56A5740024924924924923FFF49F49F49F49F0163016B401B26C9B26C9B27400CF3CF3CF3CF3D40057B864407292D4001AD1AD1AD1AD23FFE8A546F61E8A50163016C4015D1745D1745D1400AAAAAAAAAAAAB400483483483483540012492492492493FFDDDDDDDDDDDDE"}}
+{"expression":"join(a,b,f(a,b)((a+b)/(a*b)))","inputs":{"a":"0x0701010178010179050301613D8000003E0000003E4000003E8000003EA0000001623EC000003EE000003F0000003F1000003F20000001633F3000003F4000003F5000003F6000003F700000","b":"0x070101017A010179050401693D8000003EA000003F1000003F5000003F880000016A3E0000003EC000003F2000003F6000003F900000016B3E4000003EE000003F3000003F7000003F980000016C3E8000003F0000003F4000003F8000003FA00000"},"result":{"expect":"0x0701020178017A010179050C01610169420000004133333340E38E3940A76276408484850161016A41C00000412AAAAB40DDDDDE40A492494082D82E0161016B41AAAAAB4124924940D9364E40A22222408158ED0161016C41A000004120000040D5555540A0000040800000016201694195555540AF8AF94071C71C40408C094022A2A30162016A412AAAAB409E79E840666666403AEBAF401F49F50162016B4100000040924925405D174640360B61401C4B740162016C40D5555540892492405555554031C71C4019999A01630169418BA2E94091111140408C094017E97F400080810163016A411745D14080000040352B53401249253FFA4FA50163016B40D9364E40679E7A402BDC32400D68D73FF452A30163016C40AE8BA34055555540241A42400924923FEEEEEF"}}
{"expression":"reduce(a*b,sum)","inputs":{"a":"0x0201017803400000000000000040080000000000004014000000000000","b":"0x0201017803401C0000000000004026000000000000402A000000000000"},"result":{"expect":"0x0200405C000000000000"}}
+{"expression":"reduce(a*b,sum)","inputs":{"a":"0x060101017803400000004040000040A00000","b":"0x0201017803401C0000000000004026000000000000402A000000000000"},"result":{"expect":"0x0200405C000000000000"}}
+{"expression":"reduce(a*b,sum)","inputs":{"a":"0x0201017803400000000000000040080000000000004014000000000000","b":"0x06010101780340E000004130000041500000"},"result":{"expect":"0x0200405C000000000000"}}
+{"expression":"reduce(a*b,sum)","inputs":{"a":"0x060101017803400000004040000040A00000","b":"0x06010101780340E000004130000041500000"},"result":{"expect":"0x0200405C000000000000"}}
{"expression":"reduce(a*b,sum,x)","inputs":{"a":"0x02010178023FF00000000000004000000000000000","b":"0x020201780201790340080000000000004014000000000000401C0000000000004026000000000000402A0000000000004031000000000000"},"result":{"expect":"0x02010179034039000000000000403F0000000000004044800000000000"}}
+{"expression":"reduce(a*b,sum,x)","inputs":{"a":"0x0601010178023F80000040000000","b":"0x020201780201790340080000000000004014000000000000401C0000000000004026000000000000402A0000000000004031000000000000"},"result":{"expect":"0x02010179034039000000000000403F0000000000004044800000000000"}}
+{"expression":"reduce(a*b,sum,x)","inputs":{"a":"0x02010178023FF00000000000004000000000000000","b":"0x0601020178020179034040000040A0000040E00000413000004150000041880000"},"result":{"expect":"0x02010179034039000000000000403F0000000000004044800000000000"}}
+{"expression":"reduce(a*b,sum,x)","inputs":{"a":"0x0601010178023F80000040000000","b":"0x0601020178020179034040000040A0000040E00000413000004150000041880000"},"result":{"expect":"0x06010101790341C8000041F8000042240000"}}
{"expression":"reduce(a*b,sum,y)","inputs":{"a":"0x02010179033FF000000000000040000000000000004008000000000000","b":"0x020201780201790340080000000000004014000000000000401C0000000000004026000000000000402A0000000000004031000000000000"},"result":{"expect":"0x020101780240410000000000004056000000000000"}}
{"expression":"concat(a,b,x)","inputs":{"a":"0x02004024000000000000","b":"0x02004034000000000000"},"result":{"expect":"0x020101780240240000000000004034000000000000"}}
{"expression":"concat(a,b,x)","inputs":{"a":"0x02010178014024000000000000","b":"0x02004034000000000000"},"result":{"expect":"0x020101780240240000000000004034000000000000"}}
@@ -1191,13 +1969,20 @@
{"expression":"concat(a,b,x)","inputs":{"a":"0x0201017A033FF000000000000040000000000000004008000000000000","b":"0x020101790240100000000000004014000000000000"},"result":{"expect":"0x0203017802017902017A033FF0000000000000400000000000000040080000000000003FF000000000000040000000000000004008000000000000401000000000000040100000000000004010000000000000401400000000000040140000000000004014000000000000"}}
{"expression":"concat(a,b,x)","inputs":{"a":"0x02010179023FF00000000000004000000000000000","b":"0x020101790240100000000000004014000000000000"},"result":{"expect":"0x02020178020179023FF0000000000000400000000000000040100000000000004014000000000000"}}
{"expression":"concat(concat(a,b,x),concat(c,d,x),y)","inputs":{"a":"0x02003FF0000000000000","b":"0x02004000000000000000","c":"0x02004008000000000000","d":"0x02004010000000000000"},"result":{"expect":"0x02020178020179023FF0000000000000400800000000000040000000000000004010000000000000"}}
+{"expression":"concat(a,b,x)","inputs":{"a":"0x06010101780141200000","b":"0x02004034000000000000"},"result":{"expect":"0x0601010178024120000041A00000"}}
+{"expression":"concat(a,b,x)","inputs":{"a":"0x02004024000000000000","b":"0x06010101780141A00000"},"result":{"expect":"0x0601010178024120000041A00000"}}
+{"expression":"concat(a,b,x)","inputs":{"a":"0x0601010178033F8000004000000040400000","b":"0x020101780240100000000000004014000000000000"},"result":{"expect":"0x02010178053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"}}
+{"expression":"concat(a,b,x)","inputs":{"a":"0x02010178033FF000000000000040000000000000004008000000000000","b":"0x0601010178024080000040A00000"},"result":{"expect":"0x02010178053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"}}
+{"expression":"concat(a,b,x)","inputs":{"a":"0x0601010178033F8000004000000040400000","b":"0x0601010178024080000040A00000"},"result":{"expect":"0x0601010178053F80000040000000404000004080000040A00000"}}
{"expression":"rename(a,x,y)","inputs":{"a":"0x02010178053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"},"result":{"expect":"0x02010179053FF00000000000004000000000000000400800000000000040100000000000004014000000000000"}}
{"expression":"rename(a,y,x)","inputs":{"a":"0x0202017905017A053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"},"result":{"expect":"0x0202017805017A053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"}}
{"expression":"rename(a,z,x)","inputs":{"a":"0x0202017905017A053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"},"result":{"expect":"0x02020178050179053FF000000000000040180000000000004026000000000000403000000000000040350000000000004000000000000000401C00000000000040280000000000004031000000000000403600000000000040080000000000004020000000000000402A0000000000004032000000000000403700000000000040100000000000004022000000000000402C0000000000004033000000000000403800000000000040140000000000004024000000000000402E00000000000040340000000000004039000000000000"}}
{"expression":"rename(a,x,z)","inputs":{"a":"0x02020178050179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"},"result":{"expect":"0x0202017905017A053FF000000000000040180000000000004026000000000000403000000000000040350000000000004000000000000000401C00000000000040280000000000004031000000000000403600000000000040080000000000004020000000000000402A0000000000004032000000000000403700000000000040100000000000004022000000000000402C0000000000004033000000000000403800000000000040140000000000004024000000000000402E00000000000040340000000000004039000000000000"}}
{"expression":"rename(a,y,z)","inputs":{"a":"0x02020178050179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"},"result":{"expect":"0x0202017805017A053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"}}
+{"expression":"rename(a,y,z)","inputs":{"a":"0x0601020178050179053F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C80000"},"result":{"expect":"0x060102017805017A053F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A0000041A8000041B0000041B8000041C0000041C80000"}}
{"expression":"rename(a,(x,y),(y,x))","inputs":{"a":"0x02020178050179053FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E0000000000004030000000000000403100000000000040320000000000004033000000000000403400000000000040350000000000004036000000000000403700000000000040380000000000004039000000000000"},"result":{"expect":"0x02020178050179053FF000000000000040180000000000004026000000000000403000000000000040350000000000004000000000000000401C00000000000040280000000000004031000000000000403600000000000040080000000000004020000000000000402A0000000000004032000000000000403700000000000040100000000000004022000000000000402C0000000000004033000000000000403800000000000040140000000000004024000000000000402E00000000000040340000000000004039000000000000"}}
{"expression":"tensor(x[10])(x+1)","inputs":{},"result":{"expect":"0x020101780A3FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C000000000000402000000000000040220000000000004024000000000000"}}
+{"expression":"tensor<float>(x[5],y[4])(x*4+(y+1))","inputs":{},"result":{"expect":"0x0601020178050179043F80000040000000404000004080000040A0000040C0000040E0000041000000411000004120000041300000414000004150000041600000417000004180000041880000419000004198000041A00000"}}
{"expression":"tensor(x[5],y[4])(x*4+(y+1))","inputs":{},"result":{"expect":"0x02020178050179043FF000000000000040000000000000004008000000000000401000000000000040140000000000004018000000000000401C00000000000040200000000000004022000000000000402400000000000040260000000000004028000000000000402A000000000000402C000000000000402E00000000000040300000000000004031000000000000403200000000000040330000000000004034000000000000"}}
{"expression":"tensor(x[5],y[4])(x==y)","inputs":{},"result":{"expect":"0x02020178050179043FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF000000000000000000000000000000000000000000000000000000000000000000000000000003FF00000000000000000000000000000000000000000000000000000000000000000000000000000"}}
-{"num_tests":1202}
+{"num_tests":1987}
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index a665c6d8a20..b280047c527 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -152,7 +152,13 @@ public class Flags {
APPLICATION_ID);
public static final UnboundDoubleFlag MEMORY_FOR_ADMIN_CLUSTER_NODES = defineDoubleFlag(
- "memory-for-admin-cluster-nodes", 3,
+ "memory-for-admin-cluster-nodes", 2,
+ "Node resource memory in Gb for admin cluster nodes",
+ "Takes effect at redeployment",
+ APPLICATION_ID);
+
+ public static final UnboundDoubleFlag DEFAULT_TERM_WISE_LIMIT = defineDoubleFlag(
+ "default-term-wise-limit", 1.0,
"Node resource memory in Gb for admin cluster nodes",
"Takes effect at redeployment",
APPLICATION_ID);
diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/Authenticator.java b/hosted-api/src/main/java/ai/vespa/hosted/api/Authenticator.java
new file mode 100644
index 00000000000..aaff0bfe5e0
--- /dev/null
+++ b/hosted-api/src/main/java/ai/vespa/hosted/api/Authenticator.java
@@ -0,0 +1,32 @@
+package ai.vespa.hosted.api;
+
+import javax.net.ssl.SSLContext;
+import java.net.http.HttpRequest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Optional;
+
+/**
+ * Adds environment dependent authentication to HTTP request against Vespa deployments.
+ *
+ * An implementation typically needs to override either of the methods in this interface.
+ *
+ * @author jonmv
+ */
+public interface Authenticator {
+
+ /** Returns an SSLContext which provides authentication against a Vespa endpoint. */
+ default SSLContext sslContext() {
+ try {
+ return SSLContext.getDefault();
+ }
+ catch (NoSuchAlgorithmException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /** Adds necessary authentication data to the given HTTP request builder, to pass the data plane of a Vespa endpoint. */
+ default HttpRequest.Builder authenticated(HttpRequest.Builder request) {
+ return request;
+ }
+
+}
diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/EndpointAuthenticator.java b/hosted-api/src/main/java/ai/vespa/hosted/api/EndpointAuthenticator.java
deleted file mode 100644
index 62b1d2b4c92..00000000000
--- a/hosted-api/src/main/java/ai/vespa/hosted/api/EndpointAuthenticator.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package ai.vespa.hosted.api;
-
-import javax.net.ssl.SSLContext;
-import java.net.http.HttpRequest;
-import java.util.Optional;
-
-/**
- * Adds environment dependent authentication to HTTP request against Vespa deployments.
- *
- * @author jonmv
- */
-public interface EndpointAuthenticator {
-
- /** Returns an SSLContext which provides authentication against a Vespa endpoint. */
- SSLContext sslContext();
-
- /** Adds necessary authentication to the given HTTP request builder, to pass the data plane of a Vespa endpoint. */
- HttpRequest.Builder authenticated(HttpRequest.Builder request);
-
-}
diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java b/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java
index 015d5702c59..a845dabf804 100644
--- a/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java
+++ b/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java
@@ -38,20 +38,44 @@ public class TestConfig {
entry -> Map.copyOf(entry.getValue())));
}
+ /**
+ * Parses the given test config JSON and returns a new config instance.
+ *
+ * If the given JSON has a "clusters" element, a config object with default values
+ * is returned, using {@link #fromEndpointsOnly}. Otherwise, all config attributes are parsed.
+ */
public static TestConfig fromJson(byte[] jsonBytes) {
Inspector config = new JsonDecoder().decode(new Slime(), jsonBytes).get();
+ if (config.field("clusters").valid())
+ return TestConfig.fromEndpointsOnly(toClusterMap(config.field("clusters")));
+
ApplicationId application = ApplicationId.fromSerializedForm(config.field("application").asString());
ZoneId zone = ZoneId.from(config.field("zone").asString());
SystemName system = SystemName.from(config.field("system").asString());
Map<ZoneId, Map<String, URI>> deployments = new HashMap<>();
- config.field("zoneEndpoints").traverse((ObjectTraverser) (zoneId, endpointsObject) -> {
- Map<String, URI> endpoints = new HashMap<>();
- endpointsObject.traverse((ObjectTraverser) (cluster, uri) -> endpoints.put(cluster, URI.create(uri.asString())));
- deployments.put(ZoneId.from(zoneId), endpoints);
+ config.field("zoneEndpoints").traverse((ObjectTraverser) (zoneId, clustersObject) -> {
+ deployments.put(ZoneId.from(zoneId), toClusterMap(clustersObject));
});
return new TestConfig(application, zone, system, deployments);
}
+ static Map<String, URI> toClusterMap(Inspector clustersObject) {
+ Map<String, URI> clusters = new HashMap<>();
+ clustersObject.traverse((ObjectTraverser) (cluster, uri) -> clusters.put(cluster, URI.create(uri.asString())));
+ return clusters;
+ }
+
+ /**
+ * Returns a TestConfig with default values for everything except the endpoints.
+ * @param endpoints the endpoint for each of the containers specified in services.xml, by container id
+ */
+ public static TestConfig fromEndpointsOnly(Map<String, URI> endpoints) {
+ return new TestConfig(ApplicationId.defaultId(),
+ ZoneId.defaultId(),
+ SystemName.defaultSystem(),
+ Map.of(ZoneId.defaultId(), endpoints));
+ }
+
/** Returns the full id of the application to test. */
public ApplicationId application() { return application; }
diff --git a/hosted-api/src/test/java/ai/vespa/hosted/api/TestConfigTest.java b/hosted-api/src/test/java/ai/vespa/hosted/api/TestConfigTest.java
index 51fb7a8cf4a..bad838f0579 100644
--- a/hosted-api/src/test/java/ai/vespa/hosted/api/TestConfigTest.java
+++ b/hosted-api/src/test/java/ai/vespa/hosted/api/TestConfigTest.java
@@ -34,4 +34,14 @@ public class TestConfigTest {
config.deployments());
}
+ @Test
+ public void testClustersOnly() throws IOException {
+ TestConfig config = TestConfig.fromJson(Files.readAllBytes(Paths.get("src/test/resources/clusters-only-config.json")));
+ assertEquals(ApplicationId.defaultId(),
+ config.application());
+ assertEquals(Map.of("default", URI.create("https://localhost:8080/"),
+ "container", URI.create("https://localhost:8081/")),
+ config.deployments().get(ZoneId.defaultId()));
+ }
+
}
diff --git a/hosted-api/src/test/resources/clusters-only-config.json b/hosted-api/src/test/resources/clusters-only-config.json
new file mode 100644
index 00000000000..d111c1685d0
--- /dev/null
+++ b/hosted-api/src/test/resources/clusters-only-config.json
@@ -0,0 +1,6 @@
+{
+ "clusters": {
+ "default": "https://localhost:8080/",
+ "container": "https://localhost:8081/"
+ }
+} \ No newline at end of file
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java
index 30fd79c1338..ea47933ddf0 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/SystemPollerProvider.java
@@ -19,16 +19,30 @@ public class SystemPollerProvider implements Provider<SystemPoller> {
* @param monitoringConfig The interval in seconds between each polling.
*/
public SystemPollerProvider (VespaServices services, MonitoringConfig monitoringConfig) {
- poller = new SystemPoller(services.getVespaServices(), 60 * monitoringConfig.intervalMinutes());
- poller.poll();
+ if (runningOnLinux()) {
+ poller = new SystemPoller(services.getVespaServices(), 60 * monitoringConfig.intervalMinutes());
+ poller.poll();
+ } else {
+ poller = null;
+ }
}
public void deconstruct() {
- poller.stop();
+ if (poller != null) poller.stop();
}
public SystemPoller get() {
+ if (poller == null) {
+ throw new IllegalStateException("System poller is only available on Linux, current OS is" + getOs());
+ }
return poller;
}
+ private static boolean runningOnLinux() {
+ return getOs().contains("nux");
+ }
+
+ private static String getOs() {
+ return System.getProperty("os.name");
+ }
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java
index 4ec2bac0159..f21231236d4 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java
@@ -64,7 +64,12 @@ public class NodeList implements Iterable<Node> {
/** Returns the subset of nodes assigned to the given cluster type */
public NodeList type(ClusterSpec.Type type) {
- return filter(node -> node.allocation().get().membership().cluster().type().equals(type));
+ return filter(node -> node.allocation().isPresent() && node.allocation().get().membership().cluster().type().equals(type));
+ }
+
+ /** Returns the subset of nodes assigned to the given cluster */
+ public NodeList cluster(ClusterSpec.Id cluster) {
+ return filter(node -> node.allocation().isPresent() && node.allocation().get().membership().cluster().id().equals(cluster));
}
/** Returns the subset of nodes owned by the given application */
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java
index 7d7f8d479fe..a8268fe7237 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java
@@ -1,9 +1,7 @@
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.maintenance;
-import com.yahoo.config.provision.ApplicationId;
import com.yahoo.log.LogLevel;
-import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancer;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancer.State;
@@ -49,7 +47,7 @@ public class LoadBalancerExpirer extends Maintainer {
}
private void expireReserved() {
- try (Lock lock = db.lockLoadBalancers()) {
+ try (var lock = db.lockLoadBalancers()) {
var now = nodeRepository().clock().instant();
var expirationTime = now.minus(reservedExpiry);
var expired = nodeRepository().loadBalancers()
@@ -62,14 +60,14 @@ public class LoadBalancerExpirer extends Maintainer {
private void removeInactive() {
List<LoadBalancerId> failed = new ArrayList<>();
Exception lastException = null;
- try (Lock lock = db.lockLoadBalancers()) {
+ try (var lock = db.lockLoadBalancers()) {
var now = nodeRepository().clock().instant();
var expirationTime = now.minus(inactiveExpiry);
var expired = nodeRepository().loadBalancers()
.in(State.inactive)
.changedBefore(expirationTime);
for (var lb : expired) {
- if (hasNodes(lb.id().application())) { // Defer removal if there are still nodes allocated to application
+ if (hasNodes(lb.id())) { // Defer removal if there are still nodes allocated
continue;
}
try {
@@ -92,8 +90,8 @@ public class LoadBalancerExpirer extends Maintainer {
}
}
- private boolean hasNodes(ApplicationId application) {
- return !nodeRepository().getNodes(application).isEmpty();
+ private boolean hasNodes(LoadBalancerId loadBalancer) {
+ return nodeRepository().list().owner(loadBalancer.application()).cluster(loadBalancer.cluster()).size() > 0;
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java
index 1e83c2c9176..725a3426eae 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java
@@ -42,7 +42,7 @@ class Activator {
public void activate(ApplicationId application, Collection<HostSpec> hosts, NestedTransaction transaction) {
try (Mutex lock = nodeRepository.lock(application)) {
activateNodes(application, hosts, transaction, lock);
- activateLoadBalancers(application, hosts, lock);
+ activateLoadBalancers(application, hosts, transaction, lock);
}
}
@@ -91,17 +91,17 @@ class Activator {
}
/** Activate load balancers */
- private void activateLoadBalancers(ApplicationId application, Collection<HostSpec> hosts,
+ private void activateLoadBalancers(ApplicationId application, Collection<HostSpec> hosts, NestedTransaction transaction,
@SuppressWarnings("unused") Mutex applicationLock) {
- loadBalancerProvisioner.ifPresent(provisioner -> provisioner.activate(application, clustersOf(hosts)));
+ loadBalancerProvisioner.ifPresent(provisioner -> provisioner.activate(application, clustersOf(hosts), applicationLock, transaction));
}
- private static List<ClusterSpec> clustersOf(Collection<HostSpec> hosts) {
+ private static Set<ClusterSpec> clustersOf(Collection<HostSpec> hosts) {
return hosts.stream()
.map(HostSpec::membership)
.flatMap(Optional::stream)
.map(ClusterMembership::cluster)
- .collect(Collectors.toUnmodifiableList());
+ .collect(Collectors.toUnmodifiableSet());
}
private static void validateParentHosts(ApplicationId application, NodeList nodes, List<Node> potentialChildren) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
index ea30fba9798..693fa254ac3 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
@@ -5,6 +5,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeType;
+import com.yahoo.config.provision.exception.LoadBalancerServiceException;
import com.yahoo.log.LogLevel;
import com.yahoo.transaction.Mutex;
import com.yahoo.transaction.NestedTransaction;
@@ -14,16 +15,18 @@ import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancer;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerId;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerInstance;
-import com.yahoo.config.provision.exception.LoadBalancerServiceException;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerService;
import com.yahoo.vespa.hosted.provision.lb.Real;
import com.yahoo.vespa.hosted.provision.node.IP;
import com.yahoo.vespa.hosted.provision.persistence.CuratorDatabaseClient;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Function;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -70,7 +73,9 @@ public class LoadBalancerProvisioner {
public void prepare(ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes) {
if (requestedNodes.type() != NodeType.tenant) return; // Nothing to provision for this node type
if (cluster.type() != ClusterSpec.Type.container) return; // Nothing to provision for this cluster type
- provision(application, cluster.id(), false);
+ try (var loadBalancersLock = db.lockLoadBalancers()) {
+ provision(application, cluster.id(), false, loadBalancersLock);
+ }
}
/**
@@ -79,12 +84,21 @@ public class LoadBalancerProvisioner {
* If a load balancer for the cluster already exists, it will be reconfigured based on the currently allocated
* nodes and the load balancer itself will be moved to {@link LoadBalancer.State#active}.
*
+ * Load balancers for clusters that are no longer in given clusters are deactivated.
+ *
* Calling this when no load balancer has been prepared for given cluster is a no-op.
*/
- public void activate(ApplicationId application, List<ClusterSpec> clusters) {
- for (var clusterId : containerClusterIdsOf(clusters)) {
- // Provision again to ensure that load balancer instance re-configured with correct nodes
- provision(application, clusterId, true);
+ public void activate(ApplicationId application, Set<ClusterSpec> clusters,
+ @SuppressWarnings("unused") Mutex applicationLock, NestedTransaction transaction) {
+ try (var loadBalancersLock = db.lockLoadBalancers()) {
+ var containerClusters = containerClusterOf(clusters);
+ for (var clusterId : containerClusters) {
+ // Provision again to ensure that load balancer instance is re-configured with correct nodes
+ provision(application, clusterId, true, loadBalancersLock);
+ }
+ // Deactivate any surplus load balancers, i.e. load balancers for clusters that have been removed
+ var surplusLoadBalancers = surplusLoadBalancersOf(application, containerClusters);
+ deactivate(surplusLoadBalancers, transaction);
}
}
@@ -93,38 +107,57 @@ public class LoadBalancerProvisioner {
* load balancer(s).
*/
public void deactivate(ApplicationId application, NestedTransaction transaction) {
- try (Mutex applicationLock = nodeRepository.lock(application)) {
+ try (var applicationLock = nodeRepository.lock(application)) {
try (Mutex loadBalancersLock = db.lockLoadBalancers()) {
- var now = nodeRepository.clock().instant();
- var deactivatedLoadBalancers = nodeRepository.loadBalancers().owner(application).asList().stream()
- .map(lb -> lb.with(LoadBalancer.State.inactive, now))
- .collect(Collectors.toList());
- db.writeLoadBalancers(deactivatedLoadBalancers, transaction);
+ deactivate(nodeRepository.loadBalancers().owner(application).asList(), transaction);
}
}
}
+ /** Returns load balancers of given application that are no longer referenced by wantedClusters */
+ private List<LoadBalancer> surplusLoadBalancersOf(ApplicationId application, Set<ClusterSpec.Id> activeClusters) {
+ var activeLoadBalancersByCluster = nodeRepository.loadBalancers()
+ .owner(application)
+ .in(LoadBalancer.State.active)
+ .asList()
+ .stream()
+ .collect(Collectors.toMap(lb -> lb.id().cluster(),
+ Function.identity()));
+ var surplus = new ArrayList<LoadBalancer>();
+ for (var kv : activeLoadBalancersByCluster.entrySet()) {
+ if (activeClusters.contains(kv.getKey())) continue;
+ surplus.add(kv.getValue());
+ }
+ return Collections.unmodifiableList(surplus);
+ }
+
+ private void deactivate(List<LoadBalancer> loadBalancers, NestedTransaction transaction) {
+ var now = nodeRepository.clock().instant();
+ var deactivatedLoadBalancers = loadBalancers.stream()
+ .map(lb -> lb.with(LoadBalancer.State.inactive, now))
+ .collect(Collectors.toList());
+ db.writeLoadBalancers(deactivatedLoadBalancers, transaction);
+ }
+
+
/** Idempotently provision a load balancer for given application and cluster */
- private void provision(ApplicationId application, ClusterSpec.Id clusterId, boolean activate) {
- try (var applicationLock = nodeRepository.lock(application)) {
- try (var loadBalancersLock = db.lockLoadBalancers()) {
- var id = new LoadBalancerId(application, clusterId);
- var now = nodeRepository.clock().instant();
- var loadBalancer = db.readLoadBalancer(id);
- if (loadBalancer.isEmpty() && activate) return; // Nothing to activate as this load balancer was never prepared
-
- var force = loadBalancer.isPresent() && loadBalancer.get().state() != LoadBalancer.State.active;
- var instance = create(application, clusterId, allocatedContainers(application, clusterId), force);
- LoadBalancer newLoadBalancer;
- if (loadBalancer.isEmpty()) {
- newLoadBalancer = new LoadBalancer(id, instance, LoadBalancer.State.reserved, now);
- } else {
- var newState = activate ? LoadBalancer.State.active : loadBalancer.get().state();
- newLoadBalancer = loadBalancer.get().with(instance).with(newState, now);
- }
- db.writeLoadBalancer(newLoadBalancer);
- }
+ private void provision(ApplicationId application, ClusterSpec.Id clusterId, boolean activate,
+ @SuppressWarnings("unused") Mutex loadBalancersLock) {
+ var id = new LoadBalancerId(application, clusterId);
+ var now = nodeRepository.clock().instant();
+ var loadBalancer = db.readLoadBalancer(id);
+ if (loadBalancer.isEmpty() && activate) return; // Nothing to activate as this load balancer was never prepared
+
+ var force = loadBalancer.isPresent() && loadBalancer.get().state() != LoadBalancer.State.active;
+ var instance = create(application, clusterId, allocatedContainers(application, clusterId), force);
+ LoadBalancer newLoadBalancer;
+ if (loadBalancer.isEmpty()) {
+ newLoadBalancer = new LoadBalancer(id, instance, LoadBalancer.State.reserved, now);
+ } else {
+ var newState = activate ? LoadBalancer.State.active : loadBalancer.get().state();
+ newLoadBalancer = loadBalancer.get().with(instance).with(newState, now);
}
+ db.writeLoadBalancer(newLoadBalancer);
}
private LoadBalancerInstance create(ApplicationId application, ClusterSpec.Id cluster, List<Node> nodes, boolean force) {
@@ -171,11 +204,11 @@ public class LoadBalancerProvisioner {
return reachable;
}
- private static List<ClusterSpec.Id> containerClusterIdsOf(List<ClusterSpec> clusters) {
+ private static Set<ClusterSpec.Id> containerClusterOf(Set<ClusterSpec> clusters) {
return clusters.stream()
.filter(c -> c.type() == ClusterSpec.Type.container)
.map(ClusterSpec::id)
- .collect(Collectors.toUnmodifiableList());
+ .collect(Collectors.toUnmodifiableSet());
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
index b23af955f42..f8f60635ea9 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
@@ -14,9 +14,11 @@ import com.yahoo.vespa.hosted.provision.provisioning.ProvisioningTester;
import org.junit.Test;
import java.time.Duration;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
+import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -32,21 +34,23 @@ public class LoadBalancerExpirerTest {
private ProvisioningTester tester = new ProvisioningTester.Builder().build();
@Test
- public void test_remove_inactive() {
+ public void expire_inactive() {
LoadBalancerExpirer expirer = new LoadBalancerExpirer(tester.nodeRepository(),
Duration.ofDays(1),
tester.loadBalancerService());
Supplier<Map<LoadBalancerId, LoadBalancer>> loadBalancers = () -> tester.nodeRepository().database().readLoadBalancers();
- // Deploy two applications with load balancers
- ClusterSpec.Id cluster = ClusterSpec.Id.from("qrs");
+ // Deploy two applications with a total of three load balancers
+ ClusterSpec.Id cluster1 = ClusterSpec.Id.from("qrs");
+ ClusterSpec.Id cluster2 = ClusterSpec.Id.from("qrs2");
ApplicationId app1 = tester.makeApplicationId();
ApplicationId app2 = tester.makeApplicationId();
- LoadBalancerId lb1 = new LoadBalancerId(app1, cluster);
- LoadBalancerId lb2 = new LoadBalancerId(app2, cluster);
- deployApplication(app1, cluster);
- deployApplication(app2, cluster);
- assertEquals(2, loadBalancers.get().size());
+ LoadBalancerId lb1 = new LoadBalancerId(app1, cluster1);
+ LoadBalancerId lb2 = new LoadBalancerId(app2, cluster1);
+ LoadBalancerId lb3 = new LoadBalancerId(app2, cluster2);
+ deployApplication(app1, cluster1);
+ deployApplication(app2, cluster1, cluster2);
+ assertEquals(3, loadBalancers.get().size());
// Remove one application deactivates load balancers for that application
removeApplication(app1);
@@ -55,8 +59,8 @@ public class LoadBalancerExpirerTest {
// Expirer defers removal while nodes are still allocated to application
expirer.maintain();
- assertEquals(2, tester.loadBalancerService().instances().size());
- dirtyNodesOf(app1);
+ assertEquals(3, tester.loadBalancerService().instances().size());
+ dirtyNodesOf(app1, cluster1);
// Expirer defers removal until expiration time passes
expirer.maintain();
@@ -70,10 +74,25 @@ public class LoadBalancerExpirerTest {
// Active load balancer is left alone
assertSame(LoadBalancer.State.active, loadBalancers.get().get(lb2).state());
assertTrue("Active load balancer is not removed", tester.loadBalancerService().instances().containsKey(lb2));
+
+ // A single cluster is removed
+ deployApplication(app2, cluster1);
+ expirer.maintain();
+ assertEquals(LoadBalancer.State.inactive, loadBalancers.get().get(lb3).state());
+
+ // Expirer defers removal while nodes are still allocated to cluster
+ expirer.maintain();
+ assertEquals(2, tester.loadBalancerService().instances().size());
+ dirtyNodesOf(app2, cluster2);
+
+ // Expirer removes load balancer for removed cluster
+ tester.clock().advance(Duration.ofHours(1));
+ expirer.maintain();
+ assertFalse("Inactive load balancer removed", tester.loadBalancerService().instances().containsKey(lb3));
}
@Test
- public void test_expire_reserved() {
+ public void expire_reserved() {
LoadBalancerExpirer expirer = new LoadBalancerExpirer(tester.nodeRepository(),
Duration.ofDays(1),
tester.loadBalancerService());
@@ -84,7 +103,7 @@ public class LoadBalancerExpirerTest {
ClusterSpec.Id cluster = ClusterSpec.Id.from("qrs");
ApplicationId app = tester.makeApplicationId();
LoadBalancerId lb = new LoadBalancerId(app, cluster);
- deployApplication(app, cluster, false);
+ deployApplication(app, false, cluster);
// Provisions load balancer in reserved
assertSame(LoadBalancer.State.reserved, loadBalancers.get().get(lb).state());
@@ -94,7 +113,7 @@ public class LoadBalancerExpirerTest {
assertSame(LoadBalancer.State.reserved, loadBalancers.get().get(lb).state());
// Application never activates and nodes are dirtied. Expirer moves load balancer to inactive after timeout
- dirtyNodesOf(app);
+ dirtyNodesOf(app, cluster);
tester.clock().advance(Duration.ofHours(1));
expirer.maintain();
assertSame(LoadBalancer.State.inactive, loadBalancers.get().get(lb).state());
@@ -109,8 +128,12 @@ public class LoadBalancerExpirerTest {
assertFalse("Inactive load balancer removed", loadBalancers.get().containsKey(lb));
}
- private void dirtyNodesOf(ApplicationId application) {
- tester.nodeRepository().setDirty(tester.nodeRepository().getNodes(application), Agent.system, this.getClass().getSimpleName());
+ private void dirtyNodesOf(ApplicationId application, ClusterSpec.Id cluster) {
+ tester.nodeRepository().setDirty(tester.nodeRepository().getNodes(application).stream()
+ .filter(node -> node.allocation().isPresent())
+ .filter(node -> node.allocation().get().membership().cluster().id().equals(cluster))
+ .collect(Collectors.toList()),
+ Agent.system, this.getClass().getSimpleName());
}
private void removeApplication(ApplicationId application) {
@@ -119,16 +142,19 @@ public class LoadBalancerExpirerTest {
transaction.commit();
}
- private void deployApplication(ApplicationId application, ClusterSpec.Id cluster) {
- deployApplication(application, cluster, true);
+ private void deployApplication(ApplicationId application, ClusterSpec.Id... clusters) {
+ deployApplication(application, true, clusters);
}
- private void deployApplication(ApplicationId application, ClusterSpec.Id cluster, boolean activate) {
+ private void deployApplication(ApplicationId application, boolean activate, ClusterSpec.Id... clusters) {
tester.makeReadyNodes(10, "d-1-1-1");
- List<HostSpec> hosts = tester.prepare(application, ClusterSpec.request(ClusterSpec.Type.container, cluster,
- Vtag.currentVersion, false),
- 2, 1,
- new NodeResources(1, 1, 1, 0.3));
+ List<HostSpec> hosts = new ArrayList<>();
+ for (var cluster : clusters) {
+ hosts.addAll(tester.prepare(application, ClusterSpec.request(ClusterSpec.Type.container, cluster,
+ Vtag.currentVersion, false),
+ 2, 1,
+ new NodeResources(1, 1, 1, 0.3)));
+ }
if (activate) {
tester.activate(application, hosts);
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
index d058832ba17..f63fa797f2f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
@@ -116,6 +116,22 @@ public class LoadBalancerProvisionerTest {
.collect(Collectors.toList());
assertEquals(activeContainers, reals);
+ // Cluster removal deactivates relevant load balancer
+ tester.activate(app1, prepare(app1, clusterRequest(ClusterSpec.Type.container, containerCluster1)));
+ assertEquals(2, lbApp1.get().size());
+ assertEquals("Deactivated load balancer for cluster " + containerCluster2, LoadBalancer.State.inactive,
+ lbApp1.get().stream()
+ .filter(lb -> lb.id().cluster().equals(containerCluster2))
+ .map(LoadBalancer::state)
+ .findFirst()
+ .get());
+ assertEquals("Load balancer for cluster " + containerCluster1 + " remains active", LoadBalancer.State.active,
+ lbApp1.get().stream()
+ .filter(lb -> lb.id().cluster().equals(containerCluster1))
+ .map(LoadBalancer::state)
+ .findFirst()
+ .get());
+
// Application is removed, nodes and load balancer are deactivated
NestedTransaction removeTransaction = new NestedTransaction();
tester.provisioner().remove(removeTransaction, app1);
diff --git a/parent/pom.xml b/parent/pom.xml
index e2012214d89..976550f3d4c 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -495,14 +495,14 @@
<artifactId>commons-pool</artifactId>
<version>1.5.6</version>
</dependency>
- <!-- Explicitly included to get Zookeeper version 3.4.13,
+ <!-- Explicitly included to get Zookeeper version 3.4.14,
can be excluded if you want the Zookeeper version
used by curator by default
-->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
- <version>3.4.13</version>
+ <version>3.4.14</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
diff --git a/persistence/src/tests/dummyimpl/dummypersistence_test.cpp b/persistence/src/tests/dummyimpl/dummypersistence_test.cpp
index 637b9ef512a..4ca78181fb8 100644
--- a/persistence/src/tests/dummyimpl/dummypersistence_test.cpp
+++ b/persistence/src/tests/dummyimpl/dummypersistence_test.cpp
@@ -25,9 +25,9 @@ struct Fixture {
}
Fixture() {
- insert(DocumentId("doc:test:3"), Timestamp(3), NONE);
- insert(DocumentId("doc:test:1"), Timestamp(1), NONE);
- insert(DocumentId("doc:test:2"), Timestamp(2), NONE);
+ insert(DocumentId("id:ns:type::test:3"), Timestamp(3), NONE);
+ insert(DocumentId("id:ns:type::test:1"), Timestamp(1), NONE);
+ insert(DocumentId("id:ns:type::test:2"), Timestamp(2), NONE);
}
};
@@ -35,21 +35,21 @@ TEST("require that empty BucketContent behaves") {
BucketContent content;
EXPECT_FALSE(content.hasTimestamp(Timestamp(1)));
EXPECT_FALSE(content.getEntry(Timestamp(1)).get());
- EXPECT_FALSE(content.getEntry(DocumentId("doc:test:1")).get());
+ EXPECT_FALSE(content.getEntry(DocumentId("id:ns:type::test:1")).get());
}
TEST_F("require that BucketContent can retrieve by timestamp", Fixture) {
DocEntry::SP entry = f.content.getEntry(Timestamp(1));
ASSERT_TRUE(entry.get());
ASSERT_TRUE(entry->getDocumentId());
- ASSERT_EQUAL("doc:test:1", entry->getDocumentId()->toString());
+ ASSERT_EQUAL("id:ns:type::test:1", entry->getDocumentId()->toString());
}
TEST_F("require that BucketContent can retrieve by doc id", Fixture) {
- DocEntry::SP entry = f.content.getEntry(DocumentId("doc:test:2"));
+ DocEntry::SP entry = f.content.getEntry(DocumentId("id:ns:type::test:2"));
ASSERT_TRUE(entry.get());
ASSERT_TRUE(entry->getDocumentId());
- ASSERT_EQUAL("doc:test:2", entry->getDocumentId()->toString());
+ ASSERT_EQUAL("id:ns:type::test:2", entry->getDocumentId()->toString());
}
TEST_F("require that BucketContent can check a timestamp", Fixture) {
@@ -64,13 +64,13 @@ TEST_F("require that BucketContent can provide bucket info", Fixture) {
uint32_t lastChecksum = 0;
EXPECT_NOT_EQUAL(lastChecksum, f.content.getBucketInfo().getChecksum());
lastChecksum = f.content.getBucketInfo().getChecksum();
- f.insert(DocumentId("doc:test:3"), Timestamp(4), NONE);
+ f.insert(DocumentId("id:ns:type::test:3"), Timestamp(4), NONE);
EXPECT_NOT_EQUAL(lastChecksum, f.content.getBucketInfo().getChecksum());
lastChecksum = f.content.getBucketInfo().getChecksum();
- f.insert(DocumentId("doc:test:2"), Timestamp(5), REMOVE_ENTRY);
+ f.insert(DocumentId("id:ns:type::test:2"), Timestamp(5), REMOVE_ENTRY);
EXPECT_NOT_EQUAL(lastChecksum, f.content.getBucketInfo().getChecksum());
- f.insert(DocumentId("doc:test:1"), Timestamp(6), REMOVE_ENTRY);
- f.insert(DocumentId("doc:test:3"), Timestamp(7), REMOVE_ENTRY);
+ f.insert(DocumentId("id:ns:type::test:1"), Timestamp(6), REMOVE_ENTRY);
+ f.insert(DocumentId("id:ns:type::test:3"), Timestamp(7), REMOVE_ENTRY);
EXPECT_EQUAL(0u, f.content.getBucketInfo().getChecksum());
}
diff --git a/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h b/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
index 6dbf311ef82..71319d782f1 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
+++ b/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
@@ -5,6 +5,7 @@
#include "collectiontype.h"
#include "basictype.h"
#include <vespa/searchcommon/common/iblobconverter.h>
+#include <ostream>
#include <vector>
namespace search {
@@ -48,6 +49,14 @@ public:
}
};
+template <typename T>
+std::ostream&
+operator<<(std::ostream& os, const WeightedType<T>& value)
+{
+ os << "{" << value.value() << "," << value.weight() << "}";
+ return os;
+}
+
/**
* This is a read interface used to access the content of an attribute vector.
**/
diff --git a/searchcore/src/tests/proton/attribute/attribute_test.cpp b/searchcore/src/tests/proton/attribute/attribute_test.cpp
index 3734d2fe1dc..3da27cde10e 100644
--- a/searchcore/src/tests/proton/attribute/attribute_test.cpp
+++ b/searchcore/src/tests/proton/attribute/attribute_test.cpp
@@ -204,7 +204,7 @@ TEST_F("require that attribute writer handles put", Fixture)
attribute::ConstCharContent sbuf;
{ // empty document should give default values
EXPECT_EQUAL(1u, a1->getNumDocs());
- f.put(1, *idb.startDocument("doc::1").endDocument(), 1);
+ f.put(1, *idb.startDocument("id:ns:searchdocument::1").endDocument(), 1);
EXPECT_EQUAL(2u, a1->getNumDocs());
EXPECT_EQUAL(2u, a2->getNumDocs());
EXPECT_EQUAL(2u, a3->getNumDocs());
@@ -226,7 +226,7 @@ TEST_F("require that attribute writer handles put", Fixture)
EXPECT_EQUAL(strcmp("", sbuf[0]), 0);
}
{ // document with single value & multi value attribute
- Document::UP doc = idb.startDocument("doc::2").
+ Document::UP doc = idb.startDocument("id:ns:searchdocument::2").
startAttributeField("a1").addInt(10).endField().
startAttributeField("a2").startElement().addInt(20).endElement().
startElement().addInt(30).endElement().endField().endDocument();
@@ -246,7 +246,7 @@ TEST_F("require that attribute writer handles put", Fixture)
EXPECT_EQUAL(30u, ibuf[1]);
}
{ // replace existing document
- Document::UP doc = idb.startDocument("doc::2").
+ Document::UP doc = idb.startDocument("id:ns:searchdocument::2").
startAttributeField("a1").addInt(100).endField().
startAttributeField("a2").startElement().addInt(200).endElement().
startElement().addInt(300).endElement().
@@ -281,7 +281,7 @@ TEST_F("require that attribute writer handles predicate put", Fixture)
// empty document should give default values
EXPECT_EQUAL(1u, a1->getNumDocs());
- f.put(1, *idb.startDocument("doc::1").endDocument(), 1);
+ f.put(1, *idb.startDocument("id:ns:searchdocument::1").endDocument(), 1);
EXPECT_EQUAL(2u, a1->getNumDocs());
EXPECT_EQUAL(1u, a1->getStatus().getLastSyncToken());
EXPECT_EQUAL(0u, index.getZeroConstraintDocs().size());
@@ -289,7 +289,7 @@ TEST_F("require that attribute writer handles predicate put", Fixture)
// document with single value attribute
PredicateSlimeBuilder builder;
Document::UP doc =
- idb.startDocument("doc::2").startAttributeField("a1")
+ idb.startDocument("id:ns:searchdocument::2").startAttributeField("a1")
.addPredicate(builder.true_predicate().build())
.endField().endDocument();
f.put(2, *doc, 2);
@@ -301,7 +301,7 @@ TEST_F("require that attribute writer handles predicate put", Fixture)
EXPECT_FALSE(it.valid());
// replace existing document
- doc = idb.startDocument("doc::2").startAttributeField("a1")
+ doc = idb.startDocument("id:ns:searchdocument::2").startAttributeField("a1")
.addPredicate(builder.feature("foo").value("bar").build())
.endField().endDocument();
f.put(3, *doc, 2);
@@ -374,7 +374,7 @@ TEST_F("require that visibilitydelay is honoured", Fixture)
DocBuilder idb(s);
EXPECT_EQUAL(1u, a1->getNumDocs());
EXPECT_EQUAL(0u, a1->getStatus().getLastSyncToken());
- Document::UP doc = idb.startDocument("doc::1")
+ Document::UP doc = idb.startDocument("id:ns:searchdocument::1")
.startAttributeField("a1").addStr("10").endField()
.endDocument();
f.put(3, *doc, 1);
@@ -398,11 +398,11 @@ TEST_F("require that visibilitydelay is honoured", Fixture)
EXPECT_EQUAL(8u, a1->getStatus().getLastSyncToken());
verifyAttributeContent(*a1, 2, "10");
- awDelayed.put(9, *idb.startDocument("doc::1").startAttributeField("a1").addStr("11").endField().endDocument(),
+ awDelayed.put(9, *idb.startDocument("id:ns:searchdocument::1").startAttributeField("a1").addStr("11").endField().endDocument(),
2, false, emptyCallback);
- awDelayed.put(10, *idb.startDocument("doc::1").startAttributeField("a1").addStr("20").endField().endDocument(),
+ awDelayed.put(10, *idb.startDocument("id:ns:searchdocument::1").startAttributeField("a1").addStr("20").endField().endDocument(),
2, false, emptyCallback);
- awDelayed.put(11, *idb.startDocument("doc::1").startAttributeField("a1").addStr("30").endField().endDocument(),
+ awDelayed.put(11, *idb.startDocument("id:ns:searchdocument::1").startAttributeField("a1").addStr("30").endField().endDocument(),
2, false, emptyCallback);
EXPECT_EQUAL(8u, a1->getStatus().getLastSyncToken());
verifyAttributeContent(*a1, 2, "10");
@@ -422,7 +422,7 @@ TEST_F("require that attribute writer handles predicate remove", Fixture)
DocBuilder idb(s);
PredicateSlimeBuilder builder;
Document::UP doc =
- idb.startDocument("doc::1").startAttributeField("a1")
+ idb.startDocument("id:ns:searchdocument::1").startAttributeField("a1")
.addPredicate(builder.true_predicate().build())
.endField().endDocument();
f.put(1, *doc, 1);
@@ -447,7 +447,7 @@ TEST_F("require that attribute writer handles update", Fixture)
schema.addAttributeField(Schema::AttributeField("a2", schema::DataType::INT32, CollectionType::SINGLE));
DocBuilder idb(schema);
const document::DocumentType &dt(idb.getDocumentType());
- DocumentUpdate upd(*idb.getDocumentTypeRepo(), dt, DocumentId("doc::1"));
+ DocumentUpdate upd(*idb.getDocumentTypeRepo(), dt, DocumentId("id:ns:searchdocument::1"));
upd.addUpdate(FieldUpdate(upd.getType().getField("a1"))
.addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 5)));
upd.addUpdate(FieldUpdate(upd.getType().getField("a2"))
@@ -484,14 +484,14 @@ TEST_F("require that attribute writer handles predicate update", Fixture)
DocBuilder idb(schema);
PredicateSlimeBuilder builder;
Document::UP doc =
- idb.startDocument("doc::1").startAttributeField("a1")
+ idb.startDocument("id:ns:searchdocument::1").startAttributeField("a1")
.addPredicate(builder.true_predicate().build())
.endField().endDocument();
f.put(1, *doc, 1);
EXPECT_EQUAL(2u, a1->getNumDocs());
const document::DocumentType &dt(idb.getDocumentType());
- DocumentUpdate upd(*idb.getDocumentTypeRepo(), dt, DocumentId("doc::1"));
+ DocumentUpdate upd(*idb.getDocumentTypeRepo(), dt, DocumentId("id:ns:searchdocument::1"));
PredicateFieldValue new_value(builder.feature("foo").value("bar").build());
upd.addUpdate(FieldUpdate(upd.getType().getField("a1"))
.addUpdate(AssignValueUpdate(new_value)));
@@ -633,7 +633,7 @@ createTensorSchema() {
Document::UP
createTensorPutDoc(DocBuilder &builder, const Tensor &tensor) {
- return builder.startDocument("doc::1").
+ return builder.startDocument("id:ns:searchdocument::1").
startAttributeField("a1").
addTensor(tensor.clone()).endField().endDocument();
}
@@ -678,7 +678,7 @@ TEST_F("require that attribute writer handles tensor assign update", Fixture)
EXPECT_TRUE(tensor->equals(*tensor2));
const document::DocumentType &dt(builder.getDocumentType());
- DocumentUpdate upd(*builder.getDocumentTypeRepo(), dt, DocumentId("doc::1"));
+ DocumentUpdate upd(*builder.getDocumentTypeRepo(), dt, DocumentId("id:ns:searchdocument::1"));
auto new_tensor = make_tensor(TensorSpec("tensor(x{},y{})")
.add({{"x", "8"}, {"y", "9"}}, 11));
TensorDataType xySparseTensorDataType(vespalib::eval::ValueType::from_spec("tensor(x{},y{})"));
@@ -728,7 +728,7 @@ putAttributes(Fixture &f, std::vector<uint32_t> expExecuteHistory)
EXPECT_EQUAL(1u, a1->getNumDocs());
EXPECT_EQUAL(1u, a2->getNumDocs());
EXPECT_EQUAL(1u, a3->getNumDocs());
- f.put(1, *idb.startDocument("doc::1").
+ f.put(1, *idb.startDocument("id:ns:searchdocument::1").
startAttributeField("a1").addInt(10).endField().
startAttributeField("a2").addInt(15).endField().
startAttributeField("a3").addInt(20).endField().
diff --git a/searchcore/src/tests/proton/common/cachedselect_test.cpp b/searchcore/src/tests/proton/common/cachedselect_test.cpp
index dcba8fda1c6..df414439bce 100644
--- a/searchcore/src/tests/proton/common/cachedselect_test.cpp
+++ b/searchcore/src/tests/proton/common/cachedselect_test.cpp
@@ -466,10 +466,10 @@ TEST_F("Test that basic select works", TestFixture)
{
MyDB &db(*f._db);
- db.addDoc(1u, "doc:test:1", "hello", "null", 45, 37);
- db.addDoc(2u, "doc:test:2", "gotcha", "foo", 3, 25);
- db.addDoc(3u, "doc:test:3", "gotcha", "foo", noIntVal, noIntVal);
- db.addDoc(4u, "doc:test:4", "null", "foo", noIntVal, noIntVal);
+ db.addDoc(1u, "id:ns:test::1", "hello", "null", 45, 37);
+ db.addDoc(2u, "id:ns:test::2", "gotcha", "foo", 3, 25);
+ db.addDoc(3u, "id:ns:test::3", "gotcha", "foo", noIntVal, noIntVal);
+ db.addDoc(4u, "id:ns:test::4", "null", "foo", noIntVal, noIntVal);
CachedSelect::SP cs;
@@ -566,9 +566,9 @@ struct PreDocSelectFixture : public TestFixture {
PreDocSelectFixture()
: TestFixture()
{
- db().addDoc(1u, "doc:test:1", "foo", "null", 3, 5);
- db().addDoc(2u, "doc:test:1", "bar", "null", 3, 5);
- db().addDoc(3u, "doc:test:2", "foo", "null", 7, 5);
+ db().addDoc(1u, "id:ns:test::1", "foo", "null", 3, 5);
+ db().addDoc(2u, "id:ns:test::1", "bar", "null", 3, 5);
+ db().addDoc(3u, "id:ns:test::2", "foo", "null", 7, 5);
}
};
@@ -602,10 +602,10 @@ TEST_F("Test performance when using attributes", TestFixture)
{
MyDB &db(*f._db);
- db.addDoc(1u, "doc:test:1", "hello", "null", 45, 37);
- db.addDoc(2u, "doc:test:2", "gotcha", "foo", 3, 25);
- db.addDoc(3u, "doc:test:3", "gotcha", "foo", noIntVal, noIntVal);
- db.addDoc(4u, "doc:test:4", "null", "foo", noIntVal, noIntVal);
+ db.addDoc(1u, "id:ns:test::1", "hello", "null", 45, 37);
+ db.addDoc(2u, "id:ns:test::2", "gotcha", "foo", 3, 25);
+ db.addDoc(3u, "id:ns:test::3", "gotcha", "foo", noIntVal, noIntVal);
+ db.addDoc(4u, "id:ns:test::4", "null", "foo", noIntVal, noIntVal);
CachedSelect::SP cs;
cs = f.testParse("test.aa < 45", "test");
diff --git a/searchcore/src/tests/proton/common/selectpruner_test.cpp b/searchcore/src/tests/proton/common/selectpruner_test.cpp
index a7feb865d96..5b1fa3ed4bf 100644
--- a/searchcore/src/tests/proton/common/selectpruner_test.cpp
+++ b/searchcore/src/tests/proton/common/selectpruner_test.cpp
@@ -36,8 +36,7 @@ using search::AttributeFactory;
typedef Node::UP NodeUP;
-namespace
-{
+namespace {
const int32_t doc_type_id = 787121340;
const string type_name = "test";
@@ -57,9 +56,6 @@ const string invalid_name("test_2.ac > 3999");
const string invalid2_name("test_2.ac > 4999");
const string empty("");
-const document::DocumentId docId("doc:test:1");
-
-
std::unique_ptr<const DocumentTypeRepo>
makeDocTypeRepo()
{
@@ -135,23 +131,12 @@ public:
bool _hasDocuments;
TestFixture();
-
~TestFixture();
- void
- testParse(const string &selection);
-
- void
- testParseFail(const string &selection);
-
- void
- testPrune(const string &selection,
- const string &exp);
-
- void
- testPrune(const string &selection,
- const string &exp,
- const string &docTypeName);
+ void testParse(const string &selection);
+ void testParseFail(const string &selection);
+ void testPrune(const string &selection, const string &exp);
+ void testPrune(const string &selection, const string &exp, const string &docTypeName);
};
@@ -169,28 +154,22 @@ TestFixture::TestFixture()
}
-TestFixture::~TestFixture()
-{
-}
+TestFixture::~TestFixture() = default;
void
TestFixture::testParse(const string &selection)
{
const DocumentTypeRepo &repo(*_repoUP);
- document::select::Parser parser(repo,
- document::BucketIdFactory());
+ document::select::Parser parser(repo,document::BucketIdFactory());
NodeUP select;
try {
- LOG(info,
- "Trying to parse '%s'",
- selection.c_str());
+ LOG(info, "Trying to parse '%s'", selection.c_str());
select = parser.parse(selection);
} catch (document::select::ParsingFailedException &e) {
- LOG(info,
- "Parse failed: %s", e.what());
+ LOG(info, "Parse failed: %s", e.what());
select.reset(0);
}
ASSERT_TRUE(select.get() != NULL);
@@ -201,20 +180,15 @@ void
TestFixture::testParseFail(const string &selection)
{
const DocumentTypeRepo &repo(*_repoUP);
- document::select::Parser parser(repo,
- document::BucketIdFactory());
+ document::select::Parser parser(repo,document::BucketIdFactory());
NodeUP select;
try {
- LOG(info,
- "Trying to parse '%s'",
- selection.c_str());
+ LOG(info, "Trying to parse '%s'", selection.c_str());
select = parser.parse(selection);
} catch (document::select::ParsingFailedException &e) {
- LOG(info,
- "Parse failed: %s",
- e.getMessage().c_str());
+ LOG(info, "Parse failed: %s", e.getMessage().c_str());
select.reset(0);
}
ASSERT_TRUE(select.get() == NULL);
@@ -222,25 +196,18 @@ TestFixture::testParseFail(const string &selection)
void
-TestFixture::testPrune(const string &selection,
- const string &exp,
- const string &docTypeName)
+TestFixture::testPrune(const string &selection, const string &exp, const string &docTypeName)
{
const DocumentTypeRepo &repo(*_repoUP);
- document::select::Parser parser(repo,
- document::BucketIdFactory());
+ document::select::Parser parser(repo,document::BucketIdFactory());
NodeUP select;
try {
- LOG(info,
- "Trying to parse '%s' with docType=%s",
- selection.c_str(),
- docTypeName.c_str());
+ LOG(info, "Trying to parse '%s' with docType=%s", selection.c_str(), docTypeName.c_str());
select = parser.parse(selection);
} catch (document::select::ParsingFailedException &e) {
- LOG(info,
- "Parse failed: %s", e.what());
+ LOG(info, "Parse failed: %s", e.what());
select.reset(0);
}
ASSERT_TRUE(select.get() != NULL);
@@ -249,7 +216,7 @@ TestFixture::testPrune(const string &selection,
LOG(info, "ParseTree: '%s'", os.str().c_str());
const DocumentType *docType = repo.getDocumentType(docTypeName);
ASSERT_TRUE(docType != NULL);
- Document::UP emptyDoc(new Document(*docType, docId));
+ Document::UP emptyDoc(new Document(*docType, document::DocumentId("id:ns:" + docTypeName + "::1")));
emptyDoc->setRepo(repo);
SelectPruner pruner(docTypeName, &_amgr, *emptyDoc, repo, _hasFields, _hasDocuments);
pruner.process(*select);
diff --git a/searchcore/src/tests/proton/docsummary/docsummary.cpp b/searchcore/src/tests/proton/docsummary/docsummary.cpp
index e8152161faa..0a9f3127844 100644
--- a/searchcore/src/tests/proton/docsummary/docsummary.cpp
+++ b/searchcore/src/tests/proton/docsummary/docsummary.cpp
@@ -429,7 +429,7 @@ Test::requireThatAdapterHandlesAllFieldTypes()
s.addSummaryField(Schema::SummaryField("l", schema::DataType::STRING));
BuildContext bc(s);
- bc._bld.startDocument("doc::0");
+ bc._bld.startDocument("id:ns:searchdocument::0");
bc._bld.startSummaryField("a").addInt(255).endField();
bc._bld.startSummaryField("b").addInt(32767).endField();
bc._bld.startSummaryField("c").addInt(2147483647).endField();
@@ -478,12 +478,12 @@ Test::requireThatAdapterHandlesMultipleDocuments()
s.addSummaryField(Schema::SummaryField("a", schema::DataType::INT32));
BuildContext bc(s);
- bc._bld.startDocument("doc::0").
+ bc._bld.startDocument("id:ns:searchdocument::0").
startSummaryField("a").
addInt(1000).
endField();
bc.endDocument(0);
- bc._bld.startDocument("doc::1").
+ bc._bld.startDocument("id:ns:searchdocument::1").
startSummaryField("a").
addInt(2000).endField();
bc.endDocument(1);
@@ -519,7 +519,7 @@ Test::requireThatAdapterHandlesDocumentIdField()
Schema s;
s.addSummaryField(Schema::SummaryField("documentid", schema::DataType::STRING));
BuildContext bc(s);
- bc._bld.startDocument("doc::0").
+ bc._bld.startDocument("id:ns:searchdocument::0").
startSummaryField("documentid").
addStr("foo").
endField();
@@ -528,16 +528,16 @@ Test::requireThatAdapterHandlesDocumentIdField()
bc.createFieldCacheRepo(getResultConfig())->getFieldCache("class4"),
getMarkupFields());
GeneralResultPtr res = getResult(dsa, 0);
- EXPECT_EQUAL("doc::0", std::string(res->GetEntry("documentid")->_stringval,
+ EXPECT_EQUAL("id:ns:searchdocument::0", std::string(res->GetEntry("documentid")->_stringval,
res->GetEntry("documentid")->_stringlen));
}
-GlobalId gid1 = DocumentId("doc::1").getGlobalId(); // lid 1
-GlobalId gid2 = DocumentId("doc::2").getGlobalId(); // lid 2
-GlobalId gid3 = DocumentId("doc::3").getGlobalId(); // lid 3
-GlobalId gid4 = DocumentId("doc::4").getGlobalId(); // lid 4
-GlobalId gid9 = DocumentId("doc::9").getGlobalId(); // not existing
+GlobalId gid1 = DocumentId("id:ns:searchdocument::1").getGlobalId(); // lid 1
+GlobalId gid2 = DocumentId("id:ns:searchdocument::2").getGlobalId(); // lid 2
+GlobalId gid3 = DocumentId("id:ns:searchdocument::3").getGlobalId(); // lid 3
+GlobalId gid4 = DocumentId("id:ns:searchdocument::4").getGlobalId(); // lid 4
+GlobalId gid9 = DocumentId("id:ns:searchdocument::9").getGlobalId(); // not existing
void
Test::requireThatDocsumRequestIsProcessed()
@@ -547,31 +547,31 @@ Test::requireThatDocsumRequestIsProcessed()
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- dc.put(*bc._bld.startDocument("doc::1").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::1").
startSummaryField("a").
addInt(10).
endField().
endDocument(),
1);
- dc.put(*bc._bld.startDocument("doc::2").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::2").
startSummaryField("a").
addInt(20).
endField().
endDocument(),
2);
- dc.put(*bc._bld.startDocument("doc::3").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::3").
startSummaryField("a").
addInt(30).
endField().
endDocument(),
3);
- dc.put(*bc._bld.startDocument("doc::4").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::4").
startSummaryField("a").
addInt(40).
endField().
endDocument(),
4);
- dc.put(*bc._bld.startDocument("doc::5").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::5").
startSummaryField("a").
addInt(50).
endField().
@@ -607,7 +607,7 @@ Test::requireThatRewritersAreUsed()
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- dc.put(*bc._bld.startDocument("doc::1").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::1").
startSummaryField("aa").
addInt(10).
endField().
@@ -634,7 +634,7 @@ Test::requireThatSummariesTimeout()
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- dc.put(*bc._bld.startDocument("doc::1").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::1").
startSummaryField("aa").
addInt(10).
endField().
@@ -686,10 +686,10 @@ Test::requireThatAttributesAreUsed()
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- dc.put(*bc._bld.startDocument("doc::1").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::1").
endDocument(),
1); // empty doc
- dc.put(*bc._bld.startDocument("doc::2").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::2").
startAttributeField("ba").
addInt(10).
endField().
@@ -753,7 +753,7 @@ Test::requireThatAttributesAreUsed()
endField().
endDocument(),
2);
- dc.put(*bc._bld.startDocument("doc::3").
+ dc.put(*bc._bld.startDocument("id:ns:searchdocument::3").
endDocument(),
3); // empty doc
@@ -818,7 +818,7 @@ Test::requireThatSummaryAdapterHandlesPutAndRemove()
s.addSummaryField(Schema::SummaryField("f1", schema::DataType::STRING, CollectionType::SINGLE));
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- Document::UP exp = bc._bld.startDocument("doc::1").
+ Document::UP exp = bc._bld.startDocument("id:ns:searchdocument::1").
startSummaryField("f1").
addStr("foo").
endField().
@@ -854,7 +854,7 @@ Test::requireThatAnnotationsAreUsed()
s.addSummaryField(Schema::SummaryField("dynamicstring", schema::DataType::STRING, CollectionType::SINGLE));
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- Document::UP exp = bc._bld.startDocument("doc::0").
+ Document::UP exp = bc._bld.startDocument("id:ns:searchdocument::0").
startIndexField("g").
addStr("foo").
addStr("bar").
@@ -908,7 +908,7 @@ Test::requireThatUrisAreUsed()
s.addSummaryField(Schema::SummaryField("uriwset", schema::DataType::STRING, CollectionType::WEIGHTEDSET));
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- Document::UP exp = bc._bld.startDocument("doc::0").
+ Document::UP exp = bc._bld.startDocument("id:ns:searchdocument::0").
startIndexField("urisingle").
startSubField("all").
addUrlTokenizedString("http://www.example.com:81/fluke?ab=2#4").
@@ -1074,7 +1074,7 @@ Test::requireThatPositionsAreUsed()
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- Document::UP exp = bc._bld.startDocument("doc::1").
+ Document::UP exp = bc._bld.startDocument("id:ns:searchdocument::1").
startAttributeField("sp2").
addPosition(1002, 1003).
endField().
@@ -1146,7 +1146,7 @@ Test::requireThatRawFieldsWorks()
BuildContext bc(s);
DBContext dc(bc._repo, getDocTypeName());
- Document::UP exp = bc._bld.startDocument("doc::0").
+ Document::UP exp = bc._bld.startDocument("id:ns:searchdocument::0").
startSummaryField("i").
addRaw(raw1s.c_str(), raw1s.size()).
endField().
@@ -1178,8 +1178,7 @@ Test::requireThatRawFieldsWorks()
bc.createFieldCacheRepo(getResultConfig())->getFieldCache("class0"),
getMarkupFields());
- ASSERT_TRUE(assertString(raw1s,
- "i", dsa, 1));
+ ASSERT_TRUE(assertString(raw1s, "i", dsa, 1));
GeneralResultPtr res = getResult(dsa, 1);
{
@@ -1237,14 +1236,12 @@ Test::Test()
continue;
// Assume just one argument: source field that must contain markup
_markupFields.insert(markupField);
- LOG(info,
- "Field %s has markup",
- markupField.c_str());
+ LOG(info, "Field %s has markup", markupField.c_str());
}
}
}
-Test::~Test() {}
+Test::~Test() = default;
int
Test::Main()
diff --git a/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp b/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp
index cc6eef14fd6..b295926c64a 100644
--- a/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp
+++ b/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp
@@ -350,7 +350,7 @@ StringFieldValue Test::makeAnnotatedChineseString() {
}
Document Test::makeDocument() {
- Document doc(getDocType(), DocumentId("doc:scheme:"));
+ Document doc(getDocType(), DocumentId("id:ns:indexingdocument::"));
doc.setRepo(*_documentRepo);
doc.setValue("string", makeAnnotatedString());
@@ -667,7 +667,7 @@ Test::requireThatPredicateIsPrinted()
Cursor &arr = obj.setArray(Predicate::SET);
arr.addString("bar");
- Document doc(getDocType(), DocumentId("doc:scheme:"));
+ Document doc(getDocType(), DocumentId("id:ns:indexingdocument::"));
doc.setRepo(*_documentRepo);
doc.setValue("predicate", PredicateFieldValue(std::move(input)));
@@ -687,7 +687,7 @@ Test::requireThatTensorIsNotConverted()
TensorFieldValue tensorFieldValue(tensorDataType);
tensorFieldValue = make_tensor(TensorSpec("tensor(x{},y{})")
.add({{"x", "4"}, {"y", "5"}}, 7));
- Document doc(getDocType(), DocumentId("doc:scheme:"));
+ Document doc(getDocType(), DocumentId("id:ns:indexingdocument::"));
doc.setRepo(*_documentRepo);
doc.setValue("tensor", tensorFieldValue);
@@ -712,7 +712,7 @@ const ReferenceDataType& Test::getAsRefType(const string& name) const {
}
void Test::requireThatNonEmptyReferenceIsConvertedToStringWithId() {
- Document doc(getDocType(), DocumentId("doc:scheme:"));
+ Document doc(getDocType(), DocumentId("id:ns:indexingdocument::"));
doc.setRepo(*_documentRepo);
doc.setValue("ref", ReferenceFieldValue(
getAsRefType("Reference<target_dummy_document>"),
@@ -723,7 +723,7 @@ void Test::requireThatNonEmptyReferenceIsConvertedToStringWithId() {
}
void Test::requireThatEmptyReferenceIsConvertedToEmptyString() {
- Document doc(getDocType(), DocumentId("doc:scheme:"));
+ Document doc(getDocType(), DocumentId("id:ns:indexingdocument::"));
doc.setRepo(*_documentRepo);
doc.setValue("ref", ReferenceFieldValue(
getAsRefType("Reference<target_dummy_document>")));
@@ -735,7 +735,7 @@ void Test::requireThatEmptyReferenceIsConvertedToEmptyString() {
// Own test for this to ensure that SlimeFiller code path is executed,
// as this only triggers for composite field types.
void Test::requireThatReferenceInCompositeTypeEmitsSlimeData() {
- Document doc(getDocType(), DocumentId("doc:scheme:"));
+ Document doc(getDocType(), DocumentId("id:ns:indexingdocument::"));
doc.setRepo(*_documentRepo);
StructFieldValue sfv(getDataType("indexingdocument.header.nested"));
diff --git a/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp b/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp
index ad5ac55c5e9..9342ddd4b8a 100644
--- a/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp
+++ b/searchcore/src/tests/proton/document_iterator/document_iterator_test.cpp
@@ -416,17 +416,17 @@ void checkEntry(const IterateResult &res, size_t idx, const Document &doc, const
TEST("require that custom retrievers work as expected") {
IDocumentRetriever::SP dr =
- cat(cat(doc("doc:foo:1", Timestamp(2), bucket(5)),
- rem("doc:foo:2", Timestamp(3), bucket(5))),
- cat(doc("doc:foo:3", Timestamp(7), bucket(6)),
+ cat(cat(doc("id:ns:document::1", Timestamp(2), bucket(5)),
+ rem("id:ns:document::2", Timestamp(3), bucket(5))),
+ cat(doc("id:ns:document::3", Timestamp(7), bucket(6)),
nil()));
- EXPECT_FALSE(dr->getDocumentMetaData(DocumentId("doc:foo:bogus")).valid());
+ EXPECT_FALSE(dr->getDocumentMetaData(DocumentId("id:ns:document::bogus")).valid());
EXPECT_TRUE(dr->getDocument(1).get() == 0);
EXPECT_TRUE(dr->getDocument(2).get() == 0);
EXPECT_TRUE(dr->getDocument(3).get() != 0);
- TEST_DO(checkDoc(*dr, "doc:foo:1", 2, 5, false));
- TEST_DO(checkDoc(*dr, "doc:foo:2", 3, 5, true));
- TEST_DO(checkDoc(*dr, "doc:foo:3", 7, 6, false));
+ TEST_DO(checkDoc(*dr, "id:ns:document::1", 2, 5, false));
+ TEST_DO(checkDoc(*dr, "id:ns:document::2", 3, 5, true));
+ TEST_DO(checkDoc(*dr, "id:ns:document::3", 7, 6, false));
DocumentMetaData::Vector b5;
DocumentMetaData::Vector b6;
dr->getBucketMetaData(bucket(5), b5);
@@ -456,19 +456,19 @@ TEST("require that a list of empty retrievers can be iterated") {
TEST("require that normal documents can be iterated") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(doc("doc:foo:2", Timestamp(3), bucket(5)),
- doc("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(doc("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(doc("id:ns:document::2", Timestamp(3), bucket(5)),
+ doc("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(3u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:1")), Timestamp(2)));
- TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("doc:foo:2")), Timestamp(3)));
- TEST_DO(checkEntry(res, 2, Document(*DataType::DOCUMENT, DocumentId("doc:foo:3")), Timestamp(4)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::1")), Timestamp(2)));
+ TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::2")), Timestamp(3)));
+ TEST_DO(checkEntry(res, 2, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::3")), Timestamp(4)));
}
void verifyIterateIgnoringStopSignal(DocumentIterator & itr) {
- itr.add(doc("doc:foo:1", Timestamp(2), bucket(5)));
+ itr.add(doc("id:ns:document::1", Timestamp(2), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(1u, res.getEntries().size());
@@ -488,14 +488,14 @@ TEST("require that iterator ignoring maxbytes stops at the end, and does not aut
}
void verifyReadConsistency(DocumentIterator & itr, Committer & committer) {
- IDocumentRetriever::SP retriever = doc("doc:foo:1", Timestamp(2), bucket(5));
+ IDocumentRetriever::SP retriever = doc("id:ns:document::1", Timestamp(2), bucket(5));
IDocumentRetriever::SP commitAndWaitRetriever(new CommitAndWaitDocumentRetriever(retriever, committer));
itr.add(commitAndWaitRetriever);
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(1u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:1")), Timestamp(2)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::1")), Timestamp(2)));
EXPECT_EQUAL(0u, committer._commitCount);
}
@@ -516,7 +516,7 @@ TEST("require that readconsistency::strong does commit") {
}
TEST("require that docid limit is honoured") {
- IDocumentRetriever::SP retriever = doc("doc:foo:1", Timestamp(2), bucket(5));
+ IDocumentRetriever::SP retriever = doc("id:ns:document::1", Timestamp(2), bucket(5));
UnitDR & udr = dynamic_cast<UnitDR &>(*retriever);
udr.docid = 7;
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
@@ -524,7 +524,7 @@ TEST("require that docid limit is honoured") {
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(1u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:1")), Timestamp(2)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::1")), Timestamp(2)));
udr.setDocIdLimit(7);
DocumentIterator limited(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
@@ -536,46 +536,46 @@ TEST("require that docid limit is honoured") {
TEST("require that remove entries can be iterated") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
- itr.add(rem("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(rem("doc:foo:2", Timestamp(3), bucket(5)),
- rem("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(rem("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(rem("id:ns:document::2", Timestamp(3), bucket(5)),
+ rem("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(3u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, DocumentId("doc:foo:1"), Timestamp(2)));
- TEST_DO(checkEntry(res, 1, DocumentId("doc:foo:2"), Timestamp(3)));
- TEST_DO(checkEntry(res, 2, DocumentId("doc:foo:3"), Timestamp(4)));
+ TEST_DO(checkEntry(res, 0, DocumentId("id:ns:document::1"), Timestamp(2)));
+ TEST_DO(checkEntry(res, 1, DocumentId("id:ns:document::2"), Timestamp(3)));
+ TEST_DO(checkEntry(res, 2, DocumentId("id:ns:document::3"), Timestamp(4)));
}
TEST("require that remove entries can be ignored") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), docV(), -1, false);
- itr.add(rem("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(doc("doc:foo:2", Timestamp(3), bucket(5)),
- rem("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(rem("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(doc("id:ns:document::2", Timestamp(3), bucket(5)),
+ rem("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(1u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:2")), Timestamp(3)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::2")), Timestamp(3)));
}
TEST("require that iterating all versions returns both documents and removes") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), allV(), -1, false);
- itr.add(rem("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(doc("doc:foo:2", Timestamp(3), bucket(5)),
- rem("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(rem("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(doc("id:ns:document::2", Timestamp(3), bucket(5)),
+ rem("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(3u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, DocumentId("doc:foo:1"), Timestamp(2)));
- TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("doc:foo:2")), Timestamp(3)));
- TEST_DO(checkEntry(res, 2, DocumentId("doc:foo:3"), Timestamp(4)));
+ TEST_DO(checkEntry(res, 0, DocumentId("id:ns:document::1"), Timestamp(2)));
+ TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::2")), Timestamp(3)));
+ TEST_DO(checkEntry(res, 2, DocumentId("id:ns:document::3"), Timestamp(4)));
}
TEST("require that using an empty field set returns meta-data only") {
DocumentIterator itr(bucket(5), document::NoFields(), selectAll(), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(doc("doc:foo:2", Timestamp(3), bucket(5)),
- rem("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(doc("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(doc("id:ns:document::2", Timestamp(3), bucket(5)),
+ rem("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(3u, res.getEntries().size());
@@ -586,30 +586,30 @@ TEST("require that using an empty field set returns meta-data only") {
TEST("require that entries in other buckets are skipped") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
- itr.add(rem("doc:foo:1", Timestamp(2), bucket(6)));
- itr.add(cat(doc("doc:foo:2", Timestamp(3), bucket(5)),
- doc("doc:foo:3", Timestamp(4), bucket(6))));
+ itr.add(rem("id:ns:document::1", Timestamp(2), bucket(6)));
+ itr.add(cat(doc("id:ns:document::2", Timestamp(3), bucket(5)),
+ doc("id:ns:document::3", Timestamp(4), bucket(6))));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(1u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:2")), Timestamp(3)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::2")), Timestamp(3)));
}
TEST("require that maxBytes splits iteration results") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(rem("doc:foo:2", Timestamp(3), bucket(5)),
- doc("doc:foo:3", Timestamp(4), bucket(5))));
- IterateResult res1 = itr.iterate(getSize(Document(*DataType::DOCUMENT, DocumentId("doc:foo:1"))) +
- getSize(DocumentId("doc:foo:2")));
+ itr.add(doc("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(rem("id:ns:document::2", Timestamp(3), bucket(5)),
+ doc("id:ns:document::3", Timestamp(4), bucket(5))));
+ IterateResult res1 = itr.iterate(getSize(Document(*DataType::DOCUMENT, DocumentId("id:ns:document::1"))) +
+ getSize(DocumentId("id:ns:document::2")));
EXPECT_TRUE(!res1.isCompleted());
EXPECT_EQUAL(2u, res1.getEntries().size());
- TEST_DO(checkEntry(res1, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:1")), Timestamp(2)));
- TEST_DO(checkEntry(res1, 1, DocumentId("doc:foo:2"), Timestamp(3)));
+ TEST_DO(checkEntry(res1, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::1")), Timestamp(2)));
+ TEST_DO(checkEntry(res1, 1, DocumentId("id:ns:document::2"), Timestamp(3)));
IterateResult res2 = itr.iterate(largeNum);
EXPECT_TRUE(res2.isCompleted());
- TEST_DO(checkEntry(res2, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:3")), Timestamp(4)));
+ TEST_DO(checkEntry(res2, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::3")), Timestamp(4)));
IterateResult res3 = itr.iterate(largeNum);
EXPECT_TRUE(res3.isCompleted());
@@ -618,9 +618,9 @@ TEST("require that maxBytes splits iteration results") {
TEST("require that maxBytes splits iteration results for meta-data only iteration") {
DocumentIterator itr(bucket(5), document::NoFields(), selectAll(), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(rem("doc:foo:2", Timestamp(3), bucket(5)),
- doc("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(doc("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(rem("id:ns:document::2", Timestamp(3), bucket(5)),
+ doc("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res1 = itr.iterate(getSize() + getSize());
EXPECT_TRUE(!res1.isCompleted());
EXPECT_EQUAL(2u, res1.getEntries().size());
@@ -638,122 +638,122 @@ TEST("require that maxBytes splits iteration results for meta-data only iteratio
TEST("require that at least one document is returned by visit") {
DocumentIterator itr(bucket(5), document::AllFields(), selectAll(), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(2), bucket(5)));
- itr.add(cat(rem("doc:foo:2", Timestamp(3), bucket(5)),
- doc("doc:foo:3", Timestamp(4), bucket(5))));
+ itr.add(doc("id:ns:document::1", Timestamp(2), bucket(5)));
+ itr.add(cat(rem("id:ns:document::2", Timestamp(3), bucket(5)),
+ doc("id:ns:document::3", Timestamp(4), bucket(5))));
IterateResult res1 = itr.iterate(0);
EXPECT_TRUE(1u <= res1.getEntries().size());
- TEST_DO(checkEntry(res1, 0, Document(*DataType::DOCUMENT,DocumentId("doc:foo:1")), Timestamp(2)));
+ TEST_DO(checkEntry(res1, 0, Document(*DataType::DOCUMENT,DocumentId("id:ns:document::1")), Timestamp(2)));
}
TEST("require that documents outside the timestamp limits are ignored") {
DocumentIterator itr(bucket(5), document::AllFields(), selectTimestampRange(100, 200), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(99), bucket(5)));
- itr.add(doc("doc:foo:2", Timestamp(100), bucket(5)));
- itr.add(doc("doc:foo:3", Timestamp(200), bucket(5)));
- itr.add(doc("doc:foo:4", Timestamp(201), bucket(5)));
- itr.add(rem("doc:foo:5", Timestamp(99), bucket(5)));
- itr.add(rem("doc:foo:6", Timestamp(100), bucket(5)));
- itr.add(rem("doc:foo:7", Timestamp(200), bucket(5)));
- itr.add(rem("doc:foo:8", Timestamp(201), bucket(5)));
+ itr.add(doc("id:ns:document::1", Timestamp(99), bucket(5)));
+ itr.add(doc("id:ns:document::2", Timestamp(100), bucket(5)));
+ itr.add(doc("id:ns:document::3", Timestamp(200), bucket(5)));
+ itr.add(doc("id:ns:document::4", Timestamp(201), bucket(5)));
+ itr.add(rem("id:ns:document::5", Timestamp(99), bucket(5)));
+ itr.add(rem("id:ns:document::6", Timestamp(100), bucket(5)));
+ itr.add(rem("id:ns:document::7", Timestamp(200), bucket(5)));
+ itr.add(rem("id:ns:document::8", Timestamp(201), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(4u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:2")), Timestamp(100)));
- TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("doc:foo:3")), Timestamp(200)));
- TEST_DO(checkEntry(res, 2, DocumentId("doc:foo:6"), Timestamp(100)));
- TEST_DO(checkEntry(res, 3, DocumentId("doc:foo:7"), Timestamp(200)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::2")), Timestamp(100)));
+ TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::3")), Timestamp(200)));
+ TEST_DO(checkEntry(res, 2, DocumentId("id:ns:document::6"), Timestamp(100)));
+ TEST_DO(checkEntry(res, 3, DocumentId("id:ns:document::7"), Timestamp(200)));
}
TEST("require that timestamp subset returns the appropriate documents") {
DocumentIterator itr(bucket(5), document::AllFields(), selectTimestampSet(200, 350, 400), newestV(), -1, false);
- itr.add(doc("doc:foo:1", Timestamp(500), bucket(5)));
- itr.add(doc("doc:foo:2", Timestamp(400), bucket(5)));
- itr.add(doc("doc:foo:3", Timestamp(300), bucket(5)));
- itr.add(doc("doc:foo:4", Timestamp(200), bucket(5)));
- itr.add(rem("doc:foo:5", Timestamp(250), bucket(5)));
- itr.add(rem("doc:foo:6", Timestamp(350), bucket(5)));
- itr.add(rem("doc:foo:7", Timestamp(450), bucket(5)));
- itr.add(rem("doc:foo:8", Timestamp(550), bucket(5)));
+ itr.add(doc("id:ns:document::1", Timestamp(500), bucket(5)));
+ itr.add(doc("id:ns:document::2", Timestamp(400), bucket(5)));
+ itr.add(doc("id:ns:document::3", Timestamp(300), bucket(5)));
+ itr.add(doc("id:ns:document::4", Timestamp(200), bucket(5)));
+ itr.add(rem("id:ns:document::5", Timestamp(250), bucket(5)));
+ itr.add(rem("id:ns:document::6", Timestamp(350), bucket(5)));
+ itr.add(rem("id:ns:document::7", Timestamp(450), bucket(5)));
+ itr.add(rem("id:ns:document::8", Timestamp(550), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(3u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:2")), Timestamp(400)));
- TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("doc:foo:4")), Timestamp(200)));
- TEST_DO(checkEntry(res, 2, DocumentId("doc:foo:6"), Timestamp(350)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::2")), Timestamp(400)));
+ TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::4")), Timestamp(200)));
+ TEST_DO(checkEntry(res, 2, DocumentId("id:ns:document::6"), Timestamp(350)));
}
TEST("require that document selection will filter results") {
- DocumentIterator itr(bucket(5), document::AllFields(), selectDocs("id=\"doc:foo:xxx*\""), newestV(), -1, false);
- itr.add(doc("doc:foo:xxx1", Timestamp(99), bucket(5)));
- itr.add(doc("doc:foo:yyy1", Timestamp(100), bucket(5)));
- itr.add(doc("doc:foo:xxx2", Timestamp(200), bucket(5)));
- itr.add(doc("doc:foo:yyy2", Timestamp(201), bucket(5)));
- itr.add(rem("doc:foo:xxx3", Timestamp(99), bucket(5)));
- itr.add(rem("doc:foo:yyy3", Timestamp(100), bucket(5)));
- itr.add(rem("doc:foo:xxx4", Timestamp(200), bucket(5)));
- itr.add(rem("doc:foo:yyy4", Timestamp(201), bucket(5)));
+ DocumentIterator itr(bucket(5), document::AllFields(), selectDocs("id=\"id:ns:document::xxx*\""), newestV(), -1, false);
+ itr.add(doc("id:ns:document::xxx1", Timestamp(99), bucket(5)));
+ itr.add(doc("id:ns:document::yyy1", Timestamp(100), bucket(5)));
+ itr.add(doc("id:ns:document::xxx2", Timestamp(200), bucket(5)));
+ itr.add(doc("id:ns:document::yyy2", Timestamp(201), bucket(5)));
+ itr.add(rem("id:ns:document::xxx3", Timestamp(99), bucket(5)));
+ itr.add(rem("id:ns:document::yyy3", Timestamp(100), bucket(5)));
+ itr.add(rem("id:ns:document::xxx4", Timestamp(200), bucket(5)));
+ itr.add(rem("id:ns:document::yyy4", Timestamp(201), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(4u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:xxx1")), Timestamp(99)));
- TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("doc:foo:xxx2")), Timestamp(200)));
- TEST_DO(checkEntry(res, 2, DocumentId("doc:foo:xxx3"), Timestamp(99)));
- TEST_DO(checkEntry(res, 3, DocumentId("doc:foo:xxx4"), Timestamp(200)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::xxx1")), Timestamp(99)));
+ TEST_DO(checkEntry(res, 1, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::xxx2")), Timestamp(200)));
+ TEST_DO(checkEntry(res, 2, DocumentId("id:ns:document::xxx3"), Timestamp(99)));
+ TEST_DO(checkEntry(res, 3, DocumentId("id:ns:document::xxx4"), Timestamp(200)));
}
TEST("require that document selection handles 'field == null'") {
DocumentIterator itr(bucket(5), document::AllFields(), selectDocs("foo.aa == null"), newestV(), -1, false);
- itr.add(doc_with_null_fields("doc:foo:xxx1", Timestamp(99), bucket(5)));
- itr.add(doc_with_null_fields("doc:foo:xxx2", Timestamp(100), bucket(5)));
+ itr.add(doc_with_null_fields("id:ns:foo::xxx1", Timestamp(99), bucket(5)));
+ itr.add(doc_with_null_fields("id:ns:foo::xxx2", Timestamp(100), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
ASSERT_EQUAL(2u, res.getEntries().size());
- Document expected1(getAttrDocType(), DocumentId("doc:foo:xxx1"));
+ Document expected1(getAttrDocType(), DocumentId("id:ns:foo::xxx1"));
TEST_DO(checkEntry(res, 0, expected1, Timestamp(99)));
- Document expected2(getAttrDocType(), DocumentId("doc:foo:xxx2"));
+ Document expected2(getAttrDocType(), DocumentId("id:ns:foo::xxx2"));
TEST_DO(checkEntry(res, 1, expected2, Timestamp(100)));
}
TEST("require that invalid document selection returns no documents") {
DocumentIterator itr(bucket(5), document::AllFields(), selectDocs("=="), newestV(), -1, false);
- itr.add(doc("doc:foo:xxx1", Timestamp(99), bucket(5)));
- itr.add(doc("doc:foo:yyy1", Timestamp(100), bucket(5)));
- itr.add(doc("doc:foo:xxx2", Timestamp(200), bucket(5)));
- itr.add(doc("doc:foo:yyy2", Timestamp(201), bucket(5)));
- itr.add(rem("doc:foo:xxx3", Timestamp(99), bucket(5)));
- itr.add(rem("doc:foo:yyy3", Timestamp(100), bucket(5)));
- itr.add(rem("doc:foo:xxx4", Timestamp(200), bucket(5)));
- itr.add(rem("doc:foo:yyy4", Timestamp(201), bucket(5)));
+ itr.add(doc("id:ns:document::xxx1", Timestamp(99), bucket(5)));
+ itr.add(doc("id:ns:document::yyy1", Timestamp(100), bucket(5)));
+ itr.add(doc("id:ns:document::xxx2", Timestamp(200), bucket(5)));
+ itr.add(doc("id:ns:document::yyy2", Timestamp(201), bucket(5)));
+ itr.add(rem("id:ns:document::xxx3", Timestamp(99), bucket(5)));
+ itr.add(rem("id:ns:document::yyy3", Timestamp(100), bucket(5)));
+ itr.add(rem("id:ns:document::xxx4", Timestamp(200), bucket(5)));
+ itr.add(rem("id:ns:document::yyy4", Timestamp(201), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(0u, res.getEntries().size());
}
TEST("require that document selection and timestamp range works together") {
- DocumentIterator itr(bucket(5), document::AllFields(), selectDocsWithinRange("id=\"doc:foo:xxx*\"", 100, 200), newestV(), -1, false);
- itr.add(doc("doc:foo:xxx1", Timestamp(99), bucket(5)));
- itr.add(doc("doc:foo:yyy1", Timestamp(100), bucket(5)));
- itr.add(doc("doc:foo:xxx2", Timestamp(200), bucket(5)));
- itr.add(doc("doc:foo:yyy2", Timestamp(201), bucket(5)));
- itr.add(rem("doc:foo:xxx3", Timestamp(99), bucket(5)));
- itr.add(rem("doc:foo:yyy3", Timestamp(100), bucket(5)));
- itr.add(rem("doc:foo:xxx4", Timestamp(200), bucket(5)));
- itr.add(rem("doc:foo:yyy4", Timestamp(201), bucket(5)));
+ DocumentIterator itr(bucket(5), document::AllFields(), selectDocsWithinRange("id=\"id:ns:document::xxx*\"", 100, 200), newestV(), -1, false);
+ itr.add(doc("id:ns:document::xxx1", Timestamp(99), bucket(5)));
+ itr.add(doc("id:ns:document::yyy1", Timestamp(100), bucket(5)));
+ itr.add(doc("id:ns:document::xxx2", Timestamp(200), bucket(5)));
+ itr.add(doc("id:ns:document::yyy2", Timestamp(201), bucket(5)));
+ itr.add(rem("id:ns:document::xxx3", Timestamp(99), bucket(5)));
+ itr.add(rem("id:ns:document::yyy3", Timestamp(100), bucket(5)));
+ itr.add(rem("id:ns:document::xxx4", Timestamp(200), bucket(5)));
+ itr.add(rem("id:ns:document::yyy4", Timestamp(201), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(2u, res.getEntries().size());
- TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("doc:foo:xxx2")), Timestamp(200)));
- TEST_DO(checkEntry(res, 1, DocumentId("doc:foo:xxx4"), Timestamp(200)));
+ TEST_DO(checkEntry(res, 0, Document(*DataType::DOCUMENT, DocumentId("id:ns:document::xxx2")), Timestamp(200)));
+ TEST_DO(checkEntry(res, 1, DocumentId("id:ns:document::xxx4"), Timestamp(200)));
}
TEST("require that fieldset limits fields returned") {
DocumentIterator itr(bucket(5), document::HeaderFields(), selectAll(), newestV(), -1, false);
- itr.add(doc_with_fields("doc:foo:xxx1", Timestamp(1), bucket(5)));
+ itr.add(doc_with_fields("id:ns:foo::xxx1", Timestamp(1), bucket(5)));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(1u, res.getEntries().size());
- Document expected(getDocType(), DocumentId("doc:foo:xxx1"));
+ Document expected(getDocType(), DocumentId("id:ns:foo::xxx1"));
expected.set("header", "foo");
TEST_DO(checkEntry(res, 0, expected, Timestamp(1)));
}
@@ -798,26 +798,26 @@ TEST("require that attributes are used")
{
UnitDR::reset();
DocumentIterator itr(bucket(5), document::AllFields(), selectDocs("foo.aa == 45"), docV(), -1, false);
- itr.add(doc_with_attr_fields("doc:foo:xx1", Timestamp(1), bucket(5),
+ itr.add(doc_with_attr_fields("id:ns:foo::xx1", Timestamp(1), bucket(5),
27, 28, 27, 2.7, 2.8, "x27", "x28"));
- itr.add(doc_with_attr_fields("doc:foo:xx2", Timestamp(2), bucket(5),
+ itr.add(doc_with_attr_fields("id:ns:foo::xx2", Timestamp(2), bucket(5),
27, 28, 45, 2.7, 4.5, "x27", "x45"));
- itr.add(doc_with_attr_fields("doc:foo:xx3", Timestamp(3), bucket(5),
+ itr.add(doc_with_attr_fields("id:ns:foo::xx3", Timestamp(3), bucket(5),
45, 46, 27, 4.5, 2.7, "x45", "x27"));
- itr.add(doc_with_attr_fields("doc:foo:xx4", Timestamp(4), bucket(5),
+ itr.add(doc_with_attr_fields("id:ns:foo::xx4", Timestamp(4), bucket(5),
45, 46, 45, 4.5, 4.5, "x45", "x45"));
IterateResult res = itr.iterate(largeNum);
EXPECT_TRUE(res.isCompleted());
EXPECT_EQUAL(2u, res.getEntries().size());
- Document expected1(getAttrDocType(), DocumentId("doc:foo:xx2"));
+ Document expected1(getAttrDocType(), DocumentId("id:ns:foo::xx2"));
expected1.set("header", "foo");
expected1.set("body", "bar");
expected1.set("aa", 27);
expected1.set("ab", 28);
expected1.set("dd", 2.7);
expected1.set("ss", "x27");
- Document expected2(getAttrDocType(), DocumentId("doc:foo:xx4"));
+ Document expected2(getAttrDocType(), DocumentId("id:ns:foo::xx4"));
expected2.set("header", "foo");
expected2.set("body", "bar");
expected2.set("aa", 45);
@@ -828,26 +828,26 @@ TEST("require that attributes are used")
TEST_DO(checkEntry(res, 1, expected2, Timestamp(4)));
DocumentIterator itr2(bucket(5), document::AllFields(), selectDocs("foo.dd == 4.5"), docV(), -1, false);
- itr2.add(doc_with_attr_fields("doc:foo:xx5", Timestamp(5), bucket(5),
+ itr2.add(doc_with_attr_fields("id:ns:foo::xx5", Timestamp(5), bucket(5),
27, 28, 27, 2.7, 2.8, "x27", "x28"));
- itr2.add(doc_with_attr_fields("doc:foo:xx6", Timestamp(6), bucket(5),
+ itr2.add(doc_with_attr_fields("id:ns:foo::xx6", Timestamp(6), bucket(5),
27, 28, 45, 2.7, 4.5, "x27", "x45"));
- itr2.add(doc_with_attr_fields("doc:foo:xx7", Timestamp(7), bucket(5),
+ itr2.add(doc_with_attr_fields("id:ns:foo::xx7", Timestamp(7), bucket(5),
45, 46, 27, 4.5, 2.7, "x45", "x27"));
- itr2.add(doc_with_attr_fields("doc:foo:xx8", Timestamp(8), bucket(5),
+ itr2.add(doc_with_attr_fields("id:ns:foo::xx8", Timestamp(8), bucket(5),
45, 46, 45, 4.5, 4.5, "x45", "x45"));
IterateResult res2 = itr2.iterate(largeNum);
EXPECT_TRUE(res2.isCompleted());
EXPECT_EQUAL(2u, res2.getEntries().size());
- Document expected3(getAttrDocType(), DocumentId("doc:foo:xx6"));
+ Document expected3(getAttrDocType(), DocumentId("id:ns:foo::xx6"));
expected3.set("header", "foo");
expected3.set("body", "bar");
expected3.set("aa", 27);
expected3.set("ab", 28);
expected3.set("dd", 2.7);
expected3.set("ss", "x27");
- Document expected4(getAttrDocType(), DocumentId("doc:foo:xx8"));
+ Document expected4(getAttrDocType(), DocumentId("id:ns:foo::xx8"));
expected4.set("header", "foo");
expected4.set("body", "bar");
expected4.set("aa", 45);
@@ -858,26 +858,26 @@ TEST("require that attributes are used")
TEST_DO(checkEntry(res2, 1, expected4, Timestamp(8)));
DocumentIterator itr3(bucket(5), document::AllFields(), selectDocs("foo.ss == \"x45\""), docV(), -1, false);
- itr3.add(doc_with_attr_fields("doc:foo:xx9", Timestamp(9), bucket(5),
+ itr3.add(doc_with_attr_fields("id:ns:foo::xx9", Timestamp(9), bucket(5),
27, 28, 27, 2.7, 2.8, "x27", "x28"));
- itr3.add(doc_with_attr_fields("doc:foo:xx10", Timestamp(10), bucket(5),
+ itr3.add(doc_with_attr_fields("id:ns:foo::xx10", Timestamp(10), bucket(5),
27, 28, 45, 2.7, 4.5, "x27", "x45"));
- itr3.add(doc_with_attr_fields("doc:foo:xx11", Timestamp(11), bucket(5),
+ itr3.add(doc_with_attr_fields("id:ns:foo::xx11", Timestamp(11), bucket(5),
45, 46, 27, 4.5, 2.7, "x45", "x27"));
- itr3.add(doc_with_attr_fields("doc:foo:xx12", Timestamp(12), bucket(5),
+ itr3.add(doc_with_attr_fields("id:ns:foo::xx12", Timestamp(12), bucket(5),
45, 46, 45, 4.5, 4.5, "x45", "x45"));
IterateResult res3 = itr3.iterate(largeNum);
EXPECT_TRUE(res3.isCompleted());
EXPECT_EQUAL(2u, res3.getEntries().size());
- Document expected5(getAttrDocType(), DocumentId("doc:foo:xx10"));
+ Document expected5(getAttrDocType(), DocumentId("id:ns:foo::xx10"));
expected5.set("header", "foo");
expected5.set("body", "bar");
expected5.set("aa", 27);
expected5.set("ab", 28);
expected5.set("dd", 2.7);
expected5.set("ss", "x27");
- Document expected6(getAttrDocType(), DocumentId("doc:foo:xx12"));
+ Document expected6(getAttrDocType(), DocumentId("id:ns:foo::xx12"));
expected6.set("header", "foo");
expected6.set("body", "bar");
expected6.set("aa", 45);
diff --git a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
index 4b3b68a85ea..f99668a13f8 100644
--- a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
@@ -537,7 +537,7 @@ TEST_F("require that heartBeat calls FeedView's heartBeat",
TEST_F("require that outdated remove is ignored", FeedHandlerFixture)
{
- DocumentContext doc_context("doc:test:foo", *f.schema.builder);
+ DocumentContext doc_context("id:ns:searchdocument::foo", *f.schema.builder);
FeedOperation::UP op(new RemoveOperation(doc_context.bucketId, Timestamp(10), doc_context.doc->getId()));
static_cast<DocumentOperation &>(*op).setPrevDbDocumentId(DbDocumentId(4));
static_cast<DocumentOperation &>(*op).setPrevTimestamp(Timestamp(10000));
@@ -549,7 +549,7 @@ TEST_F("require that outdated remove is ignored", FeedHandlerFixture)
TEST_F("require that outdated put is ignored", FeedHandlerFixture)
{
- DocumentContext doc_context("doc:test:foo", *f.schema.builder);
+ DocumentContext doc_context("id:ns:searchdocument::foo", *f.schema.builder);
FeedOperation::UP op(new PutOperation(doc_context.bucketId,
Timestamp(10), doc_context.doc));
static_cast<DocumentOperation &>(*op).setPrevTimestamp(Timestamp(10000));
@@ -570,7 +570,7 @@ addLidToRemove(RemoveDocumentsOperation &op)
TEST_F("require that handleMove calls FeedView", FeedHandlerFixture)
{
- DocumentContext doc_context("doc:test:foo", *f.schema.builder);
+ DocumentContext doc_context("id:ns:searchdocument::foo", *f.schema.builder);
MoveOperation op(doc_context.bucketId, Timestamp(2), doc_context.doc, DbDocumentId(0, 2), 1);
op.setDbDocumentId(DbDocumentId(1, 2));
f.runAsMaster([&]() { f.handler.handleMove(op, IDestructorCallback::SP()); });
@@ -806,7 +806,7 @@ TEST_F("require that tensor update with wrong tensor type fails", FeedHandlerFix
TEST_F("require that put with different document type repo is ok", FeedHandlerFixture)
{
TwoFieldsSchemaContext schema;
- DocumentContext doc_context("doc:test:foo", *schema.builder);
+ DocumentContext doc_context("id:ns:searchdocument::foo", *schema.builder);
auto op = std::make_unique<PutOperation>(doc_context.bucketId,
Timestamp(10), doc_context.doc);
FeedTokenContext token_context;
diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
index b39b70572e0..144f4ca4ff7 100644
--- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
@@ -577,7 +577,7 @@ struct FixtureBase
}
DocumentContext doc1(uint64_t timestamp = 10) {
- return doc("doc:test:1", timestamp);
+ return doc("id:ns:searchdocument::1", timestamp);
}
void performPut(FeedToken token, PutOperation &op) {
@@ -661,7 +661,7 @@ struct FixtureBase
uint32_t id = first + i;
uint64_t ts = tsfirst + i;
vespalib::asciistream os;
- os << "doc:test:" << id;
+ os << "id:ns:searchdocument::" << id;
docs.push_back(doc(os.str(), ts));
}
return docs;
@@ -822,7 +822,7 @@ TEST_F("require that put() calls attribute adapter", SearchableFeedViewFixture)
f.putAndWait(dc);
EXPECT_EQUAL(1u, f.maw._putSerial);
- EXPECT_EQUAL(DocumentId("doc:test:1"), f.maw._putDocId);
+ EXPECT_EQUAL(DocumentId("id:ns:searchdocument::1"), f.maw._putDocId);
EXPECT_EQUAL(1u, f.maw._putLid);
EXPECT_EQUAL(2u, f._docIdLimit.get());
}
@@ -861,7 +861,7 @@ TEST_F("require that update() calls attribute adapter", SearchableFeedViewFixtur
f.putAndWait(dc1);
f.updateAndWait(dc2);
- assertAttributeUpdate(2u, DocumentId("doc:test:1"), 1u, f.maw);
+ assertAttributeUpdate(2u, DocumentId("id:ns:searchdocument::1"), 1u, f.maw);
}
TEST_F("require that remove() updates document meta store with bucket info",
@@ -1064,7 +1064,7 @@ void putDocumentAndUpdate(Fixture &f, const vespalib::string &fieldName)
f.putAndWait(dc1);
EXPECT_EQUAL(1u, f.msa._store._lastSyncToken);
- DocumentContext dc2("doc:test:1", 20, f.getBuilder());
+ DocumentContext dc2("id:ns:searchdocument::1", 20, f.getBuilder());
dc2.addFieldUpdate(f.getBuilder(), fieldName);
f.updateAndWait(dc2);
}
@@ -1076,7 +1076,7 @@ void requireThatUpdateOnlyUpdatesAttributeAndNotDocumentStore(Fixture &f,
putDocumentAndUpdate(f, fieldName);
EXPECT_EQUAL(1u, f.msa._store._lastSyncToken); // document store not updated
- assertAttributeUpdate(2u, DocumentId("doc:test:1"), 1, f.maw);
+ assertAttributeUpdate(2u, DocumentId("id:ns:searchdocument::1"), 1, f.maw);
}
template <typename Fixture>
@@ -1086,7 +1086,7 @@ void requireThatUpdateUpdatesAttributeAndDocumentStore(Fixture &f,
putDocumentAndUpdate(f, fieldName);
EXPECT_EQUAL(2u, f.msa._store._lastSyncToken); // document store updated
- assertAttributeUpdate(2u, DocumentId("doc:test:1"), 1, f.maw);
+ assertAttributeUpdate(2u, DocumentId("id:ns:searchdocument::1"), 1, f.maw);
}
TEST_F("require that update() to fast-access attribute only updates attribute and not document store",
diff --git a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp
index f6f0c2b0806..2fc6cc87631 100644
--- a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp
+++ b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp
@@ -545,14 +545,14 @@ TEST(DocumentMetaStoreTest, lid_and_gid_space_is_reused)
GlobalId
createGid(uint32_t lid)
{
- DocumentId docId(vespalib::make_string("doc:id:%u", lid));
+ DocumentId docId(vespalib::make_string("id:ns:testdoc::%u", lid));
return docId.getGlobalId();
}
GlobalId
createGid(uint32_t userId, uint32_t lid)
{
- DocumentId docId(vespalib::make_string("id:id:testdoc:n=%u:%u", userId, lid));
+ DocumentId docId(vespalib::make_string("id:ns:testdoc:n=%u:%u", userId, lid));
return docId.getGlobalId();
}
diff --git a/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp b/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp
index 23a87415f7f..4580865b3a4 100644
--- a/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp
+++ b/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp
@@ -105,7 +105,7 @@ Schema getSchema() {
Document::UP buildDocument(DocBuilder & doc_builder, int id,
const string &word) {
ostringstream ost;
- ost << "doc::" << id;
+ ost << "id:ns:searchdocument::" << id;
doc_builder.startDocument(ost.str());
doc_builder.startIndexField(field_name)
.addStr(noise).addStr(word).endField();
diff --git a/searchcore/src/tests/proton/feedoperation/feedoperation_test.cpp b/searchcore/src/tests/proton/feedoperation/feedoperation_test.cpp
index 6a9dc42b56d..5a3ed4b7274 100644
--- a/searchcore/src/tests/proton/feedoperation/feedoperation_test.cpp
+++ b/searchcore/src/tests/proton/feedoperation/feedoperation_test.cpp
@@ -145,7 +145,7 @@ TEST("require that toString() on derived classes are meaningful")
uint32_t sub_db_id = 1;
MyStreamHandler stream_handler;
DocumentIdT doc_id_limit = 15;
- DocumentId doc_id("doc:foo:bar");
+ DocumentId doc_id("id:ns:foo:::bar");
DocumentUpdate::SP update(new DocumentUpdate(repo, *DataType::DOCUMENT, doc_id));
EXPECT_EQUAL("DeleteBucket(BucketId(0x0000000000000000), serialNum=0)",
@@ -196,7 +196,7 @@ TEST("require that toString() on derived classes are meaningful")
EXPECT_EQUAL("Remove(null::, BucketId(0x0000000000000000), timestamp=0, dbdId=(subDbId=0, lid=0), "
"prevDbdId=(subDbId=0, lid=0), prevMarkedAsRemoved=false, prevTimestamp=0, serialNum=0)",
RemoveOperation().toString());
- EXPECT_EQUAL("Remove(doc:foo:bar, BucketId(0x000000000000002a), timestamp=10, dbdId=(subDbId=0, lid=0), "
+ EXPECT_EQUAL("Remove(id:ns:foo:::bar, BucketId(0x000000000000002a), timestamp=10, dbdId=(subDbId=0, lid=0), "
"prevDbdId=(subDbId=0, lid=0), prevMarkedAsRemoved=false, prevTimestamp=0, serialNum=0)",
RemoveOperation(bucket_id1, timestamp, doc_id).toString());
@@ -214,7 +214,7 @@ TEST("require that toString() on derived classes are meaningful")
EXPECT_EQUAL("Update(NULL, BucketId(0x0000000000000000), timestamp=0, dbdId=(subDbId=0, lid=0), "
"prevDbdId=(subDbId=0, lid=0), prevMarkedAsRemoved=false, prevTimestamp=0, serialNum=0)",
UpdateOperation().toString());
- EXPECT_EQUAL("Update(doc:foo:bar, BucketId(0x000000000000002a), timestamp=10, dbdId=(subDbId=0, lid=0), "
+ EXPECT_EQUAL("Update(id:ns:foo:::bar, BucketId(0x000000000000002a), timestamp=10, dbdId=(subDbId=0, lid=0), "
"prevDbdId=(subDbId=0, lid=0), prevMarkedAsRemoved=false, prevTimestamp=0, serialNum=0)",
UpdateOperation(bucket_id1, timestamp, update).toString());
diff --git a/searchcore/src/tests/proton/index/fusionrunner_test.cpp b/searchcore/src/tests/proton/index/fusionrunner_test.cpp
index e6cdbf8d6cb..49b452aec2e 100644
--- a/searchcore/src/tests/proton/index/fusionrunner_test.cpp
+++ b/searchcore/src/tests/proton/index/fusionrunner_test.cpp
@@ -143,7 +143,7 @@ void Test::tearDown() {
Document::UP buildDocument(DocBuilder & doc_builder, int id, const string &word) {
vespalib::asciistream ost;
- ost << "doc::" << id;
+ ost << "id:ns:searchdocument::" << id;
doc_builder.startDocument(ost.str());
doc_builder.startIndexField(field_name).addStr(word).endField();
return doc_builder.endDocument();
diff --git a/searchcore/src/tests/proton/index/index_writer/index_writer_test.cpp b/searchcore/src/tests/proton/index/index_writer/index_writer_test.cpp
index d92ac0dcdc2..73919a7c628 100644
--- a/searchcore/src/tests/proton/index/index_writer/index_writer_test.cpp
+++ b/searchcore/src/tests/proton/index/index_writer/index_writer_test.cpp
@@ -89,7 +89,7 @@ struct Fixture
{
}
Document::UP createDoc(uint32_t lid) {
- builder.startDocument(vespalib::make_string("doc:test:%u", lid));
+ builder.startDocument(vespalib::make_string("id:ns:searchdocument::%u", lid));
return builder.endDocument();
}
void put(SerialNum serialNum, const search::DocumentIdT lid) {
diff --git a/searchcore/src/tests/proton/index/indexmanager_test.cpp b/searchcore/src/tests/proton/index/indexmanager_test.cpp
index d92cc62c5a1..80b1f9f0560 100644
--- a/searchcore/src/tests/proton/index/indexmanager_test.cpp
+++ b/searchcore/src/tests/proton/index/indexmanager_test.cpp
@@ -89,7 +89,7 @@ void removeTestData() {
Document::UP buildDocument(DocBuilder &doc_builder, int id,
const string &word) {
vespalib::asciistream ost;
- ost << "doc::" << id;
+ ost << "id:ns:searchdocument::" << id;
doc_builder.startDocument(ost.str());
doc_builder.startIndexField(field_name).addStr(word).endField();
return doc_builder.endDocument();
diff --git a/searchcore/src/tests/proton/matching/matching_test.cpp b/searchcore/src/tests/proton/matching/matching_test.cpp
index e46ed997d0f..3f68b54aca2 100644
--- a/searchcore/src/tests/proton/matching/matching_test.cpp
+++ b/searchcore/src/tests/proton/matching/matching_test.cpp
@@ -192,7 +192,7 @@ struct MyWorld {
// metaStore
for (uint32_t i = 0; i < NUM_DOCS; ++i) {
- document::DocumentId docId(vespalib::make_string("doc::%u", i));
+ document::DocumentId docId(vespalib::make_string("id:ns:searchdocument::%u", i));
const document::GlobalId &gid = docId.getGlobalId();
document::BucketId bucketId(BucketFactory::getBucketId(docId));
uint32_t docSize = 1;
@@ -455,11 +455,11 @@ TEST("require that ranking is performed (multi-threaded)") {
EXPECT_EQUAL(9u, world.matchingStats.docsRanked());
EXPECT_EQUAL(0u, world.matchingStats.docsReRanked());
ASSERT_TRUE(reply->hits.size() == 9u);
- EXPECT_EQUAL(document::DocumentId("doc::900").getGlobalId(), reply->hits[0].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::900").getGlobalId(), reply->hits[0].gid);
EXPECT_EQUAL(900.0, reply->hits[0].metric);
- EXPECT_EQUAL(document::DocumentId("doc::800").getGlobalId(), reply->hits[1].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::800").getGlobalId(), reply->hits[1].gid);
EXPECT_EQUAL(800.0, reply->hits[1].metric);
- EXPECT_EQUAL(document::DocumentId("doc::700").getGlobalId(), reply->hits[2].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::700").getGlobalId(), reply->hits[2].gid);
EXPECT_EQUAL(700.0, reply->hits[2].metric);
EXPECT_GREATER(world.matchingStats.matchTimeAvg(), 0.0000001);
EXPECT_EQUAL(0.0, world.matchingStats.rerankTimeAvg());
@@ -478,15 +478,15 @@ TEST("require that re-ranking is performed (multi-threaded)") {
EXPECT_EQUAL(9u, world.matchingStats.docsRanked());
EXPECT_EQUAL(3u, world.matchingStats.docsReRanked());
ASSERT_TRUE(reply->hits.size() == 9u);
- EXPECT_EQUAL(document::DocumentId("doc::900").getGlobalId(), reply->hits[0].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::900").getGlobalId(), reply->hits[0].gid);
EXPECT_EQUAL(1800.0, reply->hits[0].metric);
- EXPECT_EQUAL(document::DocumentId("doc::800").getGlobalId(), reply->hits[1].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::800").getGlobalId(), reply->hits[1].gid);
EXPECT_EQUAL(1600.0, reply->hits[1].metric);
- EXPECT_EQUAL(document::DocumentId("doc::700").getGlobalId(), reply->hits[2].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::700").getGlobalId(), reply->hits[2].gid);
EXPECT_EQUAL(1400.0, reply->hits[2].metric);
- EXPECT_EQUAL(document::DocumentId("doc::600").getGlobalId(), reply->hits[3].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::600").getGlobalId(), reply->hits[3].gid);
EXPECT_EQUAL(600.0, reply->hits[3].metric);
- EXPECT_EQUAL(document::DocumentId("doc::500").getGlobalId(), reply->hits[4].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::500").getGlobalId(), reply->hits[4].gid);
EXPECT_EQUAL(500.0, reply->hits[4].metric);
EXPECT_GREATER(world.matchingStats.matchTimeAvg(), 0.0000001);
EXPECT_GREATER(world.matchingStats.rerankTimeAvg(), 0.0000001);
@@ -532,15 +532,15 @@ TEST("require that re-ranking is diverse with diversity = 1/1") {
EXPECT_EQUAL(9u, world.matchingStats.docsRanked());
EXPECT_EQUAL(3u, world.matchingStats.docsReRanked());
ASSERT_TRUE(reply->hits.size() == 9u);
- EXPECT_EQUAL(document::DocumentId("doc::900").getGlobalId(), reply->hits[0].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::900").getGlobalId(), reply->hits[0].gid);
EXPECT_EQUAL(1800.0, reply->hits[0].metric);
- EXPECT_EQUAL(document::DocumentId("doc::800").getGlobalId(), reply->hits[1].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::800").getGlobalId(), reply->hits[1].gid);
EXPECT_EQUAL(1600.0, reply->hits[1].metric);
- EXPECT_EQUAL(document::DocumentId("doc::700").getGlobalId(), reply->hits[2].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::700").getGlobalId(), reply->hits[2].gid);
EXPECT_EQUAL(1400.0, reply->hits[2].metric);
- EXPECT_EQUAL(document::DocumentId("doc::600").getGlobalId(), reply->hits[3].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::600").getGlobalId(), reply->hits[3].gid);
EXPECT_EQUAL(600.0, reply->hits[3].metric);
- EXPECT_EQUAL(document::DocumentId("doc::500").getGlobalId(), reply->hits[4].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::500").getGlobalId(), reply->hits[4].gid);
EXPECT_EQUAL(500.0, reply->hits[4].metric);
}
@@ -559,16 +559,16 @@ TEST("require that re-ranking is diverse with diversity = 1/10") {
EXPECT_EQUAL(9u, world.matchingStats.docsRanked());
EXPECT_EQUAL(1u, world.matchingStats.docsReRanked());
ASSERT_TRUE(reply->hits.size() == 9u);
- EXPECT_EQUAL(document::DocumentId("doc::900").getGlobalId(), reply->hits[0].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::900").getGlobalId(), reply->hits[0].gid);
EXPECT_EQUAL(1800.0, reply->hits[0].metric);
//TODO This is of course incorrect until the selectBest method sees everything.
- EXPECT_EQUAL(document::DocumentId("doc::800").getGlobalId(), reply->hits[1].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::800").getGlobalId(), reply->hits[1].gid);
EXPECT_EQUAL(800.0, reply->hits[1].metric);
- EXPECT_EQUAL(document::DocumentId("doc::700").getGlobalId(), reply->hits[2].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::700").getGlobalId(), reply->hits[2].gid);
EXPECT_EQUAL(700.0, reply->hits[2].metric);
- EXPECT_EQUAL(document::DocumentId("doc::600").getGlobalId(), reply->hits[3].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::600").getGlobalId(), reply->hits[3].gid);
EXPECT_EQUAL(600.0, reply->hits[3].metric);
- EXPECT_EQUAL(document::DocumentId("doc::500").getGlobalId(), reply->hits[4].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::500").getGlobalId(), reply->hits[4].gid);
EXPECT_EQUAL(500.0, reply->hits[4].metric);
}
@@ -585,11 +585,11 @@ TEST("require that sortspec can be used (multi-threaded)") {
}
SearchReply::UP reply = world.performSearch(request, threads);
ASSERT_EQUAL(9u, reply->hits.size());
- EXPECT_EQUAL(document::DocumentId("doc::100").getGlobalId(), reply->hits[0].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::100").getGlobalId(), reply->hits[0].gid);
EXPECT_EQUAL(zero_rank_value, reply->hits[0].metric);
- EXPECT_EQUAL(document::DocumentId("doc::200").getGlobalId(), reply->hits[1].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::200").getGlobalId(), reply->hits[1].gid);
EXPECT_EQUAL(zero_rank_value, reply->hits[1].metric);
- EXPECT_EQUAL(document::DocumentId("doc::300").getGlobalId(), reply->hits[2].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::300").getGlobalId(), reply->hits[2].gid);
EXPECT_EQUAL(zero_rank_value, reply->hits[2].metric);
EXPECT_EQUAL(drop_sort_data, reply->sortIndex.empty());
EXPECT_EQUAL(drop_sort_data, reply->sortData.empty());
@@ -911,7 +911,7 @@ TEST("require that same element search works (note that this does not test/use t
SearchRequest::SP request = world.createSameElementRequest("foo", "bar");
SearchReply::UP reply = world.performSearch(request, 1);
ASSERT_EQUAL(1u, reply->hits.size());
- EXPECT_EQUAL(document::DocumentId("doc::20").getGlobalId(), reply->hits[0].gid);
+ EXPECT_EQUAL(document::DocumentId("id:ns:searchdocument::20").getGlobalId(), reply->hits[0].gid);
}
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp b/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp
index cdc0e8656d8..569b36a425d 100644
--- a/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp
+++ b/searchcore/src/tests/proton/persistenceengine/persistenceengine_test.cpp
@@ -326,15 +326,12 @@ DocumentId docId0;
DocumentId docId1("id:type1:type1::1");
DocumentId docId2("id:type2:type2::1");
DocumentId docId3("id:type3:type3::1");
-DocumentId old_docId("doc:old:id-scheme");
Document::SP doc1(createDoc(type1, docId1));
Document::SP doc2(createDoc(type2, docId2));
Document::SP doc3(createDoc(type3, docId3));
-Document::SP old_doc(createDoc(type1, old_docId));
document::DocumentUpdate::SP upd1(createUpd(type1, docId1));
document::DocumentUpdate::SP upd2(createUpd(type2, docId2));
document::DocumentUpdate::SP upd3(createUpd(type3, docId3));
-document::DocumentUpdate::SP old_upd(createUpd(type1, old_docId));
document::DocumentUpdate::SP bad_id_upd(createUpd(type1, docId2));
PartitionId partId(0);
BucketId bckId1(1);
@@ -474,14 +471,6 @@ TEST_F("require that puts are routed to handler", SimpleFixture)
}
-TEST_F("require that puts with old id scheme are rejected", SimpleFixture) {
- storage::spi::LoadType loadType(0, "default");
- Context context(loadType, storage::spi::Priority(0), storage::spi::Trace::TraceLevel(0));
- EXPECT_EQUAL(Result(Result::ErrorType::PERMANENT_ERROR, "Old id scheme not supported in elastic mode (doc:old:id-scheme)"),
- f.engine.put(bucket1, tstamp1, old_doc, context));
-}
-
-
TEST_F("require that put is rejected if resource limit is reached", SimpleFixture)
{
f._writeFilter._acceptWriteOperation = false;
@@ -491,8 +480,8 @@ TEST_F("require that put is rejected if resource limit is reached", SimpleFixtur
Context context(loadType, storage::spi::Priority(0), storage::spi::Trace::TraceLevel(0));
EXPECT_EQUAL(
Result(Result::ErrorType::RESOURCE_EXHAUSTED,
- "Put operation rejected for document 'doc:old:id-scheme': 'Disk is full'"),
- f.engine.put(bucket1, tstamp1, old_doc, context));
+ "Put operation rejected for document 'id:type3:type3::1': 'Disk is full'"),
+ f.engine.put(bucket1, tstamp1, doc3, context));
}
@@ -516,16 +505,6 @@ TEST_F("require that updates are routed to handler", SimpleFixture)
f.engine.update(bucket1, tstamp1, upd3, context));
}
-
-TEST_F("require that updates with old id scheme are rejected", SimpleFixture)
-{
- storage::spi::LoadType loadType(0, "default");
- Context context(loadType, storage::spi::Priority(0), storage::spi::Trace::TraceLevel(0));
-
- EXPECT_EQUAL(UpdateResult(Result::ErrorType::PERMANENT_ERROR, "Old id scheme not supported in elastic mode (doc:old:id-scheme)"),
- f.engine.update(bucket1, tstamp1, old_upd, context));
-}
-
TEST_F("require that updates with bad ids are rejected", SimpleFixture)
{
storage::spi::LoadType loadType(0, "default");
@@ -584,16 +563,6 @@ TEST_F("require that removes are routed to handlers", SimpleFixture)
EXPECT_FALSE(rr.hasError());
}
-
-TEST_F("require that removes with old id scheme are rejected", SimpleFixture)
-{
- storage::spi::LoadType loadType(0, "default");
- Context context(loadType, storage::spi::Priority(0), storage::spi::Trace::TraceLevel(0));
-
- EXPECT_EQUAL(RemoveResult(Result::ErrorType::PERMANENT_ERROR, "Old id scheme not supported in elastic mode (doc:old:id-scheme)"),
- f.engine.remove(bucket1, tstamp1, old_docId, context));
-}
-
TEST_F("require that remove is NOT rejected if resource limit is reached", SimpleFixture)
{
f._writeFilter._acceptWriteOperation = false;
diff --git a/searchcore/src/tests/proton/server/documentretriever_test.cpp b/searchcore/src/tests/proton/server/documentretriever_test.cpp
index d3fbaebcffb..d5e40592b12 100644
--- a/searchcore/src/tests/proton/server/documentretriever_test.cpp
+++ b/searchcore/src/tests/proton/server/documentretriever_test.cpp
@@ -22,7 +22,6 @@
#include <vespa/eval/tensor/tensor.h>
#include <vespa/eval/tensor/test/test_utils.h>
#include <vespa/persistence/spi/bucket.h>
-#include <vespa/persistence/spi/result.h>
#include <vespa/persistence/spi/test.h>
#include <vespa/searchcommon/common/schema.h>
#include <vespa/searchcore/proton/documentmetastore/documentmetastorecontext.h>
@@ -121,7 +120,7 @@ const char dyn_wset_field_i[] = "dynamic int wset field";
const char dyn_wset_field_d[] = "dynamic double wset field";
const char dyn_wset_field_s[] = "dynamic string wset field";
const char dyn_wset_field_n[] = "dynamic null wset field";
-const DocumentId doc_id("doc:test:1");
+const DocumentId doc_id("id:ns:type_name::1");
const int32_t static_value = 4;
const int32_t dyn_value_i = 17;
const double dyn_value_d = 42.42;
@@ -144,8 +143,7 @@ struct MyDocumentStore : proton::test::DummyDocumentStore {
~MyDocumentStore() override;
- virtual Document::UP read(DocumentIdT lid,
- const DocumentTypeRepo &r) const override {
+ Document::UP read(DocumentIdT lid, const DocumentTypeRepo &r) const override {
if (lid == 0) {
return Document::UP();
}
@@ -489,8 +487,7 @@ TEST_F("require that position fields are regenerated from zcurves", Fixture) {
EXPECT_EQUAL(-123096000, static_cast<IntFieldValue&>(*x).getValue());
EXPECT_EQUAL(49401000, static_cast<IntFieldValue&>(*y).getValue());
- checkFieldValue<LongFieldValue>(doc->getValue(zcurve_field),
- dynamic_zcurve_value);
+ checkFieldValue<LongFieldValue>(doc->getValue(zcurve_field), dynamic_zcurve_value);
}
TEST_F("require that non-existing lid returns null pointer", Fixture) {
diff --git a/searchcore/src/tests/proton/server/feeddebugger_test.cpp b/searchcore/src/tests/proton/server/feeddebugger_test.cpp
index c54e13f4840..b5bd1cfafa8 100644
--- a/searchcore/src/tests/proton/server/feeddebugger_test.cpp
+++ b/searchcore/src/tests/proton/server/feeddebugger_test.cpp
@@ -65,18 +65,18 @@ TEST("require that setting an environment variable turns on docid-specific"
" debugging.") {
EnvSaver save_lid_env(lid_env_name);
EnvSaver save_docid_env(docid_env_name);
- setenv(docid_env_name, "doc:test:foo,doc:test:bar,doc:test:baz", true);
+ setenv(docid_env_name, "id:ns:type::test:foo,id:ns:type::test:bar,id:ns:type::test:baz", true);
FeedDebugger debugger;
EXPECT_TRUE(debugger.isDebugging());
EXPECT_EQUAL(ns_log::Logger::info,
- debugger.getDebugLevel(1, DocumentId("doc:test:foo")));
+ debugger.getDebugLevel(1, DocumentId("id:ns:type::test:foo")));
EXPECT_EQUAL(ns_log::Logger::info,
- debugger.getDebugLevel(1, DocumentId("doc:test:bar")));
+ debugger.getDebugLevel(1, DocumentId("id:ns:type::test:bar")));
EXPECT_EQUAL(ns_log::Logger::info,
- debugger.getDebugLevel(1, DocumentId("doc:test:baz")));
+ debugger.getDebugLevel(1, DocumentId("id:ns:type::test:baz")));
EXPECT_EQUAL(ns_log::Logger::spam,
- debugger.getDebugLevel(1, DocumentId("doc:test:qux")));
+ debugger.getDebugLevel(1, DocumentId("id:ns:type::test:qux")));
}
} // namespace
diff --git a/searchcore/src/tests/proton/server/feedstates_test.cpp b/searchcore/src/tests/proton/server/feedstates_test.cpp
index f206ffc9b17..96096c0401f 100644
--- a/searchcore/src/tests/proton/server/feedstates_test.cpp
+++ b/searchcore/src/tests/proton/server/feedstates_test.cpp
@@ -100,7 +100,7 @@ struct RemoveOperationContext
};
RemoveOperationContext::RemoveOperationContext(search::SerialNum serial)
- : doc_id("doc:foo:bar"),
+ : doc_id("id:ns:doctypename::bar"),
op(BucketFactory::getBucketId(doc_id), Timestamp(10), doc_id),
str(), packet()
{
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_factory.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_factory.cpp
index 7d91538f657..fb74d8f27f9 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_factory.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_factory.cpp
@@ -15,7 +15,6 @@ AttributeVector::SP
AttributeFactory::create(const vespalib::string &name, const search::attribute::Config &cfg) const
{
AttributeVector::SP v(search::AttributeFactory::createAttribute(name, cfg));
- v->enableEnumeratedSave(true);
return v;
}
diff --git a/searchcore/src/vespa/searchcore/proton/common/feeddebugger.h b/searchcore/src/vespa/searchcore/proton/common/feeddebugger.h
index 3b02c0f2b76..5c582157174 100644
--- a/searchcore/src/vespa/searchcore/proton/common/feeddebugger.h
+++ b/searchcore/src/vespa/searchcore/proton/common/feeddebugger.h
@@ -27,7 +27,7 @@ private:
ns_log::Logger::LogLevel getDebugDebuggerInternal(uint32_t lid, const document::DocumentId * docid) const;
bool _enableDebugging;
std::vector<uint32_t> _debugLidList; // List of lids to dump when feeding/replaying log.
- std::vector<document::DocumentId> _debugDocIdList; // List of docids("doc:bla:blu" to dump when feeding/replaying log.
+ std::vector<document::DocumentId> _debugDocIdList; // List of docids("id:ns:doctype::xyz" to dump when feeding/replaying log.
};
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentretrieverbase.cpp b/searchcore/src/vespa/searchcore/proton/server/documentretrieverbase.cpp
index d06319ae7f9..65a4f7e7c4a 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentretrieverbase.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentretrieverbase.cpp
@@ -4,16 +4,11 @@
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/vespalib/stllike/lrucache_map.hpp>
+#include <vespa/vespalib/util/stringfmt.h>
using document::DocumentId;
using document::GlobalId;
-namespace {
-
-const DocumentId docId("doc:test:1");
-
-}
-
namespace proton {
DocumentRetrieverBase::DocumentRetrieverBase(
@@ -30,13 +25,12 @@ DocumentRetrieverBase::DocumentRetrieverBase(
_emptyDoc(),
_hasFields(hasFields)
{
- const document::DocumentType *
- docType(_repo.getDocumentType(_docTypeName.getName()));
- _emptyDoc.reset(new document::Document(*docType, docId));
+ const document::DocumentType * docType(_repo.getDocumentType(_docTypeName.getName()));
+ _emptyDoc.reset(new document::Document(*docType, DocumentId("id:empty:" + _docTypeName.getName() + "::empty")));
_emptyDoc->setRepo(_repo);
}
-DocumentRetrieverBase::~DocumentRetrieverBase() { }
+DocumentRetrieverBase::~DocumentRetrieverBase() = default;
const document::DocumentTypeRepo &
DocumentRetrieverBase::getDocumentTypeRepo() const {
diff --git a/searchlib/src/apps/vespa-attribute-inspect/vespa-attribute-inspect.cpp b/searchlib/src/apps/vespa-attribute-inspect/vespa-attribute-inspect.cpp
index 3f9a784d57a..1834beb9590 100644
--- a/searchlib/src/apps/vespa-attribute-inspect/vespa-attribute-inspect.cpp
+++ b/searchlib/src/apps/vespa-attribute-inspect/vespa-attribute-inspect.cpp
@@ -111,14 +111,13 @@ LoadAttribute::Main()
bool doApplyUpdate = false;
bool doSave = false;
bool doFastSearch = false;
- bool doEnableEnumeratedSave = false;
bool doHuge = false;
int idx = 1;
char opt;
const char * arg;
bool optError = false;
- while ((opt = GetOpt("pasf:eh", arg, idx)) != -1) {
+ while ((opt = GetOpt("pasf:h", arg, idx)) != -1) {
switch (opt) {
case 'p':
doPrintContent = true;
@@ -126,9 +125,6 @@ LoadAttribute::Main()
case 'a':
doApplyUpdate = true;
break;
- case 'e':
- doEnableEnumeratedSave = true;
- break;
case 'h':
doHuge = true;
break;
@@ -169,9 +165,6 @@ LoadAttribute::Main()
c.setFastSearch(doFastSearch);
c.setHuge(doHuge);
AttributePtr ptr = AttributeFactory::createAttribute(fileName, c);
- if (doEnableEnumeratedSave) {
- ptr->enableEnumeratedSave();
- }
FastOS_Time timer;
timer.SetNow();
load(ptr);
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/tensor/TensorConformanceTest.java b/searchlib/src/test/java/com/yahoo/searchlib/tensor/TensorConformanceTest.java
index c28873684ee..61aec069c72 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/tensor/TensorConformanceTest.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/tensor/TensorConformanceTest.java
@@ -76,6 +76,9 @@ public class TensorConformanceTest {
boolean equals = Tensor.equals(result, expect);
if (!equals) {
System.out.println(count + " : Tensors not equal. Result: " + result.toString() + " Expected: " + expect.toString() + " -> expression \"" + expression + "\"");
+ } else if (! result.type().valueType().equals(expect.type().valueType())) {
+ System.out.println(count + " : Tensor cell value types not equal. Result: " + result.type() + " Expected: " + expect.type() + " -> expression \"" + expression + "\"");
+ equals = false;
}
return equals;
diff --git a/searchlib/src/tests/attribute/attribute_test.cpp b/searchlib/src/tests/attribute/attribute_test.cpp
index c71e51b2040..833cddb91a7 100644
--- a/searchlib/src/tests/attribute/attribute_test.cpp
+++ b/searchlib/src/tests/attribute/attribute_test.cpp
@@ -1,24 +1,25 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#include <vespa/document/fieldvalue/intfieldvalue.h>
#include <vespa/document/fieldvalue/stringfieldvalue.h>
#include <vespa/document/update/arithmeticvalueupdate.h>
#include <vespa/document/update/mapvalueupdate.h>
+#include <vespa/fastlib/io/bufferedfile.h>
#include <vespa/searchlib/attribute/attribute.h>
-#include <vespa/searchlib/attribute/attributefile.h>
-#include <vespa/searchlib/attribute/attributeguard.h>
#include <vespa/searchlib/attribute/attributefactory.h>
+#include <vespa/searchlib/attribute/attributeguard.h>
#include <vespa/searchlib/attribute/attributememorysavetarget.h>
+#include <vespa/searchlib/attribute/attributevector.hpp>
+#include <vespa/searchlib/attribute/attrvector.h>
+#include <vespa/searchlib/attribute/multinumericattribute.h>
+#include <vespa/searchlib/attribute/multistringattribute.h>
#include <vespa/searchlib/attribute/predicate_attribute.h>
#include <vespa/searchlib/attribute/singlenumericattribute.h>
-#include <vespa/searchlib/attribute/multinumericattribute.h>
#include <vespa/searchlib/attribute/singlestringattribute.h>
-#include <vespa/searchlib/attribute/multistringattribute.h>
-#include <vespa/searchlib/attribute/attrvector.h>
-#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/searchlib/index/dummyfileheadercontext.h>
#include <vespa/searchlib/util/randomgenerator.h>
#include <vespa/vespalib/io/fileutil.h>
-#include <vespa/searchlib/attribute/attributevector.hpp>
+#include <vespa/vespalib/testkit/testapp.h>
#include <cmath>
#include <iostream>
@@ -107,9 +108,8 @@ statSize(const AttributeVector &a)
bool
preciseEstimatedSize(const AttributeVector &a)
{
- if (a.getBasicType() == BasicType::STRING &&
- EXPECT_TRUE(a.hasEnum()) && !a.getEnumeratedSave()) {
- return false; // Using average of string lens, can be somewhat off
+ if (a.getBasicType() == BasicType::STRING) {
+ return false; // Using average of string lengths, can be somewhat off
}
return true;
}
@@ -217,7 +217,7 @@ private:
template <typename VectorType, typename BufferType>
void
- testCompactLidSpace(const Config &config, bool fs, bool es);
+ testCompactLidSpace(const Config &config, bool fast_search);
template <typename VectorType, typename BufferType>
void
@@ -399,7 +399,7 @@ void AttributeTest::compare(VectorType & a, VectorType & b)
EXPECT_EQUAL(static_cast<const AttributeVector &>(a).get(i, av, asz), static_cast<uint32_t>(a.getValueCount(i)));
EXPECT_EQUAL(static_cast<const AttributeVector &>(b).get(i, bv, bsz), static_cast<uint32_t>(b.getValueCount(i)));
for(size_t j(0), k(std::min(a.getValueCount(i), b.getValueCount(i))); j < k; j++) {
- EXPECT_TRUE(av[j] == bv[j]);
+ EXPECT_EQUAL(av[j], bv[j]);
}
}
delete [] bv;
@@ -463,48 +463,13 @@ void AttributeTest::testReload(const AttributePtr & a, const AttributePtr & b, c
compare<VectorType, BufferType>
(*(static_cast<VectorType *>(a.get())), *(static_cast<VectorType *>(c.get())));
- if (isUnsignedSmallIntAttribute(*a))
+ if (isUnsignedSmallIntAttribute(*a)) {
return;
+ }
populate(static_cast<VectorType &>(*b.get()), 700);
populate(static_cast<VectorType &>(*c.get()), 700);
compare<VectorType, BufferType>
(*(static_cast<VectorType *>(b.get())), *(static_cast<VectorType *>(c.get())));
-
- {
- ReadAttributeFile readC(c->getBaseFileName(), c->getConfig());
- WriteAttributeFile writeC(b->getBaseFileName(), b->getConfig(),
- DummyFileHeaderContext(),
- c->getNumDocs());
- std::unique_ptr<AttributeFile::Record> record(readC.getRecord());
- ASSERT_TRUE(record.get());
- for (size_t i(0), m(c->getNumDocs()); i < m; i++) {
- EXPECT_TRUE(readC.read(*record));
- EXPECT_TRUE(writeC.write(*record));
- }
- EXPECT_TRUE( ! readC.read(*record));
- }
- EXPECT_TRUE( b->load() );
- compare<VectorType, BufferType>
- (*(static_cast<VectorType *>(a.get())),
- *(static_cast<VectorType *>(b.get())));
- {
- ReadAttributeFile readC(c->getBaseFileName(), c->getConfig());
- WriteAttributeFile writeC(b->getBaseFileName(), b->getConfig(),
- DummyFileHeaderContext(),
- c->getNumDocs());
- readC.enableDirectIO();
- writeC.enableDirectIO();
- std::unique_ptr<AttributeFile::Record> record(readC.getRecord());
- ASSERT_TRUE(record.get());
- for (size_t i(0), m(c->getNumDocs()); i < m; i++) {
- EXPECT_TRUE(readC.read(*record));
- EXPECT_TRUE(writeC.write(*record));
- }
- EXPECT_TRUE( ! readC.read(*record));
- }
- EXPECT_TRUE( b->load() );
- compare<VectorType, BufferType>
- (*(static_cast<VectorType *>(a.get())), *(static_cast<VectorType *>(b.get())));
}
@@ -1949,28 +1914,24 @@ AttributeTest::testPredicateHeaderTags()
template <typename VectorType, typename BufferType>
void
AttributeTest::testCompactLidSpace(const Config &config,
- bool fs,
- bool es)
+ bool fast_search)
{
uint32_t highDocs = 100;
uint32_t trimmedDocs = 30;
vespalib::string bts = config.basicType().asString();
vespalib::string cts = config.collectionType().asString();
- vespalib::string fas = fs ? "-fs" : "";
- vespalib::string ess = es ? "-es" : "";
+ vespalib::string fas = fast_search ? "-fs" : "";
Config cfg = config;
- cfg.setFastSearch(fs);
+ cfg.setFastSearch(fast_search);
- vespalib::string name = clsDir + "/" + bts + "-" + cts + fas + ess;
+ vespalib::string name = clsDir + "/" + bts + "-" + cts + fas;
LOG(info, "testCompactLidSpace(%s)", name.c_str());
AttributePtr attr = AttributeFactory::createAttribute(name, cfg);
auto &v = static_cast<VectorType &>(*attr.get());
- attr->enableEnumeratedSave(es);
attr->addDocs(highDocs);
populate(v, 17);
AttributePtr attr2 = AttributeFactory::createAttribute(name, cfg);
auto &v2 = static_cast<VectorType &>(*attr2.get());
- attr2->enableEnumeratedSave(es);
attr2->addDocs(trimmedDocs);
populate(v2, 17);
EXPECT_EQUAL(trimmedDocs, attr2->getNumDocs());
@@ -1999,13 +1960,12 @@ template <typename VectorType, typename BufferType>
void
AttributeTest::testCompactLidSpace(const Config &config)
{
- testCompactLidSpace<VectorType, BufferType>(config, false, false);
- testCompactLidSpace<VectorType, BufferType>(config, false, true);
+ testCompactLidSpace<VectorType, BufferType>(config, false);
bool smallUInt = isUnsignedSmallIntAttribute(config.basicType().type());
- if (smallUInt)
+ if (smallUInt) {
return;
- testCompactLidSpace<VectorType, BufferType>(config, true, false);
- testCompactLidSpace<VectorType, BufferType>(config, true, true);
+ }
+ testCompactLidSpace<VectorType, BufferType>(config, true);
}
void
diff --git a/searchlib/src/tests/attribute/document_weight_iterator/document_weight_iterator_test.cpp b/searchlib/src/tests/attribute/document_weight_iterator/document_weight_iterator_test.cpp
index 9a7552ce681..a64704a08e9 100644
--- a/searchlib/src/tests/attribute/document_weight_iterator/document_weight_iterator_test.cpp
+++ b/searchlib/src/tests/attribute/document_weight_iterator/document_weight_iterator_test.cpp
@@ -1,29 +1,28 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/testkit/test_kit.h>
-#include <vespa/searchlib/attribute/i_document_weight_attribute.h>
-#include <vespa/searchlib/attribute/attributevector.h>
#include <vespa/searchlib/attribute/attribute.h>
-#include <vespa/searchlib/attribute/attributefile.h>
-#include <vespa/searchlib/attribute/attributeguard.h>
#include <vespa/searchlib/attribute/attributefactory.h>
+#include <vespa/searchlib/attribute/attributeguard.h>
#include <vespa/searchlib/attribute/attributememorysavetarget.h>
-#include <vespa/searchlib/attribute/singlenumericattribute.h>
-#include <vespa/searchlib/attribute/multinumericattribute.h>
-#include <vespa/searchlib/attribute/singlestringattribute.h>
-#include <vespa/searchlib/attribute/multistringattribute.h>
-#include <vespa/searchlib/attribute/attrvector.h>
-#include <vespa/searchlib/index/dummyfileheadercontext.h>
-#include <vespa/searchlib/util/randomgenerator.h>
+#include <vespa/searchlib/attribute/attributevector.h>
#include <vespa/searchlib/attribute/attributevector.hpp>
+#include <vespa/searchlib/attribute/attrvector.h>
+#include <vespa/searchlib/attribute/i_document_weight_attribute.h>
+#include <vespa/searchlib/attribute/iattributemanager.h>
+#include <vespa/searchlib/attribute/multinumericattribute.h>
#include <vespa/searchlib/attribute/multinumericpostattribute.hpp>
+#include <vespa/searchlib/attribute/multistringattribute.h>
#include <vespa/searchlib/attribute/multistringpostattribute.hpp>
-#include <vespa/searchlib/attribute/iattributemanager.h>
+#include <vespa/searchlib/attribute/singlenumericattribute.h>
+#include <vespa/searchlib/attribute/singlestringattribute.h>
+#include <vespa/searchlib/index/dummyfileheadercontext.h>
#include <vespa/searchlib/query/tree/location.h>
#include <vespa/searchlib/query/tree/point.h>
#include <vespa/searchlib/query/tree/simplequery.h>
-#include <vespa/searchlib/test/searchiteratorverifier.h>
#include <vespa/searchlib/queryeval/document_weight_search_iterator.h>
+#include <vespa/searchlib/test/searchiteratorverifier.h>
+#include <vespa/searchlib/util/randomgenerator.h>
+#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/log/log.h>
LOG_SETUP("document_weight_iterator_test");
diff --git a/searchlib/src/tests/attribute/enumeratedsave/.gitignore b/searchlib/src/tests/attribute/enumeratedsave/.gitignore
index a4680f95f72..22bf50938c1 100644
--- a/searchlib/src/tests/attribute/enumeratedsave/.gitignore
+++ b/searchlib/src/tests/attribute/enumeratedsave/.gitignore
@@ -106,22 +106,31 @@
/int8_ws1_ee.udat
/int8_ws2_e.udat
/int8_ws2_ee.udat
+/str_a0.udat
/str_a0_e.udat
/str_a0_ee.udat
+/str_a1.udat
/str_a1_e.udat
/str_a1_ee.udat
+/str_a2.udat
/str_a2_e.udat
/str_a2_ee.udat
+/str_sv0.udat
/str_sv0_e.udat
/str_sv0_ee.udat
+/str_sv1.udat
/str_sv1_e.udat
/str_sv1_ee.udat
+/str_sv2.udat
/str_sv2_e.udat
/str_sv2_ee.udat
+/str_ws0.udat
/str_ws0_e.udat
/str_ws0_ee.udat
+/str_ws1.udat
/str_ws1_e.udat
/str_ws1_ee.udat
+/str_ws2.udat
/str_ws2_e.udat
/str_ws2_ee.udat
searchlib_enumeratedsave_test_app
diff --git a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
index d4dc3adfcea..9972fa785eb 100644
--- a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
+++ b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
@@ -3,24 +3,23 @@
#include <vespa/document/fieldvalue/intfieldvalue.h>
#include <vespa/document/fieldvalue/stringfieldvalue.h>
#include <vespa/searchlib/attribute/attribute.h>
-#include <vespa/searchlib/attribute/attributefile.h>
-#include <vespa/searchlib/attribute/attributeguard.h>
#include <vespa/searchlib/attribute/attributefactory.h>
+#include <vespa/searchlib/attribute/attributefilesavetarget.h>
+#include <vespa/searchlib/attribute/attributeguard.h>
+#include <vespa/searchlib/attribute/attributememoryfilebufferwriter.h>
#include <vespa/searchlib/attribute/attributememorysavetarget.h>
-#include <vespa/searchlib/attribute/singlenumericattribute.h>
+#include <vespa/searchlib/attribute/attrvector.h>
#include <vespa/searchlib/attribute/multinumericattribute.h>
-#include <vespa/searchlib/attribute/singlestringattribute.h>
#include <vespa/searchlib/attribute/multistringattribute.h>
-#include <vespa/searchlib/attribute/attrvector.h>
-#include <vespa/searchlib/attribute/attributefilesavetarget.h>
+#include <vespa/searchlib/attribute/singlenumericattribute.h>
+#include <vespa/searchlib/attribute/singlestringattribute.h>
+#include <vespa/searchlib/fef/termfieldmatchdata.h>
+#include <vespa/searchlib/index/dummyfileheadercontext.h>
+#include <vespa/searchlib/parsequery/parse.h>
+#include <vespa/searchlib/util/randomgenerator.h>
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/vespalib/util/bufferwriter.h>
#include <vespa/vespalib/util/compress.h>
-#include <vespa/searchlib/index/dummyfileheadercontext.h>
-#include <vespa/searchlib/util/randomgenerator.h>
-#include <vespa/searchlib/attribute/attributememoryfilebufferwriter.h>
-#include <vespa/searchlib/fef/termfieldmatchdata.h>
-#include <vespa/searchlib/parsequery/parse.h>
#include <vespa/searchlib/attribute/attributevector.hpp>
@@ -46,13 +45,6 @@ using search::fef::TermFieldMatchData;
typedef std::unique_ptr<AttributeVector::SearchContext> SearchContextPtr;
typedef std::unique_ptr<search::queryeval::SearchIterator> SearchBasePtr;
-bool
-FastOS_UNIX_File::Sync()
-{
- // LOG(info, "Skip sync");
- return true;
-}
-
class MemAttrFileWriter : public IAttributeFileWriter
{
@@ -150,7 +142,7 @@ private:
SearchContextPtr getSearch(const V & vec);
MemAttr::SP saveMem(AttributeVector &v);
- void checkMem(AttributeVector &v, const MemAttr &e, bool enumerated);
+ void checkMem(AttributeVector &v, const MemAttr &e);
MemAttr::SP saveBoth(AttributePtr v);
AttributePtr make(Config cfg, const vespalib::string &pref, bool fastSearch = false);
void load(AttributePtr v, const vespalib::string &name);
@@ -513,13 +505,10 @@ EnumeratedSaveTest::saveMem(AttributeVector &v)
void
-EnumeratedSaveTest::checkMem(AttributeVector &v, const MemAttr &e,
- bool enumerated)
+EnumeratedSaveTest::checkMem(AttributeVector &v, const MemAttr &e)
{
MemAttr m;
- v.enableEnumeratedSave(enumerated);
EXPECT_TRUE(v.save(m, v.getBaseFileName()));
- v.enableEnumeratedSave(false);
ASSERT_TRUE(m == e);
}
@@ -531,16 +520,14 @@ EnumeratedSaveTest::saveBoth(AttributePtr v)
vespalib::string basename = v->getBaseFileName();
AttributePtr v2 = make(v->getConfig(), basename, true);
EXPECT_TRUE(v2->load());
- v2->enableEnumeratedSave(true);
EXPECT_TRUE(v2->save(basename + "_e"));
- if ((v->getConfig().basicType() == BasicType::INT32 &&
- v->getConfig().collectionType() == CollectionType::WSET) || true) {
- search::AttributeMemorySaveTarget ms;
- search::TuneFileAttributes tune;
- search::index::DummyFileHeaderContext fileHeaderContext;
- EXPECT_TRUE(v2->save(ms, basename + "_ee"));
- EXPECT_TRUE(ms.writeToFile(tune, fileHeaderContext));
- }
+
+ search::AttributeMemorySaveTarget ms;
+ search::TuneFileAttributes tune;
+ search::index::DummyFileHeaderContext fileHeaderContext;
+ EXPECT_TRUE(v2->save(ms, basename + "_ee"));
+ EXPECT_TRUE(ms.writeToFile(tune, fileHeaderContext));
+
return saveMem(*v2);
}
@@ -602,34 +589,24 @@ EnumeratedSaveTest::testReload(AttributePtr v0,
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "0", v0)));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "1", v1)));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "2", v2)));
- TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "1", v1)));
- TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "0", v0)));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "0", v0)));
- TEST_DO(checkMem(*v, *mv0, false));
- TEST_DO(checkMem(*v, supportsEnumerated ? *emv0 : *mv0, true));
+ TEST_DO(checkMem(*v, supportsEnumerated ? *emv0 : *mv0));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "1", v1)));
- TEST_DO(checkMem(*v, *mv1, false));
- TEST_DO(checkMem(*v, supportsEnumerated ? *emv1 : *mv1, true));
+ TEST_DO(checkMem(*v, supportsEnumerated ? *emv1 : *mv1));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "2", v2)));
- TEST_DO(checkMem(*v, *mv2, false));
- TEST_DO(checkMem(*v, supportsEnumerated ? *emv2 : *mv2, true));
+ TEST_DO(checkMem(*v, supportsEnumerated ? *emv2 : *mv2));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "0_e", v0)));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "1_e", v1)));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "2_e", v2)));
- TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "1_e", v1)));
- TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "0_e", v0)));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "0_e", v0)));
- TEST_DO(checkMem(*v, *mv0, false));
- TEST_DO(checkMem(*v, supportsEnumerated ? *emv0 : *mv0, true));
+ TEST_DO(checkMem(*v, supportsEnumerated ? *emv0 : *mv0));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "1_e", v1)));
- TEST_DO(checkMem(*v, *mv1, false));
- TEST_DO(checkMem(*v, supportsEnumerated ? *emv1 : *mv1, true));
+ TEST_DO(checkMem(*v, supportsEnumerated ? *emv1 : *mv1));
TEST_DO((checkLoad<VectorType, BufferType>(v, pref + "2_e", v2)));
- TEST_DO(checkMem(*v, *mv2, false));
- TEST_DO(checkMem(*v, supportsEnumerated ? *emv2 : *mv2, true));
+ TEST_DO(checkMem(*v, supportsEnumerated ? *emv2 : *mv2));
TermFieldMatchData md;
SearchContextPtr sc = getSearch<VectorType>(as<VectorType>(v));
diff --git a/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp b/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp
index c6270e32c85..620708f8c9b 100644
--- a/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp
+++ b/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.cpp
@@ -75,12 +75,12 @@ assertIterator(const std::string &exp, SearchIterator &it,
return true;
}
+using AttributePtr = AttributeVector::SP;
class PostingListAttributeTest : public vespalib::TestApp
{
private:
typedef IntegerAttribute::largeint_t largeint_t;
- typedef AttributeVector::SP AttributePtr;
typedef std::set<AttributeVector::DocId> DocSet;
typedef SingleValueNumericPostingAttribute<
@@ -142,8 +142,7 @@ private:
void checkSearch(bool useBitVector, const AttributeVector & vec, const BufferType & term, uint32_t numHits, uint32_t docBegin, uint32_t docEnd);
template <typename VectorType, typename BufferType>
- void testPostingList(const AttributePtr & ptr1, const AttributePtr & ptr2,
- uint32_t numDocs, const std::vector<BufferType> & values);
+ void testPostingList(const AttributePtr& ptr1, uint32_t numDocs, const std::vector<BufferType>& values);
void testPostingList();
void testPostingList(bool enableBitVector);
void testPostingList(bool enableBitVector, uint32_t numDocs, uint32_t numUniqueValues);
@@ -506,15 +505,20 @@ PostingListAttributeTest::checkSearch(bool useBitVector, const AttributeVector &
EXPECT_EQUAL(docEnd, lastDocId+1);
}
+AttributePtr
+create_as(const AttributeVector& attr, const std::string& name_suffix)
+{
+ return AttributeFactory::createAttribute(attr.getName() + name_suffix, attr.getConfig());
+}
+
template <typename VectorType, typename BufferType>
void
-PostingListAttributeTest::testPostingList(const AttributePtr & ptr1, const AttributePtr & ptr2,
- uint32_t numDocs, const std::vector<BufferType> & values)
+PostingListAttributeTest::testPostingList(const AttributePtr& ptr1, uint32_t numDocs,
+ const std::vector<BufferType>& values)
{
LOG(info, "testPostingList: vector '%s'", ptr1->getName().c_str());
- VectorType & vec1 = static_cast<VectorType &>(*ptr1.get());
- VectorType & vec2 = static_cast<VectorType &>(*ptr2.get());
+ auto& vec1 = static_cast<VectorType &>(*ptr1.get());
addDocs(ptr1, numDocs);
uint32_t part = numDocs / values.size();
@@ -526,28 +530,14 @@ PostingListAttributeTest::testPostingList(const AttributePtr & ptr1, const Attri
}
vec1.commit();
-#if 0
- std::cout << "***** printBuffer 0 ***** " << std::endl;
- vec1.getEnumStore().printBuffer(std::cout, 0);
- std::cout << "***** printBuffer 1 ***** " << std::endl;
- vec1.getEnumStore().printBuffer(std::cout, 1);
- std::cout << "***** printCurrentContent ***** " << std::endl;
- vec1.getEnumStore().printCurrentContent(std::cout);
- std::cout << "***** printPostingListContent *****" << std::endl;
- vec1.printPostingListContent(std::cout);
-#endif
-
// check posting list for correct content
checkPostingList(vec1, values, RangeAlpha(part));
// load and save vector
+ auto ptr2 = create_as(*ptr1, "_2");
ptr1->save(ptr2->getBaseFileName());
ptr2->load();
-#if 0
- std::cout << "***** vec2.printPostingListContent *****" << std::endl;
- vec2.printPostingListContent(std::cout);
-#endif
- checkPostingList(vec2, values, RangeAlpha(part));
+ checkPostingList(static_cast<VectorType&>(*ptr2.get()), values, RangeAlpha(part));
// insert values in another order
for (uint32_t doc = 0; doc < numDocs; ++doc) {
@@ -560,9 +550,10 @@ PostingListAttributeTest::testPostingList(const AttributePtr & ptr1, const Attri
checkPostingList(vec1, values, RangeBeta(part, values.size()));
// load and save vector
- ptr1->save(ptr2->getBaseFileName());
- ptr2->load();
- checkPostingList(vec2, values, RangeBeta(part, values.size()));
+ auto ptr3 = create_as(*ptr1, "_3");
+ ptr1->save(ptr3->getBaseFileName());
+ ptr3->load();
+ checkPostingList(static_cast<VectorType&>(*ptr3.get()), values, RangeBeta(part, values.size()));
}
void
@@ -592,25 +583,22 @@ PostingListAttributeTest::testPostingList(bool enableBitVector, uint32_t numDocs
Config cfg(Config(BasicType::INT32, CollectionType::SINGLE));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("sint32_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("sint32_2", cfg);
- testPostingList<Int32PostingListAttribute>(ptr1, ptr2, numDocs, values);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("sint32", cfg);
+ testPostingList<Int32PostingListAttribute>(ptr1, numDocs, values);
}
{
Config cfg(Config(BasicType::INT32, CollectionType::ARRAY));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("aint32_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("aint32_2", cfg);
- testPostingList<Int32ArrayPostingListAttribute>(ptr1, ptr2, numDocs, values);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("aint32", cfg);
+ testPostingList<Int32ArrayPostingListAttribute>(ptr1, numDocs, values);
}
{
Config cfg(Config(BasicType::INT32, CollectionType::WSET));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("wsint32_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("wsint32_2", cfg);
- testPostingList<Int32WsetPostingListAttribute>(ptr1, ptr2, numDocs, values);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("wsint32", cfg);
+ testPostingList<Int32WsetPostingListAttribute>(ptr1, numDocs, values);
}
}
@@ -623,25 +611,22 @@ PostingListAttributeTest::testPostingList(bool enableBitVector, uint32_t numDocs
Config cfg(Config(BasicType::FLOAT, CollectionType::SINGLE));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("sfloat_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("sfloat_2", cfg);
- testPostingList<FloatPostingListAttribute>(ptr1, ptr2, numDocs, values);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("sfloat", cfg);
+ testPostingList<FloatPostingListAttribute>(ptr1, numDocs, values);
}
{
Config cfg(Config(BasicType::FLOAT, CollectionType::ARRAY));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("afloat_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("afloat_2", cfg);
- testPostingList<FloatArrayPostingListAttribute>(ptr1, ptr2, numDocs, values);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("afloat", cfg);
+ testPostingList<FloatArrayPostingListAttribute>(ptr1, numDocs, values);
}
{
Config cfg(Config(BasicType::FLOAT, CollectionType::WSET));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("wsfloat_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("wsfloat_2", cfg);
- testPostingList<FloatWsetPostingListAttribute>(ptr1, ptr2, numDocs, values);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("wsfloat", cfg);
+ testPostingList<FloatWsetPostingListAttribute>(ptr1, numDocs, values);
}
}
@@ -660,25 +645,22 @@ PostingListAttributeTest::testPostingList(bool enableBitVector, uint32_t numDocs
Config cfg(Config(BasicType::STRING, CollectionType::SINGLE));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("sstr_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("sstr_2", cfg);
- testPostingList<StringPostingListAttribute>(ptr1, ptr2, numDocs, charValues);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("sstr", cfg);
+ testPostingList<StringPostingListAttribute>(ptr1, numDocs, charValues);
}
{
Config cfg(Config(BasicType::STRING, CollectionType::ARRAY));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("astr_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("astr_2", cfg);
- testPostingList<StringArrayPostingListAttribute>(ptr1, ptr2, numDocs, charValues);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("astr", cfg);
+ testPostingList<StringArrayPostingListAttribute>(ptr1, numDocs, charValues);
}
{
Config cfg(Config(BasicType::STRING, CollectionType::WSET));
cfg.setFastSearch(true);
cfg.setEnableBitVectors(enableBitVector);
- AttributePtr ptr1 = AttributeFactory::createAttribute("wsstr_1", cfg);
- AttributePtr ptr2 = AttributeFactory::createAttribute("wsstr_2", cfg);
- testPostingList<StringWsetPostingListAttribute>(ptr1, ptr2, numDocs, charValues);
+ AttributePtr ptr1 = AttributeFactory::createAttribute("wsstr", cfg);
+ testPostingList<StringWsetPostingListAttribute>(ptr1, numDocs, charValues);
}
}
}
@@ -777,9 +759,6 @@ PostingListAttributeTest::testArithmeticValueUpdate(const AttributePtr & ptr)
EXPECT_TRUE(vec.apply(3, Arith(Arith::Div, 10)));
ptr->commit();
- vespalib::asciistream ss;
- vec.printPostingListContent(ss);
- std::cout << ss.str();
{
uint32_t docs[] = {0};
checkPostingList<AttributeType, ValueType>(vec, 2020, DocSet(docs, docs + 1));
diff --git a/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.sh b/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.sh
index d9a59a98d13..e38f56cbc76 100755
--- a/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.sh
+++ b/searchlib/src/tests/attribute/postinglistattribute/postinglistattribute_test.sh
@@ -3,5 +3,6 @@
set -e
$VALGRIND ./searchlib_postinglistattribute_test_app
rm -rf *.dat
+rm -rf *.udat
rm -rf *.idx
rm -rf *.weight
diff --git a/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp b/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp
index 574b8f34caf..8329398f8af 100644
--- a/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp
+++ b/searchlib/src/tests/attribute/searchcontext/searchcontext.cpp
@@ -158,7 +158,7 @@ private:
template <typename V, typename T>
void testMultiValueSearchHelper(V & vec, const std::vector<T> & values);
template <typename V, typename T>
- void testMultiValueSearch(V & first, V & second, const std::vector<T> & values);
+ void testMultiValueSearch(V& attr, uint32_t num_docs, const std::vector<T> & values);
void testSearch();
class IteratorTester {
@@ -555,22 +555,30 @@ SearchContextTest::testMultiValueSearchHelper(V & vec, const std::vector<T> & va
}
}
+AttributePtr
+create_as(const AttributeVector& attr, const std::string& name_suffix)
+{
+ return AttributeFactory::createAttribute(attr.getName() + name_suffix, attr.getConfig());
+}
+
+
template <typename V, typename T>
void
-SearchContextTest::testMultiValueSearch(V & first, V & second, const std::vector<T> & values)
+SearchContextTest::testMultiValueSearch(V& attr, uint32_t num_docs, const std::vector<T> & values)
{
- addDocs(first, second.getNumDocs());
+ addDocs(attr, num_docs);
LOG(info, "testMultiValueSearch: vector '%s' with %u documents and %lu unique values",
- first.getName().c_str(), first.getNumDocs(), values.size());
+ attr.getName().c_str(), attr.getNumDocs(), values.size());
- fillAttribute(first, values);
+ fillAttribute(attr, values);
- testMultiValueSearchHelper(first, values);
+ testMultiValueSearchHelper(attr, values);
- ASSERT_TRUE(first.save(second.getBaseFileName()));
- ASSERT_TRUE(second.load());
+ auto attr2 = create_as(attr, "_2");
+ ASSERT_TRUE(attr.save(attr2->getBaseFileName()));
+ ASSERT_TRUE(attr2->load());
- testMultiValueSearchHelper(second, values);
+ testMultiValueSearchHelper(static_cast<V&>(*attr2.get()), values);
size_t sz = values.size();
ASSERT_TRUE(sz > 2);
@@ -581,18 +589,19 @@ SearchContextTest::testMultiValueSearch(V & first, V & second, const std::vector
subset.push_back(values[i]);
}
- fillAttribute(first, subset);
+ fillAttribute(attr, subset);
- ASSERT_TRUE(1u < first.getNumDocs());
- EXPECT_TRUE(first.append(1u, values[sz - 1], 1));
- first.commit(true);
+ ASSERT_TRUE(1u < attr.getNumDocs());
+ EXPECT_TRUE(attr.append(1u, values[sz - 1], 1));
+ attr.commit(true);
- testMultiValueSearchHelper(first, values);
+ testMultiValueSearchHelper(attr, values);
- ASSERT_TRUE(first.save(second.getBaseFileName()));
- ASSERT_TRUE(second.load());
+ auto attr3 = create_as(attr, "_3");
+ ASSERT_TRUE(attr.save(attr3->getBaseFileName()));
+ ASSERT_TRUE(attr3->load());
- testMultiValueSearchHelper(second, values);
+ testMultiValueSearchHelper(static_cast<V&>(*attr3.get()), values);
}
template<typename T, typename A>
@@ -606,8 +615,7 @@ void SearchContextTest::testSearch(const ConfigMap & cfgs) {
testSearch(*(dynamic_cast<A *>(second.get())), numDocs, values);
if (second->hasMultiValue()) {
AttributePtr first = AttributeFactory::createAttribute(cfg.first + "-1", cfg.second);
- testMultiValueSearch(*(dynamic_cast<A *>(first.get())),
- *(dynamic_cast<A *>(second.get())), values);
+ testMultiValueSearch(*(dynamic_cast<A *>(first.get())), second->getNumDocs(), values);
}
}
}
@@ -707,8 +715,7 @@ SearchContextTest::testSearch()
AttributePtr second = AttributeFactory::createAttribute("flags-2", cfg);
testSearch(*(dynamic_cast<IntegerAttribute *>(second.get())), numDocs, values);
AttributePtr first = AttributeFactory::createAttribute("flags-1", cfg);
- testMultiValueSearch(*(dynamic_cast<IntegerAttribute *>(first.get())),
- *(dynamic_cast<IntegerAttribute *>(second.get())), values);
+ testMultiValueSearch(*(dynamic_cast<IntegerAttribute *>(first.get())), second->getNumDocs(), values);
}
}
diff --git a/searchlib/src/tests/attribute/searchcontext/searchcontext_test.sh b/searchlib/src/tests/attribute/searchcontext/searchcontext_test.sh
index 3c1d0bdcf5d..2d8352bd9e3 100755
--- a/searchlib/src/tests/attribute/searchcontext/searchcontext_test.sh
+++ b/searchlib/src/tests/attribute/searchcontext/searchcontext_test.sh
@@ -3,5 +3,6 @@
set -e
$VALGRIND ./searchlib_searchcontext_test_app
rm -rf *.dat
+rm -rf *.udat
rm -rf *.idx
rm -rf *.weight
diff --git a/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp b/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp
index 5afa9f68acd..b7e036017ea 100644
--- a/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp
+++ b/searchlib/src/tests/attribute/stringattribute/stringattribute_test.cpp
@@ -140,8 +140,6 @@ StringAttributeTest::testMultiValue(Attribute & attr, uint32_t numDocs)
attr.commit();
}
- //attr.getEnumStore().printCurrentContent();
-
// check values and enums
for (uint32_t doc = 0; doc < numDocs; ++doc) {
uint32_t valueCount = attr.getValueCount(doc);
@@ -194,8 +192,6 @@ StringAttributeTest::testMultiValue(Attribute & attr, uint32_t numDocs)
EXPECT_TRUE(attr.append(doc, newUniques[j], 1));
}
attr.commit();
-
- //attr.getEnumStore().printCurrentContent();
}
// check values and enums
@@ -389,8 +385,6 @@ StringAttributeTest::testSingleValue(Attribute & svsa, Config &cfg)
}
}
- //svsa.printBuffers();
-
// 1000 unique strings
for (uint32_t i = 0; i < numDocs; ++i) {
sprintf(tmp, "unique%u", i);
@@ -407,10 +401,8 @@ StringAttributeTest::testSingleValue(Attribute & svsa, Config &cfg)
EXPECT_TRUE( v.findEnum(t, e2) );
EXPECT_TRUE( e1 == e2 );
}
- //svsa.printBuffers();
}
}
- //svsa.printBuffers();
// check that enumX strings are removed (
for (uint32_t i = 0; i < 10; ++i) {
diff --git a/searchlib/src/tests/attribute/stringattribute/stringattribute_test.sh b/searchlib/src/tests/attribute/stringattribute/stringattribute_test.sh
index 7da009b9ab1..7a39c2cb864 100755
--- a/searchlib/src/tests/attribute/stringattribute/stringattribute_test.sh
+++ b/searchlib/src/tests/attribute/stringattribute/stringattribute_test.sh
@@ -3,3 +3,4 @@
set -e
$VALGRIND ./searchlib_stringattribute_test_app
rm -rf *.dat
+rm -rf *.udat
diff --git a/searchlib/src/tests/diskindex/fusion/fusion_test.cpp b/searchlib/src/tests/diskindex/fusion/fusion_test.cpp
index b77df846ebb..1825c00ceda 100644
--- a/searchlib/src/tests/diskindex/fusion/fusion_test.cpp
+++ b/searchlib/src/tests/diskindex/fusion/fusion_test.cpp
@@ -100,7 +100,7 @@ toString(FieldPositionsIterator posItr, bool hasElements = false, bool hasWeight
std::unique_ptr<Document>
make_doc10(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
b.startIndexField("f0").
addStr("a").addStr("b").addStr("c").addStr("d").
addStr("e").addStr("f").addStr("z").
@@ -325,7 +325,7 @@ FusionTest::requireThatFusionIsWorking(const vespalib::string &prefix, bool dire
myPushDocument(inv);
pushThreads.sync();
- b.startDocument("doc::11").
+ b.startDocument("id:ns:searchdocument::11").
startIndexField("f3").
startElement(-27).addStr("zz").endElement().
endField();
@@ -335,7 +335,7 @@ FusionTest::requireThatFusionIsWorking(const vespalib::string &prefix, bool dire
myPushDocument(inv);
pushThreads.sync();
- b.startDocument("doc::12").
+ b.startDocument("id:ns:searchdocument::12").
startIndexField("f3").
startElement(0).addStr("zz0").endElement().
endField();
diff --git a/searchlib/src/tests/engine/transportserver/transportserver_test.cpp b/searchlib/src/tests/engine/transportserver/transportserver_test.cpp
index a15e80da0a4..baa581c65f9 100644
--- a/searchlib/src/tests/engine/transportserver/transportserver_test.cpp
+++ b/searchlib/src/tests/engine/transportserver/transportserver_test.cpp
@@ -64,7 +64,7 @@ SyncServer::getDocsums(DocsumRequest::Source request, DocsumClient &)
LOG(info, "responding to docsum request...");
ret.docsums.resize(1);
ret.docsums[0].setData("data", strlen("data"));
- ret.docsums[0].gid = DocumentId(vespalib::make_string("doc::100")).getGlobalId();
+ ret.docsums[0].gid = DocumentId(vespalib::make_string("id:ns:type::100")).getGlobalId();
return reply;
}
@@ -145,7 +145,7 @@ TEST("transportserver") {
ASSERT_TRUE(p != 0);
ASSERT_TRUE(p->GetPCODE() == PCODE_DOCSUM);
FS4Packet_DOCSUM *r = (FS4Packet_DOCSUM*)p;
- EXPECT_EQUAL(r->getGid(), DocumentId("doc::100").getGlobalId());
+ EXPECT_EQUAL(r->getGid(), DocumentId("id:ns:type::100").getGlobalId());
p->Free();
p = q.DequeuePacket(60000, &ctx);
ASSERT_TRUE(p != 0);
diff --git a/searchlib/src/tests/index/docbuilder/docbuilder_test.cpp b/searchlib/src/tests/index/docbuilder/docbuilder_test.cpp
index 019c7096877..f880510647d 100644
--- a/searchlib/src/tests/index/docbuilder/docbuilder_test.cpp
+++ b/searchlib/src/tests/index/docbuilder/docbuilder_test.cpp
@@ -77,11 +77,11 @@ Test::testBuilder()
std::string xml;
{ // empty
- doc = b.startDocument("doc::0").endDocument();
+ doc = b.startDocument("id:ns:searchdocument::0").endDocument();
xml = doc->toXml("");
boost::split(lines, xml, boost::is_any_of("\n"));
itr = lines.begin();
- EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"doc::0\"/>", *itr++);
+ EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"id:ns:searchdocument::0\"/>", *itr++);
EXPECT_EQUAL("", *itr++);
EXPECT_TRUE(itr == lines.end());
}
@@ -105,7 +105,7 @@ Test::testBuilder()
&binaryBlob[0] + binaryBlob.size());
raw1w1 += std::string(&binaryBlob[0],
&binaryBlob[0] + binaryBlob.size());
- b.startDocument("doc::1");
+ b.startDocument("id:ns:searchdocument::1");
b.startIndexField("ia").addStr("foo").addStr("bar").addStr("baz").addTermAnnotation("altbaz").endField();
b.startIndexField("ib").startElement().addStr("foo").endElement().
startElement(1).addStr("bar").addStr("baz").endElement().endField();
@@ -289,7 +289,7 @@ Test::testBuilder()
xml = doc->toXml("");
boost::split(lines, xml, boost::is_any_of("\n"));
itr = lines.begin();
- EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"doc::1\">", *itr++);
+ EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"id:ns:searchdocument::1\">", *itr++);
EXPECT_EQUAL("<sj>", *itr++);
EXPECT_EQUAL(empty +"<item weight=\"46\" binaryencoding=\"base64\">" +
vespalib::Base64::encode(raw1w1) +
@@ -425,7 +425,7 @@ Test::testBuilder()
#endif
}
{ // create one more to see that everything is cleared
- b.startDocument("doc::2");
+ b.startDocument("id:ns:searchdocument::2");
b.startIndexField("ia").addStr("yes").endField();
b.startAttributeField("aa").addInt(20).endField();
b.startSummaryField("sa").addInt(10).endField();
@@ -433,7 +433,7 @@ Test::testBuilder()
xml = doc->toXml("");
boost::split(lines, xml, boost::is_any_of("\n"));
itr = lines.begin();
- EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"doc::2\">", *itr++);
+ EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"id:ns:searchdocument::2\">", *itr++);
EXPECT_EQUAL("<sa>10</sa>", *itr++);
EXPECT_EQUAL("<aa>20</aa>", *itr++);
EXPECT_EQUAL("<ia>yes</ia>", *itr++);
@@ -441,7 +441,7 @@ Test::testBuilder()
EXPECT_TRUE(itr == lines.end());
}
{ // create field with cjk chars
- b.startDocument("doc::3");
+ b.startDocument("id:ns:searchdocument::3");
b.startIndexField("ia").
addStr("我就是那个").
setAutoSpace(false).
@@ -452,7 +452,7 @@ Test::testBuilder()
xml = doc->toXml("");
boost::split(lines, xml, boost::is_any_of("\n"));
itr = lines.begin();
- EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"doc::3\">", *itr++);
+ EXPECT_EQUAL("<document documenttype=\"searchdocument\" documentid=\"id:ns:searchdocument::3\">", *itr++);
EXPECT_EQUAL("<ia>我就是那个大灰狼</ia>", *itr++);
EXPECT_EQUAL("</document>", *itr++);
EXPECT_TRUE(itr == lines.end());
diff --git a/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp b/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp
index 38862dfe94b..3f798df3c05 100644
--- a/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp
+++ b/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp
@@ -28,7 +28,7 @@ namespace {
Document::UP
makeDoc10(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
b.startIndexField("f0").
addStr("a").addStr("b").addStr("c").addStr("d").
endField();
@@ -38,7 +38,7 @@ makeDoc10(DocBuilder &b)
Document::UP
makeDoc11(DocBuilder &b)
{
- b.startDocument("doc::11");
+ b.startDocument("id:ns:searchdocument::11");
b.startIndexField("f0").
addStr("a").addStr("b").addStr("e").addStr("f").
endField();
@@ -51,7 +51,7 @@ makeDoc11(DocBuilder &b)
Document::UP
makeDoc12(DocBuilder &b)
{
- b.startDocument("doc::12");
+ b.startDocument("id:ns:searchdocument::12");
b.startIndexField("f0").
addStr("h").addStr("doc12").
endField();
@@ -61,7 +61,7 @@ makeDoc12(DocBuilder &b)
Document::UP
makeDoc13(DocBuilder &b)
{
- b.startDocument("doc::13");
+ b.startDocument("id:ns:searchdocument::13");
b.startIndexField("f0").
addStr("i").addStr("doc13").
endField();
@@ -71,7 +71,7 @@ makeDoc13(DocBuilder &b)
Document::UP
makeDoc14(DocBuilder &b)
{
- b.startDocument("doc::14");
+ b.startDocument("id:ns:searchdocument::14");
b.startIndexField("f0").
addStr("j").addStr("doc14").
endField();
@@ -81,7 +81,7 @@ makeDoc14(DocBuilder &b)
Document::UP
makeDoc15(DocBuilder &b)
{
- b.startDocument("doc::15");
+ b.startDocument("id:ns:searchdocument::15");
return b.endDocument();
}
diff --git a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
index ac1735e0549..512e1bd2051 100644
--- a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
@@ -937,7 +937,7 @@ TEST_F(BasicInverterTest, require_that_inversion_is_working)
{
Document::UP doc;
- _b.startDocument("doc::10");
+ _b.startDocument("id:ns:searchdocument::10");
_b.startIndexField("f0").
addStr("a").addStr("b").addStr("c").addStr("d").
endField();
@@ -947,7 +947,7 @@ TEST_F(BasicInverterTest, require_that_inversion_is_working)
myPushDocument(_inv);
_pushThreads.sync();
- _b.startDocument("doc::20");
+ _b.startDocument("id:ns:searchdocument::20");
_b.startIndexField("f0").
addStr("a").addStr("a").addStr("b").addStr("c").addStr("d").
endField();
@@ -957,7 +957,7 @@ TEST_F(BasicInverterTest, require_that_inversion_is_working)
myPushDocument(_inv);
_pushThreads.sync();
- _b.startDocument("doc::30");
+ _b.startDocument("id:ns:searchdocument::30");
_b.startIndexField("f0").
addStr("a").addStr("b").addStr("c").addStr("d").
addStr("e").addStr("f").
@@ -988,7 +988,7 @@ TEST_F(BasicInverterTest, require_that_inversion_is_working)
myPushDocument(_inv);
_pushThreads.sync();
- _b.startDocument("doc::40");
+ _b.startDocument("id:ns:searchdocument::40");
_b.startIndexField("f0").
addStr("a").addStr("a").addStr("b").addStr("c").addStr("a").
addStr("e").addStr("f").
@@ -999,7 +999,7 @@ TEST_F(BasicInverterTest, require_that_inversion_is_working)
myPushDocument(_inv);
_pushThreads.sync();
- _b.startDocument("doc::999");
+ _b.startDocument("id:ns:searchdocument::999");
_b.startIndexField("f0").
addStr("this").addStr("is").addStr("_a_").addStr("test").
addStr("for").addStr("insertion").addStr("speed").addStr("with").
@@ -1137,7 +1137,7 @@ TEST_F(BasicInverterTest, require_that_inverter_handles_remove_via_document_remo
{
Document::UP doc;
- _b.startDocument("doc::1");
+ _b.startDocument("id:ns:searchdocument::1");
_b.startIndexField("f0").addStr("a").addStr("b").endField();
_b.startIndexField("f1").addStr("a").addStr("c").endField();
Document::UP doc1 = _b.endDocument();
@@ -1146,7 +1146,7 @@ TEST_F(BasicInverterTest, require_that_inverter_handles_remove_via_document_remo
myPushDocument(_inv);
_pushThreads.sync();
- _b.startDocument("doc::2");
+ _b.startDocument("id:ns:searchdocument::2");
_b.startIndexField("f0").addStr("b").addStr("c").endField();
Document::UP doc2 = _b.endDocument();
_inv.invertDocument(2, *doc2.get());
@@ -1189,7 +1189,7 @@ TEST_F(UriInverterTest, require_that_uri_indexing_is_working)
{
Document::UP doc;
- _b.startDocument("doc::10");
+ _b.startDocument("id:ns:searchdocument::10");
_b.startIndexField("iu").
startSubField("all").
addUrlTokenizedString("http://www.example.com:81/fluke?ab=2#4").
@@ -1378,7 +1378,7 @@ TEST_F(CjkInverterTest, require_that_cjk_indexing_is_working)
{
Document::UP doc;
- _b.startDocument("doc::10");
+ _b.startDocument("id:ns:searchdocument::10");
_b.startIndexField("f0").
addStr("我就是那个").
setAutoSpace(false).
diff --git a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp
index 72a8f6ed239..d3a286b3c1b 100644
--- a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp
@@ -26,7 +26,7 @@ namespace {
Document::UP
makeDoc10(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
b.startIndexField("f0").
addStr("a").addStr("b").addStr("c").addStr("d").
endField();
@@ -36,7 +36,7 @@ makeDoc10(DocBuilder &b)
Document::UP
makeDoc11(DocBuilder &b)
{
- b.startDocument("doc::11");
+ b.startDocument("id:ns:searchdocument::11");
b.startIndexField("f0").
addStr("a").addStr("b").addStr("e").addStr("f").
endField();
@@ -49,7 +49,7 @@ makeDoc11(DocBuilder &b)
Document::UP
makeDoc12(DocBuilder &b)
{
- b.startDocument("doc::12");
+ b.startDocument("id:ns:searchdocument::12");
b.startIndexField("f0").
addStr("h").addStr("doc12").
endField();
@@ -59,7 +59,7 @@ makeDoc12(DocBuilder &b)
Document::UP
makeDoc13(DocBuilder &b)
{
- b.startDocument("doc::13");
+ b.startDocument("id:ns:searchdocument::13");
b.startIndexField("f0").
addStr("i").addStr("doc13").
endField();
@@ -69,7 +69,7 @@ makeDoc13(DocBuilder &b)
Document::UP
makeDoc14(DocBuilder &b)
{
- b.startDocument("doc::14");
+ b.startDocument("id:ns:searchdocument::14");
b.startIndexField("f0").
addStr("j").addStr("doc14").
endField();
@@ -79,14 +79,14 @@ makeDoc14(DocBuilder &b)
Document::UP
makeDoc15(DocBuilder &b)
{
- b.startDocument("doc::15");
+ b.startDocument("id:ns:searchdocument::15");
return b.endDocument();
}
Document::UP
makeDoc16(DocBuilder &b)
{
- b.startDocument("doc::16");
+ b.startDocument("id:ns:searchdocument::16");
b.startIndexField("f0").addStr("foo").addStr("bar").addStr("baz").
addTermAnnotation("altbaz").addStr("y").addTermAnnotation("alty").
addStr("z").endField();
@@ -96,7 +96,7 @@ makeDoc16(DocBuilder &b)
Document::UP
makeDoc17(DocBuilder &b)
{
- b.startDocument("doc::17");
+ b.startDocument("id:ns:searchdocument::17");
b.startIndexField("f1").addStr("foo0").addStr("bar0").endField();
b.startIndexField("f2").startElement(1).addStr("foo").addStr("bar").endElement().startElement(1).addStr("bar").endElement().endField();
b.startIndexField("f3").startElement(3).addStr("foo2").addStr("bar2").endElement().startElement(4).addStr("bar2").endElement().endField();
diff --git a/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp b/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp
index dd4bb2cef7f..a320c4a0641 100644
--- a/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp
+++ b/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp
@@ -81,7 +81,7 @@ struct Index {
}
Index &doc(uint32_t id) {
docid = id;
- builder.startDocument(vespalib::make_string("doc::%u", id));
+ builder.startDocument(vespalib::make_string("id:ns:searchdocument::%u", id));
return *this;
}
Index &field(const std::string &name) {
diff --git a/searchlib/src/tests/memoryindex/url_field_inverter/url_field_inverter_test.cpp b/searchlib/src/tests/memoryindex/url_field_inverter/url_field_inverter_test.cpp
index 2151a44a66d..86c58c11c09 100644
--- a/searchlib/src/tests/memoryindex/url_field_inverter/url_field_inverter_test.cpp
+++ b/searchlib/src/tests/memoryindex/url_field_inverter/url_field_inverter_test.cpp
@@ -27,7 +27,7 @@ const vespalib::string url = "url";
Document::UP
makeDoc10Single(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
b.startIndexField("url").
startSubField("all").
addUrlTokenizedString("http://www.example.com:81/fluke?ab=2#4").
@@ -58,7 +58,7 @@ makeDoc10Single(DocBuilder &b)
Document::UP
makeDoc10Array(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
b.startIndexField("url").
startElement(1).
startSubField("all").
@@ -114,7 +114,7 @@ makeDoc10Array(DocBuilder &b)
Document::UP
makeDoc10WeightedSet(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
b.startIndexField("url").
startElement(4).
startSubField("all").
@@ -170,7 +170,7 @@ makeDoc10WeightedSet(DocBuilder &b)
Document::UP
makeDoc10Empty(DocBuilder &b)
{
- b.startDocument("doc::10");
+ b.startDocument("id:ns:searchdocument::10");
return b.endDocument();
}
diff --git a/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt b/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt
index 0c2e4e49b56..41132bddc64 100644
--- a/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt
+++ b/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt
@@ -10,7 +10,6 @@ vespa_add_library(searchlib_attribute OBJECT
attribute_weighted_set_blueprint.cpp
attributecontext.cpp
attributefactory.cpp
- attributefile.cpp
attributefilebufferwriter.cpp
attributefilesavetarget.cpp
attributefilewriter.cpp
@@ -76,8 +75,8 @@ vespa_add_library(searchlib_attribute OBJECT
multivalueattributesaverutils.cpp
not_implemented_attribute.cpp
numericbase.cpp
- postingchange.cpp
posting_list_merger.cpp
+ postingchange.cpp
postinglistattribute.cpp
postinglistsearchcontext.cpp
postinglisttraits.cpp
@@ -87,13 +86,13 @@ vespa_add_library(searchlib_attribute OBJECT
reference_attribute.cpp
reference_attribute_saver.cpp
reference_mappings.cpp
+ singleboolattribute.cpp
singleenumattribute.cpp
singleenumattributesaver.cpp
singlenumericattribute.cpp
singlenumericattributesaver.cpp
singlenumericenumattribute.cpp
singlenumericpostattribute.cpp
- singleboolattribute.cpp
singlesmallnumericattribute.cpp
singlestringattribute.cpp
singlestringpostattribute.cpp
diff --git a/searchlib/src/vespa/searchlib/attribute/attributefile.cpp b/searchlib/src/vespa/searchlib/attribute/attributefile.cpp
deleted file mode 100644
index 8e65942f60c..00000000000
--- a/searchlib/src/vespa/searchlib/attribute/attributefile.cpp
+++ /dev/null
@@ -1,454 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "attributefile.h"
-#include <vespa/searchlib/util/filesizecalculator.h>
-#include <vespa/vespalib/util/error.h>
-#include <vespa/vespalib/util/exceptions.h>
-#include <vespa/vespalib/data/fileheader.h>
-#include <stdexcept>
-
-#include <vespa/log/log.h>
-LOG_SETUP(".attributefile");
-
-using vespalib::IllegalStateException;
-using search::common::FileHeaderContext;
-using vespalib::getLastErrorString;
-
-namespace search {
-
-using attribute::BasicType;
-
-namespace {
-
-void
-updateHeader(const vespalib::string &name)
-{
- vespalib::FileHeader h;
- FastOS_File f;
- f.OpenReadWrite(name.c_str());
- h.readFile(f);
- FileHeaderContext::setFreezeTime(h);
- typedef vespalib::GenericHeader::Tag Tag;
- h.putTag(Tag("frozen", 1));
- h.rewriteFile(f);
- f.Close();
-}
-
-}
-
-ReadAttributeFile::ReadAttributeFile(const vespalib::string & fileName,
- const Config & config)
- : AttributeFile(fileName, config)
-{
- OpenReadOnly();
- seekIdxPos(0);
-}
-
-
-WriteAttributeFile::WriteAttributeFile(const vespalib::string &fileName,
- const Config &config,
- const FileHeaderContext &
- fileHeaderContext,
- uint32_t docIdLimit)
- : AttributeFile(fileName, config)
-{
- OpenWriteOnly(fileHeaderContext, docIdLimit);
-}
-
-
-void
-AttributeFile::OpenReadOnly()
-{
- if ( ! _datFile->OpenReadOnly() ) {
- LOG(error, "could not open %s: %s",
- _datFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed opening attribute data file '%s' for reading",
- _datFile->GetFileName()));
- }
- vespalib::FileHeader datHeader;
- _datHeaderLen = datHeader.readFile(*_datFile);
- _datFile->SetPosition(_datHeaderLen);
- _datFileSize = _datFile->GetSize();
- if (!FileSizeCalculator::extractFileSize(datHeader, _datHeaderLen,
- _datFile->GetFileName(),
- _datFileSize)) {
- LOG_ABORT("should not be reached");
- }
- if (_idxFile.get()) {
- if ( ! _idxFile->OpenReadOnly()) {
- LOG(error, "could not open %s: %s",
- _idxFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed opening attribute idx file '%s'"
- " for reading",
- _idxFile->GetFileName()));
- }
- vespalib::FileHeader idxHeader;
- _idxHeaderLen = idxHeader.readFile(*_idxFile);
- _idxFile->SetPosition(_idxHeaderLen);
- _idxFileSize = _idxFile->GetSize();
- if (!FileSizeCalculator::extractFileSize(idxHeader, _idxHeaderLen,
- _idxFile->GetFileName(),
- _idxFileSize)) {
- LOG_ABORT("should not be reached");
- }
- if (_weightFile.get()) {
- if ( ! _weightFile->OpenReadOnly()) {
- LOG(error, "could not open %s: %s",
- _weightFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed opening attribute weight file '%s'"
- " for reading",
- _weightFile->GetFileName()));
- }
- vespalib::FileHeader weightHeader;
- _weightHeaderLen = weightHeader.readFile(*_weightFile);
- _weightFile->SetPosition(_weightHeaderLen);
- }
- }
-}
-
-
-void
-AttributeFile::OpenWriteOnly(const FileHeaderContext &fileHeaderContext,
- uint32_t docIdLimit)
-{
- if ( ! _datFile->OpenWriteOnlyTruncate() ) {
- LOG(error, "could not open %s: %s",
- _datFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed opening attribute data file '%s' for writing",
- _datFile->GetFileName()));
- }
- vespalib::FileHeader datHeader;
- typedef vespalib::GenericHeader::Tag Tag;
- fileHeaderContext.addTags(datHeader, _datFile->GetFileName());
- datHeader.putTag(Tag("desc", "Attribute vector data file"));
-
- datHeader.putTag(Tag("datatype", _config.basicType().asString()));
- datHeader.putTag(Tag("collectiontype",
- _config.collectionType().asString()));
- datHeader.putTag(Tag("docIdLimit", docIdLimit));
- datHeader.putTag(Tag("frozen", 0));
- _datHeaderLen = datHeader.writeFile(*_datFile);
- if (_idxFile.get()) {
- if ( ! _idxFile->OpenWriteOnlyTruncate()) {
- LOG(error, "could not open %s: %s",
- _idxFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed opening attribute idx file '%s'"
- " for writing",
- _idxFile->GetFileName()));
- }
- vespalib::FileHeader idxHeader;
- fileHeaderContext.addTags(idxHeader, _idxFile->GetFileName());
- idxHeader.putTag(Tag("desc", "Attribute vector idx file"));
- idxHeader.putTag(Tag("datatype",
- _config.basicType().asString()));
- idxHeader.putTag(Tag("collectiontype",
- _config.collectionType().asString()));
- idxHeader.putTag(Tag("docIdLimit", docIdLimit));
- idxHeader.putTag(Tag("frozen", 0));
- _idxHeaderLen = idxHeader.writeFile(*_idxFile);
- if ( ! _idxFile->CheckedWrite(&_currIdx, sizeof(_currIdx))) {
- LOG(error, "could not write to %s: %s",
- _idxFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed writing first idx"
- " to attribute idx file '%s'",
- _weightFile->GetFileName()));
- }
- if (_weightFile.get()) {
- if ( ! _weightFile->OpenWriteOnlyTruncate()) {
- LOG(error, "could not open %s: %s",
- _weightFile->GetFileName(), getLastErrorString().c_str());
- throw IllegalStateException(
- vespalib::make_string(
- "Failed opening attribute weight file '%s'"
- " for writing",
- _weightFile->GetFileName()));
- }
- vespalib::FileHeader weightHeader;
- fileHeaderContext.addTags(weightHeader,
- _weightFile->GetFileName());
- weightHeader.putTag(Tag("desc", "Attribute vector weight file"));
- weightHeader.putTag(Tag("datatype",
- _config.basicType().asString()));
- weightHeader.putTag(Tag("collectiontype",
- _config.collectionType().asString()));
- weightHeader.putTag(Tag("docIdLimit", docIdLimit));
- weightHeader.putTag(Tag("frozen", 0));
- _weightHeaderLen = weightHeader.writeFile(*_weightFile);
- }
- }
-}
-
-
-void
-AttributeFile::enableDirectIO()
-{
- _datFile->EnableDirectIO();
- if (_idxFile.get()) {
- _idxFile->EnableDirectIO();
- if (_weightFile.get()) {
- _weightFile->EnableDirectIO();
- }
- }
-}
-
-
-void
-AttributeFile::Close()
-{
- if (_datFile->IsOpened()) {
- bool writeMode = _datFile->IsWriteMode();
- _datFile->Flush();
- _datFile->Close();
- if (writeMode) {
- updateHeader(_datFile->GetFileName());
- }
- }
- if (_idxFile.get() != NULL && _idxFile->IsOpened()) {
- bool writeMode = _idxFile->IsWriteMode();
- _idxFile->Flush();
- _idxFile->Close();
- if (writeMode) {
- updateHeader(_idxFile->GetFileName());
- }
- }
- if (_weightFile.get() != NULL && _weightFile->IsOpened()) {
- bool writeMode = _weightFile->IsWriteMode();
- _weightFile->Flush();
- _weightFile->Close();
- if (writeMode) {
- updateHeader(_weightFile->GetFileName());
- }
- }
-}
-
-
-AttributeFile::AttributeFile(const vespalib::string &fileName,
- const Config &config)
- : _currIdx(0),
- _datFile(new Fast_BufferedFile( new FastOS_File((fileName + ".dat").c_str()))),
- _idxFile(config.collectionType().isMultiValue() ?
- new Fast_BufferedFile(new FastOS_File((fileName + ".idx").c_str())) :
- NULL),
- _weightFile(config.collectionType().isWeightedSet() ?
- new Fast_BufferedFile( new FastOS_File((fileName + ".weight").c_str())) :
- NULL),
- _fileName(fileName),
- _config(config),
- _datHeaderLen(0u),
- _idxHeaderLen(0u),
- _weightHeaderLen(0u),
- _datFileSize(0),
- _idxFileSize(0)
-{
-}
-
-
-AttributeFile::~AttributeFile()
-{
- Close();
-}
-
-
-bool
-AttributeFile::seekIdxPos(size_t idxPos)
-{
- bool retval(false);
- if (_idxFile.get()) {
- _idxFile->SetPosition(_idxHeaderLen + idxPos * sizeof(uint32_t));
- retval = (_idxFile->Read(&_currIdx, sizeof(_currIdx)) ==
- sizeof(_currIdx));
- }
- return retval;
-}
-
-
-bool
-AttributeFile::read(Record &record)
-{
- bool retval(true);
- uint32_t nextIdx(_currIdx + 1);
- if (_idxFile.get()) {
- if (static_cast<uint64_t>(_idxFile->GetPosition()) >= _idxFileSize) {
- retval = false;
- } else {
- retval = (_idxFile->Read(&nextIdx, sizeof(nextIdx))
- == sizeof(nextIdx));
- assert(nextIdx >= _currIdx);
- }
- } else {
- if (static_cast<uint64_t>(_datFile->GetPosition()) >= _datFileSize) {
- retval = false;
- }
- }
- if (retval) {
- retval = record.read(*this, nextIdx - _currIdx);
- _currIdx = nextIdx;
- }
-
- return retval;
-}
-
-
-bool
-AttributeFile::write(const Record & record)
-{
- bool retval(record.write(*this));
- if (retval && _idxFile.get()) {
- _currIdx += record.getValueCount();
- retval = _idxFile->CheckedWrite(&_currIdx, sizeof(_currIdx));
- }
-
- return retval;
-}
-
-
-std::unique_ptr<AttributeFile::Record>
-AttributeFile::getRecord()
-{
- std::unique_ptr<Record> record;
- switch (_config.basicType().type()) {
- case BasicType::BOOL:
- case BasicType::UINT2:
- case BasicType::UINT4:
- case BasicType::INT8:
- record.reset(new FixedRecord<int8_t>());
- break;
- case BasicType::INT16:
- record.reset(new FixedRecord<int16_t>());
- break;
- case BasicType::INT32:
- record.reset(new FixedRecord<int32_t>());
- break;
- case BasicType::INT64:
- record.reset(new FixedRecord<int64_t>());
- break;
- case BasicType::FLOAT:
- record.reset(new FixedRecord<float>());
- break;
- case BasicType::DOUBLE:
- record.reset(new FixedRecord<double>());
- break;
- case BasicType::STRING:
- record.reset(new VariableRecord());
- break;
- default:
- break;
- }
- return record;
-}
-
-
-template <typename T>
-bool
-AttributeFile::FixedRecord<T>::onWrite(AttributeFile & dest) const
-{
- bool retval(dest._datFile->CheckedWrite(&_data[0],
- _data.size() * sizeof(T)));
- if (retval && dest._weightFile.get()) {
- retval = dest._weightFile->CheckedWrite(&_weight[0],
- _weight.size() * sizeof(int32_t));
- }
- return retval;
-}
-
-
-bool
-AttributeFile::VariableRecord::onWrite(AttributeFile & dest) const
-{
- bool retval(dest._datFile->CheckedWrite(&_data[0], _data.size()));
- if (retval && dest._weightFile.get()) {
- retval = dest._weightFile->CheckedWrite(&_weight[0],
- _weight.size() * sizeof(int32_t));
- }
- return retval;
-}
-
-
-void
-AttributeFile::VariableRecord::setValue(const void * v, size_t len)
-{
- _data.resize(len);
- memcpy(&_data[0], v, len);
- _weight.clear();
-}
-
-
-size_t
-AttributeFile::VariableRecord::getValueCount() const
-{
- size_t numValues(_weight.size());
- if ( numValues == 0) {
- for(size_t i(0), m(_data.size()); i < m; i++) {
- if (_data[i] == 0) {
- numValues++;
- }
- }
- }
- return numValues;
-}
-
-
-template <typename T>
-bool
-AttributeFile::FixedRecord<T>::onRead(AttributeFile &src, size_t numValues)
-{
- bool retval(true);
- _data.resize(numValues);
- if (numValues) {
- const int bytesRead = src._datFile->Read(&_data[0],
- _data.size() * sizeof(T));
- retval = (bytesRead == int(_data.size() * sizeof(T)));
- }
- if (src._weightFile.get()) {
- _weight.resize(numValues);
- if (numValues && retval) {
- const int bytesRead = src._weightFile->Read(&_weight[0],
- _weight.size() * sizeof(uint32_t));
- retval = (bytesRead == int(_weight.size() * sizeof(uint32_t)));
- }
- }
- return retval;
-}
-
-
-bool
-AttributeFile::VariableRecord::onRead(AttributeFile &src, size_t numValues)
-{
- bool retval(true);
- _data.resize(0);
- if (numValues) {
- size_t stringsRead(0);
- for (int c; (stringsRead < numValues) &&
- ((c = src._datFile->GetByte()) >= 0); ) {
- _data.push_back(c);
- if (c == 0) {
- stringsRead++;
- }
- }
- retval = (stringsRead == numValues);
- }
- if (src._weightFile.get()) {
- _weight.resize(numValues);
- if (numValues && retval) {
- const int bytesRead = src._weightFile->Read(&_weight[0],
- _weight.size() * sizeof(uint32_t));
- retval = (bytesRead == int(_weight.size() * sizeof(uint32_t)));
- }
- }
- return retval;
-}
-
-
-}
diff --git a/searchlib/src/vespa/searchlib/attribute/attributefile.h b/searchlib/src/vespa/searchlib/attribute/attributefile.h
deleted file mode 100644
index a8fbfa5fa75..00000000000
--- a/searchlib/src/vespa/searchlib/attribute/attributefile.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#pragma once
-
-#include "attributevector.h"
-#include <vespa/searchlib/common/fileheadercontext.h>
-#include <vespa/fastlib/io/bufferedfile.h>
-
-namespace search {
-
-namespace common {
- class FileHeaderContext;
-}
-
-class AttributeFile
-{
-public:
- class Record {
- public:
- virtual ~Record() { }
- virtual size_t getValueCount() const = 0;
- virtual void setValue(const void * v, size_t len) = 0;
- protected:
- std::vector<int32_t> _weight;
- private:
- bool write(AttributeFile & dest) const { return onWrite(dest); }
- bool read(AttributeFile & src, size_t numValues) { return onRead(src, numValues); }
- virtual bool onWrite(AttributeFile & dest) const = 0;
- virtual bool onRead(AttributeFile & src, size_t numValues) = 0;
-
- friend class AttributeFile;
- };
- template <typename T>
- class FixedRecord : public Record
- {
- public:
- size_t getValueCount() const override { return _data.size(); }
- private:
- void setValue(const void * v, size_t len) override {
- assert(len == sizeof(T));
- (void) len;
- _data.resize(1);
- _weight.clear();
- _data[0] = * static_cast<const T *>(v);
- }
-
- bool onWrite(AttributeFile & dest) const override;
- bool onRead(AttributeFile & src, size_t numValues) override;
-
- std::vector<T> _data;
- };
-
- class VariableRecord : public Record
- {
- public:
- size_t getValueCount() const override;
- private:
- void setValue(const void * v, size_t len) override;
- bool onWrite(AttributeFile & dest) const override;
- bool onRead(AttributeFile & src, size_t numValues) override;
- std::vector<char> _data;
- };
-protected:
- typedef attribute::Config Config;
-public:
- AttributeFile(const vespalib::string & fileName, const Config & config);
- ~AttributeFile();
-
- std::unique_ptr<Record> getRecord();
- bool read(Record & record);
- bool write(const Record & toWrite);
- void enableDirectIO();
-protected:
- void OpenReadOnly();
- void OpenWriteOnly(const search::common::FileHeaderContext &fileHeaderContext, uint32_t docIdLimit);
- void Close();
- bool seekIdxPos(size_t idxPos);
-private:
- uint32_t _currIdx;
- std::unique_ptr<Fast_BufferedFile> _datFile;
- std::unique_ptr<Fast_BufferedFile> _idxFile;
- std::unique_ptr<Fast_BufferedFile> _weightFile;
- vespalib::string _fileName;
- Config _config;
- uint32_t _datHeaderLen;
- uint32_t _idxHeaderLen;
- uint32_t _weightHeaderLen;
- uint64_t _datFileSize;
- uint64_t _idxFileSize;
-};
-
-class ReadAttributeFile : public AttributeFile
-{
-public:
- ReadAttributeFile(const vespalib::string &fileName, const Config &config);
-};
-
-class WriteAttributeFile : public AttributeFile
-{
-public:
- WriteAttributeFile(const vespalib::string &fileName,
- const Config &config,
- const search::common::FileHeaderContext &
- fileHeaderContext,
- uint32_t docIdLimit);
-};
-
-}
-
diff --git a/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp b/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
index 7295cd78df6..da280aa7bda 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
@@ -1,11 +1,10 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributemanager.h"
+#include "attribute_read_guard.h"
#include "attributecontext.h"
#include "attributefactory.h"
-#include "attribute_read_guard.h"
+#include "attributemanager.h"
#include "attrvector.h"
-#include "attributefile.h"
#include "interlock.h"
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/util/exceptions.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
index 130354efa60..3cefb665181 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
@@ -127,9 +127,9 @@ AttributeVector::AttributeVector(vespalib::stringref baseFileName, const Config
_createSerialNum(0u),
_compactLidSpaceGeneration(0u),
_hasEnum(false),
- _loaded(false),
- _enableEnumeratedSave(false)
-{ }
+ _loaded(false)
+{
+}
AttributeVector::~AttributeVector() = default;
@@ -595,13 +595,6 @@ AttributeVector::addReservedDoc()
}
}
-
-void
-AttributeVector::enableEnumeratedSave(bool enable) {
- if (hasEnum() || !enable)
- _enableEnumeratedSave = enable;
-}
-
attribute::IPostingListAttributeBase *AttributeVector::getIPostingListAttributeBase() { return nullptr; }
const attribute::IPostingListAttributeBase *AttributeVector::getIPostingListAttributeBase() const { return nullptr; }
const IDocumentWeightAttribute * AttributeVector::asDocumentWeightAttribute() const { return nullptr; }
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.h b/searchlib/src/vespa/searchlib/attribute/attributevector.h
index 8d902dd9d74..20803ca2387 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributevector.h
+++ b/searchlib/src/vespa/searchlib/attribute/attributevector.h
@@ -583,7 +583,6 @@ private:
uint64_t _compactLidSpaceGeneration;
bool _hasEnum;
bool _loaded;
- bool _enableEnumeratedSave;
fastos::TimeStamp _nextStatUpdateTime;
////// Locking strategy interface. only available from the Guards.
@@ -631,8 +630,7 @@ public:
* Add reserved initial document with docId 0 and undefined value.
*/
void addReservedDoc();
- void enableEnumeratedSave(bool enable = true);
- bool getEnumeratedSave() const { return _hasEnum && _enableEnumeratedSave; }
+ bool getEnumeratedSave() const { return _hasEnum; }
virtual attribute::IPostingListAttributeBase * getIPostingListAttributeBase();
virtual const attribute::IPostingListAttributeBase * getIPostingListAttributeBase() const;
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.cpp b/searchlib/src/vespa/searchlib/attribute/enumstore.cpp
index 6914376ae0a..859c2527bbc 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.cpp
@@ -18,74 +18,6 @@ insertEntryValue(char * dst, Type value)
template <>
void
-EnumStoreT<StringEntryType>::
-printEntry(vespalib::asciistream & os, const Entry & e) const
-{
- os << "Entry: {";
- os << "enum: " << e.getEnum();
- os << ", refcount: " << e.getRefCount();
- os << ", value: " << vespalib::string(e.getValue());
- os << "}";
-}
-
-
-template <>
-void
-EnumStoreT<NumericEntryType<float> >::
-printEntry(vespalib::asciistream & os, const Entry & e) const
-{
- os << "Entry: {";
- os << "enum: " << e.getEnum();
- os << ", refcount: " << e.getRefCount();
- os << ", value: " << e.getValue();
- union
- {
- unsigned int _asInt;
- float _asFloat;
- } u;
- u._asFloat = e.getValue();
- os << ", bvalue: 0x" << vespalib::hex << u._asInt;
- os << "}";
-}
-
-
-template <>
-void
-EnumStoreT<NumericEntryType<double> >::
-printEntry(vespalib::asciistream & os, const Entry & e) const
-{
- os << "Entry: {";
- os << "enum: " << e.getEnum();
- os << ", refcount: " << e.getRefCount();
- os << ", value: " << e.getValue();
- union
- {
- unsigned long _asLong;
- double _asDouble;
- } u;
- u._asDouble = e.getValue();
- os << ", bvalue: 0x" << vespalib::hex << u._asLong;
- os << "}";
-}
-
-
-template <>
-void
-EnumStoreT<StringEntryType>::printValue(vespalib::asciistream & os, Index idx) const
-{
- os << vespalib::string(getValue(idx));
-}
-
-template <>
-void
-EnumStoreT<StringEntryType>::printValue(vespalib::asciistream & os, Type value) const
-{
- os << vespalib::string(value);
-}
-
-
-template <>
-void
EnumStoreT<StringEntryType>::writeValues(BufferWriter &writer,
const Index *idxs,
size_t count) const
@@ -151,21 +83,6 @@ EnumStoreT<StringEntryType>::deserialize(const void *src,
return sz;
}
-
-#if 0
-template
-class btree::BTreeKeyData<EnumStoreBase::Index, btree::BTreeNoLeafData>;
-
-template
-class btree::BTreeKeyData<EnumStoreBase::Index, datastore::EntryRef>;
-
-template
-class btree::BTreeNodeT<EnumStoreBase::Index, EnumTreeTraits::LEAF_SLOTS>;
-
-template
-class btree::BTreeNodeTT<EnumStoreBase::Index, datastore::EntryRef, btree::NoAggregated, EnumTreeTraits::LEAF_SLOTS>;
-#endif
-
template
class btree::BTreeBuilder<EnumStoreBase::Index, btree::BTreeNoLeafData, btree::NoAggregated,
EnumTreeTraits::INTERNAL_SLOTS, EnumTreeTraits::LEAF_SLOTS>;
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h
index 2af1fdc1b9d..8e38e12bfff 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h
@@ -108,7 +108,6 @@ protected:
Entry getEntry(Index idx) const {
return Entry(const_cast<DataStoreType &>(_store).getEntry<char>(idx));
}
- void printEntry(vespalib::asciistream & os, const Entry & e) const;
void freeUnusedEnum(Index idx, IndexSet & unused) override;
@@ -121,16 +120,12 @@ public:
bool getValue(Index idx, Type & value) const;
Type getValue(uint32_t idx) const { return getValue(Index(datastore::EntryRef(idx))); }
Type getValue(Index idx) const { return getEntry(idx).getValue(); }
- uint32_t getFixedSize() const override { return Entry::fixedSize(); }
static uint32_t
getEntrySize(Type value)
{
return alignEntrySize(EntryBase::size() + EntryType::size(value));
}
- void printBuffer(vespalib::asciistream & os, uint32_t bufferIdx) const;
- void printValue(vespalib::asciistream & os, Index idx) const;
- void printValue(vespalib::asciistream & os, Type value) const;
class Builder {
public:
@@ -173,7 +168,6 @@ public:
void freeUnusedEnums(const IndexVector &toRemove) override;
void reset(Builder &builder);
bool performCompaction(uint64_t bytesNeeded, EnumIndexMap & old2New) override;
- void printCurrentContent(vespalib::asciistream &os) const;
private:
template <typename Dictionary>
@@ -184,9 +178,6 @@ private:
template <typename Dictionary>
void performCompaction(Dictionary &dict, EnumIndexMap & old2New);
-
- template <typename Dictionary>
- void printCurrentContent(vespalib::asciistream &os, const Dictionary &dict) const;
};
template <typename EntryType>
@@ -235,44 +226,6 @@ void
EnumStoreT<StringEntryType>::
insertEntryValue(char * dst, Type value);
-template <>
-void
-EnumStoreT<StringEntryType>::
-printEntry(vespalib::asciistream & os, const Entry & e) const;
-
-template <>
-void
-EnumStoreT<NumericEntryType<float> >::
-printEntry(vespalib::asciistream & os, const Entry & e) const;
-
-template <>
-void
-EnumStoreT<NumericEntryType<double> >::
-printEntry(vespalib::asciistream & os, const Entry & e) const;
-
-template <>
-void
-EnumStoreT<StringEntryType>::printValue(vespalib::asciistream & os, Index idx) const;
-
-template <>
-void
-EnumStoreT<StringEntryType>::printValue(vespalib::asciistream & os, Type value) const;
-
-
-#if 0
-extern template
-class btree::BTreeKeyData<EnumStoreBase::Index, btree::BTreeNoLeafData>;
-
-extern template
-class btree::BTreeKeyData<EnumStoreBase::Index, datastore::EntryRef>;
-
-extern template
-class btree::BTreeNodeT<EnumStoreBase::Index, EnumTreeTraits::LEAF_SLOTS>;
-
-extern template
-class btree::BTreeNodeTT<EnumStoreBase::Index, datastore::EntryRef, btree::NoAggregated, EnumTreeTraits::LEAF_SLOTS>;
-#endif
-
extern template
class btree::BTreeBuilder<EnumStoreBase::Index, btree::BTreeNoLeafData, btree::NoAggregated,
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
index c1b35b5a5fe..af164415ad3 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
@@ -48,17 +48,6 @@ EnumStoreT<StringEntryType>::
insertEntryValue(char * dst, Type value);
template <typename EntryType>
-void
-EnumStoreT<EntryType>::printEntry(vespalib::asciistream & os, const Entry & e) const
-{
- os << "Entry: {";
- os << "enum: " << e.getEnum();
- os << ", refcount: " << e.getRefCount();
- os << ", value: " << e.getValue();
- os << "}";
-}
-
-template <typename EntryType>
bool
EnumStoreT<EntryType>::getValue(Index idx, Type & value) const
{
@@ -70,21 +59,6 @@ EnumStoreT<EntryType>::getValue(Index idx, Type & value) const
}
template <typename EntryType>
-void
-EnumStoreT<EntryType>::printBuffer(vespalib::asciistream & os, uint32_t bufferIdx) const
-{
- uint64_t i = 0;
- while (i < _store.getBufferState(bufferIdx).size()) {
- Index idx(i, bufferIdx);
-
- Entry e = this->getEntry(idx);
- this->printEntry(os, e);
- os << ", " << idx << '\n';
- i += this->getEntrySize(e.getValue());
- }
-}
-
-template <typename EntryType>
EnumStoreT<EntryType>::Builder::Builder()
: _uniques(),
_bufferSize(Index::align(1))
@@ -93,21 +67,6 @@ EnumStoreT<EntryType>::Builder::Builder()
template <typename EntryType>
EnumStoreT<EntryType>::Builder::~Builder() { }
-template <typename EntryType>
-void
-EnumStoreT<EntryType>::printValue(vespalib::asciistream & os, Index idx) const
-{
- os << getValue(idx);
-}
-
-template <typename EntryType>
-void
-EnumStoreT<EntryType>::printValue(vespalib::asciistream & os, Type value) const
-{
- os << value;
-}
-
-
template <class EntryType>
void
EnumStoreT<EntryType>::writeValues(BufferWriter &writer, const Index *idxs, size_t count) const
@@ -120,7 +79,6 @@ EnumStoreT<EntryType>::writeValues(BufferWriter &writer, const Index *idxs, size
}
}
-
template <class EntryType>
ssize_t
EnumStoreT<EntryType>::deserialize(const void *src, size_t available, size_t &initSpace)
@@ -461,36 +419,4 @@ EnumStoreT<EntryType>::performCompaction(uint64_t bytesNeeded, EnumIndexMap & ol
return true;
}
-
-template <typename EntryType>
-template <typename Dictionary>
-void
-EnumStoreT<EntryType>::printCurrentContent(vespalib::asciistream &os, const Dictionary &dict) const
-{
- typedef typename Dictionary::ConstIterator DictionaryConstIterator;
-
- for (DictionaryConstIterator iter = dict.begin(); iter.valid(); ++iter) {
- Index idx = iter.getKey();
- if (!this->validIndex(idx)) {
- os << "Bad entry: " << idx << '\n';
- } else {
- Entry e = this->getEntry(idx);
- this->printEntry(os, e);
- os << ", " << idx << '\n';
- }
- }
-}
-
-
-template <typename EntryType>
-void
-EnumStoreT<EntryType>::printCurrentContent(vespalib::asciistream &os) const
-{
- if (_enumDict->hasData()) {
- printCurrentContent(os, static_cast<EnumStoreDict<EnumPostingTree> *>(_enumDict)->getDictionary());
- } else {
- printCurrentContent(os, static_cast<EnumStoreDict<EnumTree> *>(_enumDict)->getDictionary());
- }
-}
-
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstorebase.h b/searchlib/src/vespa/searchlib/attribute/enumstorebase.h
index d8604a5a85e..1e3bfb2639d 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstorebase.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumstorebase.h
@@ -271,10 +271,6 @@ protected:
public:
void reset(uint64_t initBufferSize);
- virtual uint32_t getFixedSize() const = 0;
- size_t getMaxEnumOffset() const {
- return _store.getBufferState(_store.getActiveBufferId(TYPE_ID)).size();
- }
uint32_t getRefCount(Index idx) const { return getEntryBase(idx).getRefCount(); }
uint32_t getEnum(Index idx) const { return getEntryBase(idx).getEnum(); }
void incRefCount(Index idx) { getEntryBase(idx).incRefCount(); }
diff --git a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp
index cdc56907112..c220d144b53 100644
--- a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp
@@ -21,15 +21,15 @@ class DatWriter
std::vector<EnumStoreIndex> _indexes;
const EnumStoreBase &_enumStore;
std::unique_ptr<search::BufferWriter> _datWriter;
- bool _enumerated;
+
public:
DatWriter(IAttributeSaveTarget &saveTarget,
const EnumStoreBase &enumStore)
: _indexes(),
_enumStore(enumStore),
- _datWriter(saveTarget.datWriter().allocBufferWriter()),
- _enumerated(saveTarget.getEnumerated())
+ _datWriter(saveTarget.datWriter().allocBufferWriter())
{
+ assert(saveTarget.getEnumerated());
_indexes.reserve(1000);
}
@@ -42,13 +42,8 @@ public:
void flush()
{
if (!_indexes.empty()) {
- if (_enumerated) {
- _enumStore.writeEnumValues(*_datWriter,
- &_indexes[0], _indexes.size());
- } else {
- _enumStore.writeValues(*_datWriter,
+ _enumStore.writeEnumValues(*_datWriter,
&_indexes[0], _indexes.size());
- }
_indexes.clear();
}
}
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp
index 337ea2e0528..53fdf81f505 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp
@@ -310,29 +310,6 @@ template <typename P, typename LoadedVector, typename LoadedValueType,
typename EnumStoreType>
void
PostingListAttributeSubBase<P, LoadedVector, LoadedValueType, EnumStoreType>::
-printPostingListContent(vespalib::asciistream & os) const
-{
- for (DictionaryIterator itr = _es.getPostingDictionary().begin();
- itr.valid(); ++itr) {
- EnumIndex enumIdx = itr.getKey();
- os << "PostingList[";
- _es.printValue(os, enumIdx);
- os << "]: {";
-
- EntryRef postIdx = itr.getData();
- PostingIterator postings = _postingList.begin(postIdx);
- for (; postings.valid(); ++postings) {
- os << postings.getKey() << ", ";
- }
- os << "}\n";
- }
-}
-
-
-template <typename P, typename LoadedVector, typename LoadedValueType,
- typename EnumStoreType>
-void
-PostingListAttributeSubBase<P, LoadedVector, LoadedValueType, EnumStoreType>::
clearPostings(attribute::IAttributeVector::EnumHandle eidx,
uint32_t fromLid,
uint32_t toLid)
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h
index 829afeb9388..c35e02f7519 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h
@@ -106,7 +106,6 @@ public:
void handleFillPostings(LoadedVector &loaded);
void updatePostings(PostingMap &changePost) override;
- void printPostingListContent(vespalib::asciistream & os) const;
void clearPostings(attribute::IAttributeVector::EnumHandle eidx, uint32_t fromLid, uint32_t toLid) override;
};
diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
index 05ea57cf43a..8b1b272be52 100644
--- a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
@@ -48,7 +48,6 @@ ReferenceAttribute::ReferenceAttribute(const vespalib::stringref baseFileName,
_referenceMappings(getGenerationHolder(), getCommittedDocIdLimitRef())
{
setEnum(true);
- enableEnumeratedSave(true);
}
ReferenceAttribute::~ReferenceAttribute()
diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp
index dd92421301c..24df3438570 100644
--- a/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singleenumattributesaver.cpp
@@ -34,13 +34,9 @@ SingleValueEnumAttributeSaver::onSave(IAttributeSaveTarget &saveTarget)
const EnumStoreBase &enumStore = _enumSaver.getEnumStore();
std::unique_ptr<search::BufferWriter> datWriter(saveTarget.datWriter().
allocBufferWriter());
- if (saveTarget.getEnumerated()) {
- enumStore.writeEnumValues(*datWriter,
- &_indices[0], _indices.size());
- } else {
- enumStore.writeValues(*datWriter,
+ assert(saveTarget.getEnumerated());
+ enumStore.writeEnumValues(*datWriter,
&_indices[0], _indices.size());
- }
datWriter->flush();
_enumSaver.enableReEnumerate();
return true;
diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
index d62361423bd..75e195ec351 100644
--- a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
@@ -243,12 +243,14 @@ StringAttribute::StringSearchContext::~StringSearchContext()
}
bool
-StringAttribute::StringSearchContext::valid() const {
+StringAttribute::StringSearchContext::valid() const
+{
return (_queryTerm.get() && (!_queryTerm->empty()));
}
const QueryTermBase *
-StringAttribute::StringSearchContext::queryTerm() const {
+StringAttribute::StringSearchContext::queryTerm() const
+{
return static_cast<const QueryTermBase *>(_queryTerm.get());
}
@@ -311,36 +313,6 @@ bool StringAttribute::apply(DocId, const ArithmeticValueUpdate & )
return false;
}
-template <typename T>
-void StringAttribute::loadAllAtOnce(T & loaded, fileutil::LoadedBuffer::UP dataBuffer, uint32_t numDocs, ReaderBase & attrReader, bool hasWeight, bool hasIdx)
-{
- if (dataBuffer->c_str()) {
- const char *value = dataBuffer->c_str();
- for(uint32_t docIdx(0), valueIdx(0); docIdx < numDocs; docIdx++) {
- uint32_t currValueCount(hasIdx ? attrReader.getNextValueCount() : 1);
- for(uint32_t subIdx(0); subIdx < currValueCount; subIdx++) {
- loaded[valueIdx]._docId = docIdx;
- loaded[valueIdx]._idx = subIdx;
- loaded[valueIdx].setValue(value);
- loaded[valueIdx].setWeight(hasWeight ? attrReader.getNextWeight() : 1);
- valueIdx++;
- while(*value++) { }
- }
- }
- }
-
- attribute::sortLoadedByValue(loaded);
- fillPostings(loaded);
- loaded.rewind();
- fillEnum(loaded);
-
- dataBuffer.reset();
-
- attribute::sortLoadedByDocId(loaded);
- loaded.rewind();
- fillValues(loaded);
-}
-
bool
StringAttribute::onLoadEnumerated(ReaderBase &attrReader)
{
@@ -434,37 +406,14 @@ bool StringAttribute::onLoad()
ReaderBase attrReader(*this);
bool ok(attrReader.getHasLoadData());
- if (!ok)
+ if (!ok) {
return false;
-
- setCreateSerialNum(attrReader.getCreateSerialNum());
-
- if (attrReader.getEnumerated())
- return onLoadEnumerated(attrReader);
-
- fileutil::LoadedBuffer::UP dataBuffer(loadDAT());
-
- bool hasIdx(attrReader.hasIdx());
- size_t numDocs(0);
- uint32_t numValues(0);
- if (hasIdx) {
- numDocs = attrReader.getNumIdx() - 1;
- numValues = attrReader.getNumValues();
- } else if (dataBuffer->c_str()) {
- numValues = countZero(dataBuffer->c_str(), dataBuffer->size());
- numDocs = numValues;
}
- setNumDocs(numDocs);
- setCommittedDocIdLimit(numDocs);
- if (numDocs > 0) {
- onAddDoc(numDocs - 1);
- }
-
- LoadedVectorR loaded(numValues);
- loadAllAtOnce(loaded, std::move(dataBuffer), numDocs, attrReader, hasWeightedSetType(), hasIdx);
+ setCreateSerialNum(attrReader.getCreateSerialNum());
- return true;
+ assert(attrReader.getEnumerated());
+ return onLoadEnumerated(attrReader);
}
bool
diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.h b/searchlib/src/vespa/searchlib/attribute/stringbase.h
index 8131c87ab85..9839cfe6004 100644
--- a/searchlib/src/vespa/searchlib/attribute/stringbase.h
+++ b/searchlib/src/vespa/searchlib/attribute/stringbase.h
@@ -91,9 +91,6 @@ private:
long onSerializeForAscendingSort(DocId doc, void * serTo, long available, const common::BlobConverter * bc) const override;
long onSerializeForDescendingSort(DocId doc, void * serTo, long available, const common::BlobConverter * bc) const override;
- template <typename T>
- void loadAllAtOnce(T & loaded, LoadedBufferUP dataBuffer, uint32_t numDocs, ReaderBase & attrReader, bool hasWeight, bool hasIdx);
-
protected:
class StringSearchContext : public SearchContext {
public:
diff --git a/security-tools/src/main/sh/vespa-curl-wrapper b/security-tools/src/main/sh/vespa-curl-wrapper
index da1465a07bc..4c616b0fc4e 100755
--- a/security-tools/src/main/sh/vespa-curl-wrapper
+++ b/security-tools/src/main/sh/vespa-curl-wrapper
@@ -4,6 +4,75 @@
# Uses vespa-security-env to call curl with paths to credentials.
# This script should be installed in libexec only. It is not public api.
+# BEGIN environment bootstrap section
+# Do not edit between here and END as this section should stay identical in all scripts
+
+findpath () {
+ myname=${0}
+ mypath=${myname%/*}
+ myname=${myname##*/}
+ if [ "$mypath" ] && [ -d "$mypath" ]; then
+ return
+ fi
+ mypath=$(pwd)
+ if [ -f "${mypath}/${myname}" ]; then
+ return
+ fi
+ echo "FATAL: Could not figure out the path where $myname lives from $0"
+ exit 1
+}
+
+COMMON_ENV=libexec/vespa/common-env.sh
+
+source_common_env () {
+ if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then
+ export VESPA_HOME
+ common_env=$VESPA_HOME/$COMMON_ENV
+ if [ -f "$common_env" ]; then
+ . $common_env
+ return
+ fi
+ fi
+ return 1
+}
+
+findroot () {
+ source_common_env && return
+ if [ "$VESPA_HOME" ]; then
+ echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'"
+ exit 1
+ fi
+ if [ "$ROOT" ] && [ -d "$ROOT" ]; then
+ VESPA_HOME="$ROOT"
+ source_common_env && return
+ fi
+ findpath
+ while [ "$mypath" ]; do
+ VESPA_HOME=${mypath}
+ source_common_env && return
+ mypath=${mypath%/*}
+ done
+ echo "FATAL: missing VESPA_HOME environment variable"
+ echo "Could not locate $COMMON_ENV anywhere"
+ exit 1
+}
+
+findhost () {
+ if [ "${VESPA_HOSTNAME}" = "" ]; then
+ VESPA_HOSTNAME=$(vespa-detect-hostname || hostname -f || hostname || echo "localhost") || exit 1
+ fi
+ validate="${VESPA_HOME}/bin/vespa-validate-hostname"
+ if [ -f "$validate" ]; then
+ "$validate" "${VESPA_HOSTNAME}" || exit 1
+ fi
+ export VESPA_HOSTNAME
+}
+
+findroot
+findhost
+
+# END environment bootstrap section
+
set -e
eval $($VESPA_HOME/bin/vespa-security-env)
diff --git a/staging_vespalib/src/tests/state_server/state_server_test.cpp b/staging_vespalib/src/tests/state_server/state_server_test.cpp
index 6c7397a1719..e61d3d216cd 100644
--- a/staging_vespalib/src/tests/state_server/state_server_test.cpp
+++ b/staging_vespalib/src/tests/state_server/state_server_test.cpp
@@ -87,6 +87,12 @@ TEST_FF("require that non-empty known url returns expected headers", DummyHandle
"Connection: close\r\n"
"Content-Type: application/json\r\n"
"Content-Length: 5\r\n"
+ "X-XSS-Protection: 1; mode=block\r\n"
+ "X-Frame-Options: DENY\r\n"
+ "Content-Security-Policy: default-src 'none'\r\n"
+ "X-Content-Type-Options: nosniff\r\n"
+ "Cache-Control: no-store\r\n"
+ "Pragma: no-cache\r\n"
"\r\n"
"[123]");
std::string actual = getFull(f2.port(), my_path);
diff --git a/storage/src/tests/bucketdb/bucketmanagertest.cpp b/storage/src/tests/bucketdb/bucketmanagertest.cpp
index 11f5ec70014..ad46d494d11 100644
--- a/storage/src/tests/bucketdb/bucketmanagertest.cpp
+++ b/storage/src/tests/bucketdb/bucketmanagertest.cpp
@@ -171,10 +171,8 @@ void BucketManagerTest::setupTestEnvironment(bool fakePersistenceLayer,
_top->push_back(std::move(bottom));
}
// Generate a doc to use for testing..
- const DocumentType &type(*_node->getTypeRepo()
- ->getDocumentType("text/html"));
- _document = std::make_shared<document::Document>(
- type, document::DocumentId(document::DocIdString("test", "ntnu")));
+ const DocumentType &type(*_node->getTypeRepo()->getDocumentType("text/html"));
+ _document = std::make_shared<document::Document>(type, document::DocumentId("id:ns:text/html::ntnu"));
}
void BucketManagerTest::addBucketsToDB(uint32_t count)
diff --git a/storage/src/tests/distributor/bucketdatabasetest.cpp b/storage/src/tests/distributor/bucketdatabasetest.cpp
index 6225865b153..1d5355df92f 100644
--- a/storage/src/tests/distributor/bucketdatabasetest.cpp
+++ b/storage/src/tests/distributor/bucketdatabasetest.cpp
@@ -170,8 +170,15 @@ BucketDatabaseTest::doFindParents(const std::vector<document::BucketId>& ids,
}
std::vector<BucketDatabase::Entry> entries;
+ // TODO remove in favor of only read guard once legacy DB usage has been ported over
db().getParents(searchId, entries);
+ std::vector<BucketDatabase::Entry> checked_entries;
+ db().acquire_read_guard()->find_parents_and_self(searchId, checked_entries);
+ if (entries != checked_entries) {
+ return "Mismatch between results from getParents() and ReadGuard!";
+ }
+
std::ostringstream ost;
for (uint32_t i = 0; i < ids.size(); ++i) {
if (std::find(entries.begin(), entries.end(),
diff --git a/storage/src/tests/distributor/getoperationtest.cpp b/storage/src/tests/distributor/getoperationtest.cpp
index 4b67cf1963d..7c308e152db 100644
--- a/storage/src/tests/distributor/getoperationtest.cpp
+++ b/storage/src/tests/distributor/getoperationtest.cpp
@@ -40,7 +40,7 @@ struct GetOperationTest : Test, DistributorTestUtil {
FileSpec("../config-doctypes.cfg"))));
createLinks();
- docId = document::DocumentId(document::DocIdString("test", "uri"));
+ docId = document::DocumentId("id:ns:text/html::uri");
bucketId = getExternalOperationHandler().getBucketId(docId);
};
@@ -133,7 +133,7 @@ TEST_F(GetOperationTest, simple) {
ASSERT_NO_FATAL_FAILURE(replyWithDocument());
- EXPECT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ EXPECT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -149,7 +149,7 @@ TEST_F(GetOperationTest, ask_trusted_node_if_bucket_is_inconsistent) {
ASSERT_NO_FATAL_FAILURE(replyWithDocument());
- EXPECT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ EXPECT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -166,7 +166,7 @@ TEST_F(GetOperationTest, ask_all_nodes_if_bucket_is_inconsistent) {
ASSERT_NO_FATAL_FAILURE(sendReply(0, api::ReturnCode::OK, "newauthor", 2));
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "oldauthor", 1));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 2) ReturnCode(NONE)",
_sender.getLastReply());
@@ -185,7 +185,7 @@ TEST_F(GetOperationTest, send_to_all_invalid_copies) {
ASSERT_NO_FATAL_FAILURE(sendReply(0, api::ReturnCode::OK, "newauthor", 2));
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "oldauthor", 1));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 2) ReturnCode(NONE)",
_sender.getLastReply());
@@ -207,7 +207,7 @@ TEST_F(GetOperationTest, send_to_all_invalid_nodes_when_inconsistent) {
ASSERT_NO_FATAL_FAILURE(sendReply(2, api::ReturnCode::OK, "oldauthor", 1));
ASSERT_NO_FATAL_FAILURE(sendReply(3, api::ReturnCode::OK, "oldauthor", 1));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 2) ReturnCode(NONE)",
_sender.getLastReply());
@@ -217,8 +217,8 @@ TEST_F(GetOperationTest, send_to_all_invalid_nodes_when_inconsistent) {
TEST_F(GetOperationTest, inconsistent_split) {
setClusterState("distributor:1 storage:4");
- addNodesToBucketDB(document::BucketId(16, 0x2a52), "0=100");
- addNodesToBucketDB(document::BucketId(17, 0x2a52), "1=200");
+ addNodesToBucketDB(document::BucketId(16, 0x0593), "0=100");
+ addNodesToBucketDB(document::BucketId(17, 0x10593), "1=200");
sendGet();
@@ -227,7 +227,7 @@ TEST_F(GetOperationTest, inconsistent_split) {
ASSERT_NO_FATAL_FAILURE(sendReply(0, api::ReturnCode::OK, "newauthor", 2));
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "oldauthor", 1));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 2) ReturnCode(NONE)",
_sender.getLastReply());
@@ -246,7 +246,7 @@ TEST_F(GetOperationTest, multi_inconsistent_bucket_not_found) {
ASSERT_NO_FATAL_FAILURE(sendReply(0, api::ReturnCode::OK, "newauthor", 2));
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "", 0));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 2) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -265,7 +265,7 @@ TEST_F(GetOperationTest, multi_inconsistent_bucket_not_found_deleted) {
// at timestamp 3.
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "", 3));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 3) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -282,7 +282,7 @@ TEST_F(GetOperationTest, multi_inconsistent_bucket) {
ASSERT_NO_FATAL_FAILURE(sendReply(0, api::ReturnCode::OK, "newauthor", 2));
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "oldauthor", 1));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 2) ReturnCode(NONE)",
_sender.getLastReply());
@@ -301,12 +301,12 @@ TEST_F(GetOperationTest, multi_inconsistent_bucket_fail) {
ASSERT_NO_FATAL_FAILURE(sendReply(0, api::ReturnCode::OK, "newauthor", 1));
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::DISK_FAILURE, "", 0));
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 3",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 3",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithDocument());
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -316,7 +316,7 @@ TEST_F(GetOperationTest, return_not_found_when_bucket_not_in_db) {
sendGet();
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 0) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -328,12 +328,12 @@ TEST_F(GetOperationTest, not_found) {
sendGet();
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 0",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 0",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithNotFound());
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 0) ReturnCode(NONE)",
_sender.getLastReply());
@@ -350,17 +350,17 @@ TEST_F(GetOperationTest, resend_on_storage_failure) {
sendGet();
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 1",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 1",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithFailure());
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 2",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 2",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithDocument());
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -374,17 +374,17 @@ TEST_F(GetOperationTest, resend_on_storage_failure_all_fail) {
sendGet();
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 1",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 1",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithFailure());
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 2",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 2",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithFailure());
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 0) ReturnCode(IO_FAILURE)",
_sender.getLastReply());
}
@@ -397,12 +397,12 @@ TEST_F(GetOperationTest, send_to_ideal_copy_if_bucket_in_sync) {
sendGet();
// Should always send to node 1 (follow bucket db order)
- ASSERT_EQ("Get(BucketId(0x4000000000002a52), doc:test:uri) => 1",
+ ASSERT_EQ("Get(BucketId(0x4000000000000593), id:ns:text/html::uri) => 1",
_sender.getLastCommand());
ASSERT_NO_FATAL_FAILURE(replyWithDocument());
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -412,7 +412,7 @@ TEST_F(GetOperationTest, multiple_copies_with_failure_on_local_node) {
// Node 0 is local copy to distributor 0 and will be preferred when
// sending initially.
- addNodesToBucketDB(document::BucketId(16, 0x2a52), "2=100,0=100");
+ addNodesToBucketDB(document::BucketId(16, 0x0593), "2=100,0=100");
sendGet();
@@ -427,7 +427,7 @@ TEST_F(GetOperationTest, multiple_copies_with_failure_on_local_node) {
ASSERT_NO_FATAL_FAILURE(sendReply(1, api::ReturnCode::OK, "newestauthor", 3));
- ASSERT_EQ("GetReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("GetReply(BucketId(0x0000000000000000), id:ns:text/html::uri, "
"timestamp 3) ReturnCode(NONE)",
_sender.getLastReply());
diff --git a/storage/src/tests/distributor/pendingmessagetrackertest.cpp b/storage/src/tests/distributor/pendingmessagetrackertest.cpp
index a4a883d7059..e1bca1a1890 100644
--- a/storage/src/tests/distributor/pendingmessagetrackertest.cpp
+++ b/storage/src/tests/distributor/pendingmessagetrackertest.cpp
@@ -173,7 +173,7 @@ TEST_F(PendingMessageTrackerTest, simple) {
std::ostringstream ost;
tracker.reportStatus(ost, framework::HttpUrlPath("/pendingmessages?order=bucket"));
- EXPECT_THAT(ost.str(), Not(HasSubstr("doc:")));
+ EXPECT_THAT(ost.str(), Not(HasSubstr("id:")));
}
}
diff --git a/storage/src/tests/distributor/putoperationtest.cpp b/storage/src/tests/distributor/putoperationtest.cpp
index 99c6ec3d71e..d882d17841e 100644
--- a/storage/src/tests/distributor/putoperationtest.cpp
+++ b/storage/src/tests/distributor/putoperationtest.cpp
@@ -85,7 +85,7 @@ public:
}
Document::SP createDummyDocument(const char* ns, const char* id) const {
- return std::make_shared<Document>(doc_type(), DocumentId(DocIdString(ns, id)));
+ return std::make_shared<Document>(doc_type(), DocumentId(vespalib::make_string("id:%s:testdoctype1::%s", ns, id)));
}
std::shared_ptr<api::PutCommand> createPut(Document::SP doc) const {
@@ -97,7 +97,7 @@ PutOperationTest::~PutOperationTest() = default;
document::BucketId
PutOperationTest::createAndSendSampleDocument(uint32_t timeout) {
- auto doc = std::make_shared<Document>(doc_type(), DocumentId(DocIdString("test", "test")));
+ auto doc = std::make_shared<Document>(doc_type(), DocumentId("id:test:testdoctype1::"));
document::BucketId id = getExternalOperationHandler().getBucketId(doc->getId());
addIdealNodes(id);
@@ -123,13 +123,13 @@ TEST_F(PutOperationTest, simple) {
setupDistributor(1, 1, "storage:1 distributor:1");
createAndSendSampleDocument(180);
- ASSERT_EQ("Put(BucketId(0x4000000000008b13), "
- "doc:test:test, timestamp 100, size 36) => 0",
+ ASSERT_EQ("Put(BucketId(0x4000000000001dd4), "
+ "id:test:testdoctype1::, timestamp 100, size 45) => 0",
_sender.getCommands(true, true));
sendReply();
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -141,7 +141,7 @@ TEST_F(PutOperationTest, bucket_database_gets_special_entry_when_CreateBucket_se
sendPut(createPut(doc));
// Database updated before CreateBucket is sent
- ASSERT_EQ("BucketId(0x4000000000008b13) : "
+ ASSERT_EQ("BucketId(0x4000000000008f09) : "
"node(idx=0,crc=0x1,docs=0/0,bytes=0/0,trusted=true,active=true,ready=false)",
dumpBucket(getExternalOperationHandler().getBucketId(doc->getId())));
@@ -153,16 +153,16 @@ TEST_F(PutOperationTest, send_inline_split_before_put_if_bucket_too_large) {
getConfig().setSplitCount(1024);
getConfig().setSplitSize(1000000);
- addNodesToBucketDB(document::BucketId(0x4000000000002a52), "0=10000/10000/10000/t");
+ addNodesToBucketDB(document::BucketId(0x4000000000000593), "0=10000/10000/10000/t");
sendPut(createPut(createDummyDocument("test", "uri")));
- ASSERT_EQ("SplitBucketCommand(BucketId(0x4000000000002a52)Max doc count: "
+ ASSERT_EQ("SplitBucketCommand(BucketId(0x4000000000000593)Max doc count: "
"1024, Max total doc size: 1000000) Reasons to start: "
"[Splitting bucket because its maximum size (10000 b, 10000 docs, 10000 meta, 10000 b total) is "
"higher than the configured limit of (1000000, 1024)] => 0,"
- "Put(BucketId(0x4000000000002a52), doc:test:uri, timestamp 100, "
- "size 35) => 0",
+ "Put(BucketId(0x4000000000000593), id:test:testdoctype1::uri, timestamp 100, "
+ "size 48) => 0",
_sender.getCommands(true, true));
}
@@ -171,12 +171,12 @@ TEST_F(PutOperationTest, do_not_send_inline_split_if_not_configured) {
getConfig().setSplitCount(1024);
getConfig().setDoInlineSplit(false);
- addNodesToBucketDB(document::BucketId(0x4000000000002a52), "0=10000/10000/10000/t");
+ addNodesToBucketDB(document::BucketId(0x4000000000000593), "0=10000/10000/10000/t");
sendPut(createPut(createDummyDocument("test", "uri")));
- ASSERT_EQ("Put(BucketId(0x4000000000002a52), doc:test:uri, timestamp 100, "
- "size 35) => 0",
+ ASSERT_EQ("Put(BucketId(0x4000000000000593), id:test:testdoctype1::uri, timestamp 100, "
+ "size 48) => 0",
_sender.getCommands(true, true));
}
@@ -184,22 +184,22 @@ TEST_F(PutOperationTest, node_removed_on_reply) {
setupDistributor(2, 2, "storage:2 distributor:1");
createAndSendSampleDocument(180);
- ASSERT_EQ("Put(BucketId(0x4000000000008b13), "
- "doc:test:test, timestamp 100, size 36) => 1,"
- "Put(BucketId(0x4000000000008b13), "
- "doc:test:test, timestamp 100, size 36) => 0",
+ ASSERT_EQ("Put(BucketId(0x4000000000001dd4), "
+ "id:test:testdoctype1::, timestamp 100, size 45) => 0,"
+ "Put(BucketId(0x4000000000001dd4), "
+ "id:test:testdoctype1::, timestamp 100, size 45) => 1",
_sender.getCommands(true, true));
- getExternalOperationHandler().removeNodeFromDB(makeDocumentBucket(document::BucketId(16, 0x8b13)), 0);
+ getExternalOperationHandler().removeNodeFromDB(makeDocumentBucket(document::BucketId(16, 0x1dd4)), 0);
sendReply(0);
sendReply(1);
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(BUCKET_DELETED, "
- "Bucket(BucketSpace(0x0000000000000001), BucketId(0x4000000000008b13)) was deleted from nodes [0] "
+ "Bucket(BucketSpace(0x0000000000000001), BucketId(0x4000000000001dd4)) was deleted from nodes [0] "
"after message was sent but before it was done. "
- "Sent to [1,0])",
+ "Sent to [0,1])",
_sender.getLastReply());
}
@@ -210,7 +210,7 @@ TEST_F(PutOperationTest, storage_failed) {
sendReply(-1, api::ReturnCode::INTERNAL_FAILURE);
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(INTERNAL_FAILURE)",
_sender.getLastReply(true));
}
@@ -221,22 +221,22 @@ TEST_F(PutOperationTest, multiple_copies) {
Document::SP doc(createDummyDocument("test", "test"));
sendPut(createPut(doc));
- ASSERT_EQ("Create bucket => 3,Create bucket => 1,"
- "Create bucket => 0,Put => 3,Put => 1,Put => 0",
+ ASSERT_EQ("Create bucket => 3,Create bucket => 2,"
+ "Create bucket => 1,Put => 3,Put => 2,Put => 1",
_sender.getCommands(true));
for (uint32_t i = 0; i < 6; i++) {
sendReply(i);
}
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::test, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply(true));
- ASSERT_EQ("BucketId(0x4000000000008b13) : "
+ ASSERT_EQ("BucketId(0x4000000000008f09) : "
"node(idx=3,crc=0x1,docs=2/4,bytes=3/5,trusted=true,active=false,ready=false), "
- "node(idx=1,crc=0x1,docs=2/4,bytes=3/5,trusted=true,active=false,ready=false), "
- "node(idx=0,crc=0x1,docs=2/4,bytes=3/5,trusted=true,active=false,ready=false)",
+ "node(idx=2,crc=0x1,docs=2/4,bytes=3/5,trusted=true,active=false,ready=false), "
+ "node(idx=1,crc=0x1,docs=2/4,bytes=3/5,trusted=true,active=false,ready=false)",
dumpBucket(getExternalOperationHandler().getBucketId(doc->getId())));
}
@@ -245,8 +245,8 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_required) {
sendPut(createPut(createDummyDocument("test", "test")));
- ASSERT_EQ("Create bucket => 3,Create bucket => 1,"
- "Create bucket => 0,Put => 3,Put => 1,Put => 0",
+ ASSERT_EQ("Create bucket => 3,Create bucket => 2,"
+ "Create bucket => 1,Put => 3,Put => 2,Put => 1",
_sender.getCommands(true));
// Reply to 2 CreateBucket, including primary
@@ -258,7 +258,7 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_required) {
sendReply(3 + i);
}
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::test, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -268,8 +268,8 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_not_required) {
sendPut(createPut(createDummyDocument("test", "test")));
- ASSERT_EQ("Create bucket => 3,Create bucket => 1,"
- "Create bucket => 0,Put => 3,Put => 1,Put => 0",
+ ASSERT_EQ("Create bucket => 3,Create bucket => 2,"
+ "Create bucket => 1,Put => 3,Put => 2,Put => 1",
_sender.getCommands(true));
// Reply only to 2 nodes (but not the primary)
@@ -280,7 +280,7 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_not_required) {
sendReply(3 + i); // Put
}
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::test, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -290,8 +290,8 @@ TEST_F(PutOperationTest, multiple_copies_early_return_primary_required_not_done)
sendPut(createPut(createDummyDocument("test", "test")));
- ASSERT_EQ("Create bucket => 3,Create bucket => 1,"
- "Create bucket => 0,Put => 3,Put => 1,Put => 0",
+ ASSERT_EQ("Create bucket => 3,Create bucket => 2,"
+ "Create bucket => 1,Put => 3,Put => 2,Put => 1",
_sender.getCommands(true));
// Reply only to 2 nodes (but not the primary)
@@ -309,8 +309,8 @@ TEST_F(PutOperationTest, do_not_revert_on_failure_after_early_return) {
sendPut(createPut(createDummyDocument("test", "test")));
- ASSERT_EQ("Create bucket => 3,Create bucket => 1,"
- "Create bucket => 0,Put => 3,Put => 1,Put => 0",
+ ASSERT_EQ("Create bucket => 3,Create bucket => 2,"
+ "Create bucket => 1,Put => 3,Put => 2,Put => 1",
_sender.getCommands(true));
for (uint32_t i = 0; i < 3; i++) {
@@ -320,14 +320,14 @@ TEST_F(PutOperationTest, do_not_revert_on_failure_after_early_return) {
sendReply(3 + i); // Put
}
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::test, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NONE)",
_sender.getLastReply());
sendReply(5, api::ReturnCode::INTERNAL_FAILURE);
// Should not be any revert commands sent
- ASSERT_EQ("Create bucket => 3,Create bucket => 1,"
- "Create bucket => 0,Put => 3,Put => 1,Put => 0",
+ ASSERT_EQ("Create bucket => 3,Create bucket => 2,"
+ "Create bucket => 1,Put => 3,Put => 2,Put => 1",
_sender.getCommands(true));
}
@@ -336,7 +336,7 @@ TEST_F(PutOperationTest, revert_successful_copies_when_one_fails) {
createAndSendSampleDocument(180);
- ASSERT_EQ("Put => 3,Put => 1,Put => 0", _sender.getCommands(true));
+ ASSERT_EQ("Put => 0,Put => 2,Put => 1", _sender.getCommands(true));
for (uint32_t i = 0; i < 2; i++) {
sendReply(i);
@@ -344,12 +344,12 @@ TEST_F(PutOperationTest, revert_successful_copies_when_one_fails) {
sendReply(2, api::ReturnCode::INTERNAL_FAILURE);
- ASSERT_EQ("PutReply(doc:test:test, "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::, "
"BucketId(0x0000000000000000), timestamp 100) "
"ReturnCode(INTERNAL_FAILURE)",
_sender.getLastReply(true));
- ASSERT_EQ("Revert => 3,Revert => 1", _sender.getCommands(true, false, 3));
+ ASSERT_EQ("Revert => 0,Revert => 2", _sender.getCommands(true, false, 3));
}
TEST_F(PutOperationTest, no_revert_if_revert_disabled) {
@@ -361,7 +361,7 @@ TEST_F(PutOperationTest, no_revert_if_revert_disabled) {
createAndSendSampleDocument(180);
- ASSERT_EQ("Put => 3,Put => 1,Put => 0", _sender.getCommands(true));
+ ASSERT_EQ("Put => 0,Put => 2,Put => 1", _sender.getCommands(true));
for (uint32_t i = 0; i < 2; i++) {
sendReply(i);
@@ -369,7 +369,7 @@ TEST_F(PutOperationTest, no_revert_if_revert_disabled) {
sendReply(2, api::ReturnCode::INTERNAL_FAILURE);
- ASSERT_EQ("PutReply(doc:test:test, "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::, "
"BucketId(0x0000000000000000), timestamp 100) "
"ReturnCode(INTERNAL_FAILURE)",
_sender.getLastReply(true));
@@ -405,7 +405,7 @@ TEST_F(PutOperationTest, do_not_send_CreateBucket_if_already_pending) {
TEST_F(PutOperationTest, no_storage_nodes) {
setupDistributor(2, 1, "storage:0 distributor:1");
createAndSendSampleDocument(180);
- ASSERT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("PutReply(id:test:testdoctype1::, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(NOT_CONNECTED, "
"Can't store document: No storage nodes available)",
_sender.getLastReply(true));
@@ -492,10 +492,10 @@ PutOperationTest::getNodes(const std::string& infoString) {
TEST_F(PutOperationTest, target_nodes) {
setupDistributor(2, 6, "storage:6 distributor:1");
- // Ideal state of bucket is 1,3.
- ASSERT_EQ("target( 1 3 ) create( 1 3 )", getNodes(""));
- ASSERT_EQ("target( 1 3 ) create( 3 )", getNodes("1-1-true"));
- ASSERT_EQ("target( 1 3 ) create( 3 )", getNodes("1-1-false"));
+ // Ideal state of bucket is 1,2.
+ ASSERT_EQ("target( 1 2 ) create( 1 2 )", getNodes(""));
+ ASSERT_EQ("target( 1 2 ) create( 2 )", getNodes("1-1-true"));
+ ASSERT_EQ("target( 1 2 ) create( 2 )", getNodes("1-1-false"));
ASSERT_EQ("target( 3 4 5 ) create( )", getNodes("3-1-true,4-1-true,5-1-true"));
ASSERT_EQ("target( 3 4 ) create( )", getNodes("3-2-true,4-2-true,5-1-false"));
ASSERT_EQ("target( 1 3 4 ) create( )", getNodes("3-2-true,4-2-true,1-1-false"));
@@ -513,7 +513,7 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_active_
sendPut(createPut(doc));
- ASSERT_EQ("Put => 1,Put => 0,Put => 2", _sender.getCommands(true));
+ ASSERT_EQ("Put => 1,Put => 2,Put => 0", _sender.getCommands(true));
enableDistributorClusterState("distributor:1 storage:3 .1.s:d .2.s:m");
addNodesToBucketDB(bId, "0=1/2/3/t"); // This will actually remove node #1.
@@ -522,8 +522,8 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_active_
sendReply(1, api::ReturnCode::OK, api::BucketInfo(5, 6, 7));
sendReply(2, api::ReturnCode::OK, api::BucketInfo(7, 8, 9));
- ASSERT_EQ("BucketId(0x4000000000002a52) : "
- "node(idx=0,crc=0x5,docs=6/6,bytes=7/7,trusted=true,active=false,ready=false)",
+ ASSERT_EQ("BucketId(0x4000000000000593) : "
+ "node(idx=0,crc=0x7,docs=8/8,bytes=9/9,trusted=true,active=false,ready=false)",
dumpBucket(getExternalOperationHandler().getBucketId(doc->getId())));
}
@@ -535,7 +535,7 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_pending
addNodesToBucketDB(bucket, "0=1/2/3/t,1=1/2/3/t,2=1/2/3/t");
sendPut(createPut(doc));
- ASSERT_EQ("Put => 1,Put => 0,Put => 2", _sender.getCommands(true));
+ ASSERT_EQ("Put => 1,Put => 2,Put => 0", _sender.getCommands(true));
// Trigger a pending (but not completed) cluster state transition where content
// node 0 is down. This will prune its replica from the DB. We assume that the
// downed node managed to send off a reply to the Put before it went down, and
@@ -555,7 +555,7 @@ TEST_F(PutOperationTest, replica_not_resurrected_in_db_when_node_down_in_pending
sendReply(1, api::ReturnCode::OK, api::BucketInfo(6, 7, 8));
sendReply(2, api::ReturnCode::OK, api::BucketInfo(9, 8, 7));
- ASSERT_EQ("BucketId(0x4000000000002a52) : "
+ ASSERT_EQ("BucketId(0x4000000000000593) : "
"node(idx=1,crc=0x5,docs=6/6,bytes=7/7,trusted=true,active=false,ready=false)",
dumpBucket(bucket));
}
@@ -574,7 +574,7 @@ TEST_F(PutOperationTest, put_is_failed_with_busy_if_target_down_in_pending_state
sendPut(createPut(doc));
EXPECT_EQ("", _sender.getCommands(true));
- EXPECT_EQ("PutReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("PutReply(id:test:testdoctype1::test, BucketId(0x0000000000000000), "
"timestamp 100) ReturnCode(BUSY, "
"One or more target content nodes are unavailable in the pending cluster state)",
_sender.getLastReply(true));
diff --git a/storage/src/tests/distributor/removeoperationtest.cpp b/storage/src/tests/distributor/removeoperationtest.cpp
index bae2395bfa7..c3fcda30bf5 100644
--- a/storage/src/tests/distributor/removeoperationtest.cpp
+++ b/storage/src/tests/distributor/removeoperationtest.cpp
@@ -22,7 +22,7 @@ struct RemoveOperationTest : Test, DistributorTestUtil {
void SetUp() override {
createLinks();
- docId = document::DocumentId(document::DocIdString("test", "uri"));
+ docId = document::DocumentId("id:test:test::uri");
bucketId = getExternalOperationHandler().getBucketId(docId);
enableDistributorClusterState("distributor:1 storage:4");
};
@@ -57,8 +57,7 @@ struct RemoveOperationTest : Test, DistributorTestUtil {
std::unique_ptr<api::StorageReply> reply(removec->makeReply());
auto* removeR = static_cast<api::RemoveReply*>(reply.get());
removeR->setOldTimestamp(oldTimestamp);
- callback.onReceive(_sender,
- std::shared_ptr<api::StorageReply>(reply.release()));
+ callback.onReceive(_sender, std::shared_ptr<api::StorageReply>(reply.release()));
}
void sendRemove() {
@@ -71,13 +70,13 @@ TEST_F(RemoveOperationTest, simple) {
sendRemove();
- ASSERT_EQ("Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ ASSERT_EQ("Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 1",
_sender.getLastCommand());
replyToMessage(*op, -1, 34);
- ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), id:test:test::uri, "
"timestamp 100, removed doc from 34) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -87,13 +86,13 @@ TEST_F(RemoveOperationTest, not_found) {
sendRemove();
- ASSERT_EQ("Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ ASSERT_EQ("Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 1",
_sender.getLastCommand());
replyToMessage(*op, -1, 0);
- ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), id:test:test::uri, "
"timestamp 100, not found) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -103,13 +102,13 @@ TEST_F(RemoveOperationTest, storage_failure) {
sendRemove();
- ASSERT_EQ("Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ ASSERT_EQ("Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 1",
_sender.getLastCommand());
sendReply(*op, -1, api::ReturnCode::INTERNAL_FAILURE);
- ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), doc:test:uri, "
+ ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), id:test:test::uri, "
"timestamp 100, not found) ReturnCode(INTERNAL_FAILURE)",
_sender.getLastReply());
}
@@ -118,7 +117,7 @@ TEST_F(RemoveOperationTest, not_in_db) {
sendRemove();
ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), "
- "doc:test:uri, timestamp 100, not found) ReturnCode(NONE)",
+ "id:test:test::uri, timestamp 100, not found) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -127,11 +126,11 @@ TEST_F(RemoveOperationTest, multiple_copies) {
sendRemove();
- ASSERT_EQ("Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ ASSERT_EQ("Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 1,"
- "Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ "Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 2,"
- "Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ "Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 3",
_sender.getCommands(true, true));
@@ -140,7 +139,7 @@ TEST_F(RemoveOperationTest, multiple_copies) {
replyToMessage(*op, 2, 75);
ASSERT_EQ("RemoveReply(BucketId(0x0000000000000000), "
- "doc:test:uri, timestamp 100, removed doc from 75) ReturnCode(NONE)",
+ "id:test:test::uri, timestamp 100, removed doc from 75) ReturnCode(NONE)",
_sender.getLastReply());
}
@@ -149,7 +148,7 @@ TEST_F(RemoveOperationTest, can_send_remove_when_all_replica_nodes_retired) {
addNodesToBucketDB(bucketId, "0=123");
sendRemove();
- ASSERT_EQ("Remove(BucketId(0x4000000000002a52), doc:test:uri, "
+ ASSERT_EQ("Remove(BucketId(0x4000000000000593), id:test:test::uri, "
"timestamp 100) => 0",
_sender.getLastCommand());
}
diff --git a/storage/src/tests/distributor/twophaseupdateoperationtest.cpp b/storage/src/tests/distributor/twophaseupdateoperationtest.cpp
index edb5261fbfa..df9bf683326 100644
--- a/storage/src/tests/distributor/twophaseupdateoperationtest.cpp
+++ b/storage/src/tests/distributor/twophaseupdateoperationtest.cpp
@@ -197,8 +197,7 @@ TwoPhaseUpdateOperationTest::replyToGet(
std::shared_ptr<api::StorageReply> reply;
if (haveDocument) {
- auto doc(std::make_shared<Document>(
- *_doc_type, DocumentId(DocIdString("test", "test"))));
+ auto doc(std::make_shared<Document>(*_doc_type, DocumentId("id:ns:" + _doc_type->getName() + "::1")));
doc->setValue("headerval", IntFieldValue(oldTimestamp));
reply = std::make_shared<api::GetReply>(get, doc, oldTimestamp);
@@ -229,7 +228,7 @@ TwoPhaseUpdateOperationTest::sendUpdate(const std::string& bucketState,
if (!options._withError) {
update = std::make_shared<document::DocumentUpdate>(
*_repo, *_doc_type,
- document::DocumentId(document::DocIdString("test", "test")));
+ document::DocumentId("id:ns:" + _doc_type->getName() + "::1"));
document::FieldUpdate fup(_doc_type->getField("headerval"));
fup.addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 10));
update->addUpdate(fup);
@@ -239,7 +238,7 @@ TwoPhaseUpdateOperationTest::sendUpdate(const std::string& bucketState,
auto* badDocType = _repo->getDocumentType("testdoctype2");
update = std::make_shared<document::DocumentUpdate>(
*_repo, *badDocType,
- document::DocumentId(document::DocIdString("test", "test")));
+ document::DocumentId("id:ns:" + _doc_type->getName() + "::1"));
document::FieldUpdate fup(badDocType->getField("onlyinchild"));
fup.addUpdate(ArithmeticValueUpdate(ArithmeticValueUpdate::Add, 10));
update->addUpdate(fup);
@@ -285,7 +284,7 @@ TEST_F(TwoPhaseUpdateOperationTest, simple) {
replyToMessage(*cb, sender, 0, 90);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 90) ReturnCode(NONE)",
sender.getLastReply(true));
}
@@ -297,7 +296,7 @@ TEST_F(TwoPhaseUpdateOperationTest, non_existing) {
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) ReturnCode(NONE)",
sender.getLastReply(true));
}
@@ -313,7 +312,7 @@ TEST_F(TwoPhaseUpdateOperationTest, update_failed) {
replyToMessage(*cb, sender, 0, 90, api::ReturnCode::INTERNAL_FAILURE);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(INTERNAL_FAILURE)",
sender.getLastReply(true));
@@ -331,20 +330,18 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps) {
replyToMessage(*cb, sender, 0, 90);
replyToMessage(*cb, sender, 1, 110);
- ASSERT_EQ("Get(BucketId(0x4000000000008b13), doc:test:test) => 1",
- sender.getLastCommand(true));
+ ASSERT_EQ("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 1", sender.getLastCommand(true));
replyToGet(*cb, sender, 2, 110);
- ASSERT_EQ("Update => 0,Update => 1,Get => 1,Put => 1,Put => 0",
- sender.getCommands(true));
+ ASSERT_EQ("Update => 0,Update => 1,Get => 1,Put => 1,Put => 0", sender.getCommands(true));
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 3);
replyToPut(*cb, sender, 4);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 110 Was inconsistent "
"(best node 1)) ReturnCode(NONE)",
sender.getLastReply(true));
@@ -362,13 +359,12 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_not_found)
replyToMessage(*cb, sender, 0, 90);
replyToMessage(*cb, sender, 1, 110);
- ASSERT_EQ("Get(BucketId(0x4000000000008b13), doc:test:test) => 1",
- sender.getLastCommand(true));
+ ASSERT_EQ("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 1", sender.getLastCommand(true));
ASSERT_TRUE(sender.replies().empty());
replyToGet(*cb, sender, 2, 110, false);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 110 Was inconsistent "
"(best node 1)) ReturnCode(INTERNAL_FAILURE)",
sender.getLastReply(true));
@@ -387,7 +383,7 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_update_err
ASSERT_TRUE(sender.replies().empty());
replyToMessage(*cb, sender, 1, 110, api::ReturnCode::IO_FAILURE);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 90) "
"ReturnCode(IO_FAILURE)",
sender.getLastReply(true));
@@ -405,13 +401,13 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_get_error)
replyToMessage(*cb, sender, 0, 90);
replyToMessage(*cb, sender, 1, 110);
- ASSERT_EQ("Get(BucketId(0x4000000000008b13), doc:test:test) => 1",
+ ASSERT_EQ("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 1",
sender.getLastCommand(true));
ASSERT_TRUE(sender.replies().empty());
replyToGet(*cb, sender, 2, 110, false, api::ReturnCode::IO_FAILURE);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 110 Was inconsistent "
"(best node 1)) ReturnCode(IO_FAILURE)",
sender.getLastReply(true));
@@ -429,7 +425,7 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_put_error)
replyToMessage(*cb, sender, 0, 90);
replyToMessage(*cb, sender, 1, 110);
- ASSERT_EQ("Get(BucketId(0x4000000000008b13), doc:test:test) => 1",
+ ASSERT_EQ("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 1",
sender.getLastCommand(true));
replyToGet(*cb, sender, 2, 110);
@@ -441,7 +437,7 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_put_error)
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 4);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 110 Was inconsistent "
"(best node 1)) ReturnCode(IO_FAILURE)",
sender.getLastReply(true));
@@ -459,7 +455,7 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_put_not_st
replyToMessage(*cb, sender, 0, 90);
replyToMessage(*cb, sender, 1, 110);
- ASSERT_EQ("Get(BucketId(0x4000000000008b13), doc:test:test) => 1",
+ ASSERT_EQ("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 1",
sender.getLastCommand(true));
checkMessageSettingsPropagatedTo(sender.commands().back());
@@ -467,7 +463,7 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_put_not_st
ASSERT_TRUE(sender.replies().empty());
replyToGet(*cb, sender, 2, 110);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 110 Was inconsistent "
"(best node 1)) ReturnCode(NOT_CONNECTED, "
"Can't store document: No storage nodes available)",
@@ -483,8 +479,8 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_inconsiste
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
- std::string wanted("Get(BucketId(0x4000000000008b13), doc:test:test) => 0,"
- "Get(BucketId(0x4400000000008b13), doc:test:test) => 0");
+ std::string wanted("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 0,"
+ "Get(BucketId(0x440000000000cac4), id:ns:testdoctype1::1) => 0");
std::string text = sender.getCommands(true, true);
ASSERT_EQ(wanted, text);
@@ -492,17 +488,17 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_inconsistent_timestamps_inconsiste
replyToGet(*cb, sender, 0, 90);
replyToGet(*cb, sender, 1, 120);
- ASSERT_EQ("Put(BucketId(0x4400000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 1,"
- "Put(BucketId(0x4400000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 0",
+ ASSERT_EQ("Put(BucketId(0x440000000000cac4), id:ns:testdoctype1::1, "
+ "timestamp 200000000, size 60) => 1,"
+ "Put(BucketId(0x440000000000cac4), id:ns:testdoctype1::1, "
+ "timestamp 200000000, size 60) => 0",
sender.getCommands(true, true, 2));
replyToPut(*cb, sender, 2);
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 3);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 120) "
"ReturnCode(NONE)",
@@ -543,7 +539,7 @@ TEST_F(TwoPhaseUpdateOperationTest, n_of_m) {
ASSERT_TRUE(sender.replies().empty());
replyToMessage(*cb, sender, 0, 90);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 90) ReturnCode(NONE)",
sender.getLastReply(true));
@@ -569,18 +565,15 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_updates_newest_received_document)
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
- ASSERT_EQ("Get(BucketId(0x4000000000008b13), doc:test:test) => 0,"
- "Get(BucketId(0x4000000000008b13), doc:test:test) => 2",
+ ASSERT_EQ("Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 0,"
+ "Get(BucketId(0x400000000000cac4), id:ns:testdoctype1::1) => 2",
sender.getCommands(true, true));
replyToGet(*cb, sender, 0, 50);
replyToGet(*cb, sender, 1, 70);
- ASSERT_EQ("Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 1,"
- "Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 0,"
- "Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 2",
+ ASSERT_EQ("Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, timestamp 200000000, size 60) => 1,"
+ "Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, timestamp 200000000, size 60) => 2,"
+ "Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, timestamp 200000000, size 60) => 0",
sender.getCommands(true, true, 2));
// Make sure Put contains an updated document (+10 arith. update on field
// whose value equals gotten timestamp). In this case we want 70 -> 80.
@@ -591,7 +584,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_updates_newest_received_document)
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 4);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 70) "
"ReturnCode(NONE)",
@@ -612,12 +605,9 @@ TEST_F(TwoPhaseUpdateOperationTest, create_if_non_existent_creates_document_if_a
replyToGet(*cb, sender, 1, 0, false);
// Since create-if-non-existent is set, distributor should create doc from
// scratch.
- ASSERT_EQ("Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 1,"
- "Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 0,"
- "Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 2",
+ ASSERT_EQ("Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, timestamp 200000000, size 60) => 1,"
+ "Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, timestamp 200000000, size 60) => 2,"
+ "Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, timestamp 200000000, size 60) => 0",
sender.getCommands(true, true, 2));
ASSERT_EQ("10", getUpdatedValueFromLastPut(sender));
@@ -627,7 +617,7 @@ TEST_F(TwoPhaseUpdateOperationTest, create_if_non_existent_creates_document_if_a
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 4);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 200000000) "
"ReturnCode(NONE)",
@@ -648,14 +638,14 @@ TEST_F(TwoPhaseUpdateOperationTest, update_fails_if_safe_path_has_failed_put) {
replyToGet(*cb, sender, 1, 0, false);
// Since create-if-non-existent is set, distributor should create doc from
// scratch.
- ASSERT_EQ("Put => 1,Put => 0,Put => 2", sender.getCommands(true, false, 2));
+ ASSERT_EQ("Put => 1,Put => 2,Put => 0", sender.getCommands(true, false, 2));
replyToPut(*cb, sender, 2);
replyToPut(*cb, sender, 3);
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 4, api::ReturnCode::IO_FAILURE);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 200000000) "
"ReturnCode(IO_FAILURE)",
@@ -675,7 +665,7 @@ TEST_F(TwoPhaseUpdateOperationTest, update_fails_if_safe_path_gets_fail) {
replyToGet(*cb, sender, 0, 0, false, api::ReturnCode::IO_FAILURE);
ASSERT_TRUE(sender.replies().empty());
replyToGet(*cb, sender, 1, 0, false, api::ReturnCode::IO_FAILURE);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(IO_FAILURE)",
@@ -696,7 +686,7 @@ TEST_F(TwoPhaseUpdateOperationTest, update_fails_if_apply_throws_exception) {
ASSERT_TRUE(sender.replies().empty());
replyToGet(*cb, sender, 1, 70);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 70) "
"ReturnCode(INTERNAL_FAILURE, Can not apply a "
@@ -713,10 +703,10 @@ TEST_F(TwoPhaseUpdateOperationTest, non_existing_with_auto_create) {
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
- ASSERT_EQ("CreateBucketCommand(BucketId(0x4000000000008b13), active) "
+ ASSERT_EQ("CreateBucketCommand(BucketId(0x400000000000cac4), active) "
"Reasons to start: => 0,"
- "Put(BucketId(0x4000000000008b13), doc:test:test, "
- "timestamp 200000000, size 52) => 0",
+ "Put(BucketId(0x400000000000cac4), id:ns:testdoctype1::1, "
+ "timestamp 200000000, size 60) => 0",
sender.getCommands(true, true));
ASSERT_EQ("10", getUpdatedValueFromLastPut(sender));
@@ -725,7 +715,7 @@ TEST_F(TwoPhaseUpdateOperationTest, non_existing_with_auto_create) {
ASSERT_TRUE(sender.replies().empty());
replyToPut(*cb, sender, 1);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 200000000) "
"ReturnCode(NONE)",
@@ -745,7 +735,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_fails_update_when_mismatching_time
replyToGet(*cb, sender, 0, 100);
ASSERT_TRUE(sender.replies().empty());
replyToGet(*cb, sender, 1, 110);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(NONE, No document with requested "
@@ -755,8 +745,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_fails_update_when_mismatching_time
TEST_F(TwoPhaseUpdateOperationTest, safe_path_update_propagates_message_settings_to_gets_and_puts) {
setupDistributor(3, 3, "storage:3 distributor:1");
- std::shared_ptr<TwoPhaseUpdateOperation> cb(
- sendUpdate("0=1/2/3,1=1/2/3,2=2/3/4"));
+ std::shared_ptr<TwoPhaseUpdateOperation> cb(sendUpdate("0=1/2/3,1=1/2/3,2=2/3/4"));
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
@@ -765,7 +754,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_update_propagates_message_settings
checkMessageSettingsPropagatedTo(sender.command(1));
replyToGet(*cb, sender, 0, 50);
replyToGet(*cb, sender, 1, 70);
- ASSERT_EQ("Put => 1,Put => 0,Put => 2", sender.getCommands(true, false, 2));
+ ASSERT_EQ("Put => 1,Put => 2,Put => 0", sender.getCommands(true, false, 2));
checkMessageSettingsPropagatedTo(sender.command(2));
checkMessageSettingsPropagatedTo(sender.command(3));
checkMessageSettingsPropagatedTo(sender.command(4));
@@ -776,16 +765,14 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_update_propagates_message_settings
TEST_F(TwoPhaseUpdateOperationTest, safe_path_propagates_mbus_traces_from_replies) {
setupDistributor(3, 3, "storage:3 distributor:1");
- std::shared_ptr<TwoPhaseUpdateOperation> cb(
- sendUpdate("0=1/2/3,1=1/2/3,2=2/3/4"));
+ std::shared_ptr<TwoPhaseUpdateOperation> cb(sendUpdate("0=1/2/3,1=1/2/3,2=2/3/4"));
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
ASSERT_EQ("Get => 0,Get => 2", sender.getCommands(true));
- replyToGet(*cb, sender, 0, 50, true,
- api::ReturnCode::OK, "hello earthlings");
+ replyToGet(*cb, sender, 0, 50, true, api::ReturnCode::OK, "hello earthlings");
replyToGet(*cb, sender, 1, 70);
- ASSERT_EQ("Put => 1,Put => 0,Put => 2", sender.getCommands(true, false, 2));
+ ASSERT_EQ("Put => 1,Put => 2,Put => 0", sender.getCommands(true, false, 2));
replyToPut(*cb, sender, 2, api::ReturnCode::OK, "fooo");
replyToPut(*cb, sender, 3, api::ReturnCode::OK, "baaa");
ASSERT_TRUE(sender.replies().empty());
@@ -803,8 +790,7 @@ TEST_F(TwoPhaseUpdateOperationTest, update_fails_if_ownership_changes_between_ge
setupDistributor(2, 2, "storage:2 distributor:1");
// Update towards inconsistent bucket invokes safe path.
- std::shared_ptr<TwoPhaseUpdateOperation> cb(
- sendUpdate("0=1/2/3,1=2/3/4"));
+ std::shared_ptr<TwoPhaseUpdateOperation> cb(sendUpdate("0=1/2/3,1=2/3/4"));
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
@@ -823,7 +809,7 @@ TEST_F(TwoPhaseUpdateOperationTest, update_fails_if_ownership_changes_between_ge
// BUCKET_NOT_FOUND is a transient error code which should cause the client
// to re-send the operation, presumably to the correct distributor the next
// time.
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 70) "
"ReturnCode(BUCKET_NOT_FOUND, Distributor lost "
@@ -843,7 +829,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_condition_mismatch_fails_with_tas_
// Newest doc has headerval==110, not 120.
replyToGet(*cb, sender, 0, 100);
replyToGet(*cb, sender, 1, 110);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(TEST_AND_SET_CONDITION_FAILED, "
@@ -877,7 +863,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_condition_parse_failure_fails_with
// NOTE: condition is currently not attempted parsed until Gets have been
// replied to. This may change in the future.
// XXX reliance on parser/exception error message is very fragile.
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(ILLEGAL_PARAMETERS, "
@@ -899,7 +885,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_condition_unknown_doc_type_fails_w
replyToGet(*cb, sender, 1, 110);
// NOTE: condition is currently not attempted parsed until Gets have been
// replied to. This may change in the future.
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(ILLEGAL_PARAMETERS, "
@@ -920,7 +906,7 @@ TEST_F(TwoPhaseUpdateOperationTest, safe_path_condition_with_missing_doc_and_no_
// Both Gets return nothing at all, nothing at all.
replyToGet(*cb, sender, 0, 100, false);
replyToGet(*cb, sender, 1, 110, false);
- EXPECT_EQ("UpdateReply(doc:test:test, "
+ EXPECT_EQ("UpdateReply(id:ns:testdoctype1::1, "
"BucketId(0x0000000000000000), "
"timestamp 0, timestamp of updated doc: 0) "
"ReturnCode(TEST_AND_SET_CONDITION_FAILED, "
@@ -976,8 +962,7 @@ TEST_F(TwoPhaseUpdateOperationTest, fast_path_close_edge_sends_correct_reply) {
TEST_F(TwoPhaseUpdateOperationTest, safe_path_close_edge_sends_correct_reply) {
setupDistributor(2, 2, "storage:2 distributor:1");
- std::shared_ptr<TwoPhaseUpdateOperation> cb(
- sendUpdate("0=1/2/3,1=2/3/4")); // Inconsistent replicas.
+ std::shared_ptr<TwoPhaseUpdateOperation> cb(sendUpdate("0=1/2/3,1=2/3/4")); // Inconsistent replicas.
DistributorMessageSenderStub sender;
cb->start(sender, framework::MilliSecTime(0));
diff --git a/storage/src/tests/distributor/updateoperationtest.cpp b/storage/src/tests/distributor/updateoperationtest.cpp
index 7cf3ea0ad18..6bc000f6780 100644
--- a/storage/src/tests/distributor/updateoperationtest.cpp
+++ b/storage/src/tests/distributor/updateoperationtest.cpp
@@ -55,7 +55,7 @@ UpdateOperationTest::sendUpdate(const std::string& bucketState)
{
auto update = std::make_shared<document::DocumentUpdate>(
*_repo, *_html_type,
- document::DocumentId(document::DocIdString("test", "test")));
+ document::DocumentId("id:ns:" + _html_type->getName() + "::1"));
_bId = getExternalOperationHandler().getBucketId(update->getId());
@@ -95,7 +95,7 @@ TEST_F(UpdateOperationTest, simple) {
replyToMessage(*cb, sender, 0, 90);
- ASSERT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("UpdateReply(id:ns:text/html::1, BucketId(0x0000000000000000), "
"timestamp 100, timestamp of updated doc: 90) ReturnCode(NONE)",
sender.getLastReply(true));
@@ -114,7 +114,7 @@ TEST_F(UpdateOperationTest, not_found) {
replyToMessage(*cb, sender, 0, 0);
- EXPECT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ EXPECT_EQ("UpdateReply(id:ns:text/html::1, BucketId(0x0000000000000000), "
"timestamp 100, timestamp of updated doc: 0) ReturnCode(NONE)",
sender.getLastReply(true));
}
@@ -130,7 +130,7 @@ TEST_F(UpdateOperationTest, multi_node) {
replyToMessage(*cb, sender, 0, 120);
replyToMessage(*cb, sender, 1, 120);
- ASSERT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("UpdateReply(id:ns:text/html::1, BucketId(0x0000000000000000), "
"timestamp 100, timestamp of updated doc: 120) ReturnCode(NONE)",
sender.getLastReply(true));
@@ -154,7 +154,7 @@ TEST_F(UpdateOperationTest, multi_node_inconsistent_timestamp) {
replyToMessage(*cb, sender, 0, 119);
replyToMessage(*cb, sender, 1, 120);
- ASSERT_EQ("UpdateReply(doc:test:test, BucketId(0x0000000000000000), "
+ ASSERT_EQ("UpdateReply(id:ns:text/html::1, BucketId(0x0000000000000000), "
"timestamp 100, timestamp of updated doc: 120 Was inconsistent "
"(best node 1)) ReturnCode(NONE)",
sender.getLastReply(true));
diff --git a/storage/src/tests/frameworkimpl/status/statustest.cpp b/storage/src/tests/frameworkimpl/status/statustest.cpp
index e7d0d496cc8..81d91e2f08a 100644
--- a/storage/src/tests/frameworkimpl/status/statustest.cpp
+++ b/storage/src/tests/frameworkimpl/status/statustest.cpp
@@ -115,6 +115,12 @@ TEST_F(StatusTest, index_status_page) {
"Connection: close\r\n"
"Content-Type: text\\/html\r\n"
"Content-Length: [0-9]+\r\n"
+ "X-XSS-Protection: 1; mode=block\r\n"
+ "X-Frame-Options: DENY\r\n"
+ "Content-Security-Policy: default-src 'none'\r\n"
+ "X-Content-Type-Options: nosniff\r\n"
+ "Cache-Control: no-store\r\n"
+ "Pragma: no-cache\r\n"
"\r\n"
"<html>\n"
"<head>\n"
@@ -144,6 +150,12 @@ TEST_F(StatusTest, html_status) {
"Connection: close\r\n"
"Content-Type: text/html\r\n"
"Content-Length: 117\r\n"
+ "X-XSS-Protection: 1; mode=block\r\n"
+ "X-Frame-Options: DENY\r\n"
+ "Content-Security-Policy: default-src 'none'\r\n"
+ "X-Content-Type-Options: nosniff\r\n"
+ "Cache-Control: no-store\r\n"
+ "Pragma: no-cache\r\n"
"\r\n"
"<html>\n"
"<head>\n"
@@ -170,6 +182,12 @@ TEST_F(StatusTest, xml_sStatus) {
"Connection: close\r\n"
"Content-Type: application/xml\r\n"
"Content-Length: 100\r\n"
+ "X-XSS-Protection: 1; mode=block\r\n"
+ "X-Frame-Options: DENY\r\n"
+ "Content-Security-Policy: default-src 'none'\r\n"
+ "X-Content-Type-Options: nosniff\r\n"
+ "Cache-Control: no-store\r\n"
+ "Pragma: no-cache\r\n"
"\r\n"
"<?xml version=\"1.0\"?>\n"
"<status id=\"fooid\" name=\"Foo impl\">\n"
diff --git a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
index 2a3e72b48b7..44cb92071a1 100644
--- a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
+++ b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
@@ -474,7 +474,7 @@ TEST_F(FileStorManagerTest, flush) {
api::StorageMessageAddress address("storage", lib::NodeType::STORAGE, 3);
// Creating a document to test with
- document::DocumentId docId("doc:crawler:http://www.ntnu.no/");
+ document::DocumentId docId("id:ns:testdoctype1::crawler:http://www.ntnu.no/");
auto doc = std::make_shared<Document>(*_testdoctype1, docId);
document::BucketId bid(4000);
@@ -1767,7 +1767,7 @@ TEST_F(FileStorManagerTest, no_timestamps) {
"storage", lib::NodeType::STORAGE, 3);
// Creating a document to test with
Document::SP doc(createDocument(
- "some content", "doc:crawler:http://www.ntnu.no/").release());
+ "some content", "id:ns:testdoctype1::crawler:http://www.ntnu.no/").release());
document::BucketId bid(16, 4000);
createBucket(bid, 0);
diff --git a/storage/src/tests/persistence/testandsettest.cpp b/storage/src/tests/persistence/testandsettest.cpp
index 4c4a7c9a0be..fe10d346ba7 100644
--- a/storage/src/tests/persistence/testandsettest.cpp
+++ b/storage/src/tests/persistence/testandsettest.cpp
@@ -235,20 +235,6 @@ TEST_F(TestAndSetTest, conditional_put_to_non_existing_document_should_fail) {
EXPECT_EQ("", dumpBucket(BUCKET_ID));
}
-TEST_F(TestAndSetTest, document_with_no_type_should_fail) {
- // Conditionally replace nonexisting document
- // Fail since no document exists to match with test and set
- api::Timestamp timestamp = 0;
- document::DocumentId legacyDocId("doc:mail:3619.html");
- api::RemoveCommand remove(makeDocumentBucket(BUCKET_ID), legacyDocId, timestamp);
- setTestCondition(remove);
-
- auto code = thread->handleRemove(remove)->getResult();
- EXPECT_EQ(code.getResult(), api::ReturnCode::Result::ILLEGAL_PARAMETERS);
- EXPECT_EQ(code.getMessage(), "Document id has no doctype");
- EXPECT_EQ("", dumpBucket(BUCKET_ID));
-}
-
document::Document::SP
TestAndSetTest::createTestDocument()
{
diff --git a/storage/src/tests/storageserver/bouncertest.cpp b/storage/src/tests/storageserver/bouncertest.cpp
index 35b752fedfd..c19d8814af4 100644
--- a/storage/src/tests/storageserver/bouncertest.cpp
+++ b/storage/src/tests/storageserver/bouncertest.cpp
@@ -100,7 +100,7 @@ BouncerTest::createDummyFeedMessage(api::Timestamp timestamp,
{
auto cmd = std::make_shared<api::RemoveCommand>(
makeDocumentBucket(document::BucketId(0)),
- document::DocumentId("doc:foo:bar"),
+ document::DocumentId("id:ns:foo::bar"),
timestamp);
cmd->setPriority(priority);
return cmd;
@@ -112,7 +112,7 @@ BouncerTest::createDummyFeedMessage(api::Timestamp timestamp,
{
auto cmd = std::make_shared<api::RemoveCommand>(
document::Bucket(bucketSpace, document::BucketId(0)),
- document::DocumentId("doc:foo:bar"),
+ document::DocumentId("id:ns:foo::bar"),
timestamp);
cmd->setPriority(Priority(0));
return cmd;
diff --git a/storage/src/tests/storageserver/communicationmanagertest.cpp b/storage/src/tests/storageserver/communicationmanagertest.cpp
index b970e56343e..caee6e6ab91 100644
--- a/storage/src/tests/storageserver/communicationmanagertest.cpp
+++ b/storage/src/tests/storageserver/communicationmanagertest.cpp
@@ -32,7 +32,7 @@ struct CommunicationManagerTest : Test {
api::StorageMessage::Priority priority)
{
auto cmd = std::make_shared<api::GetCommand>(makeDocumentBucket(document::BucketId(0)),
- document::DocumentId("doc::mydoc"),
+ document::DocumentId("id:ns:mytype::mydoc"),
"[all]");
cmd->setAddress(api::StorageMessageAddress("storage", lib::NodeType::STORAGE, 1));
cmd->setPriority(priority);
@@ -69,13 +69,13 @@ TEST_F(CommunicationManagerTest, simple) {
// Send a message through from distributor to storage
auto cmd = std::make_shared<api::GetCommand>(
- makeDocumentBucket(document::BucketId(0)), document::DocumentId("doc::mydoc"), "[all]");
+ makeDocumentBucket(document::BucketId(0)), document::DocumentId("id:ns:mytype::mydoc"), "[all]");
cmd->setAddress(api::StorageMessageAddress("storage", lib::NodeType::STORAGE, 1));
distributorLink->sendUp(cmd);
storageLink->waitForMessages(1, MESSAGE_WAIT_TIME_SEC);
ASSERT_GT(storageLink->getNumCommands(), 0);
auto cmd2 = std::dynamic_pointer_cast<api::StorageCommand>(storageLink->getCommand(0));
- EXPECT_EQ("doc::mydoc", dynamic_cast<api::GetCommand&>(*cmd2).getDocumentId().toString());
+ EXPECT_EQ("id:ns:mytype::mydoc", dynamic_cast<api::GetCommand&>(*cmd2).getDocumentId().toString());
// Reply to the message
std::shared_ptr<api::StorageReply> reply(cmd2->makeReply().release());
storageLink->sendUp(reply);
diff --git a/storage/src/tests/storageserver/documentapiconvertertest.cpp b/storage/src/tests/storageserver/documentapiconvertertest.cpp
index c879f7d2779..f006277a7b6 100644
--- a/storage/src/tests/storageserver/documentapiconvertertest.cpp
+++ b/storage/src/tests/storageserver/documentapiconvertertest.cpp
@@ -22,7 +22,6 @@ using document::Bucket;
using document::BucketId;
using document::BucketSpace;
using document::DataType;
-using document::DocIdString;
using document::Document;
using document::DocumentId;
using document::DocumentTypeRepo;
@@ -124,7 +123,7 @@ TEST_F(DocumentApiConverterTest, put) {
}
TEST_F(DocumentApiConverterTest, forwarded_put) {
- auto doc = std::make_shared<Document>(_html_type, DocumentId(DocIdString("test", "test")));
+ auto doc = std::make_shared<Document>(_html_type, DocumentId("id:ns:" + _html_type.getName() + "::test"));
auto putmsg = std::make_unique<documentapi::PutDocumentMessage>(doc);
auto* putmsg_raw = putmsg.get();
diff --git a/storage/src/vespa/storage/bucketdb/btree_bucket_database.cpp b/storage/src/vespa/storage/bucketdb/btree_bucket_database.cpp
index ef198cb1d3f..a901bbdd96b 100644
--- a/storage/src/vespa/storage/bucketdb/btree_bucket_database.cpp
+++ b/storage/src/vespa/storage/bucketdb/btree_bucket_database.cpp
@@ -42,14 +42,18 @@ using document::BucketId;
BTreeBucketDatabase::BTreeBucketDatabase()
: _tree(),
- _store(ReplicaStore::optimizedConfigForHugePage(1023, vespalib::alloc::MemoryAllocator::HUGEPAGE_SIZE,
- 4 * 1024, 8 * 1024, 0.2)),
+ _store(make_default_array_store_config()),
_generation_handler()
{
}
BTreeBucketDatabase::~BTreeBucketDatabase() = default;
+search::datastore::ArrayStoreConfig BTreeBucketDatabase::make_default_array_store_config() {
+ return ReplicaStore::optimizedConfigForHugePage(1023, vespalib::alloc::MemoryAllocator::HUGEPAGE_SIZE,
+ 4 * 1024, 8 * 1024, 0.2).enable_free_lists(true);
+}
+
namespace {
Entry entry_from_replica_array_ref(const BucketId& id, uint32_t gc_timestamp, ConstArrayRef<BucketCopy> replicas) {
@@ -232,11 +236,11 @@ void BTreeBucketDatabase::remove(const BucketId& bucket) {
* skip scanning through many disjoint subtrees.
*/
BTreeBucketDatabase::BTree::ConstIterator
-BTreeBucketDatabase::find_parents_internal(const document::BucketId& bucket,
+BTreeBucketDatabase::find_parents_internal(const BTree::FrozenView& frozen_view,
+ const document::BucketId& bucket,
std::vector<Entry>& entries) const
{
const uint64_t bucket_key = bucket.toKey();
- const auto frozen_view = _tree.getFrozenView();
auto iter = frozen_view.begin();
// Start at the root level, descending towards the bucket itself.
// Try skipping as many levels of the tree as possible as we go.
@@ -255,6 +259,16 @@ BTreeBucketDatabase::find_parents_internal(const document::BucketId& bucket,
return iter;
}
+void BTreeBucketDatabase::find_parents_and_self_internal(const BTree::FrozenView& frozen_view,
+ const document::BucketId& bucket,
+ std::vector<Entry>& entries) const
+{
+ auto iter = find_parents_internal(frozen_view, bucket, entries);
+ if (iter.valid() && iter.getKey() == bucket.toKey()) {
+ entries.emplace_back(entry_from_iterator(iter));
+ }
+}
+
/*
* Note: due to legacy API reasons, iff the requested bucket itself exists in the
* tree, it will be returned in the result set. I.e. it returns all the nodes on
@@ -263,16 +277,15 @@ BTreeBucketDatabase::find_parents_internal(const document::BucketId& bucket,
void BTreeBucketDatabase::getParents(const BucketId& bucket,
std::vector<Entry>& entries) const
{
- auto iter = find_parents_internal(bucket, entries);
- if (iter.valid() && iter.getKey() == bucket.toKey()) {
- entries.emplace_back(entry_from_iterator(iter));
- }
+ auto view = _tree.getFrozenView();
+ find_parents_and_self_internal(view, bucket, entries);
}
void BTreeBucketDatabase::getAll(const BucketId& bucket,
std::vector<Entry>& entries) const
{
- auto iter = find_parents_internal(bucket, entries);
+ auto view = _tree.getFrozenView();
+ auto iter = find_parents_internal(view, bucket, entries);
// `iter` is already pointing at, or beyond, one of the bucket's subtrees.
for (; iter.valid(); ++iter) {
auto candidate = BucketId(BucketId::keyToBucketId(iter.getKey()));
@@ -510,4 +523,18 @@ void BTreeBucketDatabase::print(std::ostream& out, bool verbose,
(void)indent;
}
+BTreeBucketDatabase::ReadGuardImpl::ReadGuardImpl(const BTreeBucketDatabase& db)
+ : _db(&db),
+ _guard(_db->_generation_handler.takeGuard()),
+ _frozen_view(_db->_tree.getFrozenView())
+{}
+
+BTreeBucketDatabase::ReadGuardImpl::~ReadGuardImpl() = default;
+
+void BTreeBucketDatabase::ReadGuardImpl::find_parents_and_self(const document::BucketId& bucket,
+ std::vector<Entry>& entries) const
+{
+ _db->find_parents_and_self_internal(_frozen_view, bucket, entries);
+}
+
}
diff --git a/storage/src/vespa/storage/bucketdb/btree_bucket_database.h b/storage/src/vespa/storage/bucketdb/btree_bucket_database.h
index eb527071ad7..5c69b57956b 100644
--- a/storage/src/vespa/storage/bucketdb/btree_bucket_database.h
+++ b/storage/src/vespa/storage/bucketdb/btree_bucket_database.h
@@ -17,13 +17,9 @@ namespace storage {
* this is an uint32 we cheekily mangle it into the value, i.e. each bucket key maps to a
* composite key of (gc_timestamp_u32 << 32) | array_ref_u32.
*
- * This is _not_ yet production ready, for several reasons:
- * - Underlying ArrayStore does not have freelists enabled for replica entry reuse
- * - Current API design for mutable forEach requires O(n) tree structure mutations instead
- * of changing the tree in bulk and reusing ArrayStore refs et al. Needs a redesign.
- *
- * Also note that the DB is currently _not_ thread safe, as read snapshotting is not yet defined
- * or exposed.
+ * Readers from contexts that are not guaranteed to be the main distributor thread MUST
+ * only access the database via an acquired read guard.
+ * Writing MUST only take place from the main distributor thread.
*/
// TODO create and use a new DB interface with better bulk loading, snapshot and iteration support
class BTreeBucketDatabase : public BucketDatabase {
@@ -66,11 +62,34 @@ private:
ConstEntryRef const_entry_ref_from_iterator(const BTree::ConstIterator& iter) const;
document::BucketId bucket_from_valid_iterator(const BTree::ConstIterator& iter) const;
void commit_tree_changes();
- BTree::ConstIterator find_parents_internal(const document::BucketId& bucket,
+ BTree::ConstIterator find_parents_internal(const BTree::FrozenView& frozen_view,
+ const document::BucketId& bucket,
std::vector<Entry>& entries) const;
+ void find_parents_and_self_internal(const BTree::FrozenView& frozen_view,
+ const document::BucketId& bucket,
+ std::vector<Entry>& entries) const;
+
+ static search::datastore::ArrayStoreConfig make_default_array_store_config();
+
+ class ReadGuardImpl : public ReadGuard {
+ const BTreeBucketDatabase* _db;
+ GenerationHandler::Guard _guard;
+ BTree::FrozenView _frozen_view;
+ public:
+ explicit ReadGuardImpl(const BTreeBucketDatabase& db);
+ ~ReadGuardImpl() override;
+
+ void find_parents_and_self(const document::BucketId& bucket,
+ std::vector<Entry>& entries) const override;
+ };
+
+ friend class ReadGuardImpl;
+
+ std::unique_ptr<ReadGuard> acquire_read_guard() const override {
+ return std::make_unique<ReadGuardImpl>(*this);
+ }
friend struct BTreeBuilderMerger;
- friend struct BTreeMergingBuilder;
friend struct BTreeTrailingInserter;
};
diff --git a/storage/src/vespa/storage/bucketdb/bucketdatabase.h b/storage/src/vespa/storage/bucketdb/bucketdatabase.h
index d12c2d82972..0659d02cc15 100644
--- a/storage/src/vespa/storage/bucketdb/bucketdatabase.h
+++ b/storage/src/vespa/storage/bucketdb/bucketdatabase.h
@@ -232,6 +232,23 @@ public:
const document::BucketId& bid);
virtual uint32_t childCount(const document::BucketId&) const = 0;
+
+ struct ReadGuard {
+ ReadGuard() = default;
+ virtual ~ReadGuard() = default;
+
+ ReadGuard(ReadGuard&&) = delete;
+ ReadGuard& operator=(ReadGuard&&) = delete;
+ ReadGuard(const ReadGuard&) = delete;
+ ReadGuard& operator=(const ReadGuard&) = delete;
+
+ virtual void find_parents_and_self(const document::BucketId& bucket,
+ std::vector<Entry>& entries) const = 0;
+ };
+
+ virtual std::unique_ptr<ReadGuard> acquire_read_guard() const {
+ return std::unique_ptr<ReadGuard>();
+ }
};
template <typename BucketInfoType>
diff --git a/storage/src/vespa/storage/bucketdb/mapbucketdatabase.cpp b/storage/src/vespa/storage/bucketdb/mapbucketdatabase.cpp
index 9dad421324e..463e4a4b8ce 100644
--- a/storage/src/vespa/storage/bucketdb/mapbucketdatabase.cpp
+++ b/storage/src/vespa/storage/bucketdb/mapbucketdatabase.cpp
@@ -584,4 +584,14 @@ MapBucketDatabase::print(std::ostream& out, bool verbose,
out << ')';
}
+std::unique_ptr<BucketDatabase::ReadGuard> MapBucketDatabase::acquire_read_guard() const {
+ return std::make_unique<ReadGuardImpl>(*this);
+}
+
+void MapBucketDatabase::ReadGuardImpl::find_parents_and_self(const document::BucketId& bucket,
+ std::vector<Entry>& entries) const
+{
+ _db->getParents(bucket, entries);
+}
+
} // storage
diff --git a/storage/src/vespa/storage/bucketdb/mapbucketdatabase.h b/storage/src/vespa/storage/bucketdb/mapbucketdatabase.h
index df3e055bd7a..b295be588a6 100644
--- a/storage/src/vespa/storage/bucketdb/mapbucketdatabase.h
+++ b/storage/src/vespa/storage/bucketdb/mapbucketdatabase.h
@@ -28,6 +28,8 @@ public:
document::BucketId getAppropriateBucket(uint16_t minBits, const document::BucketId& bid) override;
void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+
+ std::unique_ptr<ReadGuard> acquire_read_guard() const override;
private:
struct E {
E() : value(-1), e_0(-1), e_1(-1) {};
@@ -62,6 +64,17 @@ private:
uint8_t getHighestSplitBit(int index, uint8_t bitCount, const document::BucketId& bid, uint8_t minCount);
uint32_t childCountImpl(int index, uint8_t bitCount, const document::BucketId& b) const;
+ // NOT thread-safe for concurrent reads!
+ class ReadGuardImpl : public ReadGuard {
+ const MapBucketDatabase* _db;
+ public:
+ explicit ReadGuardImpl(const MapBucketDatabase& db) : _db(&db) {}
+ ~ReadGuardImpl() override = default;
+
+ void find_parents_and_self(const document::BucketId& bucket,
+ std::vector<Entry>& entries) const override;
+ };
+
uint32_t allocate();
uint32_t allocateValue(const document::BucketId& bid);
diff --git a/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp b/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp
index 04fcd4bd01c..6cfc688db0e 100644
--- a/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp
+++ b/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp
@@ -53,7 +53,7 @@ GetOperation::GetOperation(DistributorComponent& manager,
_bucketSpace(bucketSpace),
_msg(std::move(msg)),
_returnCode(api::ReturnCode::OK),
- _doc((document::Document*)NULL),
+ _doc(),
_lastModified(0),
_metric(metric),
_operationTimer(manager.getClock())
@@ -117,10 +117,8 @@ GetOperation::onStart(DistributorMessageSender& sender)
{
// Send one request for each unique group (BucketId/checksum)
bool sent = false;
- for (std::map<GroupId, GroupVector>::iterator iter = _responses.begin();
- iter != _responses.end(); ++iter)
- {
- sent |= sendForChecksum(sender, iter->first.getBucketId(), iter->second);
+ for (auto& response : _responses) {
+ sent |= sendForChecksum(sender, response.first.getBucketId(), response.second);
}
// If nothing was sent (no useful copies), just return NOT_FOUND
@@ -133,24 +131,22 @@ GetOperation::onStart(DistributorMessageSender& sender)
void
GetOperation::onReceive(DistributorMessageSender& sender, const std::shared_ptr<api::StorageReply>& msg)
{
- api::GetReply* getreply = dynamic_cast<api::GetReply*>(msg.get());
+ auto* getreply = dynamic_cast<api::GetReply*>(msg.get());
assert(getreply != nullptr);
LOG(debug, "Received %s", msg->toString(true).c_str());
_msg->getTrace().getRoot().addChild(getreply->getTrace().getRoot());
bool allDone = true;
- for (std::map<GroupId, GroupVector>::iterator iter = _responses.begin();
- iter != _responses.end(); ++iter)
- {
- for (uint32_t i = 0; i < iter->second.size(); i++) {
- if (iter->second[i].sent == getreply->getMsgId()) {
+ for (auto& response : _responses) {
+ for (uint32_t i = 0; i < response.second.size(); i++) {
+ if (response.second[i].sent == getreply->getMsgId()) {
LOG(debug, "Get on %s returned %s",
_msg->getDocumentId().toString().c_str(),
getreply->getResult().toString().c_str());
- iter->second[i].received = true;
- iter->second[i].returnCode = getreply->getResult();
+ response.second[i].received = true;
+ response.second[i].returnCode = getreply->getResult();
if (getreply->getResult().success()) {
if (getreply->getLastModifiedTimestamp() > _lastModified) {
@@ -164,14 +160,14 @@ GetOperation::onReceive(DistributorMessageSender& sender, const std::shared_ptr<
}
// Try to send to another node in this checksum group.
- bool sent = sendForChecksum(sender, iter->first.getBucketId(), iter->second);
+ bool sent = sendForChecksum(sender, response.first.getBucketId(), response.second);
if (sent) {
allDone = false;
}
}
}
- if (iter->second[i].sent && !iter->second[i].received) {
+ if (response.second[i].sent && !response.second[i].received) {
LOG(spam, "Have not received all replies yet, setting allDone = false");
allDone = false;
}
@@ -223,7 +219,7 @@ GetOperation::assignTargetNodeGroups()
document::BucketId bid = bucketIdFactory.getBucketId(_msg->getDocumentId());
std::vector<BucketDatabase::Entry> entries;
- _bucketSpace.getBucketDatabase().getParents(bid, entries);
+ _bucketSpace.getBucketDatabase().acquire_read_guard()->find_parents_and_self(bid, entries);
for (uint32_t j = 0; j < entries.size(); ++j) {
const BucketDatabase::Entry& e = entries[j];
diff --git a/streamingvisitors/src/tests/hitcollector/hitcollector.cpp b/streamingvisitors/src/tests/hitcollector/hitcollector.cpp
index 9650834d0f1..30e6b8a7adb 100644
--- a/streamingvisitors/src/tests/hitcollector/hitcollector.cpp
+++ b/streamingvisitors/src/tests/hitcollector/hitcollector.cpp
@@ -76,7 +76,7 @@ HitCollectorTest::assertHit(SearchResult::RankType expRank, uint32_t expDocId, u
void
HitCollectorTest::addHit(HitCollector &hc, uint32_t docId, double score, const char *sortData, size_t sortDataSize)
{
- document::Document::UP doc(new document::Document(_docType, DocumentId("doc::")));
+ document::Document::UP doc(new document::Document(_docType, DocumentId("id:ns:testdoc::")));
StorageDocument::UP sdoc(new StorageDocument(std::move(doc), SharedFieldPathMap(), 0));
ASSERT_TRUE(sdoc->valid());
MatchData md(MatchData::params());
diff --git a/tenant-auth/src/main/java/ai/vespa/hosted/auth/EndpointAuthenticator.java b/tenant-auth/src/main/java/ai/vespa/hosted/auth/CertificateAndKeyAuthenticator.java
index abb4197bda1..78c89e840c8 100644
--- a/tenant-auth/src/main/java/ai/vespa/hosted/auth/EndpointAuthenticator.java
+++ b/tenant-auth/src/main/java/ai/vespa/hosted/auth/CertificateAndKeyAuthenticator.java
@@ -1,5 +1,6 @@
package ai.vespa.hosted.auth;
+import ai.vespa.hosted.api.Authenticator;
import com.yahoo.config.provision.SystemName;
import com.yahoo.security.KeyUtils;
import com.yahoo.security.SslContextBuilder;
@@ -8,7 +9,6 @@ import com.yahoo.security.X509CertificateUtils;
import javax.net.ssl.SSLContext;
import java.io.IOException;
import java.io.UncheckedIOException;
-import java.net.http.HttpRequest;
import java.nio.file.Files;
import java.nio.file.Path;
import java.security.NoSuchAlgorithmException;
@@ -24,10 +24,10 @@ import static ai.vespa.hosted.api.Properties.getNonBlankProperty;
*
* @author jonmv
*/
-public class EndpointAuthenticator implements ai.vespa.hosted.api.EndpointAuthenticator {
+public class CertificateAndKeyAuthenticator implements Authenticator {
/** Don't touch. */
- public EndpointAuthenticator(@SuppressWarnings("unused") SystemName __) { }
+ public CertificateAndKeyAuthenticator(@SuppressWarnings("unused") SystemName __) { }
/**
* If {@code System.getProperty("vespa.test.credentials.root")} is set, key and certificate files
@@ -60,9 +60,4 @@ public class EndpointAuthenticator implements ai.vespa.hosted.api.EndpointAuthen
}
}
- @Override
- public HttpRequest.Builder authenticated(HttpRequest.Builder request) {
- return request;
- }
-
}
diff --git a/tenant-base/pom.xml b/tenant-base/pom.xml
index f087a8019da..3710fd738bc 100644
--- a/tenant-base/pom.xml
+++ b/tenant-base/pom.xml
@@ -37,6 +37,7 @@
<compiler_plugin_version>3.8.0</compiler_plugin_version>
<surefire_version>2.22.0</surefire_version>
<endpoint>https://api.vespa-external.aws.oath.cloud:4443</endpoint>
+ <test.categories>!integration</test.categories>
</properties>
<dependencyManagement>
@@ -214,54 +215,6 @@
</plugins>
</build>
</profile>
-
- <profile>
- <id>system-tests</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <groups>ai.vespa.hosted.cd.SystemTest</groups>
- <excludedGroups>ai.vespa.hosted.cd.EmptyGroup</excludedGroups>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>staging-tests</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <groups>ai.vespa.hosted.cd.StagingTest</groups>
- <excludedGroups>ai.vespa.hosted.cd.EmptyGroup</excludedGroups>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>production-tests</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <groups>ai.vespa.hosted.cd.ProductionTest</groups>
- <excludedGroups>ai.vespa.hosted.cd.EmptyGroup</excludedGroups>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
</profiles>
<build>
@@ -273,7 +226,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire_version}</version>
<configuration>
- <reportsDirectory>${env.TEST_DIR}</reportsDirectory>
+ <groups>${test.categories}</groups>
<redirectTestOutputToFile>false</redirectTestOutputToFile>
<trimStackTrace>false</trimStackTrace>
<systemPropertyVariables>
@@ -368,13 +321,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludedGroups>
- ai.vespa.hosted.cd.SystemTest,
- ai.vespa.hosted.cd.StagingTest,
- ai.vespa.hosted.cd.ProductionTest
- </excludedGroups>
- </configuration>
</plugin>
</plugins>
</build>
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/EmptyGroup.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/EmptyGroup.java
deleted file mode 100644
index 8deca3cfb11..00000000000
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/EmptyGroup.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package ai.vespa.hosted.cd;
-
-/**
- * The Surefire configuration element &lt;excludedGroups&gt; requires a non-empty argument to reset another.
- * This class serves that purpose. Without it, no tests run in the various integration test profiles.
- *
- * @author jonmv
- */
-public interface EmptyGroup { }
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/IntegrationTest.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/IntegrationTest.java
new file mode 100644
index 00000000000..a8c8d958cc1
--- /dev/null
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/IntegrationTest.java
@@ -0,0 +1,27 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package ai.vespa.hosted.cd;
+
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * Tests which run against a fully operational Vespa deployment to verify its behaviour.
+ *
+ * Examples of integration test types are {@link SystemTest}, {@link StagingTest} and {@link ProductionTest}.
+ *
+ * @author jonmv
+ */
+@Target({TYPE, ANNOTATION_TYPE})
+@Retention(RUNTIME)
+@Tag("integration")
+public @interface IntegrationTest { }
+
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/ProductionTest.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/ProductionTest.java
index e9a2be1fb1f..a60a8ea0e14 100644
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/ProductionTest.java
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/ProductionTest.java
@@ -26,7 +26,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
*/
@Target({TYPE, ANNOTATION_TYPE})
@Retention(RUNTIME)
-@Tag("ai.vespa.hosted.cd.ProductionTest")
+@IntegrationTest
+@Tag("production")
public @interface ProductionTest {
// Want to verify metrics (Vespa).
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/StagingTest.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/StagingTest.java
index b0325efa8d3..93a5780da25 100644
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/StagingTest.java
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/StagingTest.java
@@ -28,7 +28,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
*/
@Target({TYPE, ANNOTATION_TYPE})
@Retention(RUNTIME)
-@Tag("ai.vespa.hosted.cd.StagingTest")
+@IntegrationTest
+@Tag("staging")
public @interface StagingTest {
// Want to verify documents are not damaged by upgrade.
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/SystemTest.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/SystemTest.java
index f27fa01072c..ccaf0765768 100644
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/SystemTest.java
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/SystemTest.java
@@ -28,7 +28,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
*/
@Target({TYPE, ANNOTATION_TYPE})
@Retention(RUNTIME)
-@Tag("ai.vespa.hosted.cd.SystemTest")
+@IntegrationTest
+@Tag("system")
public @interface SystemTest {
// Want to feed some documents.
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/TestRuntime.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/TestRuntime.java
index 4ae1c0b7a5e..e10d627808f 100644
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/TestRuntime.java
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/TestRuntime.java
@@ -1,10 +1,10 @@
package ai.vespa.hosted.cd;
-import ai.vespa.hosted.api.ApiAuthenticator;
-import ai.vespa.hosted.api.EndpointAuthenticator;
+import ai.vespa.hosted.api.Authenticator;
import ai.vespa.hosted.api.ControllerHttpClient;
import ai.vespa.hosted.api.Properties;
import ai.vespa.hosted.api.TestConfig;
+import ai.vespa.hosted.auth.CertificateAndKeyAuthenticator;
import ai.vespa.hosted.cd.http.HttpDeployment;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
@@ -29,7 +29,7 @@ public class TestRuntime {
private final Map<String, Deployment> productionDeployments;
private final Deployment deploymentToTest;
- private TestRuntime(TestConfig config, EndpointAuthenticator authenticator) {
+ private TestRuntime(TestConfig config, Authenticator authenticator) {
this.config = config;
this.productionDeployments = config.deployments().entrySet().stream()
.filter(zoneDeployment -> zoneDeployment.getKey().environment() == Environment.prod)
@@ -41,7 +41,7 @@ public class TestRuntime {
}
/**
- * Returns the config for this test, or null if it has not been provided.
+ * Returns the config and authenticator to use when running integration tests.
*
* If the system property {@code "vespa.test.config"} is set (to a file path), a file at that location
* is attempted read, and config parsed from it.
@@ -55,13 +55,13 @@ public class TestRuntime {
String configPath = System.getProperty("vespa.test.config");
TestConfig config = configPath != null ? fromFile(configPath) : fromController();
theRuntime = new TestRuntime(config,
- new ai.vespa.hosted.auth.EndpointAuthenticator(config.system()));
+ new CertificateAndKeyAuthenticator(config.system()));
}
return theRuntime;
}
/** Returns a copy of this runtime, with the given endpoint authenticator. */
- public TestRuntime with(EndpointAuthenticator authenticator) {
+ public TestRuntime with(Authenticator authenticator) {
return new TestRuntime(config, authenticator);
}
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpDeployment.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpDeployment.java
index 22c622effae..04cebcf50b2 100644
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpDeployment.java
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpDeployment.java
@@ -1,6 +1,6 @@
package ai.vespa.hosted.cd.http;
-import ai.vespa.hosted.api.EndpointAuthenticator;
+import ai.vespa.hosted.api.Authenticator;
import ai.vespa.hosted.cd.TestDeployment;
import ai.vespa.hosted.cd.TestEndpoint;
import com.yahoo.config.provision.Environment;
@@ -22,7 +22,7 @@ public class HttpDeployment implements TestDeployment {
private final Map<String, HttpEndpoint> endpoints;
/** Creates a representation of the given deployment endpoints, using the authenticator for data plane access. */
- public HttpDeployment(Map<String, URI> endpoints, ZoneId zone, EndpointAuthenticator authenticator) {
+ public HttpDeployment(Map<String, URI> endpoints, ZoneId zone, Authenticator authenticator) {
this.zone = zone;
this.endpoints = endpoints.entrySet().stream()
.collect(Collectors.toUnmodifiableMap(entry -> entry.getKey(),
diff --git a/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpEndpoint.java b/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpEndpoint.java
index 17703d8fbab..a9d8f2e7cc5 100644
--- a/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpEndpoint.java
+++ b/tenant-cd/src/main/java/ai/vespa/hosted/cd/http/HttpEndpoint.java
@@ -1,9 +1,6 @@
package ai.vespa.hosted.cd.http;
-import ai.vespa.hosted.api.EndpointAuthenticator;
-import com.yahoo.slime.Inspector;
-import com.yahoo.slime.JsonDecoder;
-import com.yahoo.slime.Slime;
+import ai.vespa.hosted.api.Authenticator;
import ai.vespa.hosted.cd.Digest;
import ai.vespa.hosted.cd.Feed;
import ai.vespa.hosted.cd.Query;
@@ -14,7 +11,6 @@ import ai.vespa.hosted.cd.Visit;
import ai.vespa.hosted.cd.metric.Metrics;
import java.io.IOException;
-import java.io.UncheckedIOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
@@ -37,9 +33,9 @@ public class HttpEndpoint implements TestEndpoint {
private final URI endpoint;
private final HttpClient client;
- private final EndpointAuthenticator authenticator;
+ private final Authenticator authenticator;
- public HttpEndpoint(URI endpoint, EndpointAuthenticator authenticator) {
+ public HttpEndpoint(URI endpoint, Authenticator authenticator) {
this.endpoint = requireNonNull(endpoint);
this.authenticator = requireNonNull(authenticator);
this.client = HttpClient.newBuilder()
diff --git a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java
index 4ebabe63c1d..0233e4db2bb 100644
--- a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java
+++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java
@@ -68,10 +68,6 @@ public class PomXmlGenerator {
"%DEPENDENCIES_TO_SCAN%" +
" </dependenciesToScan>\n" +
" <groups>%GROUPS%</groups>\n" +
- " <excludedGroups>com.yahoo.vespa.tenant.systemtest.base.impl.EmptyExcludeGroup.class</excludedGroups>\n" +
- " <excludes>\n" +
- " <exclude>%GROUPS%</exclude>\n" +
- " </excludes>\n" +
" <reportsDirectory>${env.TEST_DIR}</reportsDirectory>\n" +
" <redirectTestOutputToFile>false</redirectTestOutputToFile>\n" +
" <trimStackTrace>false</trimStackTrace>\n" +
diff --git a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java
index 018acb17387..1507891e69b 100644
--- a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java
+++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java
@@ -6,9 +6,9 @@ package com.yahoo.vespa.hosted.testrunner;
*/
enum TestProfile {
- SYSTEM_TEST("ai.vespa.hosted.cd.SystemTest, com.yahoo.vespa.tenant.systemtest.base.SystemTest", true),
- STAGING_TEST("ai.vespa.hosted.cd.StagingTest, com.yahoo.vespa.tenant.systemtest.base.StagingTest", true),
- PRODUCTION_TEST("ai.vespa.hosted.cd.ProductionTest, com.yahoo.vespa.tenant.systemtest.base.ProductionTest", false);
+ SYSTEM_TEST("system, com.yahoo.vespa.tenant.systemtest.base.SystemTest", true),
+ STAGING_TEST("staging, com.yahoo.vespa.tenant.systemtest.base.StagingTest", true),
+ PRODUCTION_TEST("production, com.yahoo.vespa.tenant.systemtest.base.ProductionTest", false);
private final String group;
private final boolean failIfNoTests;
diff --git a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java
index a14c1e2a231..5ad28730a8b 100644
--- a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java
+++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.yahoo.log.LogLevel.ERROR;
+import static java.util.logging.Level.INFO;
/**
* @author valerijf
@@ -83,7 +84,10 @@ public class TestRunner {
static ProcessBuilder mavenProcessFrom(TestProfile profile, TestRunnerConfig config) {
List<String> command = new ArrayList<>();
- command.add("mvn");
+ if (Path.of("/opt/vespa").equals(Path.of(Defaults.getDefaults().vespaHome())))
+ command.add("/opt/vespa/local/maven/bin/mvn");
+ else
+ command.add("mvn");
command.add("test");
command.add("--batch-mode"); // Run in non-interactive (batch) mode (disables output color)
@@ -129,8 +133,16 @@ public class TestRunner {
ProcessBuilder builder = testBuilder.apply(testProfile);
{
LogRecord record = new LogRecord(Level.INFO,
- String.format("Starting %s. Artifacts directory: %s Config file: %s\nCommand to run: %s",
- testProfile.name(), artifactsPath, configFile, String.join(" ", builder.command())));
+ String.format("Starting %s. Artifacts directory: %s Config file: %s\n" +
+ "Command to run: %s\n" +
+ "Environment:\n%s",
+ testProfile.name(), artifactsPath, configFile,
+ String.join(" ", builder.command()),
+ System.getenv().entrySet().stream()
+ .map(entry -> entry.getKey() + ": " + entry.getValue())
+ .collect(Collectors.joining("\n"))));
+ log.put(record.getSequenceNumber(), record);
+ logger.log(record);
log.put(record.getSequenceNumber(), record);
logger.log(record);
}
diff --git a/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java b/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java
index dce02922c63..ef8df2b748b 100644
--- a/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java
+++ b/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java
@@ -30,4 +30,5 @@ public class PomXmlGeneratorTest {
String expected = IOUtils.toString(this.getClass().getResourceAsStream(resourceFile));
assertEquals(resourceFile, expected, actual);
}
+
} \ No newline at end of file
diff --git a/vespa-testrunner-components/src/test/resources/pom.xml_system_tests b/vespa-testrunner-components/src/test/resources/pom.xml_system_tests
index 263bd27a4f3..7c986560c17 100644
--- a/vespa-testrunner-components/src/test/resources/pom.xml_system_tests
+++ b/vespa-testrunner-components/src/test/resources/pom.xml_system_tests
@@ -53,11 +53,7 @@
<dependenciesToScan>
<dependency>com.yahoo.vespa.testrunner.test:main.jar</dependency>
</dependenciesToScan>
- <groups>ai.vespa.hosted.cd.SystemTest, com.yahoo.vespa.tenant.systemtest.base.SystemTest</groups>
- <excludedGroups>com.yahoo.vespa.tenant.systemtest.base.impl.EmptyExcludeGroup.class</excludedGroups>
- <excludes>
- <exclude>ai.vespa.hosted.cd.SystemTest, com.yahoo.vespa.tenant.systemtest.base.SystemTest</exclude>
- </excludes>
+ <groups>system, com.yahoo.vespa.tenant.systemtest.base.SystemTest</groups>
<reportsDirectory>${env.TEST_DIR}</reportsDirectory>
<redirectTestOutputToFile>false</redirectTestOutputToFile>
<trimStackTrace>false</trimStackTrace>
diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json
index 9c425570a7e..6b37d58f3c7 100644
--- a/vespajlib/abi-spec.json
+++ b/vespajlib/abi-spec.json
@@ -1383,6 +1383,7 @@
"public"
],
"methods": [
+ "public static varargs com.yahoo.tensor.TensorType$Value combinedValueType(com.yahoo.tensor.TensorType[])",
"public static com.yahoo.tensor.TensorType fromSpec(java.lang.String)",
"public com.yahoo.tensor.TensorType$Value valueType()",
"public int rank()",
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/TensorType.java b/vespajlib/src/main/java/com/yahoo/tensor/TensorType.java
index 319947607d2..d64a62143f4 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/TensorType.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/TensorType.java
@@ -87,6 +87,16 @@ public class TensorType {
this.dimensions = ImmutableList.copyOf(dimensionList);
}
+ static public Value combinedValueType(TensorType ... types) {
+ List<Value> valueTypes = new ArrayList<>();
+ for (TensorType type : types) {
+ if (type.rank() > 0) {
+ valueTypes.add(type.valueType());
+ }
+ }
+ return Value.largestOf(valueTypes);
+ }
+
/**
* Returns a tensor type instance from a string on the format
* <code>tensor(dimension1, dimension2, ...)</code>
@@ -456,7 +466,7 @@ public class TensorType {
* The value type will be the largest of the value types of the input types
*/
public Builder(TensorType ... types) {
- this.valueType = TensorType.Value.largestOf(Arrays.stream(types).map(type -> type.valueType()).collect(Collectors.toList()));
+ this.valueType = TensorType.combinedValueType(types);
for (TensorType type : types)
addDimensionsOf(type);
}
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Concat.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Concat.java
index a48ac19fbff..42c6fe2f4aa 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Concat.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Concat.java
@@ -89,8 +89,9 @@ public class Concat extends PrimitiveTensorFunction {
public <NAMETYPE extends TypeContext.Name> Tensor evaluate(EvaluationContext<NAMETYPE> context) {
Tensor a = argumentA.evaluate(context);
Tensor b = argumentB.evaluate(context);
- a = ensureIndexedDimension(dimension, a);
- b = ensureIndexedDimension(dimension, b);
+ TensorType.Value combinedValueType = TensorType.combinedValueType(a.type(), b.type());
+ a = ensureIndexedDimension(dimension, a, combinedValueType);
+ b = ensureIndexedDimension(dimension, b, combinedValueType);
IndexedTensor aIndexed = (IndexedTensor) a; // If you get an exception here you have implemented a mixed tensor
IndexedTensor bIndexed = (IndexedTensor) b;
@@ -128,7 +129,7 @@ public class Concat extends PrimitiveTensorFunction {
}
}
- private Tensor ensureIndexedDimension(String dimensionName, Tensor tensor) {
+ private Tensor ensureIndexedDimension(String dimensionName, Tensor tensor, TensorType.Value combinedValueType) {
Optional<TensorType.Dimension> dimension = tensor.type().dimension(dimensionName);
if ( dimension.isPresent() ) {
if ( ! dimension.get().isIndexed())
@@ -141,7 +142,7 @@ public class Concat extends PrimitiveTensorFunction {
if (tensor.type().dimensions().stream().anyMatch(d -> ! d.isIndexed()))
throw new IllegalArgumentException("Concat requires an indexed tensor, " +
"but got a tensor with type " + tensor.type());
- Tensor unitTensor = Tensor.Builder.of(new TensorType.Builder(tensor.type().valueType())
+ Tensor unitTensor = Tensor.Builder.of(new TensorType.Builder(combinedValueType)
.indexed(dimensionName, 1)
.build())
.cell(1,0)
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
index 062e0d92e80..2939b964f04 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Join.java
@@ -390,8 +390,7 @@ public class Join extends PrimitiveTensorFunction {
private static TensorType commonDimensions(Tensor a, Tensor b) {
TensorType aType = a.type();
TensorType bType = b.type();
- TensorType.Builder typeBuilder = new TensorType.Builder(TensorType.Value.largestOf(aType.valueType(),
- bType.valueType()));
+ TensorType.Builder typeBuilder = new TensorType.Builder(TensorType.combinedValueType(aType, bType));
for (int i = 0; i < aType.dimensions().size(); ++i) {
TensorType.Dimension aDim = aType.dimensions().get(i);
for (int j = 0; j < bType.dimensions().size(); ++j) {
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/ReduceJoin.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/ReduceJoin.java
index db950e6c8b9..1134e8177ad 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/ReduceJoin.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/ReduceJoin.java
@@ -268,8 +268,7 @@ public class ReduceJoin extends CompositeTensorFunction {
}
private TensorType dimensionsInCommon(IndexedTensor a, IndexedTensor b) {
- TensorType.Builder builder = new TensorType.Builder(TensorType.Value.largestOf(a.type().valueType(),
- b.type().valueType()));
+ TensorType.Builder builder = new TensorType.Builder(TensorType.combinedValueType(a.type(), b.type()));
for (TensorType.Dimension aDim : a.type().dimensions()) {
for (TensorType.Dimension bDim : b.type().dimensions()) {
if (aDim.name().equals(bDim.name())) {
diff --git a/vespalib/src/tests/datastore/unique_store/unique_store_test.cpp b/vespalib/src/tests/datastore/unique_store/unique_store_test.cpp
index a585186aa3e..ba2c98a6d54 100644
--- a/vespalib/src/tests/datastore/unique_store/unique_store_test.cpp
+++ b/vespalib/src/tests/datastore/unique_store/unique_store_test.cpp
@@ -1,7 +1,9 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <vespa/vespalib/datastore/unique_store.hpp>
+#include <vespa/vespalib/datastore/unique_store_string_allocator.hpp>
+#include <vespa/vespalib/datastore/unique_store_string_comparator.h>
#include <vespa/vespalib/gtest/gtest.h>
-#include <vespa/vespalib/test/datastore/memstats.h>
+#include <vespa/vespalib/test/datastore/buffer_stats.h>
#include <vespa/vespalib/test/insertion_operators.h>
#include <vespa/vespalib/util/traits.h>
#include <vector>
@@ -10,43 +12,47 @@
LOG_SETUP("unique_store_test");
using namespace search::datastore;
-using vespalib::MemoryUsage;
using vespalib::ArrayRef;
using generation_t = vespalib::GenerationHandler::generation_t;
-using MemStats = search::datastore::test::MemStats;
+using search::datastore::test::BufferStats;
-template <typename EntryT, typename RefT = EntryRefT<22> >
+template <typename UniqueStoreT>
struct TestBase : public ::testing::Test {
- using EntryRefType = RefT;
- using UniqueStoreType = UniqueStore<EntryT, RefT>;
- using value_type = EntryT;
- using ReferenceStore = std::map<EntryRef, std::pair<EntryT,uint32_t>>;
+ using EntryRefType = typename UniqueStoreT::RefType;
+ using UniqueStoreType = UniqueStoreT;
+ using ValueType = typename UniqueStoreT::EntryType;
+ using ValueConstRefType = typename UniqueStoreT::EntryConstRefType;
+ using ReferenceStoreValueType = std::conditional_t<std::is_same_v<ValueType, const char *>, std::string, ValueType>;
+ using ReferenceStore = std::map<EntryRef, std::pair<ReferenceStoreValueType,uint32_t>>;
UniqueStoreType store;
ReferenceStore refStore;
generation_t generation;
+
+ static std::vector<ValueType> values;
+
TestBase()
: store(),
refStore(),
generation(1)
{}
- void assertAdd(const EntryT &input) {
+ void assertAdd(ValueConstRefType input) {
EntryRef ref = add(input);
assertGet(ref, input);
}
- EntryRef add(const EntryT &input) {
+ EntryRef add(ValueConstRefType input) {
UniqueStoreAddResult addResult = store.add(input);
EntryRef result = addResult.ref();
- auto insres = refStore.insert(std::make_pair(result, std::make_pair(input, 1u)));
+ auto insres = refStore.insert(std::make_pair(result, std::make_pair(ReferenceStoreValueType(input), 1u)));
EXPECT_EQ(insres.second, addResult.inserted());
if (!insres.second) {
++insres.first->second.second;
}
return result;
}
- void alignRefStore(EntryRef ref, const EntryT &input, uint32_t refcnt) {
+ void alignRefStore(EntryRef ref, ValueConstRefType input, uint32_t refcnt) {
if (refcnt > 0) {
- auto insres = refStore.insert(std::make_pair(ref, std::make_pair(input, refcnt)));
+ auto insres = refStore.insert(std::make_pair(ref, std::make_pair(ReferenceStoreValueType(input), refcnt)));
if (!insres.second) {
insres.first->second.second = refcnt;
}
@@ -54,8 +60,8 @@ struct TestBase : public ::testing::Test {
refStore.erase(ref);
}
}
- void assertGet(EntryRef ref, const EntryT &exp) const {
- EntryT act = store.get(ref);
+ void assertGet(EntryRef ref, ReferenceStoreValueType exp) const {
+ ReferenceStoreValueType act = store.get(ref);
EXPECT_EQ(exp, act);
}
void remove(EntryRef ref) {
@@ -67,29 +73,23 @@ struct TestBase : public ::testing::Test {
refStore.erase(ref);
}
}
- void remove(const EntryT &input) {
+ void remove(ValueConstRefType input) {
remove(getEntryRef(input));
}
uint32_t getBufferId(EntryRef ref) const {
return EntryRefType(ref).bufferId();
}
- void assertBufferState(EntryRef ref, const MemStats expStats) const {
+ void assertBufferState(EntryRef ref, const BufferStats expStats) const {
EXPECT_EQ(expStats._used, store.bufferState(ref).size());
EXPECT_EQ(expStats._hold, store.bufferState(ref).getHoldElems());
EXPECT_EQ(expStats._dead, store.bufferState(ref).getDeadElems());
}
- void assertMemoryUsage(const MemStats expStats) const {
- MemoryUsage act = store.getMemoryUsage();
- EXPECT_EQ(expStats._used, act.usedBytes());
- EXPECT_EQ(expStats._hold, act.allocatedBytesOnHold());
- EXPECT_EQ(expStats._dead, act.deadBytes());
- }
void assertStoreContent() const {
for (const auto &elem : refStore) {
assertGet(elem.first, elem.second.first);
}
}
- EntryRef getEntryRef(const EntryT &input) {
+ EntryRef getEntryRef(ValueConstRefType input) {
for (const auto &elem : refStore) {
if (elem.second.first == input) {
return elem.first;
@@ -121,57 +121,79 @@ struct TestBase : public ::testing::Test {
}
refStore = compactedRefStore;
}
- size_t entrySize() const { return sizeof(EntryT); }
+ size_t entrySize() const { return sizeof(ValueType); }
auto getBuilder(uint32_t uniqueValuesHint) { return store.getBuilder(uniqueValuesHint); }
auto getSaver() { return store.getSaver(); }
+ size_t get_reserved(EntryRef ref) {
+ return store.bufferState(ref).getTypeHandler()->getReservedElements(getBufferId(ref));
+ }
+ size_t get_array_size(EntryRef ref) {
+ return store.bufferState(ref).getArraySize();
+ }
};
-using NumberTest = TestBase<uint32_t>;
-using StringTest = TestBase<std::string>;
-using SmallOffsetNumberTest = TestBase<uint32_t, EntryRefT<10>>;
+using NumberUniqueStore = UniqueStore<uint32_t>;
+using StringUniqueStore = UniqueStore<std::string>;
+using CStringUniqueStore = UniqueStore<const char *, EntryRefT<22>, UniqueStoreStringComparator<EntryRefT<22>>, UniqueStoreStringAllocator<EntryRefT<22>>>;
+using SmallOffsetNumberUniqueStore = UniqueStore<uint32_t, EntryRefT<10,10>>;
-TEST(UniqueStoreTest, trivial_and_non_trivial_types_are_tested)
-{
- EXPECT_TRUE(vespalib::can_skip_destruction<NumberTest::value_type>::value);
- EXPECT_FALSE(vespalib::can_skip_destruction<StringTest::value_type>::value);
-}
+template <>
+std::vector<uint32_t> TestBase<NumberUniqueStore>::values{10, 20, 30, 10 };
+template <>
+std::vector<std::string> TestBase<StringUniqueStore>::values{ "aa", "bbb", "ccc", "aa" };
+template <>
+std::vector<const char *> TestBase<CStringUniqueStore>::values{ "aa", "bbb", "ccc", "aa" };
+
+using UniqueStoreTestTypes = ::testing::Types<NumberUniqueStore, StringUniqueStore, CStringUniqueStore>;
+TYPED_TEST_CASE(TestBase, UniqueStoreTestTypes);
-TEST_F(NumberTest, can_add_and_get_values_of_trivial_type)
+// Disable warnings emitted by gtest generated files when using typed tests
+#pragma GCC diagnostic push
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Wsuggest-override"
+#endif
+
+using NumberTest = TestBase<NumberUniqueStore>;
+using StringTest = TestBase<StringUniqueStore>;
+using CStringTest = TestBase<CStringUniqueStore>;
+using SmallOffsetNumberTest = TestBase<SmallOffsetNumberUniqueStore>;
+
+TEST(UniqueStoreTest, trivial_and_non_trivial_types_are_tested)
{
- assertAdd(1);
- assertAdd(2);
- assertAdd(3);
- assertAdd(1);
+ EXPECT_TRUE(vespalib::can_skip_destruction<NumberTest::ValueType>::value);
+ EXPECT_FALSE(vespalib::can_skip_destruction<StringTest::ValueType>::value);
}
-TEST_F(StringTest, can_add_and_get_values_of_non_trivial_type)
+TYPED_TEST(TestBase, can_add_and_get_values)
{
- assertAdd("aa");
- assertAdd("bbb");
- assertAdd("ccc");
- assertAdd("aa");
+ for (auto &val : this->values) {
+ this->assertAdd(val);
+ }
}
-TEST_F(NumberTest, elements_are_put_on_hold_when_value_is_removed)
+TYPED_TEST(TestBase, elements_are_put_on_hold_when_value_is_removed)
{
- EntryRef ref = add(1);
- // Note: The first buffer have the first element reserved -> we expect 2 elements used here.
- assertBufferState(ref, MemStats().used(2).hold(0).dead(1));
- store.remove(ref);
- assertBufferState(ref, MemStats().used(2).hold(1).dead(1));
+ EntryRef ref = this->add(this->values[0]);
+ size_t reserved = this->get_reserved(ref);
+ size_t array_size = this->get_array_size(ref);
+ this->assertBufferState(ref, BufferStats().used(array_size + reserved).hold(0).dead(reserved));
+ this->store.remove(ref);
+ this->assertBufferState(ref, BufferStats().used(array_size + reserved).hold(array_size).dead(reserved));
}
-TEST_F(NumberTest, elements_are_reference_counted)
+TYPED_TEST(TestBase, elements_are_reference_counted)
{
- EntryRef ref = add(1);
- EntryRef ref2 = add(1);
+ EntryRef ref = this->add(this->values[0]);
+ EntryRef ref2 = this->add(this->values[0]);
EXPECT_EQ(ref.ref(), ref2.ref());
// Note: The first buffer have the first element reserved -> we expect 2 elements used here.
- assertBufferState(ref, MemStats().used(2).hold(0).dead(1));
- store.remove(ref);
- assertBufferState(ref, MemStats().used(2).hold(0).dead(1));
- store.remove(ref);
- assertBufferState(ref, MemStats().used(2).hold(1).dead(1));
+ size_t reserved = this->get_reserved(ref);
+ size_t array_size = this->get_array_size(ref);
+ this->assertBufferState(ref, BufferStats().used(array_size + reserved).hold(0).dead(reserved));
+ this->store.remove(ref);
+ this->assertBufferState(ref, BufferStats().used(array_size + reserved).hold(0).dead(reserved));
+ this->store.remove(ref);
+ this->assertBufferState(ref, BufferStats().used(array_size + reserved).hold(array_size).dead(reserved));
}
TEST_F(SmallOffsetNumberTest, new_underlying_buffer_is_allocated_when_current_is_full)
@@ -193,74 +215,80 @@ TEST_F(SmallOffsetNumberTest, new_underlying_buffer_is_allocated_when_current_is
assertStoreContent();
}
-TEST_F(NumberTest, store_can_be_compacted)
+TYPED_TEST(TestBase, store_can_be_compacted)
{
- EntryRef val1Ref = add(1);
- EntryRef val2Ref = add(2);
- remove(add(4));
- trimHoldLists();
- assertBufferState(val1Ref, MemStats().used(4).dead(2)); // Note: First element is reserved
- uint32_t val1BufferId = getBufferId(val1Ref);
+ EntryRef val0Ref = this->add(this->values[0]);
+ EntryRef val1Ref = this->add(this->values[1]);
+ this->remove(this->add(this->values[2]));
+ this->trimHoldLists();
+ size_t reserved = this->get_reserved(val0Ref);
+ size_t array_size = this->get_array_size(val0Ref);
+ this->assertBufferState(val0Ref, BufferStats().used(reserved + 3 * array_size).dead(reserved + array_size));
+ uint32_t val1BufferId = this->getBufferId(val0Ref);
- EXPECT_EQ(2u, refStore.size());
- compactWorst();
- EXPECT_EQ(2u, refStore.size());
- assertStoreContent();
+ EXPECT_EQ(2u, this->refStore.size());
+ this->compactWorst();
+ EXPECT_EQ(2u, this->refStore.size());
+ this->assertStoreContent();
// Buffer has been compacted
- EXPECT_NE(val1BufferId, getBufferId(getEntryRef(1)));
+ EXPECT_NE(val1BufferId, this->getBufferId(this->getEntryRef(this->values[0])));
// Old ref should still point to data.
- assertGet(val1Ref, 1);
- assertGet(val2Ref, 2);
- EXPECT_TRUE(store.bufferState(val1Ref).isOnHold());
- trimHoldLists();
- EXPECT_TRUE(store.bufferState(val1Ref).isFree());
- assertStoreContent();
+ this->assertGet(val0Ref, this->values[0]);
+ this->assertGet(val1Ref, this->values[1]);
+ EXPECT_TRUE(this->store.bufferState(val0Ref).isOnHold());
+ this->trimHoldLists();
+ EXPECT_TRUE(this->store.bufferState(val0Ref).isFree());
+ this->assertStoreContent();
}
-TEST_F(NumberTest, store_can_be_instantiated_with_builder)
+TYPED_TEST(TestBase, store_can_be_instantiated_with_builder)
{
- auto builder = getBuilder(2);
- builder.add(10);
- builder.add(20);
+ auto builder = this->getBuilder(2);
+ builder.add(this->values[0]);
+ builder.add(this->values[1]);
builder.setupRefCounts();
- EntryRef val10Ref = builder.mapEnumValueToEntryRef(1);
- EntryRef val20Ref = builder.mapEnumValueToEntryRef(2);
- assertBufferState(val10Ref, MemStats().used(3).dead(1)); // Note: First element is reserved
- EXPECT_TRUE(val10Ref.valid());
- EXPECT_TRUE(val20Ref.valid());
- EXPECT_NE(val10Ref.ref(), val20Ref.ref());
- assertGet(val10Ref, 10);
- assertGet(val20Ref, 20);
+ EntryRef val0Ref = builder.mapEnumValueToEntryRef(1);
+ EntryRef val1Ref = builder.mapEnumValueToEntryRef(2);
+ size_t reserved = this->get_reserved(val0Ref);
+ size_t array_size = this->get_array_size(val0Ref);
+ this->assertBufferState(val0Ref, BufferStats().used(2 * array_size + reserved).dead(reserved)); // Note: First element is reserved
+ EXPECT_TRUE(val0Ref.valid());
+ EXPECT_TRUE(val1Ref.valid());
+ EXPECT_NE(val0Ref.ref(), val1Ref.ref());
+ this->assertGet(val0Ref, this->values[0]);
+ this->assertGet(val1Ref, this->values[1]);
builder.makeDictionary();
// Align refstore with the two entries added by builder.
- alignRefStore(val10Ref, 10, 1);
- alignRefStore(val20Ref, 20, 1);
- EXPECT_EQ(val10Ref.ref(), add(10).ref());
- EXPECT_EQ(val20Ref.ref(), add(20).ref());
+ this->alignRefStore(val0Ref, this->values[0], 1);
+ this->alignRefStore(val1Ref, this->values[1], 1);
+ EXPECT_EQ(val0Ref.ref(), this->add(this->values[0]).ref());
+ EXPECT_EQ(val1Ref.ref(), this->add(this->values[1]).ref());
}
-TEST_F(NumberTest, store_can_be_saved)
+TYPED_TEST(TestBase, store_can_be_saved)
{
- EntryRef val10Ref = add(10);
- EntryRef val20Ref = add(20);
- remove(add(40));
- trimHoldLists();
+ EntryRef val0Ref = this->add(this->values[0]);
+ EntryRef val1Ref = this->add(this->values[1]);
+ this->remove(this->add(this->values[2]));
+ this->trimHoldLists();
- auto saver = getSaver();
+ auto saver = this->getSaver();
std::vector<uint32_t> refs;
saver.foreach_key([&](EntryRef ref) { refs.push_back(ref.ref()); });
std::vector<uint32_t> expRefs;
- expRefs.push_back(val10Ref.ref());
- expRefs.push_back(val20Ref.ref());
+ expRefs.push_back(val0Ref.ref());
+ expRefs.push_back(val1Ref.ref());
EXPECT_EQ(expRefs, refs);
saver.enumerateValues();
uint32_t invalidEnum = saver.mapEntryRefToEnumValue(EntryRef());
- uint32_t enumValue10 = saver.mapEntryRefToEnumValue(val10Ref);
- uint32_t enumValue20 = saver.mapEntryRefToEnumValue(val20Ref);
+ uint32_t enumValue1 = saver.mapEntryRefToEnumValue(val0Ref);
+ uint32_t enumValue2 = saver.mapEntryRefToEnumValue(val1Ref);
EXPECT_EQ(0u, invalidEnum);
- EXPECT_EQ(1u, enumValue10);
- EXPECT_EQ(2u, enumValue20);
+ EXPECT_EQ(1u, enumValue1);
+ EXPECT_EQ(2u, enumValue2);
}
+#pragma GCC diagnostic pop
+
GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/vespalib/src/tests/portal/portal_test.cpp b/vespalib/src/tests/portal/portal_test.cpp
index 1baebc69e97..e54700306fe 100644
--- a/vespalib/src/tests/portal/portal_test.cpp
+++ b/vespalib/src/tests/portal/portal_test.cpp
@@ -48,6 +48,12 @@ vespalib::string make_expected_response(const vespalib::string &content_type, co
"Connection: close\r\n"
"Content-Type: %s\r\n"
"Content-Length: %zu\r\n"
+ "X-XSS-Protection: 1; mode=block\r\n"
+ "X-Frame-Options: DENY\r\n"
+ "Content-Security-Policy: default-src 'none'\r\n"
+ "X-Content-Type-Options: nosniff\r\n"
+ "Cache-Control: no-store\r\n"
+ "Pragma: no-cache\r\n"
"\r\n"
"%s", content_type.c_str(), content.size(), content.c_str());
}
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store.h b/vespalib/src/vespa/vespalib/datastore/unique_store.h
index 8a7f0e50845..a045da6ca1f 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store.h
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store.h
@@ -35,6 +35,7 @@ public:
using RefType = RefT;
using Saver = UniqueStoreSaver<EntryT, RefT>;
using Builder = UniqueStoreBuilder<Allocator>;
+ using EntryConstRefType = typename Allocator::EntryConstRefType;
private:
Allocator _allocator;
DataStoreType &_store;
@@ -44,9 +45,9 @@ private:
public:
UniqueStore();
~UniqueStore();
- UniqueStoreAddResult add(const EntryType &value);
- EntryRef find(const EntryType &value);
- const EntryType &get(EntryRef ref) const { return _allocator.get(ref); }
+ UniqueStoreAddResult add(EntryConstRefType value);
+ EntryRef find(EntryConstRefType value);
+ EntryConstRefType get(EntryRef ref) const { return _allocator.get(ref); }
void remove(EntryRef ref);
ICompactionContext::UP compactWorst();
vespalib::MemoryUsage getMemoryUsage() const;
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store.hpp b/vespalib/src/vespa/vespalib/datastore/unique_store.hpp
index bc1873a2c3a..e149f470bdf 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store.hpp
@@ -27,7 +27,7 @@ UniqueStore<EntryT, RefT, Compare, Allocator>::~UniqueStore() = default;
template <typename EntryT, typename RefT, typename Compare, typename Allocator>
UniqueStoreAddResult
-UniqueStore<EntryT, RefT, Compare, Allocator>::add(const EntryType &value)
+UniqueStore<EntryT, RefT, Compare, Allocator>::add(EntryConstRefType value)
{
Compare comp(_store, value);
UniqueStoreAddResult result = _dict->add(comp, [this, &value]() -> EntryRef { return _allocator.allocate(value); });
@@ -37,7 +37,7 @@ UniqueStore<EntryT, RefT, Compare, Allocator>::add(const EntryType &value)
template <typename EntryT, typename RefT, typename Compare, typename Allocator>
EntryRef
-UniqueStore<EntryT, RefT, Compare, Allocator>::find(const EntryType &value)
+UniqueStore<EntryT, RefT, Compare, Allocator>::find(EntryConstRefType value)
{
Compare comp(_store, value);
return _dict->find(comp);
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_allocator.h b/vespalib/src/vespa/vespalib/datastore/unique_store_allocator.h
index cadc2b09c0e..1981a190cc6 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_allocator.h
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_allocator.h
@@ -20,6 +20,7 @@ class UniqueStoreAllocator : public ICompactable
public:
using DataStoreType = DataStoreT<RefT>;
using EntryType = EntryT;
+ using EntryConstRefType = const EntryType &;
using WrappedEntryType = UniqueStoreEntry<EntryType>;
using RefType = RefT;
using UniqueStoreBufferType = BufferType<WrappedEntryType>;
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.cpp b/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.cpp
index 4c665ee0517..d7b79c439ef 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.cpp
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.cpp
@@ -4,6 +4,13 @@
namespace search::datastore {
+namespace {
+
+constexpr size_t NUM_ARRAYS_FOR_NEW_UNIQUESTORE_BUFFER = 1024u;
+constexpr float ALLOC_GROW_FACTOR = 0.2;
+
+}
+
namespace string_allocator {
std::vector<size_t> array_sizes = { 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 256 };
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.h b/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.h
index 0adb089da08..f72b9c6119c 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.h
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.h
@@ -8,6 +8,7 @@
#include "unique_store_entry.h"
#include "i_compactable.h"
#include <cassert>
+#include <string>
namespace search::datastore {
@@ -90,6 +91,7 @@ class UniqueStoreStringAllocator : public ICompactable
public:
using DataStoreType = DataStoreT<RefT>;
using EntryType = const char *;
+ using EntryConstRefType = const char *;
using WrappedExternalEntryType = UniqueStoreEntry<std::string>;
using RefType = RefT;
private:
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.hpp b/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.hpp
index 9bd2e050507..2b2af70439a 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_string_allocator.hpp
@@ -7,9 +7,6 @@
namespace search::datastore {
-constexpr size_t NUM_ARRAYS_FOR_NEW_UNIQUESTORE_BUFFER = 1024u;
-constexpr float ALLOC_GROW_FACTOR = 0.2;
-
template <typename RefT>
UniqueStoreStringAllocator<RefT>::UniqueStoreStringAllocator()
: ICompactable(),
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_string_comparator.h b/vespalib/src/vespa/vespalib/datastore/unique_store_string_comparator.h
new file mode 100644
index 00000000000..e5d3888a5e2
--- /dev/null
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_string_comparator.h
@@ -0,0 +1,51 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include "entry_comparator.h"
+#include "unique_store_string_allocator.h"
+
+namespace search::datastore {
+
+/*
+ * Compare two strings based on entry refs. Valid entry ref is mapped
+ * to a string in a data store. Invalid entry ref is mapped to a
+ * temporary string pointed to by comparator instance.
+ */
+template <typename RefT>
+class UniqueStoreStringComparator : public EntryComparator {
+ using RefType = RefT;
+ using WrappedExternalEntryType = UniqueStoreEntry<std::string>;
+ using DataStoreType = DataStoreT<RefT>;
+ const DataStoreType &_store;
+ const char *_value;
+public:
+ UniqueStoreStringComparator(const DataStoreType &store, const char *value)
+ : _store(store),
+ _value(value)
+ {
+ }
+ const char *get(EntryRef ref) const {
+ if (ref.valid()) {
+ RefType iRef(ref);
+ auto &state = _store.getBufferState(iRef.bufferId());
+ auto type_id = state.getTypeId();
+ if (type_id != 0) {
+ return reinterpret_cast<const UniqueStoreSmallStringEntry *>(_store.template getEntryArray<char>(iRef, state.getArraySize()))->value();
+ } else {
+ return _store.template getEntry<WrappedExternalEntryType>(iRef)->value().c_str();
+ }
+ } else {
+ return _value;
+ }
+ }
+
+ bool operator()(const EntryRef lhs, const EntryRef rhs) const override
+ {
+ const char *lhs_value = get(lhs);
+ const char *rhs_value = get(rhs);
+ return (strcmp(lhs_value, rhs_value) < 0);
+ }
+};
+
+}
diff --git a/vespalib/src/vespa/vespalib/portal/http_connection.cpp b/vespalib/src/vespa/vespalib/portal/http_connection.cpp
index 97a5f6082c9..aa2c0ec4cdd 100644
--- a/vespalib/src/vespa/vespalib/portal/http_connection.cpp
+++ b/vespalib/src/vespa/vespalib/portal/http_connection.cpp
@@ -90,6 +90,26 @@ WriteRes half_close(CryptoSocket &socket) {
}
}
+/**
+ * Emit a basic set of HTTP security headers meant to minimize any impact
+ * in the case of unsanitized/unescaped data making its way to an internal
+ * status page.
+ */
+void emit_http_security_headers(OutputWriter &dst) {
+ // Reject detected cross-site scripting attacks
+ dst.printf("X-XSS-Protection: 1; mode=block\r\n");
+ // Do not allow embedding via iframe (clickjacking prevention)
+ dst.printf("X-Frame-Options: DENY\r\n");
+ // Do not allow _anything_ to be externally loaded, nor inline scripts
+ // etc to be executed.
+ dst.printf("Content-Security-Policy: default-src 'none'\r\n");
+ // No heuristic auto-inference of content-type based on payload.
+ dst.printf("X-Content-Type-Options: nosniff\r\n");
+ // Don't store any potentially sensitive data in any caches.
+ dst.printf("Cache-Control: no-store\r\n");
+ dst.printf("Pragma: no-cache\r\n");
+}
+
} // namespace vespalib::portal::<unnamed>
void
@@ -223,6 +243,7 @@ HttpConnection::respond_with_content(const vespalib::string &content_type,
dst.printf("Connection: close\r\n");
dst.printf("Content-Type: %s\r\n", content_type.c_str());
dst.printf("Content-Length: %zu\r\n", content.size());
+ emit_http_security_headers(dst);
dst.printf("\r\n");
dst.write(content.data(), content.size());
}
diff --git a/vespalib/src/vespa/vespalib/test/datastore/buffer_stats.h b/vespalib/src/vespa/vespalib/test/datastore/buffer_stats.h
index 73d22ea63a4..bdf49562c33 100644
--- a/vespalib/src/vespa/vespalib/test/datastore/buffer_stats.h
+++ b/vespalib/src/vespa/vespalib/test/datastore/buffer_stats.h
@@ -46,6 +46,7 @@ struct BufferStats
assert(_extra_hold >= val);
_extra_used -= val;
_extra_hold -= val;
+ return *this;
}
};