[v8] r12661 committed - Rollback trunk to bleeding_edge revision 12525...

9 views
Skip to first unread message

codesite...@google.com

unread,
Oct 5, 2012, 4:54:46 AM10/5/12
to v8-...@googlegroups.com
Revision: 12661
Author: da...@chromium.org
Date: Fri Oct 5 01:50:56 2012
Log: Rollback trunk to bleeding_edge revision 12525

R=jkum...@chromium.org

Review URL: https://codereview.chromium.org/11035053
http://code.google.com/p/v8/source/detail?r=12661

Added:
/trunk/test/mjsunit/debug-stepout-scope.js
/trunk/test/mjsunit/fuzz-natives.js
/trunk/test/mjsunit/math-floor.js
/trunk/test/mjsunit/mul-exhaustive.js
/trunk/test/mjsunit/numops-fuzz.js
/trunk/test/mjsunit/regress/regress-1969.js
/trunk/test/mjsunit/regress-2286.js
Deleted:
/trunk/test/mjsunit/bugs/bug-2337.js
/trunk/test/mjsunit/debug-stepout-scope-part1.js
/trunk/test/mjsunit/debug-stepout-scope-part2.js
/trunk/test/mjsunit/debug-stepout-scope-part3.js
/trunk/test/mjsunit/debug-stepout-scope-part4.js
/trunk/test/mjsunit/debug-stepout-scope-part5.js
/trunk/test/mjsunit/debug-stepout-scope-part6.js
/trunk/test/mjsunit/debug-stepout-scope-part7.js
/trunk/test/mjsunit/debug-stepout-scope-part8.js
/trunk/test/mjsunit/deopt-minus-zero.js
/trunk/test/mjsunit/fuzz-natives-part1.js
/trunk/test/mjsunit/fuzz-natives-part2.js
/trunk/test/mjsunit/fuzz-natives-part3.js
/trunk/test/mjsunit/fuzz-natives-part4.js
/trunk/test/mjsunit/math-floor-part1.js
/trunk/test/mjsunit/math-floor-part2.js
/trunk/test/mjsunit/math-floor-part3.js
/trunk/test/mjsunit/math-floor-part4.js
/trunk/test/mjsunit/mul-exhaustive-part1.js
/trunk/test/mjsunit/mul-exhaustive-part10.js
/trunk/test/mjsunit/mul-exhaustive-part2.js
/trunk/test/mjsunit/mul-exhaustive-part3.js
/trunk/test/mjsunit/mul-exhaustive-part4.js
/trunk/test/mjsunit/mul-exhaustive-part5.js
/trunk/test/mjsunit/mul-exhaustive-part6.js
/trunk/test/mjsunit/mul-exhaustive-part7.js
/trunk/test/mjsunit/mul-exhaustive-part8.js
/trunk/test/mjsunit/mul-exhaustive-part9.js
/trunk/test/mjsunit/numops-fuzz-part1.js
/trunk/test/mjsunit/numops-fuzz-part2.js
/trunk/test/mjsunit/numops-fuzz-part3.js
/trunk/test/mjsunit/numops-fuzz-part4.js
/trunk/test/mjsunit/regress/regress-2286.js
/trunk/test/mjsunit/regress/regress-2336.js
/trunk/test/mjsunit/regress/regress-2339.js
/trunk/test/mjsunit/regress/regress-2346.js
/trunk/test/mjsunit/regress/regress-cnlt-enum-indices.js
/trunk/test/mjsunit/regress/regress-crbug-146910.js
/trunk/test/mjsunit/regress/regress-crbug-150545.js
/trunk/test/mjsunit/regress/regress-crbug-150729.js
/trunk/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js
/trunk/tools/run-tests.py
/trunk/tools/status-file-converter.py
/trunk/tools/test-server.py
/trunk/tools/testrunner
Modified:
/trunk/.gitignore
/trunk/DEPS
/trunk/Makefile
/trunk/build/common.gypi
/trunk/src/arm/assembler-arm.cc
/trunk/src/arm/assembler-arm.h
/trunk/src/arm/code-stubs-arm.cc
/trunk/src/arm/full-codegen-arm.cc
/trunk/src/arm/ic-arm.cc
/trunk/src/arm/lithium-arm.cc
/trunk/src/arm/lithium-arm.h
/trunk/src/arm/lithium-codegen-arm.cc
/trunk/src/arm/lithium-codegen-arm.h
/trunk/src/arm/macro-assembler-arm.cc
/trunk/src/arm/macro-assembler-arm.h
/trunk/src/arm/stub-cache-arm.cc
/trunk/src/ast.cc
/trunk/src/ast.h
/trunk/src/bootstrapper.cc
/trunk/src/builtins.cc
/trunk/src/code-stubs.h
/trunk/src/elements.cc
/trunk/src/factory.cc
/trunk/src/factory.h
/trunk/src/handles.cc
/trunk/src/heap.cc
/trunk/src/heap.h
/trunk/src/hydrogen-instructions.cc
/trunk/src/hydrogen-instructions.h
/trunk/src/hydrogen.cc
/trunk/src/ia32/assembler-ia32.cc
/trunk/src/ia32/assembler-ia32.h
/trunk/src/ia32/code-stubs-ia32.cc
/trunk/src/ia32/disasm-ia32.cc
/trunk/src/ia32/full-codegen-ia32.cc
/trunk/src/ia32/ic-ia32.cc
/trunk/src/ia32/lithium-codegen-ia32.cc
/trunk/src/ia32/lithium-ia32.cc
/trunk/src/ic-inl.h
/trunk/src/ic.h
/trunk/src/incremental-marking-inl.h
/trunk/src/incremental-marking.cc
/trunk/src/incremental-marking.h
/trunk/src/json-parser.h
/trunk/src/lithium.h
/trunk/src/mark-compact-inl.h
/trunk/src/mark-compact.cc
/trunk/src/mark-compact.h
/trunk/src/messages.js
/trunk/src/mips/code-stubs-mips.cc
/trunk/src/mips/full-codegen-mips.cc
/trunk/src/mips/lithium-mips.cc
/trunk/src/mips/macro-assembler-mips.cc
/trunk/src/mips/macro-assembler-mips.h
/trunk/src/objects-debug.cc
/trunk/src/objects-inl.h
/trunk/src/objects-visiting-inl.h
/trunk/src/objects-visiting.h
/trunk/src/objects.cc
/trunk/src/objects.h
/trunk/src/parser.cc
/trunk/src/parser.h
/trunk/src/runtime.cc
/trunk/src/runtime.h
/trunk/src/spaces.cc
/trunk/src/spaces.h
/trunk/src/transitions-inl.h
/trunk/src/transitions.cc
/trunk/src/transitions.h
/trunk/src/utils.h
/trunk/src/version.cc
/trunk/src/x64/code-stubs-x64.cc
/trunk/src/x64/full-codegen-x64.cc
/trunk/src/x64/ic-x64.cc
/trunk/src/x64/lithium-codegen-x64.cc
/trunk/src/x64/lithium-x64.cc
/trunk/test/benchmarks/testcfg.py
/trunk/test/cctest/cctest.h
/trunk/test/cctest/cctest.status
/trunk/test/cctest/test-alloc.cc
/trunk/test/cctest/test-api.cc
/trunk/test/cctest/test-debug.cc
/trunk/test/cctest/test-heap.cc
/trunk/test/cctest/test-sockets.cc
/trunk/test/cctest/testcfg.py
/trunk/test/es5conform/testcfg.py
/trunk/test/message/testcfg.py
/trunk/test/message/try-catch-finally-no-message.out
/trunk/test/mjsunit/compiler/regress-gvn.js
/trunk/test/mjsunit/compiler/regress-or.js
/trunk/test/mjsunit/d8-os.js
/trunk/test/mjsunit/debug-multiple-breakpoints.js
/trunk/test/mjsunit/elements-transition-hoisting.js
/trunk/test/mjsunit/greedy.js
/trunk/test/mjsunit/limit-locals.js
/trunk/test/mjsunit/mjsunit.status
/trunk/test/mjsunit/pixel-array-rounding.js
/trunk/test/mjsunit/regexp-capture-3.js
/trunk/test/mjsunit/regress/regress-1117.js
/trunk/test/mjsunit/regress/regress-2318.js
/trunk/test/mjsunit/regress/regress-crbug-119926.js
/trunk/test/mjsunit/testcfg.py
/trunk/test/mozilla/testcfg.py
/trunk/test/preparser/testcfg.py
/trunk/test/sputnik/testcfg.py
/trunk/test/test262/testcfg.py
/trunk/tools/android-build.sh
/trunk/tools/android-ll-prof.sh
/trunk/tools/android-run.py
/trunk/tools/android-sync.sh
/trunk/tools/bash-completion.sh
/trunk/tools/check-static-initializers.sh
/trunk/tools/common-includes.sh
/trunk/tools/fuzz-harness.sh
/trunk/tools/grokdump.py
/trunk/tools/merge-to-branch.sh
/trunk/tools/presubmit.py

=======================================
--- /dev/null
+++ /trunk/test/mjsunit/debug-stepout-scope.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,423 @@
+// Copyright 2011 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Flags: --expose-debug-as debug --expose-natives-as=builtins
+
+// Check that the ScopeIterator can properly recreate the scope at
+// every point when stepping through functions.
+
+var Debug = debug.Debug;
+
+function listener(event, exec_state, event_data, data) {
+ if (event == Debug.DebugEvent.Break) {
+ // Access scope details.
+ var scope_count = exec_state.frame().scopeCount();
+ for (var i = 0; i < scope_count; i++) {
+ var scope = exec_state.frame().scope(i);
+ // assertTrue(scope.isScope());
+ scope.scopeType();
+ scope.scopeObject();
+ }
+
+ // Do steps until we reach the global scope again.
+ if (true) {
+ exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
+ }
+ }
+}
+
+Debug.setListener(listener);
+
+
+function test1() {
+ debugger;
+ with ({x:1}) {
+ x = 2;
+ }
+}
+test1();
+
+
+function test2() {
+ if (true) {
+ with ({}) {
+ debugger;
+ }
+ } else {
+ with ({}) {
+ return 10;
+ }
+ }
+}
+test2();
+
+
+function test3() {
+ if (true) {
+ debugger;
+ } else {
+ with ({}) {
+ return 10;
+ }
+ }
+}
+test3();
+
+
+function test4() {
+ debugger;
+ with ({x:1}) x = 1
+}
+test4();
+
+
+function test5() {
+ debugger;
+ var dummy = 1;
+ with ({}) {
+ with ({}) {
+ dummy = 2;
+ }
+ }
+ dummy = 3;
+}
+test5();
+
+
+function test6() {
+ debugger;
+ try {
+ throw 'stuff';
+ } catch (e) {
+ e = 1;
+ }
+}
+test6();
+
+
+function test7() {
+ debugger;
+ function foo() {}
+}
+test7();
+
+
+function test8() {
+ debugger;
+ (function foo() {})();
+}
+test8();
+
+
+var q = 42;
+var prefixes = [ "debugger; ",
+ "if (false) { try { throw 0; } catch(x) { return x; } };
debugger; " ];
+var bodies = [ "1",
+ "1 ",
+ "1;",
+ "1; ",
+ "q",
+ "q ",
+ "q;",
+ "q; ",
+ "try { throw 'stuff' } catch (e) { e = 1; }",
+ "try { throw 'stuff' } catch (e) { e = 1; } ",
+ "try { throw 'stuff' } catch (e) { e = 1; };",
+ "try { throw 'stuff' } catch (e) { e = 1; }; " ];
+var with_bodies = [ "with ({}) {}",
+ "with ({x:1}) x",
+ "with ({x:1}) x = 1",
+ "with ({x:1}) x ",
+ "with ({x:1}) x = 1 ",
+ "with ({x:1}) x;",
+ "with ({x:1}) x = 1;",
+ "with ({x:1}) x; ",
+ "with ({x:1}) x = 1; " ];
+
+
+function test9() {
+ debugger;
+ for (var i = 0; i < prefixes.length; ++i) {
+ var pre = prefixes[i];
+ for (var j = 0; j < bodies.length; ++j) {
+ var body = bodies[j];
+ eval(pre + body);
+ eval("'use strict'; " + pre + body);
+ }
+ for (var j = 0; j < with_bodies.length; ++j) {
+ var body = with_bodies[j];
+ eval(pre + body);
+ }
+ }
+}
+test9();
+
+
+function test10() {
+ debugger;
+ with ({}) {
+ return 10;
+ }
+}
+test10();
+
+
+function test11() {
+ debugger;
+ try {
+ throw 'stuff';
+ } catch (e) {
+ return 10;
+ }
+}
+test11();
+
+
+// Test global eval and function constructor.
+for (var i = 0; i < prefixes.length; ++i) {
+ var pre = prefixes[i];
+ for (var j = 0; j < bodies.length; ++j) {
+ var body = bodies[j];
+ eval(pre + body);
+ eval("'use strict'; " + pre + body);
+ Function(pre + body)();
+ }
+ for (var j = 0; j < with_bodies.length; ++j) {
+ var body = with_bodies[j];
+ eval(pre + body);
+ Function(pre + body)();
+ }
+}
+
+
+try {
+ with({}) {
+ debugger;
+ eval("{}$%:^");
+ }
+} catch(e) {
+ nop();
+}
+
+// Return from function constructed with Function constructor.
+var anon = 12;
+for (var i = 0; i < prefixes.length; ++i) {
+ var pre = prefixes[i];
+ Function(pre + "return 42")();
+ Function(pre + "return 42 ")();
+ Function(pre + "return 42;")();
+ Function(pre + "return 42; ")();
+ Function(pre + "return anon")();
+ Function(pre + "return anon ")();
+ Function(pre + "return anon;")();
+ Function(pre + "return anon; ")();
+}
+
+
+function nop() {}
+
+
+function stress() {
+ debugger;
+
+ L: with ({x:12}) {
+ break L;
+ }
+
+
+ with ({x: 'outer'}) {
+ label: {
+ with ({x: 'inner'}) {
+ break label;
+ }
+ }
+ }
+
+
+ with ({x: 'outer'}) {
+ label: {
+ with ({x: 'inner'}) {
+ break label;
+ }
+ }
+ nop();
+ }
+
+
+ with ({x: 'outer'}) {
+ label: {
+ with ({x: 'middle'}) {
+ with ({x: 'inner'}) {
+ break label;
+ }
+ }
+ }
+ }
+
+
+ with ({x: 'outer'}) {
+ label: {
+ with ({x: 'middle'}) {
+ with ({x: 'inner'}) {
+ break label;
+ }
+ }
+ }
+ nop();
+ }
+
+
+ with ({x: 'outer'}) {
+ for (var i = 0; i < 3; ++i) {
+ with ({x: 'inner' + i}) {
+ continue;
+ }
+ }
+ }
+
+
+ with ({x: 'outer'}) {
+ label: for (var i = 0; i < 3; ++i) {
+ with ({x: 'middle' + i}) {
+ for (var j = 0; j < 3; ++j) {
+ with ({x: 'inner' + j}) {
+ continue label;
+ }
+ }
+ }
+ }
+ }
+
+
+ with ({x: 'outer'}) {
+ try {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ } catch (e) {
+ }
+ }
+
+
+ with ({x: 'outer'}) {
+ try {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ } catch (e) {
+ nop();
+ }
+ }
+
+
+ with ({x: 'outer'}) {
+ try {
+ with ({x: 'middle'}) {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ }
+ } catch (e) {
+ }
+ }
+
+
+ try {
+ with ({x: 'outer'}) {
+ try {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ } finally {
+ }
+ }
+ } catch (e) {
+ }
+
+
+ try {
+ with ({x: 'outer'}) {
+ try {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ } finally {
+ nop();
+ }
+ }
+ } catch (e) {
+ }
+
+
+ function stress1() {
+ with ({x:12}) {
+ return x;
+ }
+ }
+ stress1();
+
+
+ function stress2() {
+ with ({x: 'outer'}) {
+ with ({x: 'inner'}) {
+ return x;
+ }
+ }
+ }
+ stress2();
+
+ function stress3() {
+ try {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ } catch (e) {
+ return e;
+ }
+ }
+ stress3();
+
+
+ function stress4() {
+ try {
+ with ({x: 'inner'}) {
+ throw 0;
+ }
+ } catch (e) {
+ with ({x: 'inner'}) {
+ return e;
+ }
+ }
+ }
+ stress4();
+
+}
+stress();
+
+
+// With block as the last(!) statement in global code.
+with ({}) { debugger; }
=======================================
--- /dev/null
+++ /trunk/test/mjsunit/fuzz-natives.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,220 @@
+// Copyright 2011 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Flags: --allow-natives-syntax
+
+var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
+var kOnManyArgumentsRemove = 5;
+
+function makeArguments() {
+ var result = [ ];
+ result.push(17);
+ result.push(-31);
+ result.push(new Array(100));
+ result.push(new Array(100003));
+ result.push(Number.MIN_VALUE);
+ result.push("whoops");
+ result.push("x");
+ result.push({"x": 1, "y": 2});
+ var slowCaseObj = {"a": 3, "b": 4, "c": 5};
+ delete slowCaseObj.c;
+ result.push(slowCaseObj);
+ result.push(function () { return 8; });
+ return result;
+}
+
+var kArgObjects = makeArguments().length;
+
+function makeFunction(name, argc) {
+ var args = [];
+ for (var i = 0; i < argc; i++)
+ args.push("x" + i);
+ var argsStr = args.join(", ");
+ return new Function(args.join(", "), "return %" + name + "(" + argsStr
+ ");");
+}
+
+function testArgumentCount(name, argc) {
+ for (var i = 0; i < 10; i++) {
+ var func = null;
+ try {
+ func = makeFunction(name, i);
+ } catch (e) {
+ if (e != "SyntaxError: Illegal access") throw e;
+ }
+ if (func === null && i == argc) {
+ throw "unexpected exception";
+ }
+ var args = [ ];
+ for (var j = 0; j < i; j++)
+ args.push(0);
+ try {
+ func.apply(void 0, args);
+ } catch (e) {
+ // we don't care what happens as long as we don't crash
+ }
+ }
+}
+
+function testArgumentTypes(name, argc) {
+ var type = 0;
+ var hasMore = true;
+ var func = makeFunction(name, argc);
+ while (hasMore) {
+ var argPool = makeArguments();
+ // When we have 5 or more arguments we lower the amount of tests cases
+ // by randomly removing kOnManyArgumentsRemove entries
+ var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
+ kArgObjects : kArgObjects-kOnManyArgumentsRemove;
+ if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
+ for (var i = 0; i < kOnManyArgumentsRemove; i++) {
+ var rand = Math.floor(Math.random() * (kArgObjects - i));
+ argPool.splice(rand,1);
+ }
+ }
+ var current = type;
+ var hasMore = false;
+ var argList = [ ];
+ for (var i = 0; i < argc; i++) {
+ var index = current % numArguments;
+ current = (current / numArguments) << 0;
+ if (index != (numArguments - 1))
+ hasMore = true;
+ argList.push(argPool[index]);
+ }
+ try {
+ func.apply(void 0, argList);
+ } catch (e) {
+ // we don't care what happens as long as we don't crash
+ }
+ type++;
+ }
+}
+
+var knownProblems = {
+ "Abort": true,
+
+ // Avoid calling the concat operation, because weird lengths
+ // may lead to out-of-memory. Ditto for StringBuilderJoin.
+ "StringBuilderConcat": true,
+ "StringBuilderJoin": true,
+
+ // These functions use pseudo-stack-pointers and are not robust
+ // to unexpected integer values.
+ "DebugEvaluate": true,
+
+ // These functions do nontrivial error checking in recursive calls,
+ // which means that we have to propagate errors back.
+ "SetFunctionBreakPoint": true,
+ "SetScriptBreakPoint": true,
+ "PrepareStep": true,
+
+ // Too slow.
+ "DebugReferencedBy": true,
+
+ // Calling disable/enable access checks may interfere with the
+ // the rest of the tests.
+ "DisableAccessChecks": true,
+ "EnableAccessChecks": true,
+
+ // These functions should not be callable as runtime functions.
+ "NewFunctionContext": true,
+ "NewArgumentsFast": true,
+ "NewStrictArgumentsFast": true,
+ "PushWithContext": true,
+ "PushCatchContext": true,
+ "PushBlockContext": true,
+ "LazyCompile": true,
+ "LazyRecompile": true,
+ "ParallelRecompile": true,
+ "NotifyDeoptimized": true,
+ "NotifyOSR": true,
+ "CreateObjectLiteralBoilerplate": true,
+ "CloneLiteralBoilerplate": true,
+ "CloneShallowLiteralBoilerplate": true,
+ "CreateArrayLiteralBoilerplate": true,
+ "IS_VAR": true,
+ "ResolvePossiblyDirectEval": true,
+ "Log": true,
+ "DeclareGlobals": true,
+
+ "PromoteScheduledException": true,
+ "DeleteHandleScopeExtensions": true,
+
+ // Vararg with minimum number > 0.
+ "Call": true,
+
+ // Requires integer arguments to be non-negative.
+ "Apply": true,
+
+ // That can only be invoked on Array.prototype.
+ "FinishArrayPrototypeSetup": true,
+
+ "_SwapElements": true,
+
+ // Performance critical functions which cannot afford type checks.
+ "_IsNativeOrStrictMode": true,
+ "_CallFunction": true,
+
+ // Tries to allocate based on argument, and (correctly) throws
+ // out-of-memory if the request is too large. In practice, the
+ // size will be the number of captures of a RegExp.
+ "RegExpConstructResult": true,
+ "_RegExpConstructResult": true,
+
+ // This functions perform some checks compile time (they require one of
their
+ // arguments to be a compile time smi).
+ "_DateField": true,
+ "_GetFromCache": true,
+
+ // This function expects its first argument to be a non-smi.
+ "_IsStringWrapperSafeForDefaultValueOf" : true,
+
+ // Only applicable to strings.
+ "_HasCachedArrayIndex": true,
+ "_GetCachedArrayIndex": true
+};
+
+var currentlyUncallable = {
+ // We need to find a way to test this without breaking the system.
+ "SystemBreak": true
+};
+
+function testNatives() {
+ var allNatives = %ListNatives();
+ for (var i = 0; i < allNatives.length; i++) {
+ var nativeInfo = allNatives[i];
+ var name = nativeInfo[0];
+ if (name in knownProblems || name in currentlyUncallable)
+ continue;
+ print(name);
+ var argc = nativeInfo[1];
+ testArgumentCount(name, argc);
+ testArgumentTypes(name, argc);
+ }
+}
+
+testNatives();
=======================================
--- /dev/null
+++ /trunk/test/mjsunit/math-floor.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,159 @@
+// Copyright 2011 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Flags: --max-new-space-size=256 --allow-natives-syntax
+
+var test_id = 0;
+
+function testFloor(expect, input) {
+ var test = new Function('n',
+ '"' + (test_id++) + '";return Math.floor(n)');
+ assertEquals(expect, test(input));
+ assertEquals(expect, test(input));
+ assertEquals(expect, test(input));
+ %OptimizeFunctionOnNextCall(test);
+ assertEquals(expect, test(input));
+}
+
+function zero() {
+ var x = 0.5;
+ return (function() { return x - 0.5; })();
+}
+
+function test() {
+ testFloor(0, 0);
+ testFloor(0, zero());
+ testFloor(-0, -0);
+ testFloor(Infinity, Infinity);
+ testFloor(-Infinity, -Infinity);
+ testFloor(NaN, NaN);
+
+ // Ensure that a negative zero coming from Math.floor is properly handled
+ // by other operations.
+ function ifloor(x) {
+ return 1 / Math.floor(x);
+ }
+ assertEquals(-Infinity, ifloor(-0));
+ assertEquals(-Infinity, ifloor(-0));
+ assertEquals(-Infinity, ifloor(-0));
+ %OptimizeFunctionOnNextCall(ifloor);
+ assertEquals(-Infinity, ifloor(-0));
+
+ testFloor(0, 0.1);
+ testFloor(0, 0.49999999999999994);
+ testFloor(0, 0.5);
+ testFloor(0, 0.7);
+ testFloor(-1, -0.1);
+ testFloor(-1, -0.49999999999999994);
+ testFloor(-1, -0.5);
+ testFloor(-1, -0.7);
+ testFloor(1, 1);
+ testFloor(1, 1.1);
+ testFloor(1, 1.5);
+ testFloor(1, 1.7);
+ testFloor(-1, -1);
+ testFloor(-2, -1.1);
+ testFloor(-2, -1.5);
+ testFloor(-2, -1.7);
+
+ testFloor(0, Number.MIN_VALUE);
+ testFloor(-1, -Number.MIN_VALUE);
+ testFloor(Number.MAX_VALUE, Number.MAX_VALUE);
+ testFloor(-Number.MAX_VALUE, -Number.MAX_VALUE);
+ testFloor(Infinity, Infinity);
+ testFloor(-Infinity, -Infinity);
+
+ // 2^30 is a smi boundary.
+ var two_30 = 1 << 30;
+
+ testFloor(two_30, two_30);
+ testFloor(two_30, two_30 + 0.1);
+ testFloor(two_30, two_30 + 0.5);
+ testFloor(two_30, two_30 + 0.7);
+
+ testFloor(two_30 - 1, two_30 - 1);
+ testFloor(two_30 - 1, two_30 - 1 + 0.1);
+ testFloor(two_30 - 1, two_30 - 1 + 0.5);
+ testFloor(two_30 - 1, two_30 - 1 + 0.7);
+
+ testFloor(-two_30, -two_30);
+ testFloor(-two_30, -two_30 + 0.1);
+ testFloor(-two_30, -two_30 + 0.5);
+ testFloor(-two_30, -two_30 + 0.7);
+
+ testFloor(-two_30 + 1, -two_30 + 1);
+ testFloor(-two_30 + 1, -two_30 + 1 + 0.1);
+ testFloor(-two_30 + 1, -two_30 + 1 + 0.5);
+ testFloor(-two_30 + 1, -two_30 + 1 + 0.7);
+
+ // 2^52 is a precision boundary.
+ var two_52 = (1 << 30) * (1 << 22);
+
+ testFloor(two_52, two_52);
+ testFloor(two_52, two_52 + 0.1);
+ assertEquals(two_52, two_52 + 0.5);
+ testFloor(two_52, two_52 + 0.5);
+ assertEquals(two_52 + 1, two_52 + 0.7);
+ testFloor(two_52 + 1, two_52 + 0.7);
+
+ testFloor(two_52 - 1, two_52 - 1);
+ testFloor(two_52 - 1, two_52 - 1 + 0.1);
+ testFloor(two_52 - 1, two_52 - 1 + 0.5);
+ testFloor(two_52 - 1, two_52 - 1 + 0.7);
+
+ testFloor(-two_52, -two_52);
+ testFloor(-two_52, -two_52 + 0.1);
+ testFloor(-two_52, -two_52 + 0.5);
+ testFloor(-two_52, -two_52 + 0.7);
+
+ testFloor(-two_52 + 1, -two_52 + 1);
+ testFloor(-two_52 + 1, -two_52 + 1 + 0.1);
+ testFloor(-two_52 + 1, -two_52 + 1 + 0.5);
+ testFloor(-two_52 + 1, -two_52 + 1 + 0.7);
+}
+
+
+// Test in a loop to cover the custom IC and GC-related issues.
+for (var i = 0; i < 500; i++) {
+ test();
+}
+
+
+// Regression test for a bug where a negative zero coming from Math.floor
+// was not properly handled by other operations.
+function floorsum(i, n) {
+ var ret = Math.floor(n);
+ while (--i > 0) {
+ ret += Math.floor(n);
+ }
+ return ret;
+}
+assertEquals(-0, floorsum(1, -0));
+%OptimizeFunctionOnNextCall(floorsum);
+// The optimized function will deopt. Run it with enough iterations to try
+// to optimize via OSR (triggering the bug).
+assertEquals(-0, floorsum(100000, -0));
=======================================
--- /dev/null
+++ /trunk/test/mjsunit/mul-exhaustive.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,4629 @@
+// Copyright 2008 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+var x;
+
+// Converts a number to string respecting -0.
+function stringify(n) {
+ if ((1 / n) === -Infinity) return "-0";
+ return String(n);
+}
+
+function f(expected, y) {
+ function testEval(string, x, y) {
+ var mulFunction = Function("x, y", "return " + string);
+ return mulFunction(x, y);
+ }
+ function mulTest(expected, x, y) {
+ assertEquals(expected, x * y);
+ assertEquals(expected, testEval(stringify(x) + " * y", x, y));
+ assertEquals(expected, testEval("x * " + stringify(y), x, y));
+ assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
+ }
+ mulTest(expected, x, y);
+ mulTest(-expected, -x, y);
+ mulTest(-expected, x, -y);
+ mulTest(expected, -x, -y);
+ if (x === y) return; // Symmetric cases not necessary.
+ mulTest(expected, y, x);
+ mulTest(-expected, -y, x);
+ mulTest(-expected, y, -x);
+ mulTest(expected, -y, -x);
+}
+
+x = 0;
+f(0, 0);
+x = 1;
+f(0, 0);
+f(1, 1);
+x = 2;
+f(0, 0);
+f(2, 1);
+f(4, 2);
+x = 3;
+f(0, 0);
+f(3, 1);
+f(6, 2);
+f(9, 3);
+x = 4;
+f(0, 0);
+f(4, 1);
+f(8, 2);
+f(12, 3);
+f(16, 4);
+x = 5;
+f(0, 0);
+f(5, 1);
+f(10, 2);
+f(15, 3);
+f(20, 4);
+f(25, 5);
+x = 7;
+f(0, 0);
+f(7, 1);
+f(14, 2);
+f(21, 3);
+f(28, 4);
+f(35, 5);
+f(49, 7);
+x = 8;
+f(0, 0);
+f(8, 1);
+f(16, 2);
+f(24, 3);
+f(32, 4);
+f(40, 5);
+f(56, 7);
+f(64, 8);
+x = 9;
+f(0, 0);
+f(9, 1);
+f(18, 2);
+f(27, 3);
+f(36, 4);
+f(45, 5);
+f(63, 7);
+f(72, 8);
+f(81, 9);
+x = 15;
+f(0, 0);
+f(15, 1);
+f(30, 2);
+f(45, 3);
+f(60, 4);
+f(75, 5);
+f(105, 7);
+f(120, 8);
+f(135, 9);
+f(225, 15);
+x = 16;
+f(0, 0);
+f(16, 1);
+f(32, 2);
+f(48, 3);
+f(64, 4);
+f(80, 5);
+f(112, 7);
+f(128, 8);
+f(144, 9);
+f(240, 15);
+f(256, 16);
+x = 17;
+f(0, 0);
+f(17, 1);
+f(34, 2);
+f(51, 3);
+f(68, 4);
+f(85, 5);
+f(119, 7);
+f(136, 8);
+f(153, 9);
+f(255, 15);
+f(272, 16);
+f(289, 17);
+x = 31;
+f(0, 0);
+f(31, 1);
+f(62, 2);
+f(93, 3);
+f(124, 4);
+f(155, 5);
+f(217, 7);
+f(248, 8);
+f(279, 9);
+f(465, 15);
+f(496, 16);
+f(527, 17);
+f(961, 31);
+x = 32;
+f(0, 0);
+f(32, 1);
+f(64, 2);
+f(96, 3);
+f(128, 4);
+f(160, 5);
+f(224, 7);
+f(256, 8);
+f(288, 9);
+f(480, 15);
+f(512, 16);
+f(544, 17);
+f(992, 31);
+f(1024, 32);
+x = 33;
+f(0, 0);
+f(33, 1);
+f(66, 2);
+f(99, 3);
+f(132, 4);
+f(165, 5);
+f(231, 7);
+f(264, 8);
+f(297, 9);
+f(495, 15);
+f(528, 16);
+f(561, 17);
+f(1023, 31);
+f(1056, 32);
+f(1089, 33);
+x = 63;
+f(0, 0);
+f(63, 1);
+f(126, 2);
+f(189, 3);
+f(252, 4);
+f(315, 5);
+f(441, 7);
+f(504, 8);
+f(567, 9);
+f(945, 15);
+f(1008, 16);
+f(1071, 17);
+f(1953, 31);
+f(2016, 32);
+f(2079, 33);
+f(3969, 63);
+x = 64;
+f(0, 0);
+f(64, 1);
+f(128, 2);
+f(192, 3);
+f(256, 4);
+f(320, 5);
+f(448, 7);
+f(512, 8);
+f(576, 9);
+f(960, 15);
+f(1024, 16);
+f(1088, 17);
+f(1984, 31);
+f(2048, 32);
+f(2112, 33);
+f(4032, 63);
+f(4096, 64);
+x = 65;
+f(0, 0);
+f(65, 1);
+f(130, 2);
+f(195, 3);
+f(260, 4);
+f(325, 5);
+f(455, 7);
+f(520, 8);
+f(585, 9);
+f(975, 15);
+f(1040, 16);
+f(1105, 17);
+f(2015, 31);
+f(2080, 32);
+f(2145, 33);
+f(4095, 63);
+f(4160, 64);
+f(4225, 65);
+x = 127;
+f(0, 0);
+f(127, 1);
+f(254, 2);
+f(381, 3);
+f(508, 4);
+f(635, 5);
+f(889, 7);
+f(1016, 8);
+f(1143, 9);
+f(1905, 15);
+f(2032, 16);
+f(2159, 17);
+f(3937, 31);
+f(4064, 32);
+f(4191, 33);
+f(8001, 63);
+f(8128, 64);
+f(8255, 65);
+f(16129, 127);
+x = 128;
+f(0, 0);
+f(128, 1);
+f(256, 2);
+f(384, 3);
+f(512, 4);
+f(640, 5);
+f(896, 7);
+f(1024, 8);
+f(1152, 9);
+f(1920, 15);
+f(2048, 16);
+f(2176, 17);
+f(3968, 31);
+f(4096, 32);
+f(4224, 33);
+f(8064, 63);
+f(8192, 64);
+f(8320, 65);
+f(16256, 127);
+f(16384, 128);
+x = 129;
+f(0, 0);
+f(129, 1);
+f(258, 2);
+f(387, 3);
+f(516, 4);
+f(645, 5);
+f(903, 7);
+f(1032, 8);
+f(1161, 9);
+f(1935, 15);
+f(2064, 16);
+f(2193, 17);
+f(3999, 31);
+f(4128, 32);
+f(4257, 33);
+f(8127, 63);
+f(8256, 64);
+f(8385, 65);
+f(16383, 127);
+f(16512, 128);
+f(16641, 129);
+x = 255;
+f(0, 0);
+f(255, 1);
+f(510, 2);
+f(765, 3);
+f(1020, 4);
+f(1275, 5);
+f(1785, 7);
+f(2040, 8);
+f(2295, 9);
+f(3825, 15);
+f(4080, 16);
+f(4335, 17);
+f(7905, 31);
+f(8160, 32);
+f(8415, 33);
+f(16065, 63);
+f(16320, 64);
+f(16575, 65);
+f(32385, 127);
+f(32640, 128);
+f(32895, 129);
+f(65025, 255);
+x = 256;
+f(0, 0);
+f(256, 1);
+f(512, 2);
+f(768, 3);
+f(1024, 4);
+f(1280, 5);
+f(1792, 7);
+f(2048, 8);
+f(2304, 9);
+f(3840, 15);
+f(4096, 16);
+f(4352, 17);
+f(7936, 31);
+f(8192, 32);
+f(8448, 33);
+f(16128, 63);
+f(16384, 64);
+f(16640, 65);
+f(32512, 127);
+f(32768, 128);
+f(33024, 129);
+f(65280, 255);
+f(65536, 256);
+x = 257;
+f(0, 0);
+f(257, 1);
+f(514, 2);
+f(771, 3);
+f(1028, 4);
+f(1285, 5);
+f(1799, 7);
+f(2056, 8);
+f(2313, 9);
+f(3855, 15);
+f(4112, 16);
+f(4369, 17);
+f(7967, 31);
+f(8224, 32);
+f(8481, 33);
+f(16191, 63);
+f(16448, 64);
+f(16705, 65);
+f(32639, 127);
+f(32896, 128);
+f(33153, 129);
+f(65535, 255);
+f(65792, 256);
+f(66049, 257);
+x = 511;
+f(0, 0);
+f(511, 1);
+f(1022, 2);
+f(1533, 3);
+f(2044, 4);
+f(2555, 5);
+f(3577, 7);
+f(4088, 8);
+f(4599, 9);
+f(7665, 15);
+f(8176, 16);
+f(8687, 17);
+f(15841, 31);
+f(16352, 32);
+f(16863, 33);
+f(32193, 63);
+f(32704, 64);
+f(33215, 65);
+f(64897, 127);
+f(65408, 128);
+f(65919, 129);
+f(130305, 255);
+f(130816, 256);
+f(131327, 257);
+f(261121, 511);
+x = 512;
+f(0, 0);
+f(512, 1);
+f(1024, 2);
+f(1536, 3);
+f(2048, 4);
+f(2560, 5);
+f(3584, 7);
+f(4096, 8);
+f(4608, 9);
+f(7680, 15);
+f(8192, 16);
+f(8704, 17);
+f(15872, 31);
+f(16384, 32);
+f(16896, 33);
+f(32256, 63);
+f(32768, 64);
+f(33280, 65);
+f(65024, 127);
+f(65536, 128);
+f(66048, 129);
+f(130560, 255);
+f(131072, 256);
+f(131584, 257);
+f(261632, 511);
+f(262144, 512);
+x = 513;
+f(0, 0);
+f(513, 1);
+f(1026, 2);
+f(1539, 3);
+f(2052, 4);
+f(2565, 5);
+f(3591, 7);
+f(4104, 8);
+f(4617, 9);
+f(7695, 15);
+f(8208, 16);
+f(8721, 17);
+f(15903, 31);
+f(16416, 32);
+f(16929, 33);
+f(32319, 63);
+f(32832, 64);
+f(33345, 65);
+f(65151, 127);
+f(65664, 128);
+f(66177, 129);
+f(130815, 255);
+f(131328, 256);
+f(131841, 257);
+f(262143, 511);
+f(262656, 512);
+f(263169, 513);
+x = 1023;
+f(0, 0);
+f(1023, 1);
+f(2046, 2);
+f(3069, 3);
+f(4092, 4);
+f(5115, 5);
+f(7161, 7);
+f(8184, 8);
+f(9207, 9);
+f(15345, 15);
+f(16368, 16);
+f(17391, 17);
+f(31713, 31);
+f(32736, 32);
+f(33759, 33);
+f(64449, 63);
+f(65472, 64);
+f(66495, 65);
+f(129921, 127);
+f(130944, 128);
+f(131967, 129);
+f(260865, 255);
+f(261888, 256);
+f(262911, 257);
+f(522753, 511);
+f(523776, 512);
+f(524799, 513);
+f(1046529, 1023);
+x = 1024;
+f(0, 0);
+f(1024, 1);
+f(2048, 2);
+f(3072, 3);
+f(4096, 4);
+f(5120, 5);
+f(7168, 7);
+f(8192, 8);
+f(9216, 9);
+f(15360, 15);
+f(16384, 16);
+f(17408, 17);
+f(31744, 31);
+f(32768, 32);
+f(33792, 33);
+f(64512, 63);
+f(65536, 64);
+f(66560, 65);
+f(130048, 127);
+f(131072, 128);
+f(132096, 129);
+f(261120, 255);
+f(262144, 256);
+f(263168, 257);
+f(523264, 511);
+f(524288, 512);
+f(525312, 513);
+f(1047552, 1023);
+f(1048576, 1024);
+x = 1025;
+f(0, 0);
+f(1025, 1);
+f(2050, 2);
+f(3075, 3);
+f(4100, 4);
+f(5125, 5);
+f(7175, 7);
+f(8200, 8);
+f(9225, 9);
+f(15375, 15);
+f(16400, 16);
+f(17425, 17);
+f(31775, 31);
+f(32800, 32);
+f(33825, 33);
+f(64575, 63);
+f(65600, 64);
+f(66625, 65);
+f(130175, 127);
+f(131200, 128);
+f(132225, 129);
+f(261375, 255);
+f(262400, 256);
+f(263425, 257);
+f(523775, 511);
+f(524800, 512);
+f(525825, 513);
+f(1048575, 1023);
+f(1049600, 1024);
+f(1050625, 1025);
+x = 2047;
+f(0, 0);
+f(2047, 1);
+f(4094, 2);
+f(6141, 3);
+f(8188, 4);
+f(10235, 5);
+f(14329, 7);
+f(16376, 8);
+f(18423, 9);
+f(30705, 15);
+f(32752, 16);
+f(34799, 17);
+f(63457, 31);
+f(65504, 32);
+f(67551, 33);
+f(128961, 63);
+f(131008, 64);
+f(133055, 65);
+f(259969, 127);
+f(262016, 128);
+f(264063, 129);
+f(521985, 255);
+f(524032, 256);
+f(526079, 257);
+f(1046017, 511);
+f(1048064, 512);
+f(1050111, 513);
+f(2094081, 1023);
+f(2096128, 1024);
+f(2098175, 1025);
+f(4190209, 2047);
+x = 2048;
+f(0, 0);
+f(2048, 1);
+f(4096, 2);
+f(6144, 3);
+f(8192, 4);
+f(10240, 5);
+f(14336, 7);
+f(16384, 8);
+f(18432, 9);
+f(30720, 15);
+f(32768, 16);
+f(34816, 17);
+f(63488, 31);
+f(65536, 32);
+f(67584, 33);
+f(129024, 63);
+f(131072, 64);
+f(133120, 65);
+f(260096, 127);
+f(262144, 128);
+f(264192, 129);
+f(522240, 255);
+f(524288, 256);
+f(526336, 257);
+f(1046528, 511);
+f(1048576, 512);
+f(1050624, 513);
+f(2095104, 1023);
+f(2097152, 1024);
+f(2099200, 1025);
+f(4192256, 2047);
+f(4194304, 2048);
+x = 2049;
+f(0, 0);
+f(2049, 1);
+f(4098, 2);
+f(6147, 3);
+f(8196, 4);
+f(10245, 5);
+f(14343, 7);
+f(16392, 8);
+f(18441, 9);
+f(30735, 15);
+f(32784, 16);
+f(34833, 17);
+f(63519, 31);
+f(65568, 32);
+f(67617, 33);
+f(129087, 63);
+f(131136, 64);
+f(133185, 65);
+f(260223, 127);
+f(262272, 128);
+f(264321, 129);
+f(522495, 255);
+f(524544, 256);
+f(526593, 257);
+f(1047039, 511);
+f(1049088, 512);
+f(1051137, 513);
+f(2096127, 1023);
+f(2098176, 1024);
+f(2100225, 1025);
+f(4194303, 2047);
+f(4196352, 2048);
+f(4198401, 2049);
+x = 4095;
+f(0, 0);
+f(4095, 1);
+f(8190, 2);
+f(12285, 3);
+f(16380, 4);
+f(20475, 5);
+f(28665, 7);
+f(32760, 8);
+f(36855, 9);
+f(61425, 15);
+f(65520, 16);
+f(69615, 17);
+f(126945, 31);
+f(131040, 32);
+f(135135, 33);
+f(257985, 63);
+f(262080, 64);
+f(266175, 65);
+f(520065, 127);
+f(524160, 128);
+f(528255, 129);
+f(1044225, 255);
+f(1048320, 256);
+f(1052415, 257);
+f(2092545, 511);
+f(2096640, 512);
+f(2100735, 513);
+f(4189185, 1023);
+f(4193280, 1024);
+f(4197375, 1025);
+f(8382465, 2047);
+f(8386560, 2048);
+f(8390655, 2049);
+f(16769025, 4095);
+x = 4096;
+f(0, 0);
+f(4096, 1);
+f(8192, 2);
+f(12288, 3);
+f(16384, 4);
+f(20480, 5);
+f(28672, 7);
+f(32768, 8);
+f(36864, 9);
+f(61440, 15);
+f(65536, 16);
+f(69632, 17);
+f(126976, 31);
+f(131072, 32);
+f(135168, 33);
+f(258048, 63);
+f(262144, 64);
+f(266240, 65);
+f(520192, 127);
+f(524288, 128);
+f(528384, 129);
+f(1044480, 255);
+f(1048576, 256);
+f(1052672, 257);
+f(2093056, 511);
+f(2097152, 512);
+f(2101248, 513);
+f(4190208, 1023);
+f(4194304, 1024);
+f(4198400, 1025);
+f(8384512, 2047);
+f(8388608, 2048);
+f(8392704, 2049);
+f(16773120, 4095);
+f(16777216, 4096);
+x = 4097;
+f(0, 0);
+f(4097, 1);
+f(8194, 2);
+f(12291, 3);
+f(16388, 4);
+f(20485, 5);
+f(28679, 7);
+f(32776, 8);
+f(36873, 9);
+f(61455, 15);
+f(65552, 16);
+f(69649, 17);
+f(127007, 31);
+f(131104, 32);
+f(135201, 33);
+f(258111, 63);
+f(262208, 64);
+f(266305, 65);
+f(520319, 127);
+f(524416, 128);
+f(528513, 129);
+f(1044735, 255);
+f(1048832, 256);
+f(1052929, 257);
+f(2093567, 511);
+f(2097664, 512);
+f(2101761, 513);
+f(4191231, 1023);
+f(4195328, 1024);
+f(4199425, 1025);
+f(8386559, 2047);
+f(8390656, 2048);
+f(8394753, 2049);
+f(16777215, 4095);
+f(16781312, 4096);
+f(16785409, 4097);
+x = 8191;
+f(0, 0);
+f(8191, 1);
+f(16382, 2);
+f(24573, 3);
+f(32764, 4);
+f(40955, 5);
+f(57337, 7);
+f(65528, 8);
+f(73719, 9);
+f(122865, 15);
+f(131056, 16);
+f(139247, 17);
+f(253921, 31);
+f(262112, 32);
+f(270303, 33);
+f(516033, 63);
+f(524224, 64);
+f(532415, 65);
+f(1040257, 127);
+f(1048448, 128);
+f(1056639, 129);
+f(2088705, 255);
+f(2096896, 256);
+f(2105087, 257);
+f(4185601, 511);
+f(4193792, 512);
+f(4201983, 513);
+f(8379393, 1023);
+f(8387584, 1024);
+f(8395775, 1025);
+f(16766977, 2047);
+f(16775168, 2048);
+f(16783359, 2049);
+f(33542145, 4095);
+f(33550336, 4096);
+f(33558527, 4097);
+f(67092481, 8191);
+x = 8192;
+f(0, 0);
+f(8192, 1);
+f(16384, 2);
+f(24576, 3);
+f(32768, 4);
+f(40960, 5);
+f(57344, 7);
+f(65536, 8);
+f(73728, 9);
+f(122880, 15);
+f(131072, 16);
+f(139264, 17);
+f(253952, 31);
+f(262144, 32);
+f(270336, 33);
+f(516096, 63);
+f(524288, 64);
+f(532480, 65);
+f(1040384, 127);
+f(1048576, 128);
+f(1056768, 129);
+f(2088960, 255);
+f(2097152, 256);
+f(2105344, 257);
+f(4186112, 511);
+f(4194304, 512);
+f(4202496, 513);
+f(8380416, 1023);
+f(8388608, 1024);
+f(8396800, 1025);
+f(16769024, 2047);
+f(16777216, 2048);
+f(16785408, 2049);
+f(33546240, 4095);
+f(33554432, 4096);
+f(33562624, 4097);
+f(67100672, 8191);
+f(67108864, 8192);
+x = 8193;
+f(0, 0);
+f(8193, 1);
+f(16386, 2);
+f(24579, 3);
+f(32772, 4);
+f(40965, 5);
+f(57351, 7);
+f(65544, 8);
+f(73737, 9);
+f(122895, 15);
+f(131088, 16);
+f(139281, 17);
+f(253983, 31);
+f(262176, 32);
+f(270369, 33);
+f(516159, 63);
+f(524352, 64);
+f(532545, 65);
+f(1040511, 127);
+f(1048704, 128);
+f(1056897, 129);
+f(2089215, 255);
+f(2097408, 256);
+f(2105601, 257);
+f(4186623, 511);
+f(4194816, 512);
+f(4203009, 513);
+f(8381439, 1023);
+f(8389632, 1024);
+f(8397825, 1025);
+f(16771071, 2047);
+f(16779264, 2048);
+f(16787457, 2049);
+f(33550335, 4095);
+f(33558528, 4096);
+f(33566721, 4097);
+f(67108863, 8191);
+f(67117056, 8192);
+f(67125249, 8193);
+x = 16383;
+f(0, 0);
+f(16383, 1);
+f(32766, 2);
+f(49149, 3);
+f(65532, 4);
+f(81915, 5);
+f(114681, 7);
+f(131064, 8);
+f(147447, 9);
+f(245745, 15);
+f(262128, 16);
+f(278511, 17);
+f(507873, 31);
+f(524256, 32);
+f(540639, 33);
+f(1032129, 63);
+f(1048512, 64);
+f(1064895, 65);
+f(2080641, 127);
+f(2097024, 128);
+f(2113407, 129);
+f(4177665, 255);
+f(4194048, 256);
+f(4210431, 257);
+f(8371713, 511);
+f(8388096, 512);
+f(8404479, 513);
+f(16759809, 1023);
+f(16776192, 1024);
+f(16792575, 1025);
+f(33536001, 2047);
+f(33552384, 2048);
+f(33568767, 2049);
+f(67088385, 4095);
+f(67104768, 4096);
+f(67121151, 4097);
+f(134193153, 8191);
+f(134209536, 8192);
+f(134225919, 8193);
+f(268402689, 16383);
+x = 16384;
+f(0, 0);
+f(16384, 1);
+f(32768, 2);
+f(49152, 3);
+f(65536, 4);
+f(81920, 5);
+f(114688, 7);
+f(131072, 8);
+f(147456, 9);
+f(245760, 15);
+f(262144, 16);
+f(278528, 17);
+f(507904, 31);
+f(524288, 32);
+f(540672, 33);
+f(1032192, 63);
+f(1048576, 64);
+f(1064960, 65);
+f(2080768, 127);
+f(2097152, 128);
+f(2113536, 129);
+f(4177920, 255);
+f(4194304, 256);
+f(4210688, 257);
+f(8372224, 511);
+f(8388608, 512);
+f(8404992, 513);
+f(16760832, 1023);
+f(16777216, 1024);
+f(16793600, 1025);
+f(33538048, 2047);
+f(33554432, 2048);
+f(33570816, 2049);
+f(67092480, 4095);
+f(67108864, 4096);
+f(67125248, 4097);
+f(134201344, 8191);
+f(134217728, 8192);
+f(134234112, 8193);
+f(268419072, 16383);
+f(268435456, 16384);
+x = 16385;
+f(0, 0);
+f(16385, 1);
+f(32770, 2);
+f(49155, 3);
+f(65540, 4);
+f(81925, 5);
+f(114695, 7);
+f(131080, 8);
+f(147465, 9);
+f(245775, 15);
+f(262160, 16);
+f(278545, 17);
+f(507935, 31);
+f(524320, 32);
+f(540705, 33);
+f(1032255, 63);
+f(1048640, 64);
+f(1065025, 65);
+f(2080895, 127);
+f(2097280, 128);
+f(2113665, 129);
+f(4178175, 255);
+f(4194560, 256);
+f(4210945, 257);
+f(8372735, 511);
+f(8389120, 512);
+f(8405505, 513);
+f(16761855, 1023);
+f(16778240, 1024);
+f(16794625, 1025);
+f(33540095, 2047);
+f(33556480, 2048);
+f(33572865, 2049);
+f(67096575, 4095);
+f(67112960, 4096);
+f(67129345, 4097);
+f(134209535, 8191);
+f(134225920, 8192);
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/test/mjsunit/numops-fuzz.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,4609 @@
+// Copyright 2011 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+function f() {
+ var x = 0;
+ var tmp = 0;
+ assertEquals(0, x /= (tmp = 798469700.4090232, tmp));
+ assertEquals(0, x *= (2714102322.365509));
+ assertEquals(0, x *= x);
+ assertEquals(139516372, x -= (tmp = -139516372, tmp));
+ assertEquals(1, x /= (x%(2620399703.344006)));
+ assertEquals(0, x >>>= x);
+ assertEquals(-2772151192.8633175, x -= (tmp = 2772151192.8633175, tmp));
+ assertEquals(-2786298206.8633175, x -= (14147014));
+ assertEquals(1509750523, x |= ((1073767916)-(tmp = 919311632.2789925,
tmp)));
+ assertEquals(2262404051.926751, x += ((752653528.9267509)%x));
+ assertEquals(-270926893, x |= (tmp = 1837232194, tmp));
+ assertEquals(0.17730273401688765, x /= ((tmp = -2657202795, tmp)-(((((x|
(tmp = -1187733892.282897,
tmp))-x)<<(556523578))-x)+(-57905508.42881298))));
+ assertEquals(122483.56550261026, x *= ((((tmp = 2570017060.15193,
tmp)%((-1862621126.9968336)>>x))>>(x>>(tmp = 2388674677,
tmp)))>>>(-2919657526.470434)));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x <<= (tmp = 2705124845.0455265, tmp));
+ assertEquals(0, x &= (-135286835.07069612));
+ assertEquals(-0, x *= ((tmp = -165810479.10020828, tmp)|x));
+ assertEquals(248741888, x +=
((735976871.1308595)<<(-2608055185.0700903)));
+ assertEquals(139526144, x &= (tmp = -1454301068, tmp));
+ assertEquals(-0.047221345672746884, x /= (tmp = -2954726130.994727,
tmp));
+ assertEquals(0, x <<= (x>>x));
+ assertEquals(0, x >>>= ((x+(912111201.488966))-(tmp =
1405800042.6070075, tmp)));
+ assertEquals(-1663642733, x |= (((-1663642733.5700119)<<(x^x))<<x));
+ assertEquals(-914358272, x <<=
((((-308411676)-(-618261840.9113789))%(-68488626.58621716))-x));
+ assertEquals(-1996488704, x &= (-1358622641.5848842));
+ assertEquals(-345978263, x += (1650510441));
+ assertEquals(3, x >>>= (-1106714178.701668));
+ assertEquals(1, x %= (((x>>(x>>(tmp = -3052773846.817114, tmp)))*(tmp =
1659218887.379526, tmp))&x));
+ assertEquals(-943225672, x += (-943225673));
+ assertEquals(-0.41714300120060854, x /= (tmp = 2261156652, tmp));
+ assertEquals(0, x >>>= ((3107060934.8863482)<<(tmp = 1902730887, tmp)));
+ assertEquals(0, x &= x);
+ assertEquals(1476628, x |= ((tmp = -2782899841.390033,
tmp)>>>(2097653770)));
+ assertEquals(0.0008887648921591833, x /= ((tmp = 1661438264.5253348,
tmp)%((tmp = 2555939813, tmp)*(-877024323.6515315))));
+ assertEquals(0, x <<= (tmp = -2366551345, tmp));
+ assertEquals(0, x &= (tmp = 1742843591, tmp));
+ assertEquals(0, x -= x);
+ assertEquals(4239, x += ((-3183564176.232031)>>>(349622674.1255014)));
+ assertEquals(-67560, x -= ((2352742295)>>>x));
+ assertEquals(-67560, x &= x);
+ assertEquals(-0.00003219917807302283, x /= (2098190203.699741));
+ assertEquals(0, x -= x);
+ assertEquals(0, x >>= ((((tmp = -869086522.8358297,
tmp)/(187820779))-(tmp = -2000970995.1931965, tmp))|(1853528755.6064696)));
+ assertEquals(0, x >>= (-3040509919));
+ assertEquals(0, x %= (((tmp = -2386688049.194946, tmp)<<(tmp =
-669711391, tmp))|x));
+ assertEquals(0, x %= (tmp = -298431511.4839926, tmp));
+ assertEquals(0, x /= (2830845091.2793818));
+ assertEquals(0, x /= ((((-2529926178)|x)^((tmp = 2139313707.0894063,
tmp)%((-1825768525.0541775)-(-952600362.7758243))))+x));
+ assertEquals(NaN, x /= x);
+ assertEquals(NaN, x -= x);
+ assertEquals(NaN, x /= (tmp = -432944480, tmp));
+ assertEquals(0, x <<=
(((((x^((-1777523727)+(2194962794)))>>>(((((-590335134.8224905)%(x*(2198198974)))|
(tmp = -2068556796, tmp))/(1060765637))*(-147051676)))/((tmp =
-477350113.92686677, tmp)<<((x/(2018712621.0397925))^((tmp =
491163813.3921983, tmp)+(((x|
((((x%(1990073256.812654))%((-2024388518.9599915)>>((tmp = 223182187,
tmp)*(-722241065))))>>>(tmp = 2517147885.305745,
tmp))%(1189996239.11222)))&x)%(-306932860))))))&((tmp = 1117802724.485684,
tmp)+((-1391614045)-x)))%((((x>>((2958453447)*x))^(((410825859)|(((tmp =
-1119269292.5495896, tmp)>>>(((((((x%(tmp = 648541746.6059314,
tmp))*((-2304508480)<<((((x^(1408199888.1454597))|((251623937)|
x))/((-382389946.9984102)|(tmp = -2082681143.5893767, tmp)))-(((tmp =
631243472, tmp)>>>(1407556544))/(((x>>>x)>>>(tmp = -6329025.47865057,
tmp))>>>(tmp = 948664752.543093,
tmp))))))/((((-183248880)>>x)&x)&x))>>x)&(((-978737284.8492057)%(tmp =
2983300011.737006, tmp))&(tmp = 2641937234.2954116,
tmp)))<<x)>>(2795416632.9722223)))%((((tmp = -50926632, tmp)/x)&(((tmp =
-2510786916, tmp)/x)/(-699755674)))|((((tmp = 1411792593,
tmp)>>(924286570.2637128))>>((1609997725)>>(2735658951.0762663)))*(tmp =
726205435, tmp)))))<<(tmp = -2135055357.3156831, tmp)))/(tmp = 1408695065,
tmp))^(tmp = -1343267739.8562133, tmp))));
+ assertEquals(0, x %= (-437232116));
+ assertEquals(-2463314518.2747326, x -= (2463314518.2747326));
+ assertEquals(109, x >>= (2401429560));
+ assertEquals(-2687641732.0253763, x += (-2687641841.0253763));
+ assertEquals(-2336375490019484000, x *= (tmp = 869303174.6678596, tmp));
+ assertEquals(5.458650430363785e+36, x *= x);
+ assertEquals(0, x |= ((((-1676972008.797291)*x)*((tmp = 2606991807,
tmp)-x))<<x));
+ assertEquals(0, x &= ((-3053393759.3496876)+(-1431008367)));
+ assertEquals(-856728369, x |= (x-(((((764337872)/x)<<((x|(((tmp =
1409368192.1268077, tmp)+(tmp = -848083676, tmp))|
(-2797102463.7915916)))^x))/x)^(tmp = 856728369.0589117, tmp))));
+ assertEquals(-0, x %= x);
+ assertEquals(1116550103, x ^= (-3178417193));
+ assertEquals(1116550103, x %= (tmp = -1482481942, tmp));
+ assertEquals(133, x >>>= x);
+ assertEquals(-1.381429241671034e-7, x /= ((tmp = -962771116.8101778,
tmp)^x));
+ assertEquals(-1092268961, x |= ((tmp = 3202672531, tmp)-((x-(tmp =
845529357, tmp))>>(tmp = -868680593, tmp))));
+ assertEquals(-1092268961, x %= (tmp = 2670840415.304719, tmp));
+ assertEquals(-122794480, x %= (tmp = 969474481, tmp));
+ assertEquals(-297606521542193600, x *= (2423614820));
+ assertEquals(72460064, x >>>= (tmp = -1230798655, tmp));
+ assertEquals(-203714325373689600, x *= (-2811401400));
+ assertEquals(2154914048, x >>>= (((2241377026.001436)/x)+x));
+ assertEquals(1177864081, x ^= (tmp = -968513903, tmp));
+ assertEquals(35947664, x &= (-2086226758.2704995));
+ assertEquals(20795732539020670, x += (x*(578500247)));
+ assertEquals(-892004992, x >>= x);
+ assertEquals(-7023661.354330708, x /= ((((((1740714214)%((tmp =
-459699286, tmp)+(tmp = -1700187400, tmp)))>>(tmp = -3170295237, tmp))+(tmp
= -497509780,
tmp))+((1971976144.6197853)+(661992813.6077721)))>>>(-1683802728)));
+ assertEquals(-1634205696, x <<= x);
+ assertEquals(-7, x >>= (-3187653764.930914));
+ assertEquals(-5.095345981491203, x -= ((tmp = 748315289, tmp)/(tmp =
-392887780, tmp)));
+ assertEquals(1486531570, x &= (1486531570.9300508));
+ assertEquals(5670, x >>= (((tmp = -2486758205.26425, tmp)*(732510414))|
x));
+ assertEquals(5670, x >>= (((-1811879946.2553763)%(1797475764))/(((tmp =
-2159923884, tmp)|x)+(tmp = -1774410807, tmp))));
+ assertEquals(38, x %= (x>>>x));
+ assertEquals(-151134215, x ^= (((tmp = -2593085609.5622163, tmp)+((tmp =
-814992345.7516887, tmp)-(534809571)))|(tmp = -232678571, tmp)));
+ assertEquals(-234881024, x <<= x);
+ assertEquals(-234881024, x <<= (x>>>x));
+ assertEquals(55169095435288580, x *= x);
+ assertEquals(0, x >>= (tmp = 1176612256, tmp));
+ assertEquals(0, x <<= (1321866341.2486475));
+ assertEquals(0, x %= (x-(-602577995)));
+ assertEquals(0, x >>>= (((((tmp = -125628635.79970193, tmp)^(tmp =
1294209955.229382, tmp))&(((tmp = -2353256654.0725203, tmp)|
((-1136743028.9425385)|
((((950703429.1110399)-(x>>>x))/((((x%(-252705869.21126103))/((tmp =
886957620, tmp)<<(x%((tmp = -1952249741, tmp)*(tmp = -1998149844, tmp)))))|
(tmp = 1933366713, tmp))|((tmp = -2957141565, tmp)>>>(tmp = 1408598804,
tmp))))+(((((((-2455002047.4910946)%(tmp = -528017836,
tmp))&((-2693432769)/(tmp = 2484427670.9045153,
tmp)))%(-356969659))-((((((tmp = 3104828644.0753174, tmp)%(x>>>(tmp =
820832137.8175925, tmp)))*((tmp = 763080553.9260503,
tmp)+(3173597855)))<<(((-510785437)^x)<<(x|(((x*(x%((tmp = -1391951515,
tmp)/x)))-x)|
(x-((-522681793.93221474)/((2514619703.2162743)*(2936688324))))))))|
x)>>>(-2093210042)))&(763129279.3651779))&x))))-x))%(((-1331164821)&(tmp =
1342684586, tmp))<<(x<<(tmp = 2675008614.588005,
tmp))))>>((2625292569.8984914)+(-3185992401))));
+ assertEquals(0, x *= (tmp = 671817215.1147974, tmp));
+ assertEquals(-1608821121, x ^= ((tmp = 2686146175.04077, tmp)>>>x));
+ assertEquals(-0, x %= x);
+ assertEquals(-0, x /= ((tmp = 286794551.0720866, tmp)|(x%x)));
+ assertEquals(0, x <<= (x|(tmp = 1095503996.2285218, tmp)));
+ assertEquals(443296752, x ^= (443296752));
+ assertEquals(110824188, x >>= ((184708570)>>(x&x)));
+ assertEquals(0.7908194935161674, x /= ((((167151154.63381648)&((tmp =
-1434120690, tmp)-(tmp = 2346173080,
tmp)))/(56656051.87305987))^(140138414)));
+ assertEquals(-0.9027245492678485, x *= ((tmp = 1724366578,
tmp)/(((2979477411)<<(((897038568)>>(tmp = 348960298,
tmp))%(281056223.2037884)))^((((-1383133388)-(((-1379748375)-((x>>(x&(tmp =
2456582046, tmp)))>>>(-2923911755.565961)))&x))<<(-2825791731))^(tmp =
-1979992970, tmp)))));
+ assertEquals(0, x &= (2482304279));
+ assertEquals(-0, x *= (-2284213673));
+ assertEquals(0, x <<= ((2874381218.015819)|x));
+ assertEquals(0, x *= (x>>>(tmp = 2172786480, tmp)));
+ assertEquals(0, x &= (-1638727867.2978938));
+ assertEquals(0, x %= ((tmp = -2213947368.285817, tmp)>>x));
+ assertEquals(0, x >>>= (tmp = -531324706, tmp));
+ assertEquals(0, x %= (tmp = -2338792486, tmp));
+ assertEquals(0, x <<= (((tmp = 351012164, tmp)<<(x|((tmp =
-3023836638.5337825, tmp)^(-2678806692))))|x));
+ assertEquals(0, x %= (x-(tmp = -3220231305.45039, tmp)));
+ assertEquals(0, x <<= (-2132833261));
+ assertEquals(0, x >>>= x);
+ assertEquals(0, x %=
((2544970469)+(((-2633093458.5911965)&(644108176))-(x>>>(tmp = -949043718,
tmp)))));
+ assertEquals(-2750531265, x += (-2750531265));
+ assertEquals(0, x >>= x);
+ assertEquals(0, x *= ((tmp = 1299005700, tmp)-x));
+ assertEquals(0, x >>= x);
+ assertEquals(-1785515304, x -=
(((((-806054462.5563161)/x)>>>x)+(1785515304))|((tmp = 2937069788.9396844,
tmp)/x)));
+ assertEquals(-3810117159.173689, x -= (2024601855.1736891));
+ assertEquals(-6.276064139320051, x /= (607087033.3053156));
+ assertEquals(134217727, x >>>= (((x%(tmp = 924293127, tmp))^x)|
((x>>>(x&((((tmp = -413386639, tmp)/(x>>(tmp = 599075308.8479941,
tmp)))^(tmp = -1076703198, tmp))*((tmp = -2239117284,
tmp)>>(655036983)))))-x)));
+ assertEquals(134217727, x %= (tmp = 2452642261.038778, tmp));
+ assertEquals(-569504740360507, x *= ((tmp = -1086243941, tmp)>>(tmp =
1850668904.4885683, tmp)));
+ assertEquals(113378806, x >>>= (tmp = -2558233435, tmp));
+ assertEquals(979264375, x -= (((x>>(1950008052))%((2917183569.0209)*(tmp
= 1184250640.446752, tmp)))|((((tmp = -691875212, tmp)-(-2872881803))>>(tmp
= 44162204.97461021, tmp))^(tmp = 865885647, tmp))));
+ assertEquals(-1127813632, x <<= ((((tmp = -2210499281, tmp)>>>x)-(tmp =
2359697240, tmp))-x));
+ assertEquals(-1707799657, x ^= (653518231.3995534));
+ assertEquals(2916579668449318000, x *= x);
+ assertEquals(2916579669254640600, x += (x&(tmp = 2986558026.399422,
tmp)));
+ assertEquals(870995175, x ^= (2598813927.8991632));
+ assertEquals(870995175, x %= (-2857038782));
+ assertEquals(1869503575895591000, x *= (x|(x|(((tmp =
2478650307.4118147, tmp)*((tmp = 2576240847.476932, tmp)>>>x))<<x))));
+ assertEquals(-134947790, x |= ((tmp = 1150911808,
tmp)*((2847735464)/(-2603172652.929262))));
+ assertEquals(-137053182, x -= ((tmp = 2155921819.0929346,
tmp)>>>(x-(((-1960937402)-(-1907735074.2875962))%((1827808310)^(tmp =
-2788307127, tmp))))));
+ assertEquals(-134824702, x |=
(((2912578752.2395406)^(x%(((-2585660111.0638976)<<(((((tmp = 747742706,
tmp)%(-1630261205))&((((x|(x|(-2619903144.278758)))|
((2785710568.8651934)>>((-968301967.5982246)<<(x&x))))>>((x>>>((x>>>(tmp =
-1402085797.0310762, tmp))*((tmp = -323729645.2250068, tmp)<<(tmp =
2234667799,
tmp))))>>>(-167003745)))>>((924665972.4681011)<<x)))>>>x)<<((((x+x)+x)-(((tmp
= 2399203431.0526247, tmp)-(-2872533271))-(((tmp = 914778794.2087344,
tmp)-(tmp = 806353942.9502392, tmp))|(((tmp = 262924334.99231672, tmp)&x)|
(tmp = -460248836.5602243, tmp)))))/x)))%((-1681000689)/(tmp =
-2805054623.654228, tmp)))))*(tmp = 957346233.9619625, tmp)));
+ assertEquals(-3274838, x %= ((((tmp = 3155450543.3524327,
tmp)>>>x)<<(tmp = 2103079652.3410985, tmp))>>x));
+ assertEquals(-3274838, x |= ((((tmp = 2148004645.639173, tmp)>>>(tmp =
-1285119223, tmp))<<(((((-711596054)>>>(tmp = -2779776371.3473206,
tmp))^(((((tmp = -1338880329.383915, tmp)<<((-1245247254.477341)>>x))*(tmp
= -2649052844.20065,
tmp))>>((1734345880.4600453)%(x/(2723093117.118899))))*(1252918475.3285656)))<<(2911356885))^x))<<(-1019761103)));
+ assertEquals(1703281954, x &= (((tmp = 1036570471.7412028, tmp)+((tmp =
3043119517, tmp)%(2374310816.8346715)))%(tmp = -2979155076, tmp)));
+ assertEquals(1741588391, x |= ((tmp = 1230009575.6003838,
tmp)>>>(-1247515003.8152597)));
+ assertEquals(72869474.64782429, x %= (tmp = 1668718916.3521757, tmp));
+ assertEquals(770936242.104203, x += (698066767.4563787));
+ assertEquals(-0.2820604726420833, x /= (tmp = -2733230342, tmp));
+ assertEquals(403480578, x |= ((969730374)&(tmp = 1577889835, tmp)));
+ assertEquals(-1669557233, x ^= ((-1616812135)+(tmp = -456209292, tmp)));
+ assertEquals(-1630427, x >>= ((2327783031.1175823)/(226947662.4579488)));
+ assertEquals(131022, x >>>= ((tmp = -1325018897.2482083,
tmp)>>(x&((((((-1588579772.9240348)<<(tmp = -1775580288.356329, tmp))<<(tmp
= -1021528325.2075481, tmp))>>((tmp = 2373033451.079956, tmp)*(tmp =
810304612, tmp)))-((tmp = -639152097, tmp)<<(tmp = 513879484,
tmp)))&(2593958513)))));
+ assertEquals(1, x >>= ((3033200222)-x));
+ assertEquals(-561146816.4851823, x += (tmp = -561146817.4851823, tmp));
+ assertEquals(-4.347990105831158, x /= ((((-1270435902)*x)%((tmp =
637328492.7386824, tmp)-(x>>(-749100689))))%(x+x)));
+ assertEquals(-1, x >>= x);
+ assertEquals(1, x *= x);
+ assertEquals(111316849706694460, x += ((966274056)*(x|(115202150))));
+ assertEquals(-1001883840, x >>= x);
+ assertEquals(-1001883840, x &= x);
+ assertEquals(-3006880758, x += ((((-2275110637.4054556)/((x+(tmp =
-1390035090.4324536, tmp))>>(-5910593)))&(tmp = 378982420, tmp))|(tmp =
2289970378.568629, tmp)));
+ assertEquals(314474, x >>>= (x>>((tmp = -228007336.31281257, tmp)%(tmp =
1127648013, tmp))));
+ assertEquals(-17694827, x ^= ((tmp = 2095133598.1849852, tmp)|
(-1978322311)));
+ assertEquals(1, x /= x);
+ assertEquals(1, x %= (-2323617209.7531185));
+ assertEquals(0, x >>>= (x*(tmp = -1574455400.489434, tmp)));
+ assertEquals(0, x >>= (3131854684));
+ assertEquals(2853609824, x += ((-231012098)-(tmp = -3084621922, tmp)));
+ assertEquals(8143089027629311000, x *= x);
+ assertEquals(313052685, x ^= (tmp = 2962303501, tmp));
+ assertEquals(4776, x >>= (tmp = 2271457232, tmp));
+ assertEquals(0.000002812258572702285, x /= (tmp = 1698279115, tmp));
+ assertEquals(0, x >>>= (tmp = 1698465782.0927145, tmp));
+ assertEquals(0, x <<= x);
+ assertEquals(0, x |=
((x<<((-1824760240.3040407)<<(2798263764.39145)))&(tmp =
1795988253.0493627, tmp)));
+ assertEquals(1782206945, x ^= (-2512760351.7881565));
+ assertEquals(7610569113843172000, x *= (((tmp = -44415823.92972565,
tmp)&(tmp = 1402483498.9421625, tmp))+(tmp = 2909778666, tmp)));
+ assertEquals(15221138227873292000, x += (x-(tmp = -186948658.394145,
tmp)));
+ assertEquals(0, x -= x);
+ assertEquals(-2238823252, x -= ((tmp = 2238823252, tmp)+x));
+ assertEquals(0, x -= x);
+ assertEquals(0, x >>= (2976069570));
+ assertEquals(0, x >>= ((tmp = -2358157433, tmp)/x));
+ assertEquals(-949967713, x ^= (tmp = -949967713, tmp));
+ assertEquals(-1, x >>= x);
+ assertEquals(-1522291702.1977966, x *= (1522291702.1977966));
+ assertEquals(-1522291702, x >>= ((((2290279800)|x)|
(1793154434.6798015))&((-1161390929.0766077)>>>x)));
+ assertEquals(83894274, x &= (tmp = 1571058486, tmp));
+ assertEquals(43186847.90522933, x += ((tmp = -1131332988.0947707,
tmp)%x));
+ assertEquals(0, x >>= (tmp = -1968312707.269359, tmp));
+ assertEquals(0, x &= (2507747643.26175));
+ assertEquals(0, x %= (tmp = 3190525303.366887, tmp));
+ assertEquals(-1968984602, x ^= (((x/(x|(-1607062026.5338054)))<<(tmp =
2207669861.8770065, tmp))+(tmp = 2325982694.956348, tmp)));
+ assertEquals(554, x >>>= (((tmp = -2302283871.993821,
tmp)>>>(-3151835112))|
(((((x%(-1534374264))/((731246012)<<(((883830997.1194847)<<(((-1337895080.1937215)/(tmp
= 3166402571.8157315, tmp))^(tmp = -1563897595.5799441, tmp)))>>(tmp =
-556816951.0537591,
tmp))))>>(-2682203577))<<(x/((1654294674.865079)+x)))/((x^(-2189474695.4259806))/(-475915245.7363057)))));
+ assertEquals(1372586111, x ^= (1372586581));
+ assertEquals(1166831229, x -= ((-834168138)&(762573579)));
+ assertEquals(2333662456, x -= ((x>>x)-x));
+ assertEquals(-1961304840, x &= x);
+ assertEquals(-2130143128, x &= (2982852718.0711775));
+ assertEquals(1073741824, x <<= (-1446978661.6426942));
+ assertEquals(2097152, x >>>= ((-1424728215)-(((127872198)%(tmp =
-2596923298, tmp))&x)));
+ assertEquals(2097152, x >>>= x);
+ assertEquals(0, x &= (x/(tmp = -518419194.42994523, tmp)));
+ assertEquals(0, x >>= ((x/(-1865078245))%(tmp = 2959239210, tmp)));
+ assertEquals(-0, x *= ((x|(-1721307400))|(-3206147171.9491577)));
+ assertEquals(0, x >>>= ((-694741143)&(tmp = -2196513947.699142, tmp)));
+ assertEquals(0, x <<= x);
+ assertEquals(0, x &= ((tmp = 2037824385.8836646, tmp)+((tmp =
1203034986.4647732,
tmp)/(x>>>(((-1374881234)/(899771270.3237157))+((-2296524362.8020077)|
(-1529870870)))))));
+ assertEquals(0, x >>= (tmp = 2770637816, tmp));
+ assertEquals(0, x ^= x);
+ assertEquals(-1861843456, x |= ((632402668)*((x|(tmp =
-1032952662.8269436, tmp))|(tmp = 2671272511, tmp))));
+ assertEquals(-1861843456, x >>= (((x>>>x)+x)<<(-1600908842)));
+ assertEquals(-58182608, x >>= (x-(tmp = -2496617861, tmp)));
+ assertEquals(-3636413, x >>= (tmp = -400700028, tmp));
+ assertEquals(-7272826, x += x);
+ assertEquals(-1, x >>= ((tmp = -3184897005.3614545, tmp)-((-1799843014)|
(tmp = 2832132915, tmp))));
+ assertEquals(-121800925.94209385, x *= (121800925.94209385));
+ assertEquals(-30450232, x >>= (-979274206.6261561));
+ assertEquals(-30450232, x >>= (tmp = -1028204832.5078967, tmp));
+ assertEquals(-30450232, x |= x);
+ assertEquals(965888871, x ^= (((((-2157753481.3375635)*((tmp =
-1810667184.8165767, tmp)&((tmp = 2503908344.422232, tmp)|
x)))>>(x>>(1601560785)))<<x)^(tmp = 943867311.6380403, tmp)));
+ assertEquals(7546006, x >>>= x);
+ assertEquals(7546006, x <<= ((tmp = 1388931761.780241, tmp)*(x-(tmp =
-1245147647.0070577, tmp))));
+ assertEquals(12985628, x += (x&(-1520746354)));
+ assertEquals(12985628, x &= x);
+ assertEquals(12985628, x %= (tmp = 308641965, tmp));
+ assertEquals(685733278, x |= ((tmp = -1275653544, tmp)-((tmp =
-1956798010.3773859, tmp)%(tmp = 2086889575.643448, tmp))));
+ assertEquals(679679376, x &= (2860752368));
+ assertEquals(1770773904, x |= (x<<(3200659207)));
+ assertEquals(1224886544, x &= (-585733767.6876519));
+ assertEquals(1224886544, x %= ((tmp = -114218494, tmp)-x));
+ assertEquals(1208109328, x &= (tmp = 1854361593, tmp));
+ assertEquals(18434, x >>>= x);
+ assertEquals(-349394636955256100, x *= (x*(-1028198742)));
+ assertEquals(-519536600.7713163, x %= (-1054085356.9120367));
+ assertEquals(-1610612736, x ^= ((tmp = -3126078854, tmp)&x));
+ assertEquals(-2637321565906333700, x *= (1637464740.5658746));
+ assertEquals(-2637321568051070500, x -= ((tmp = -1006718806,
tmp)<<(3005848133.106345)));
+ assertEquals(368168695, x ^= (x^(tmp = 368168695.6881037, tmp)));
+ assertEquals(43, x >>>= x);
+ assertEquals(-2081297089, x |=
((167169305.77248895)+(-2248466405.3199244)));
+ assertEquals(-2474622167, x -= (tmp = 393325078, tmp));
+ assertEquals(-135109701, x %= (-1169756233));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x >>= (((((tmp = -164768854, tmp)/(tmp =
-1774989993.1909926, tmp))+x)-((-921438912)>>(tmp = -191772028.69249105,
tmp)))-(tmp = 558728578.22033, tmp)));
+ assertEquals(0, x %= (tmp = 2188003745, tmp));
+ assertEquals(0, x <<= (((tmp = -999335540, tmp)>>((((325101977)/(tmp =
-3036991542, tmp))<<(tmp = -213302488, tmp))+x))|(tmp = -1054204587, tmp)));
+ assertEquals(0, x &= ((2844053429.4720345)>>>x));
+ assertEquals(NaN, x %= x);
+ assertEquals(NaN, x -= (-1481729275.9118822));
+ assertEquals(NaN, x *= (tmp = 1098314618.2397528, tmp));
+ assertEquals(-1073741824, x ^= ((tmp = 1718545772, tmp)<<(((tmp =
-81058910, tmp)-(2831123087.424368))+(tmp = 576710057.2361784, tmp))));
+ assertEquals(-2921155898.4793186, x -= (1847414074.4793184));
+ assertEquals(-1295646720, x <<= (2178621744));
+ assertEquals(-0.8906779709597907, x /= ((tmp = -2840292585.6837263,
tmp)<<(x&((tmp = 892527695.6172305, tmp)>>>x))));
+ assertEquals(0, x <<= (((tmp = 3149667213.298993, tmp)>>(tmp =
1679370761.7226725, tmp))^(115417747.21537328)));
+ assertEquals(0, x |= x);
+ assertEquals(0, x %= ((-1112849427)>>(-1245508870.7514496)));
+ assertEquals(0, x &= x);
+ assertEquals(0, x |= x);
+ assertEquals(0, x >>>= ((3144100694.930459)>>>(tmp = 2408610503, tmp)));
+ assertEquals(0, x <<= ((tmp = 2671709754.0318713, tmp)%x));
+ assertEquals(0, x >>>= (x|((tmp = -3048578701, tmp)-(674147224))));
+ assertEquals(NaN, x %= x);
+ assertEquals(0, x &= ((tmp = -2084883715, tmp)|
(((((-3008427069)+(875536047.4283574))>>>x)%(tmp = -450003426.1091652,
tmp))%(((-2956878433.269356)|(x/((((x%((((((x<<(((tmp = -1581063482.510351,
tmp)^x)-(tmp = 1364458217, tmp)))^((tmp = 1661446342,
tmp)+(1307091014)))/(342270750.9901335))>>>(x&((1760980812.898993)&((tmp =
2878165745.6401143, tmp)/(((tmp = -981178013,
tmp)/(-2338761668.29912))>>(-958462630))))))*((1807522840)^((tmp =
1885835034,
tmp)^(-2538647938))))*(1673607540.0854697)))%x)>>x)<<x)))<<(853348877.2407281)))));
+ assertEquals(0, x >>>= x);
+ assertEquals(-1162790279, x -= (1162790279));
+ assertEquals(-1162790279, x >>= (((-490178658)*x)/((((((tmp =
-1883861998.6699312, tmp)/(tmp = -2369967345.240594,
tmp))+(3142759868.266447))&(508784917.8158537))&x)>>(-2129532322))));
+ assertEquals(-1360849740.9829152, x -= (x+(1360849740.9829152)));
+ assertEquals(1928392181, x ^= (-602670783));
+ assertEquals(19478708.898989897, x /= (((-2617861994)>>(tmp = 797256920,
tmp))%(-1784987906)));
+ assertEquals(-8648903.575540157, x *= (((tmp = 673979276,
tmp)/(-1517908716))%(x/x)));
+ assertEquals(-8648903.575540157, x %= ((((643195610.4221292)>>>(tmp =
2342669302, tmp))>>>(tmp = -1682965878, tmp))^((tmp = -208158937.63443017,
tmp)>>((907286989)&(x<<(448634893))))));
+ assertEquals(1399288769, x ^= (tmp = -1407486728, tmp));
+ assertEquals(0, x &= (((1999255838.815517)/(tmp = 564646001,
tmp))/(-3075888101.3274765)));
+ assertEquals(0, x ^= ((-78451711.59404826)%x));
+ assertEquals(-1351557131, x |= (2943410165));
+ assertEquals(1715626371, x -= (-3067183502));
+ assertEquals(71434240, x &=
((-1800066426)<<(((((x<<(-324796375))+x)<<(tmp = 2696824955.735132,
tmp))^x)%(tmp = 444916469, tmp))));
+ assertEquals(71434240, x >>>= (((x&((x%x)|x))+(tmp = 2226992348.3050146,
tmp))<<(-305526260)));
+ assertEquals(0, x -= (x%(tmp = 582790928.5832802, tmp)));
+ assertEquals(0, x *=
((x%(1865155340))>>>((x<<(2600488191))^(-308995123))));
+ assertEquals(0, x >>= (x&(-3120043868.8531103)));
+ assertEquals(0, x |= x);
+ assertEquals(-0, x *= (tmp = -172569944, tmp));
+ assertEquals(0, x <<= (-1664372874));
+ assertEquals(1377713344.6784928, x += (tmp = 1377713344.6784928, tmp));
+ assertEquals(1377713344, x |= x);
+ assertEquals(-232833282, x |= (tmp = 2685870654, tmp));
+ assertEquals(84639, x -= (((((2778531079.998492)%(2029165314))>>>(tmp =
-468881172.3729558, tmp))^x)|
((x>>>((((x%(3044318992.943596))&(1996754328.2214756))^(1985227172.7485228))%(tmp
= -1984848676.1347625, tmp)))|((tmp = 2637662639, tmp)<<x))));
+ assertEquals(0, x ^= x);
+ assertEquals(1237720303, x -= (-1237720303));
+ assertEquals(2, x >>= (-2148785379.428976));
+ assertEquals(2, x &= (tmp = -3087007874, tmp));
+ assertEquals(0, x %= x);
+ assertEquals(0, x >>>= x);
+ assertEquals(0, x >>>= x);
+ assertEquals(0, x += x);
+ assertEquals(0, x &= (2055693082));
+ assertEquals(-1349456492, x += (x^(-1349456492.315998)));
+ assertEquals(671088640, x <<= (x>>(-2030805724.5472062)));
+ assertEquals(-417654580004782100, x *= (tmp = -622353822, tmp));
+ assertEquals(1538160360, x |= (195983080.56698656));
+ assertEquals(733, x >>>= (tmp = 661085269, tmp));
+ assertEquals(657, x &= (-1611460943.993404));
+ assertEquals(431649, x *= x);
+ assertEquals(863298, x += x);
+ assertEquals(0, x &= ((1899423003)/((472439729)>>((tmp = 2903738952,
tmp)+(tmp = 2164601630.3456993, tmp)))));
+ assertEquals(0, x &= (x>>>(tmp = 1939167951.2828958, tmp)));
+ assertEquals(1557813284, x |= (x-(-1557813284)));
+ assertEquals(72876068, x &= (662438974.2372154));
+ assertEquals(0.6695448637501589, x /= (tmp = 108844189.45702457, tmp));
+ assertEquals(0, x -= x);
+ assertEquals(2944889412, x += (2944889412));
+ assertEquals(3787980288, x -= ((((tmp = -2003814373.2301111,
tmp)<<x)>>>(tmp = -3088357284.4405823, tmp))-(843090884)));
+ assertEquals(1, x >>>= (729274079));
+ assertEquals(1, x %= (-148002187.33869123));
+ assertEquals(3073988415.673201, x *= (tmp = 3073988415.673201, tmp));
+ assertEquals(4839166225.673201, x += (tmp = 1765177810, tmp));
+ assertEquals(4529373898.673201, x += (-309792327));
+ assertEquals(3097903.090496063, x %= (-150875866.51942348));
+ assertEquals(1270874112, x <<= ((((((tmp = -960966763.1418135,
tmp)>>((((-3208596981.613482)>>>(tmp = 746403937.6913509,
tmp))>>>(-2190042854.066803))/(2449323432)))*(-1272232665.791577))<<(-99306767.7209444))^((-1942103828)/((1570981655)/(tmp
= 2381666337, tmp))))+(tmp = -1946759395.1558368, tmp)));
+ assertEquals(1273845956, x |= (tmp = -3197282108.6120167, tmp));
+ assertEquals(159230744, x >>= (((tmp = -1036031403.8108604,
tmp)>>>(((3084964493)>>((x*x)^x))+(((2980108409.352001)^x)-(tmp =
-2501685423.513927, tmp))))&(326263839)));
+ assertEquals(-370091747145550100, x *= (tmp = -2324248055.674161, tmp));
+ assertEquals(143384219.54999557, x /= (tmp = -2581119096, tmp));
+ assertEquals(1843396287, x |= (tmp = 1842718767, tmp));
+ assertEquals(2.4895593465813803, x /= (740450831));
+ assertEquals(2.4895593465813803, x %= ((((((((-3175333618)>>>((tmp =
-1403880166, tmp)<<(tmp = -134875360,
tmp)))>>>(2721317334.998084))<<(x&(tmp = 2924634208.1484184,
tmp)))*((((x>>(tmp = -200319931.15328693, tmp))-(tmp = -495128933,
tmp))+((-788052518.6610589)*((((tmp = 107902557,
tmp)&(1221562660))%(x<<(((3155498059)*(((tmp = -1354381139.4897022,
tmp)^(tmp = 3084557138.332852, tmp))*((((tmp = 1855251464.8464525,
tmp)/((-1857403525.2008865)>>x))|
x)-(-2061968455.0023944))))*(1917481864.84619))))^(x-(-508176709.52712965)))))+((((x%(-1942063404))+(x%(tmp
= 855152281.180481, tmp)))|(-522863804))>>x)))>>>((tmp = -2515550553,
tmp)&(((((-801095375)-(tmp = -2298729336.9792976, tmp))^x)/(tmp =
2370468053, tmp))>>(x|(tmp = -900008879, tmp)))))>>>(((tmp =
-810295719.9509168, tmp)*((tmp = -1306212963.6226444, tmp)/(((tmp =
3175881540.9514832, tmp)|(-1439142297.819246))+((tmp = -134415617, tmp)|
((-245801870)+x)))))>>(tmp = 1889815478, tmp)))-(((tmp = 597031177,
tmp)%(858071823.7655672))+((tmp = 2320838665.8243756, tmp)|
((938555608)<<(2351739219.6461897))))));
+ assertEquals(6.197905740150709, x *= x);
+ assertEquals(1, x /= x);
+ assertEquals(0, x >>= (-1639664165.9076233));
+ assertEquals(0, x >>= (-3135317748.801177));
+ assertEquals(0, x &= (3185479232.5325994));
+ assertEquals(-0, x *= ((-119759439.19668174)/(tmp = 2123964608, tmp)));
+ assertEquals(0, x /= (-1183061929.2827876));
+ assertEquals(0, x <<= (-1981831198));
+ assertEquals(0, x >>= ((((x<<(((((((-2133752838)&((tmp =
-3045157736.9331336, tmp)>>>(x%x)))>>x)%(tmp = 3082217039, tmp))&(tmp =
270770770.97558427, tmp))|((-2212037556)^((((((2089224421)|(tmp =
360979560, tmp))<<x)%((tmp = -1679487690.6940534, tmp)+((173021423)|((tmp =
560900612, tmp)+((244376267.58977115)^x)))))<<(tmp = 2534513699,
tmp))^x)))>>>(2915907189.4873834)))+(x*x))%(1637581117))%(tmp =
2363861105.3786244, tmp)));
+ assertEquals(0, x &= ((-2765495757.873004)&(1727406493)));
+ assertEquals(NaN, x -= (((((-1419667515.2616255)|
x)-(150530256.48022234))%((((x|
x)<<x)>>>(x^x))+x))-((-1216384577.3749187)*(495244398))));
+ assertEquals(NaN, x += (x^((tmp = 2472035493, tmp)+x)));
+ assertEquals(NaN, x %= ((tmp = -1753037412.885754, tmp)|((tmp =
2507058310, tmp)<<(1475945705))));
+ assertEquals(-1008981005, x |= ((tmp = -1140889842.6099494, tmp)-(tmp =
-131908837, tmp)));
+ assertEquals(999230327.5872104, x -= (tmp = -2008211332.5872104, tmp));
+ assertEquals(975810, x >>= (((-1211913874)*x)>>>((-2842129009)>>(x&(tmp
= -1410865834, tmp)))));
+ assertEquals(7623, x >>= ((tmp = -1051327071, tmp)-(((tmp =
-237716102.8005445, tmp)|((2938903833.416546)&x))|(((-1831064579)^x)/((tmp
= 2999232092, tmp)-(981996301.2875179))))));
+ assertEquals(0, x -= x);
+ assertEquals(0, x %= (x|(tmp = -666201160.5810485, tmp)));
+ assertEquals(-1347124100, x |= (-1347124100));
+ assertEquals(-0, x %= (x&x));
+ assertEquals(-661607963, x ^= (tmp = -661607963.3794863, tmp));
+ assertEquals(3465, x >>>= (-828119020.8056595));
+ assertEquals(-268431991, x -= (((tmp = -1386256352, tmp)^((tmp =
743629575, tmp)%((x*((tmp = -1719517658,
tmp)>>(2019516558)))<<((2637317661)|x))))<<(tmp = -51637065, tmp)));
+ assertEquals(1578876380, x += ((tmp = 1847308371, tmp)&(((((((tmp =
1487934776.1893163, tmp)%(tmp = 1423264469.3137975, tmp))|
(((2653260792.5668964)/(-2417905016.043802))>>>(2097411118.4501896)))^x)^(((tmp
= -71334226, tmp)|x)>>>(tmp = -2771758874.7696714, tmp)))^((tmp =
-1464849031.3240793, tmp)%(tmp = 2349739690.6430283, tmp)))/x)));
+ assertEquals(3269293934, x += (1690417554));
+ assertEquals(4025392608.031957, x -= (((tmp = 268501120.7225704,
tmp)<<(tmp = 2841620654.8903794, tmp))+((tmp = 1606704462.8455591,
tmp)/((-2601879963)/(tmp = 2966620168.989736, tmp)))));
+ assertEquals(7, x >>>= (x^(-1913800035)));
+ assertEquals(1.4326776816275493e-8, x /= ((((tmp = -2703417892,
tmp)/x)^((-2693772270.396241)>>>((x-(tmp = 615999818.5666655,
tmp))>>((((2308121439.3702726)<<((-1794701502)>>(x+(tmp =
-2253406035.972883, tmp))))<<((tmp = -197103799.0624652, tmp)|
(629975898)))>>>x))))>>>((tmp = 2833656803, tmp)^(x^(tmp = -1580436025,
tmp)))));
+ assertEquals(0, x >>>= (tmp = 1525372830.2126007, tmp));
+ assertEquals(0, x %= ((2354010949.24469)>>>(x<<x)));
+ assertEquals(0, x ^= (((1112335059.6922574)*(tmp = -1874363935,
tmp))&(((((2154894295.8360596)<<x)&(tmp = -270736315.13505507,
tmp))&x)>>>(-2205692260.552064))));
+ assertEquals(0, x >>>= (x<<((1488533932)*(tmp = 1707754286, tmp))));
+ assertEquals(0, x >>= (((tmp = 1232547376.463387,
tmp)%((x>>(711691823.1608362))>>>x))>>(((895039781.7478573)*(((((-334946524)&x)*(tmp
= -1214529640, tmp))^(tmp = -1586820245, tmp))*(1062595445)))+x)));
+ assertEquals(0, x *= (1863299863.2631998));
+ assertEquals(0, x /= (tmp = 1858428705.1330547, tmp));
+ assertEquals(0, x &= x);
+ assertEquals(611788028, x += (x^(611788028.1510412)));
+ assertEquals(1, x /= x);
+ assertEquals(0, x >>= ((tmp = -1617320707.1784317,
tmp)-((-2139400380)-(-1402777976))));
+ assertEquals(0, x >>= (415866827.34665));
+ assertEquals(-1990811897, x -= (tmp = 1990811897, tmp));
+ assertEquals(-1990811895, x += ((x>>>(tmp = -2175453282.769696,
tmp))&(tmp = -1459450498.7327478, tmp)));
+ assertEquals(-2377017935.149517, x += (-386206040.1495173));
+ assertEquals(1946129845, x |= (tmp = -2890956796.936539, tmp));
+ assertEquals(0, x %= x);
+ assertEquals(0, x <<= (1616188263));
+ assertEquals(-1081213596, x ^= (tmp = 3213753700, tmp));
+ assertEquals(3213753700, x >>>= (tmp = -3211181312, tmp));
+ assertEquals(-1081213596, x &= x);
+ assertEquals(-1081213583, x ^= (((tmp = 1599988273.4926577,
tmp)>>((((-1061394954.6331315)^x)+((-1835761078)*x))+(x%(tmp = -696221869,
tmp))))/((tmp = -1156966790.3436491, tmp)^x)));
+ assertEquals(0, x ^= x);
+ assertEquals(NaN, x /= x);
+ assertEquals(NaN, x += (-1257400530.9263027));
+ assertEquals(NaN, x /= (753062089));
+ assertEquals(NaN, x *= ((tmp = 305418865.57012296,
tmp)^(((-2797769706)+((((tmp = -33288276.988654375, tmp)%(tmp = 1242979846,
tmp))|(-316574800))-((tmp = -1766083579.4203427, tmp)*(((x*(tmp =
-2400342309.2349987, tmp))>>(tmp = 2632061795, tmp))^(tmp = -1001440809,
tmp)))))^((((x-(tmp = -1469542637.6925495,
tmp))-x)-(3184196890))%(((((((633226688)*((tmp = -2692547856, tmp)>>(((tmp
= -1244311756,
tmp)>>>x)+((1746013631.405202)>>>(941829464.1962085)))))%(x-x))+(995681795))-(tmp
= -3047070551.3642616, tmp))/(1968259705))-((-2853237880)^(tmp =
-2746628223.4540343, tmp)))))));
+ assertEquals(0, x >>= x);
+ assertEquals(0.5713172378854926, x += (((x+(((x+x)/(tmp = 2642822318,
tmp))*(-2590095885.4280834)))|(tmp = -1769210836, tmp))/(tmp =
-3096722308.8665104, tmp)));
+ assertEquals(-0.000002311097780334994, x /=
((2269858877.9010344)>>(-2992512915.984787)));
+ assertEquals(-0.000002311097780334994, x %= (-1139222821));
+ assertEquals(-0.000004622195560669988, x += x);
+ assertEquals(1, x /= x);
+ assertEquals(1, x >>>= (((3002169429.6061807)/(-3068577366))>>>((tmp =
-1844537620, tmp)%((((tmp = 2087505119, tmp)>>>x)+x)&(2179989542)))));
+ assertEquals(-534213071, x *= (-534213071));
+ assertEquals(-534213077.3716287, x -= (((tmp = -2390432951.154034,
tmp)^x)/(-290501980)));
+ assertEquals(1836305, x >>>= (x&x));
+ assertEquals(1836305, x %= ((x|
((3070123855)^(49986396)))+((-1863644960.4202995)>>>((tmp =
1886126804.6019692, tmp)^x))));
+ assertEquals(28692, x >>>= ((2561362139.491764)>>(((((tmp =
-1347469854.7413375, tmp)/(((x|(x+x))^((x^(tmp = -2737413775.4595394,
tmp))^x))<<(((tmp = 225344844.07128417, tmp)&x)&(tmp = 145794498,
tmp))))*x)<<(1424529187))/((-2924344715)/(tmp = -2125770148, tmp)))));
+ assertEquals(-2089419535.2717648, x += (-2089448227.2717648));
+ assertEquals(18957929, x ^= (tmp = 2186590872, tmp));
+ assertEquals(-708972800, x -= (727930729));
+ assertEquals(-4198593, x |= (799483455.1885371));
+ assertEquals(-1, x >>= (-2330654693.6413193));
+ assertEquals(-1, x |= (((tmp = -116877155, tmp)>>>((((tmp =
-1677422314.1333556, tmp)/(tmp = -3108738499.0798397,
tmp))%((x&(x/x))%((tmp = -695607185.1561592, tmp)-(tmp = 2302449181.622259,
tmp))))^(((-1482743646.5604773)^((897705064)>>>x))-(tmp = -2933836669,
tmp))))%(((tmp = -2991584625, tmp)|
(((x>>x)+(-1101066835))-x))>>(-33192973.819939613))));
+ assertEquals(-1, x &= x);
+ assertEquals(-524288, x <<= (-1177513101.3087924));
+ assertEquals(1978770334.9189441, x += (tmp = 1979294622.9189441, tmp));
+ assertEquals(901783582, x &=
((-368584615)^(((((-478030699.2647903)<<x)<<x)+(tmp = 708725752,
tmp))^((tmp = -3081556856, tmp)/(tmp = 1149958711.0676727, tmp)))));
+ assertEquals(-1480333211.8654308, x += (tmp = -2382116793.865431, tmp));
+ assertEquals(956930239.6783283, x *= ((tmp = 956930239.6783283, tmp)/x));
+ assertEquals(1277610.4668602513, x /= ((tmp = 1571029828, tmp)>>(tmp =
2417481141, tmp)));
+ assertEquals(-1077333228, x ^= (tmp = 3218755006, tmp));
+ assertEquals(-50218, x |= (tmp = -1044436526.6435988, tmp));
+ assertEquals(-1, x >>= (-154655245.18921852));
+ assertEquals(0.00006276207290978003, x *= (((tmp = 2234286992.9800305,
tmp)>>(tmp = 2132564046.0696363, tmp))/((((tmp = -2565534644.3428087,
tmp)>>>(tmp = 2622809851.043325, tmp))>>>((tmp = 311277386, tmp)&x))-(tmp =
-2003980974, tmp))));
+ assertEquals(0, x %= x);
+ assertEquals(1282114076, x += ((((422838227)>>>((tmp =
1024613366.1899053, tmp)-((368275340)<<(((tmp = -3066121318,
tmp)+(-2319101378))&x))))^(x>>(tmp = 1920136319.803412,
tmp)))^(1282264803.3968434)));
+ assertEquals(-277097604, x |= (-283585688.9123297));
+ assertEquals(553816692, x &= (x&(tmp = 554082036.676608, tmp)));
+ assertEquals(658505728, x <<= x);
+ assertEquals(658505728, x &= (x%(2846071230)));
+ assertEquals(39, x >>= (334728536.5172192));
+ assertEquals(0, x -= x);
+ assertEquals(0, x += x);
+ assertEquals(0, x &= (tmp = -335285336, tmp));
+ assertEquals(0, x <<= (tmp = 1255594828.3430014, tmp));
+ assertEquals(0, x %= (-630772751.1248167));
+ assertEquals(NaN, x /= ((((x&(tmp = -1576090612,
tmp))%x)>>>x)*((-1038073094.2787619)>>>x)));
+ assertEquals(NaN, x += x);
+ assertEquals(NaN, x -= (((tmp = -2663887803,
tmp)&((x+(-1402421046))/x))/(-2675654483)));
+ assertEquals(NaN, x %= (x&(tmp = 672002093, tmp)));
+ assertEquals(0, x |= x);
+ assertEquals(-2698925754, x += (tmp = -2698925754, tmp));
+ assertEquals(-2057748993, x += ((tmp = -2263466497, tmp)^x));
+ assertEquals(1, x /= x);
+ assertEquals(-2769559719.4045835, x -= (2769559720.4045835));
+ assertEquals(-1.3964174646069973, x /= (tmp = 1983332198, tmp));
+ assertEquals(-2140716624.3964174, x += (tmp = -2140716623, tmp));
+ assertEquals(0, x <<= ((2589073007)-(-816764911.8571186)));
+ assertEquals(-2837097288.161354, x -= (tmp = 2837097288.161354, tmp));
+ assertEquals(-1445059927.161354, x += (tmp = 1392037361, tmp));
+ assertEquals(155197984, x &= (tmp = -2694712730.924674, tmp));
+ assertEquals(155197984, x |= (x>>>(tmp = 69118015.20305443, tmp)));
+ assertEquals(155197984, x >>>= (((x^(-1353660241))*x)<<(((((x%(tmp =
-1905584634, tmp))>>>(tmp = -860171244.5963638,
tmp))&(-1084415001.7039547))+(x-(((tmp = 298064661, tmp)>>x)>>((tmp =
378629912.383446, tmp)-(x%x)))))+(((3212580683)/(((((x^x)>>(tmp =
-1502887218, tmp))<<x)%(-142779025))|(((tmp = 1361745708, tmp)*(((((tmp =
1797072528.0673332, tmp)+x)%(tmp = 167297609,
tmp))%(-287345856.1791787))^(((((((x*(tmp = -640510459.1514752,
tmp))<<(x^(tmp = 1387982082.5646644, tmp)))>>(tmp = 2473373497.467914,
tmp))^((234025940)*x))+(tmp = 520098202.9546956, tmp))*(x*(tmp =
-362929250.1775775, tmp)))^(-2379972900))))*(tmp = -1385817972,
tmp))))+(-1788631834)))));
+ assertEquals(0, x >>= ((tmp = -18671049, tmp)/((tmp = 651261550.6716013,
tmp)>>(-58105114.70740628))));
+ assertEquals(0, x *= ((((x>>(tmp = 2256492150.737681,
tmp))<<(x<<(((-2738910707)&x)<<(1892428322))))*(tmp = 1547934638,
tmp))>>((((319464033.7888391)|(((((tmp = 2705641070, tmp)<<((tmp =
1566904759.36666, tmp)*((-682175559.7540412)&(-691692016.3021002))))%(tmp =
1118101737, tmp))|(902774462))<<x))^((tmp = -388997180,
tmp)<<(x<<((((((-88462733)+(x>>>x))%x)*(tmp = -20297481.556210756,
tmp))>>>(1927423855.1719701))-((2047811185.6278129)-(tmp =
2952219346.72126, tmp))))))|(-1685518403.7513878))));
+ assertEquals(0, x /= (tmp = 1858074757.563318, tmp));
+ assertEquals(-1351623058, x ^= (-1351623058.4756806));
+ assertEquals(1, x /= x);
+ assertEquals(0, x ^= x);
+ assertEquals(0, x -= (x&(997878144.9798675)));
+ assertEquals(-0, x /= (-2769731277));
+ assertEquals(0, x >>>= ((-2598508325)>>(-1355571351)));
+ assertEquals(0, x >>>= x);
+ assertEquals(0, x -= (x&(tmp = 1672810223, tmp)));
+ assertEquals(-924449908.1999881, x -= (924449908.1999881));
+ assertEquals(-0, x %= x);
+ assertEquals(-0, x /= (tmp = 2007131382.059545, tmp));
+ assertEquals(-0, x += x);
+ assertEquals(225132064, x += ((((tmp = -2422670578.1260514, tmp)|
x)+x)^(1660142894.7066057)));
+ assertEquals(Infinity, x /= (x-x));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x <<= x);
+ assertEquals(-2455424946.732606, x -= (2455424946.732606));
+ assertEquals(1208029258, x &= ((tmp = 1823728509, tmp)+x));
+ assertEquals(1.3682499724725645, x /= ((((tmp = 1267938464.3854322,
tmp)%((tmp = 2510853574, tmp)+(((2979355693.866435)-(tmp =
1989726095.7746763,
tmp))<<x)))%((-1382092141.1627176)+(((-901799353)+((-2936414080.8254457)>>>(2515004943.0865674)))-(2532799222.353197))))<<(tmp
= -2168058960.2694826, tmp)));
+ assertEquals(0.13799826710735907, x %= ((-1090423235)/(tmp = 2659024727,
tmp)));
+ assertEquals(0, x >>= (1688542889.082693));
+ assertEquals(0, x <<= x);
+ assertEquals(NaN, x %= ((((tmp = 1461037539, tmp)<<((x<<(tmp =
2101282906.5302017, tmp))>>(-2792197742)))%(((x%x)^(((tmp = 1399565526,
tmp)^(tmp = 643902, tmp))-((tmp = -1449543738, tmp)|
x)))/x))*(x<<(471967867))));
+ assertEquals(0, x &= ((tmp = -2121748100.6824129, tmp)>>(tmp =
-2817271480.6497793, tmp)));
+ assertEquals(0, x &= (3169130964.6291866));
+ assertEquals(-0, x /= (-2303316806));
+ assertEquals(0, x <<= (tmp = 120185946.51617038, tmp));
+ assertEquals(449448375, x ^= ((((tmp = -836410266.014014,
tmp)/x)&((x>>>(tmp = -2602671283, tmp))+x))+(tmp = 449448375, tmp)));
+ assertEquals(202003841790140640, x *= x);
+ assertEquals(202003840800829020, x += (((tmp = -1339865843, tmp)+(tmp =
350554234.15375435, tmp))<<((((((tmp = -1798499687.8208885,
tmp)>>(((x-(x^x))|((tmp = 463627396.23932934, tmp)/(2714928060)))&(tmp =
3048222568.1103754, tmp)))&(-3127578553))<<(tmp = -2569797028.8299003,
tmp))&x)<<((tmp = 2104393646, tmp)/((tmp = 2314471015.742891,
tmp)<<((2704090554.1746845)>>(((tmp = 1935999696,
tmp)*(((1348554815)>>>x)>>>(146665093.82445252)))%x)))))));
+ assertEquals(202003841764125400, x -= (tmp = -963296372.2846234, tmp));
+ assertEquals(-413485056, x <<= (tmp = -2474480506.6054573, tmp));
+ assertEquals(-3171894580.186845, x += ((tmp = -1261111102, tmp)+(tmp =
-1497298422.1868448, tmp)));
+ assertEquals(17136, x >>= (tmp = 3055058160, tmp));
+ assertEquals(17136, x %= (tmp = 1706784063.3577294, tmp));
+ assertEquals(17136, x >>= ((tmp = 2161213808, tmp)*x));
+ assertEquals(-17136, x /= ((((tmp = -1492618154, tmp)>>x)|
(1381949066))>>(tmp = 2014457960, tmp)));
+ assertEquals(-34272, x += x);
+ assertEquals(-1498690902, x += (-1498656630));
+ assertEquals(-1168674482, x ^= (486325220));
+ assertEquals(-1168674482, x <<= ((x^x)*x));
+ assertEquals(794521557347068000, x *= (-679848469));
+ assertEquals(1.3330392590424505e+26, x *= (tmp = 167778866, tmp));
+ assertEquals(0, x <<= (tmp = -2501540637.3664584, tmp));
+ assertEquals(0, x >>>= (x-(x*(-890638026.1825848))));
+ assertEquals(0, x %= ((-285010538.2813468)&(1314684460.7634423)));
+ assertEquals(0, x -= x);
+ assertEquals(0, x *= x);
+ assertEquals(NaN, x %= (x*(x<<x)));
+ assertEquals(NaN, x %= (x<<(((tmp = -1763171810.601149,
tmp)&(-138151449.18303752))^(x|x))));
+ assertEquals(0, x |= (x>>x));
+ assertEquals(0, x &= (tmp = 1107152048, tmp));
+ assertEquals(0, x >>= (1489117056.8200984));
+ assertEquals(518749976, x ^= (518749976.20107937));
+ assertEquals(356718654, x += (tmp = -162031322, tmp));
+ assertEquals(356718654, x %= (((x>>>((tmp = -373747439.09634733,
tmp)*(tmp = 563665566, tmp)))*(tmp = 2853322586.588251,
tmp))*((1303537213)%(-2995314284))));
+ assertEquals(5573728, x >>= (tmp = -2095997978, tmp));
+ assertEquals(5573728, x <<= x);
+ assertEquals(5573728, x >>= (((((tmp = 1745399178.334154, tmp)<<(tmp =
2647999783.8219824, tmp))^(tmp = 1571286759, tmp))%x)/(2166250345.181711)));
+ assertEquals(10886, x >>>= ((682837289)+(x*x)));
+ assertEquals(170, x >>>= x);
+ assertEquals(169.95167497151652, x -= (((tmp = 527356024.19706845,
tmp)+((tmp = 1263164619.2954736, tmp)|(tmp = 2942471886,
tmp)))/((3017909419.131321)+(tmp = 2137746252.8006272, tmp))));
+ assertEquals(-1915170061, x ^= (tmp = -1915170214, tmp));
+ assertEquals(206045792, x &= (((tmp = 887031922,
tmp)>>>x)-((-1861922770)|(9633541))));
+ assertEquals(-1940321674, x |= (tmp = -2012149162.1817405, tmp));
+ assertEquals(-1940321674, x &= x);
+ assertEquals(1128412272.160699, x += (tmp = 3068733946.160699, tmp));
+ assertEquals(0.47486363523180236, x /= (tmp = 2376286976.807289, tmp));
+ assertEquals(-1.4931079540252477e-10, x /= (tmp = -3180370407.5892467,
tmp));
+ assertEquals(0, x |= (((1220765170.5933602)*(884017786))*((x%(tmp =
-2538196897.226384, tmp))<<(x^x))));
+ assertEquals(-525529894, x += (tmp = -525529894, tmp));
+ assertEquals(1621426184, x &=
((3046517714)*(((((-162481040.8033898)+(x/((x&(1489724492))/((x|(tmp =
943542303,
tmp))>>>((-1840491388.1365871)<<(2338177232))))))+(((-2268887573.2430763)>>>(((tmp
= 2919141667, tmp)+((tmp = 1326295559.692003,
tmp)<<(-2256653815)))>>>(((((tmp = 1602731976.7514615,
tmp)*(856036244.3730336))^x)>>>((((2846316421.252943)&(915324162))%(tmp =
1144577211.0221815, tmp))%x))*(x*x))))%(tmp = -2641416560,
tmp)))*(x+(x>>>x)))>>x)));
+ assertEquals(1621426184, x %= (tmp = 1898223948, tmp));
+ assertEquals(-3.383396676504762, x /= ((tmp = 2211088034.5234556,
tmp)^x));
+ assertEquals(7120923705.122882, x *= (((((tmp = 2632382342.914504,
tmp)/(-615440284.1762738))&(2162453853.6658797))<<(-849038082.5298986))|
(tmp = -2104667110.5603983, tmp)));
+ assertEquals(-1469010887, x &= x);
+ assertEquals(850767635866964700, x *= (tmp = -579143179.5338116, tmp));
+ assertEquals(0, x %= x);
+ assertEquals(-571457, x |= ((2849326490.8464212)|(tmp = 1450592063,
tmp)));
+ assertEquals(-571457, x &= x);
+ assertEquals(-0.00018638416434019244, x /= (3066016912.021368));
+ assertEquals(0, x <<= (2058262829));
+ assertEquals(NaN, x %= ((x|((x%x)>>>x))%((tmp = -2970314895.6974382,
tmp)+x)));
+ assertEquals(NaN, x *= (-698693934.9483855));
+ assertEquals(NaN, x += (-100150720.64391875));
+ assertEquals(NaN, x %= x);
+ assertEquals(NaN, x -= (-530301478));
+ assertEquals(NaN, x /= (1507673244));
+ assertEquals(0, x <<= (x%(tmp = 2977838420.857235, tmp)));
+ assertEquals(0, x <<= (tmp = 3200877763, tmp));
+ assertEquals(0, x <<= (tmp = -2592127060, tmp));
+ assertEquals(NaN, x -= (((((((1930632619)*(3018666359))<<((tmp =
2676511886, tmp)&(-2786714482.25468)))%x)-(-633193192))<<((tmp = 403293598,
tmp)*(-2765170226)))%x));
+ assertEquals(530062092, x |= (tmp = 530062092, tmp));
+ assertEquals(129409, x >>>= x);
+ assertEquals(-152430382316341.78, x *= (-1177896300.229055));
+ assertEquals(-304860764632683.56, x += x);
+ assertEquals(0, x ^= x);
+ assertEquals(0, x %= (tmp = -63071565.367660046, tmp));
+ assertEquals(0, x &= ((((tmp = -1007464338, tmp)<<(x<<((x^(tmp =
-726826835, tmp))|x)))>>>x)*(((tmp = 469293335.9161849, tmp)<<(((((tmp =
1035077379, tmp)*(tmp = -555174353.7567515,
tmp))&(3109222796.8286266))-(((((x-(tmp = 1128900353.6650414, tmp))|(tmp =
3119921303, tmp))&((-1353827690)&(x%((-924615958)&x))))>>>x)+(tmp =
1167787910, tmp)))+x))%((605363594)>>(1784370958.269381)))));
+ assertEquals(0, x %= (2953812835.9781704));
+ assertEquals(0, x -= x);
+ assertEquals(0, x <<= x);
+ assertEquals(-901209266, x += (-901209266));
+ assertEquals(-901209266, x &= x);
+ assertEquals(404, x >>>= (-3195686249));
+ assertEquals(824237108, x ^= (824237472));
+ assertEquals(497790936.1853996, x /= ((tmp = 1253776028,
tmp)/(757207285)));
+ assertEquals(497790936, x >>>= ((tmp = -2212598336,
tmp)<<(x^(1335355792.9363852))));
+ assertEquals(0, x %= x);
+ assertEquals(-2659887352.6415873, x += (tmp = -2659887352.6415873, tmp));
+ assertEquals(1635079945, x |= ((x&(1234659380))>>((((tmp =
2694276886.979136, tmp)|x)^((tmp = 132795582,
tmp)<<((-1089828902)>>>x)))<<((((tmp = -2098728613.0310376, tmp)<<(x/(tmp =
-2253865599, tmp)))*((x+(x>>>((48633053.82579231)-(385301592))))*(tmp =
-1847454853.333535, tmp)))/((-540428068.8583717)+x)))));
+ assertEquals(1, x /= x);
+ assertEquals(33554432, x <<= ((((2803140769)<<x)|(tmp = -1965793804,
tmp))>>>(tmp = -2273336965.575082, tmp)));
+ assertEquals(67108864, x += x);
+ assertEquals(9007199254740992, x *= (x+((x>>x)%(2674760854))));
+ assertEquals(55369784, x %= (x|(-170725544.20038843)));
+ assertEquals(55369784, x %= (-1186186787));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x <<= x);
+ assertEquals(NaN, x /= ((-2968110098)-((x/(x|(((((x|
((x&((-130329882)>>>(((-135670650)|(x<<(tmp = 1280371822,
tmp)))^x)))-(-1183024707.2230911)))&(-1072829280))>>>(-340696948.41492534))>>>(tmp
= 436308526.4938295, tmp))<<(((tmp = 3113787500,
tmp)*((2038309320)>>>(-1818917055)))&((2808000707)/(774731251))))))%x)));
+ assertEquals(0, x |= (x*(tmp = -843074864, tmp)));
+ assertEquals(0, x &= (tmp = -752261173.8090212, tmp));
+ assertEquals(0, x >>>= (tmp = 1532349931.7517128, tmp));
+ assertEquals(0, x <<= ((tmp = -8628768, tmp)-((((tmp = 225928543,
tmp)%(x>>>(x+x)))^((tmp = -2051536806.5249376, tmp)-x))-((tmp =
-2274310376.9964137, tmp)%(tmp = 2251342739, tmp)))));
+ assertEquals(0, x >>= (1011388449));
+ assertEquals(0, x += x);
+ assertEquals(0, x >>>= x);
+ assertEquals(-0, x *=
((-1781234179.8663826)>>(((1514201119.9761915)>>(((((1174857164.90042)^(tmp
= 1124973934,
tmp))^x)+((-1059246013.8834443)<<(2997611138.4876065)))%(((798188010)*(-1428293122))>>>(tmp
= -3087267036.8035297, tmp))))<<x)));
+ assertEquals(1752554372, x ^= (tmp = -2542412924, tmp));
+ assertEquals(1752554372, x %= (tmp = 3037553410.2298307, tmp));
+ assertEquals(1859383977, x -= (x^(2446603103)));
+ assertEquals(1183048193, x &= ((tmp = -962336957, tmp)/(x/x)));
+ assertEquals(67738157, x %= ((((tmp = -1813911745.5223546,
tmp)+x)<<(x-(((-1980179168)^x)|x)))|(1913769561.1308007)));
+ assertEquals(67698724, x &= ((1801574998.3142045)*((tmp = -2057492249,
tmp)/((1713854494.72282)>>x))));
+ assertEquals(0, x -= x);
+ assertEquals(-25232836, x -= ((tmp = 25232836, tmp)|x));
+ assertEquals(-49, x >>= (x+((tmp = 2201204630.2897243, tmp)|
(-1929326509))));
+ assertEquals(-1605632, x <<= x);
+ assertEquals(-165965313, x += (tmp = -164359681, tmp));
+ assertEquals(9.220413724941365e-10, x /= (((((tmp = 2579760013.0808706,
tmp)*(tmp = -2535370639.9805303, tmp))>>((tmp = 2138199747.0301933,
tmp)-(tmp = -2698019325.0972376, tmp)))*(tmp = -425284716,
tmp))/((-1951538149.6611228)/(x^(2632919130)))));
+ assertEquals(0, x &= x);
+ assertEquals(0, x &= ((-645189137)/(tmp = 800952748, tmp)));
+ assertEquals(0, x &= (tmp = -1773606925, tmp));
+ assertEquals(0, x += x);
+ assertEquals(0, x >>>= (tmp = 211399355.0741787, tmp));
+ assertEquals(0, x <<= ((-1317040231.5737965)/((((((tmp =
838897586.0147077, tmp)|((-1902447594)|(tmp = 404942728.83034873,
tmp)))^(2462760692.2907705))%((((((x%(tmp = -2888980287,
tmp))<<(-368505224.49609876))-((x>>>(532513369))&(((((((tmp = -1298067543,
tmp)^(tmp = -3130435881.100909, tmp))>>x)/(tmp = -3041161992, tmp))>>(x|
(-431685991.95776653)))^((tmp = 1031777777,
tmp)^((-105610810)>>>((-631433779)>>(tmp = -2577780871.167671,
tmp)))))%(tmp = -3170517650.088039, tmp))))-(((tmp = 2175146237.968785,
tmp)-((384631158.50508535)>>((893912279.4646157)|(tmp =
-1478803924.5338967, tmp))))%(x/(-1089156420))))<<(tmp = -2024709456,
tmp))>>x))*(tmp = -1423824994.6993582, tmp))%(tmp = 1739143409, tmp))));
+ assertEquals(-1799353648, x |=
((-1799353648.3589036)>>>((((x&(-923571640.1012449))%x)+((tmp = 971885508,
tmp)>>((tmp = -2207464428.2123804,
tmp)+(-3108177894.0459776))))-(-2048954486.7014258))));
+ assertEquals(-3666808032.2958965, x -= (tmp = 1867454384.2958965, tmp));
+ assertEquals(-260069478915415100, x *= (tmp = 70925305.23136711, tmp));
+ assertEquals(1142096768, x &= (tmp = 1866401706.9144325, tmp));
+ assertEquals(1, x >>>= (tmp = 2701377150.5717473, tmp));
+ assertEquals(1865946805, x |= (tmp = -2429020492, tmp));
+ assertEquals(1424222287, x ^= ((((tmp = 433781338,
tmp)>>(x>>>((-2914418422.4829016)/(tmp = 1600920669, tmp))))|(tmp =
588320482.9566053, tmp))>>>((((((x+(tmp = -2556387365.5071325, tmp))+(tmp =
-2381889946.1830974, tmp))/(3154278191))>>>(-1069701268.8022757))>>(((tmp =
182049089.28866422, tmp)>>x)>>>(tmp = -447146173,
tmp)))/(x-(2103883357.0929923)))));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x -= (x%(3036884806)));
+ assertEquals(0, x >>>= (tmp = -652793480.3870945, tmp));
+ assertEquals(0, x += x);
+ assertEquals(304031003, x ^= ((tmp = -900156495,
tmp)^(-666397014.0711515)));
+ assertEquals(1, x /= x);
+ assertEquals(-1974501681, x |= (x^(-1974501681.4628205)));
+ assertEquals(-1.3089278317616264, x /= (((-1723703186.962839)>>>x)|
((2061022161.6239533)<<x)));
+ assertEquals(-1, x |= (tmp = -1987006457, tmp));
+ assertEquals(-0.14285714285714285, x /= ((((((x|
(-1767793799.7595732))-(-1391656680))<<x)|(x>>(tmp = -2301588485.2811003,
tmp)))>>>(((tmp = 1812723993, tmp)>>>((x^(((tmp = -3154100157.951021,
tmp)%((tmp = -1254955564.4553523,
tmp)-(((x>>>(((-1762886343)*x)*x))*(x^(x*(-750918563.4387553))))*x)))|
((x>>x)>>(x<<((((-1766797454.5634143)^(tmp = -2251474340,
tmp))-(-787637516.5276759))<<((1390653368)^(-1937605249.245374)))))))|
(((tmp = 1156611894, tmp)<<x)<<(x>>((((x+(tmp = 2170166060.881797,
tmp))&(x>>>(tmp = -1749295923.1498983, tmp)))>>(((-1014973878)|
x)&(1302866805.684057)))*(tmp = 560439074.4002491, tmp))))))|
(-2758270803.4510045)))&x));
+ assertEquals(0, x |= x);
+ assertEquals(0, x += ((x>>((x+(tmp = -2776680860.870219,
tmp))-(((688502468)<<(((tmp = 475364260.57888806,
tmp)<<x)+(329071671)))/(-1097134948))))*(tmp = -1281834214.3416953, tmp)));
+ assertEquals(0, x *= ((((1159762330)<<(tmp = -1892429200, tmp))%x)<<x));
+ assertEquals(0, x >>>= (-770595225));
+ assertEquals(NaN, x += (((x>>x)/(tmp = 281621135, tmp))/x));
+ assertEquals(0, x >>= (1363890241));
+ assertEquals(1639023942.9945002, x += (1639023942.9945002));
+ assertEquals(-2568590958567747000, x *= (-1567146697));
+ assertEquals(1793554700, x ^= (tmp = 3215813388.405799, tmp));
+ assertEquals(437879, x >>= x);
+ assertEquals(1339485943, x |= (1339220210));
+ assertEquals(1, x /= x);
+ assertEquals(512, x <<= (2509226729.1477118));
+ assertEquals(512, x <<= ((x>>(1326274040.7181284))<<(tmp = -760670199,
tmp)));
+ assertEquals(1, x /= (x<<(x^x)));
+ assertEquals(0, x >>>= (((((1382512625.8298302)&(x>>>x))*(tmp =
-815316595, tmp))>>>x)-(-95538051)));
+ assertEquals(-544344229.3548596, x -= (tmp = 544344229.3548596, tmp));
+ assertEquals(-1088688458.7097192, x += x);
+ assertEquals(-1022850479579041900, x *= (939525418.3104812));
+ assertEquals(2069622661, x |= (-2632744187.7721186));
+ assertEquals(-1353480538017756400, x -= ((tmp = 1308085980,
tmp)*((x>>>(-629663391.5165792))&(tmp = 3182319856.674114, tmp))));
+ assertEquals(1.3702811563654176e+27, x *= ((((3061414617.6321163)/(tmp =
2628865442, tmp))+(-1549548261))+(x&((tmp = 809684398, tmp)|(x^(tmp =
801765002, tmp))))));
+ assertEquals(0, x >>>= ((-2988504159)&((tmp = -260444190.02252054,
tmp)^(2178729442.260293))));
+ assertEquals(-1518607002, x -= (tmp = 1518607002, tmp));
+ assertEquals(724566016, x <<= (tmp = 1042915731.7055794, tmp));
+ assertEquals(707584, x >>>= (-208959862.93305588));
+ assertEquals(0, x >>>= (((tmp = 877181764,
tmp)>>(-970697753.3318911))%x));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x += x);
+ assertEquals(0, x <<= x);
+ assertEquals(0, x /= (x^((x/(-2903618412.4936123))+(tmp = 1169288899,
tmp))));
+ assertEquals(0, x >>>= x);
+ assertEquals(-1302645245, x ^= ((1855892732.3544865)+(tmp =
1136429319.5633948, tmp)));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x &= (-1384534597.409375));
+ assertEquals(-0, x /= (tmp = -680466419.8289509, tmp));
+ assertEquals(-0, x *= (318728599.95017374));
+ assertEquals(NaN, x %= (x>>(2019695267)));
+ assertEquals(0, x >>= (tmp = 1280789995, tmp));
+ assertEquals(0, x *= (tmp = 2336951458, tmp));
+ assertEquals(0, x >>= ((2981466013.758637)%(731947033)));
+ assertEquals(0, x -= x);
+ assertEquals(0, x ^= x);
+ assertEquals(0, x /= ((((3068070149.1452317)>>x)%(((1448965452)*((tmp =
-2961594129, tmp)+(1829082104.0681171)))>>(-2331499703)))>>>(tmp =
-3206314941.2626476, tmp)));
+ assertEquals(0, x >>= (x%(1869217101.9823673)));
+ assertEquals(0, x <<= (x+x));
+ assertEquals(0, x >>>= ((1202130282)>>>x));
+ assertEquals(0, x += x);
+ assertEquals(2603245248.6273212, x += (tmp = 2603245248.6273212, tmp));
+ assertEquals(-1691864471, x ^= (x>>>(2504513614.117516)));
+ assertEquals(136835305, x -= ((-1618979896)&(-746953306)));
+ assertEquals(-2568499564.1261334, x += (tmp = -2705334869.1261334, tmp));
+ assertEquals(1038075700, x ^= (1530399136));
+ assertEquals(2076151400, x += x);
+ assertEquals(-524018410.1751909, x -=
((2398973627.175191)-(-201196183)));
+ assertEquals(0.327110599608614, x /= ((3181340288.602796)&x));
+ assertEquals(0.327110599608614, x %= (tmp = -2284484060, tmp));
+ assertEquals(0, x |= x);
+ assertEquals(403217947.5779772, x += (tmp = 403217947.5779772, tmp));
+ assertEquals(403217947, x |= x);
+ assertEquals(-Infinity, x *= ((58693583.845808744)+(((tmp = -1527787016,
tmp)*x)/((((2532689893.3191843)/(tmp = 2781746479.850424, tmp))|
(((((460850355.9211761)/((((tmp = 626683450, tmp)<<((tmp = 1349974710,
tmp)-((tmp = -1349602292,
tmp)/(-2199808871.1229663))))>>((x/(-3092436372.3078623))&(tmp =
-1190631012.0323825, tmp)))^((-2907082828.4552956)-(tmp =
1858683340.1157017,
tmp))))^(-1513755598.5398848))%x)/x))&(1147739260.136806)))));
+ assertEquals(0, x &= (tmp = -3047356844.109563, tmp));
+ assertEquals(637934616, x -= (tmp = -637934616, tmp));
+ assertEquals(-1553350083, x ^= (-2056266203.094929));
+ assertEquals(-0.13467351026547192, x %= ((tmp = 824736251,
tmp)/(2544186314)));
+ assertEquals(1, x /= x);
+ assertEquals(1, x |= x);
+ assertEquals(0, x >>>= (2166609431.9515543));
+ assertEquals(0, x <<= (x|(tmp = 121899222.14603412, tmp)));
+ assertEquals(0, x *= (1300447849.6595674));
+ assertEquals(0, x %= (tmp = -2360500865.3944597, tmp));
+ assertEquals(0, x %= (tmp = -1693401247, tmp));
+ assertEquals(0, x >>= x);
+ assertEquals(0, x /= (471265307));
+ assertEquals(257349748, x ^= (257349748.689448));
+ assertEquals(257349748, x &= x);
+ assertEquals(981, x >>>= (tmp = -1959001422, tmp));
+ assertEquals(0, x >>= ((-79932778.18114972)/x));
+ assertEquals(0, x <<= (((-2599621472)^(tmp = 662071103, tmp))%(tmp =
-2675822640.7641535, tmp)));
+ assertEquals(0, x &= (tmp = 2582354953.878623, tmp));
+ assertEquals(0, x /= ((-953254484)/((-2571632163.376176)-(tmp =
-342034471, tmp))));
+ assertEquals(0, x <<= ((x-(tmp = -3013057672, tmp))&(tmp = -3204761036,
tmp)));
+ assertEquals(0, x ^= ((x&((515934453)>>>x))/x));
+ assertEquals(1, x |= ((-1914707646.2075093)>>>(tmp = -1918045025, tmp)));
+ assertEquals(-2002844120.8792589, x += (tmp = -2002844121.8792589, tmp));
+ assertEquals(573030794, x >>>= (tmp = 1707788162, tmp));
+ assertEquals(1.917619109627369, x /=
((1909436830.484202)%((123114323)<<(tmp = -1288988388.6444468, tmp))));
+ assertEquals(-1400358045, x |= (-1400358046));
+ assertEquals(-2043022529.4273133, x += (tmp = -642664484.4273133, tmp));
+ assertEquals(-81408068.86728716, x %= (tmp = -980807230.2800131, tmp));
+ assertEquals(0.1436896445024992, x /= (((tmp = 3201789924.913518,
tmp)%(tmp = -962242528.6008646, tmp))^((tmp = -338830119.55884504,
tmp)*(tmp = -916120166, tmp))));
+ assertEquals(0.1436896445024992, x %= (tmp = 2598469263, tmp));
+ assertEquals(0, x *= (x-x));
+ assertEquals(-1409286144, x += (((-111514798.64745283)|
(2372059654))<<(tmp = 175644313, tmp)));
+ assertEquals(-2393905467.0073113, x += (-984619323.0073113));
+ assertEquals(-835111172.0073113, x %= (x^(-765900532.5585573)));
+ assertEquals(-835111172.0073113, x %= (tmp = -946478116, tmp));
+ assertEquals(-100, x >>=
((-1020515908)>>(((x&((x^(169474253.53811646))>>(-221739002)))+x)*((201939882.92880356)/(tmp
= -50402570, tmp)))));
+ assertEquals(2131506964, x &= (tmp = -2163460268, tmp));
+ assertEquals(1074275840, x &= ((-1561930379.8719592)*(tmp =
-2871750052.876917, tmp)));
+ assertEquals(-954232605.5377102, x -= (tmp = 2028508445.5377102, tmp));
+ assertEquals(-29, x >>= (-279577351.87217045));
+ assertEquals(-232, x <<= x);
+ assertEquals(-70, x |= (215185578));
+ assertEquals(-1, x >>= (x>>(-1691303095)));
+ assertEquals(1, x /= x);
+ assertEquals(3149465364.2236686, x *= (3149465364.2236686));
+ assertEquals(3304787832.3790073, x += (tmp = 155322468.15533853, tmp));
+ assertEquals(100068712.23500109, x %= (tmp = 3204719120.1440063, tmp));
+ assertEquals(91628864, x &= (tmp = 629090241, tmp));
+ assertEquals(-113202292046379710, x *= (-1235443583));
+ assertEquals(122, x >>>= (tmp = 3196555256, tmp));
+ assertEquals(122, x >>>= (((2226535734)-x)^(2248399036.393125)));
+ assertEquals(6.904199169070746e-8, x /= (tmp = 1767040564.9149356, tmp));
+ assertEquals(-212687449.99999994, x +=
((((2244322375)*(((2515994102)^x)>>x))<<(x-(-832407685.3251972)))^(2266670502)));
+ assertEquals(366515938514778750, x *= (tmp = -1723260768.3940866, tmp));
+ assertEquals(366515938514778750, x += ((-1643386193.9159095)/(tmp =
425161225.95316494, tmp)));
+ assertEquals(654872716.4123061, x /= ((-1377382984)-(tmp =
-1937058061.811642, tmp)));
+ assertEquals(654872716, x &= x);
+ assertEquals(-86260926.17813063, x -= (tmp = 741133642.1781306, tmp));
+ assertEquals(1052176592, x >>>= x);
+ assertEquals(2020882856, x ^= (-3107796616));
+ assertEquals(0, x <<= ((606939871.9812952)|(tmp = -3127138319.1557302,
tmp)));
+ assertEquals(NaN, x -= ((x%((1120711400.2242608)%x))*(tmp =
-930171286.7999947, tmp)));
+ assertEquals(NaN, x %= (3215044180));
+ assertEquals(NaN, x %= (tmp = 2882893804.20102, tmp));
+ assertEquals(NaN, x %= ((217170359.5778643)^x));
+ assertEquals(0, x &= ((-1095125960.9903677)>>(x^(-2227981276))));
+ assertEquals(-748549860, x += (-748549860));
+ assertEquals(1816208256, x <<= (-610872411.3826082));
+ assertEquals(201400576, x &= (((tmp = 1910394603.4836266, tmp)<<x)^x));
+ assertEquals(0, x %= x);
+ assertEquals(NaN, x %= x);
+ assertEquals(0, x <<=
(((((2670901339.6696005)%(2180020861))*((2134469504)/(2237096063.0680027)))*((tmp
= 1203829756, tmp)>>((765467065)+(x|
(2673651811.9494815)))))<<((-1463378514)|(((x/(tmp = -1075050081,
tmp))-((-879974865)+x))>>>(tmp = 2172883926, tmp)))));
+ assertEquals(433013198, x ^= (433013198.2833413));
+ assertEquals(0, x >>= ((((-2404431196)%(x%(tmp = 1443152875.8809233,
tmp)))&(x|((1414364997.0517852)/((tmp = -435854369, tmp)+(tmp = 2737625141,
tmp)))))|(((tmp = 2241746562.2197237, tmp)^(tmp = -1606928010.1992552,
tmp))|((tmp = -3083227418.686173, tmp)>>(tmp = -2717460410, tmp)))));
+ assertEquals(0, x >>= x);
+ assertEquals(0, x *= ((tmp = 2302521322, tmp)>>>(((((((tmp =
344089066.9725498, tmp)%(tmp = 1765830559, tmp))-x)|x)^(((-2450263325)/(tmp
= 371928405.17475057, tmp))>>>(1330100413.7731652)))^(((173024329)%(tmp =
-2927276187, tmp))+(x>>>(-1042229940.308507))))|(((((tmp = 379074096,
tmp)+((142762508)-((-2773070834.526266)-(x&((tmp = 57957493,
tmp)<<(2189553500))))))+((36991093)+(tmp = 339487168.58069587,
tmp)))*(-1257565451))&(tmp = 645233114, tmp)))));
+ assertEquals(-2644503151.1185284, x += (-2644503151.1185284));
+ assertEquals(-5289006302.237057, x += x);
+ assertEquals(-4008773824.2370567, x -= (tmp = -1280232478, tmp));
+ assertEquals(1975449413, x |= ((tmp = 1957832005.4285066,
tmp)>>((1681236712.9715524)&(-675823978))));
+ assertEquals(-146472960, x <<= (-648510672.5644083));
+ assertEquals(-3, x |= (((((x>>>(tmp = 2271744104, tmp))+(tmp =
-210058133.30147195, tmp))+(tmp = -2827493425, tmp))/(tmp = 765962538,
tmp))%(tmp = 1048631551, tmp)));
+ assertEquals(1, x /= x);
+ assertEquals(0, x >>= (1070524782.5154183));
+ assertEquals(0, x <<= (462502504));
+ assertEquals(0, x %= (540589670.0730014));
+ assertEquals(NaN, x %= x);
+ assertEquals(NaN, x /= ((-1268640098)%x));
+ assertEquals(NaN, x %= (1741157613.744652));
+ assertEquals(NaN, x += x);
+ assertEquals(NaN, x %= ((x|(tmp = 1992323492.7000637, tmp))*x));
+ assertEquals(NaN, x /= ((tmp = -2271503368.0341196, tmp)>>((tmp =
1224449194, tmp)>>>(tmp = 2976803997, tmp))));
+ assertEquals(NaN, x += (tmp = -1078313742.1633894, tmp));
+ assertEquals(NaN, x += (-787923311));
+ assertEquals(NaN, x %= x);
+ assertEquals(-1299878219, x ^= (2995089077));
+ assertEquals(536887953, x &= ((625660571.2651105)&(x^(((tmp =
950150725.2319129, tmp)+(-2122154205.466675))/(tmp = 1754964696.974752,
tmp)))));
+ assertEquals(4096, x >>>= x);
+ assertEquals(1, x /= x);
+ assertEquals(-82508517, x ^= (((-930231800)%(tmp = -423861640.4356506,
tmp))+x));
+ assertEquals(-82508517, x &= (x&x));
+ assertEquals(-479519, x %= ((tmp = 1861364600.595756, tmp)|x));
+ assertEquals(479518, x ^= (((x>>(-1539139751.6860313))>>(tmp =
-456165734, tmp))|(-2786433531)));
+ assertEquals(959036, x += x);
+ assertEquals(29, x >>>= ((tmp = -1049329009.7632706,
tmp)^(((((((1117739997)/(((-841179741.4939663)*(-1211599672))>>>((-413696355)%(tmp
= -1753423217.2170188, tmp))))<<(tmp = 1599076219.09274,
tmp))>>>(-1382960317))^(((x^(tmp = 515115394, tmp))>>>(tmp = -388476217,
tmp))>>>(x/x)))^x)<<(136327532.213817))));
+ assertEquals(24, x &= (2388755418));
+ assertEquals(0, x >>>= (tmp = -405535917, tmp));
+ assertEquals(0, x &= (tmp = -1427139674, tmp));
+ assertEquals(NaN, x /= (x^((1530470340)%x)));
+ assertEquals(0, x |= ((x>>(-1429690909.8472774))*((((tmp = 2033516515,
tmp)/(1314782862))>>>x)>>(tmp = 1737186497.6441216, tmp))));
+ assertEquals(0, x -= x);
+ assertEquals(0, x %= (3115422786));
+ assertEquals(-0, x *= (x+(tmp = -2558930842.267017, tmp)));
+ assertEquals(NaN, x %= x);
+ assertEquals(0, x &= (2695531252.254449));
+ assertEquals(-613178182, x ^= (-613178182));
+ assertEquals(54, x >>>= (x%(((tmp = 2277868389, tmp)^((((tmp =
-1143932265.3616111, tmp)^((x&((x-((-2100384445.7850044)|(tmp =
908075129.3456883, tmp)))*x))+(((tmp = 1031013284.0275401, tmp)*((((tmp =
-233393205, tmp)>>>(tmp = -111859419, tmp))*(-1199307178))|(tmp =
-1998399599, tmp)))>>>((((-731759641.9036775)>>>(tmp = 2147849691,
tmp))>>>(tmp = -2121899736, tmp))>>>(x>>>x)))))>>((1900348757.360562)^(tmp
= 2726336203.6149445, tmp)))>>>((x*((tmp = -2697628471.0234947,
tmp)%((x^(tmp = -2751379613.9474974, tmp))*x)))+(x>>(tmp =
42868998.384643435, tmp)))))+(598988941))));
+ assertEquals(34, x &= ((tmp = 2736218794.4991407,
tmp)%(2169273288.1339874)));
+ assertEquals(2.086197133417468, x /= ((tmp = 2176358852.297597, tmp)%x));
+ assertEquals(2, x <<= (((tmp = -1767330075, tmp)|
(-3107230779.8512735))&x));
+ assertEquals(4194304, x <<= (tmp = 1061841749.105744, tmp));
+ assertEquals(48609515, x ^= (44415211.320786595));
+ assertEquals(48609515, x %= (1308576139));
+ assertEquals(23735, x >>>= ((-324667786)-x));
+ assertEquals(23735, x <<= ((-1270911229)<<(((((tmp = -882992909.2692418,
tmp)+(tmp = 394833767.947718, tmp))-x)<<(702856751))/x)));
+ assertEquals(-31080872939240, x *= (tmp = -1309495384, tmp));
+ assertEquals(-14625.31935626114, x /= ((668084131)+(1457057357)));
+ assertEquals(-14625.31935626114, x %= (266351304.6585492));
+ assertEquals(-12577, x |= (-945583977.619837));
+ assertEquals(-4097, x |= ((tmp = -2621808583.2322493, tmp)-(tmp =
-2219802863.9072213, tmp)));
+ assertEquals(-1004843865, x &= ((-1004839768)+((tmp = 2094772311,
tmp)/(-1340720370.275643))));
+ assertEquals(-31401371, x >>= ((2035921047)>>>((tmp = -1756995278,
tmp)>>>(-537713689))));
+ assertEquals(1791746374.016472, x -= ((tmp = -1823147745, tmp)-(x/(tmp =
-1906333520, tmp))));
+ assertEquals(3.7289343120517406, x /= (tmp = 480498240, tmp));
+ assertEquals(7.457868624103481, x += x);
+ assertEquals(234881024, x <<= (-781128807.2532628));
+ assertEquals(67108864, x &= (tmp = -2060391332, tmp));
+ assertEquals(-605958718, x -= (673067582));
+ assertEquals(-605958718, x <<= ((x%x)&((tmp = 1350579401.0801518, tmp)|
x)));
+ assertEquals(-109268090.4715271, x %= (tmp = -496690627.5284729, tmp));
+ assertEquals(-109268090, x <<= (((-2004197436.8023896)%((x|((tmp =
271117765.61283946,
tmp)-((1595775845.0754795)*(555248692.2512416))))/x))<<x));
+ assertEquals(-652725370, x &= (-543590449));
+ assertEquals(0.321858133298825, x /= (tmp = -2027990914.2267523, tmp));
+ assertEquals(1959498446, x ^= (1959498446));
+ assertEquals(1959498446, x &= (x%(tmp = 3155552362.973523, tmp)));
+ assertEquals(14949, x >>>= ((tmp = 586618136, tmp)>>>(tmp =
699144121.9458897, tmp)));
+ assertEquals(-28611391568319.285, x *= (tmp = -1913933478.3811147, tmp));
+ assertEquals(1680557633, x &= (((tmp = 2606436319.199714,
tmp)<<(1575299025.6917372))|((-1092689109)/(735420388))));
+ assertEquals(1680361024, x &= ((tmp = 1860756552.2186172, tmp)|
(-360434860.1699109)));
+ assertEquals(820488, x >>>= (1788658731));
+ assertEquals(820488, x >>= (-1555444352));
+ assertEquals(2104296413, x ^= (2103543509));
+ assertEquals(16843328, x &= ((x<<((-2920883149)/(1299091676)))-(((((tmp
= 3199460211, tmp)+(-237287821.61504316))&(tmp = -1524515028.3596857,
tmp))-(tmp = -700644414.6785603, tmp))+(-180715428.86124516))));
+ assertEquals(1326969834, x |= (tmp = -2968063574.793867, tmp));
+ assertEquals(0, x %= (x>>>(tmp = 1350490461.0012388, tmp)));
+ assertEquals(0, x &= ((-2620439260.902854)+x));
+ assertEquals(-1775533561, x |= ((-1775533561)|
(((x>>>((861896808.2264911)>>>(970216466.6532537)))%x)%(tmp =
2007357223.8893046, tmp))));
+ assertEquals(-1775533561, x &= x);
+ assertEquals(-23058877.415584415, x /= ((tmp = -3002439857,
tmp)>>((((x-(tmp = 1583620685.137125, tmp))|x)%(-2568798248.6863875))^x)));
+ assertEquals(-577.4155844151974, x %= (((-1440361053.047877)+((tmp =
821546785.0910633, tmp)-(((tmp = 1023830881.1444875,
tmp)/(-754884477))+(tmp = 651938896.6258571, tmp))))>>(tmp =
346467413.8959185, tmp)));
+ assertEquals(-1, x >>= (tmp = 2993867511, tmp));
+ assertEquals(-1, x |= (tmp = 823150253.4916545, tmp));
+ assertEquals(-0, x %= x);
+ assertEquals(-0, x /= ((tmp = 997969036, tmp)&((((tmp = 928480121,
tmp)>>(((-2610875857.086055)>>>(tmp = -2251704283, tmp))|
x))+(10781750))>>x)));
+ assertEquals(0, x >>>= ((tmp = -1872319523, tmp)>>>(-278173884)));
+ assertEquals(0, x |= (x/(x*x)));
+ assertEquals(0, x %= ((77912826.10575807)^(tmp = 2770214585.3019757,
tmp)));
+ assertEquals(0, x &= (tmp = 722275824, tmp));
+ assertEquals(-1417226266, x |= (tmp = 2877741030.1195555, tmp));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x %= (tmp = -1740126105, tmp));
+ assertEquals(910709964, x |= (tmp = 910709964, tmp));
+ assertEquals(-1744830464, x <<= (tmp = -2445932551.1762686, tmp));
+ assertEquals(318767104, x >>>= (tmp = -2465332061.628887, tmp));
+ assertEquals(301989888, x &= (-2771167302.022801));
+ assertEquals(301989888, x |= x);
+ assertEquals(37748736, x >>= (tmp = -835820125, tmp));
+ assertEquals(1474977371, x ^= (tmp = -2857738661.6610327, tmp));
+ assertEquals(470467500, x += (-1004509871));
+ assertEquals(0.30466562575942585, x /= (((tmp = 1515955042,
tmp)<<(x+((1607647367)-(tmp = 1427642709.697169, tmp))))^x));
+ assertEquals(1.0348231148499734e-10, x /= (tmp = 2944132397, tmp));
+ assertEquals(0, x >>= (x>>>(tmp = -2847037519.569043, tmp)));
+ assertEquals(NaN, x /= x);
+ assertEquals(0, x >>>= (-1817784819.9058492));
+ assertEquals(0, x >>= x);
+ assertEquals(-0, x *= ((tmp = -1387748473, tmp)|(x+(352432111))));
+ assertEquals(-0, x *= (((-2591789329)/(tmp = -2144460203, tmp))>>(tmp =
-568837912.5033123, tmp)));
+ assertEquals(0, x <<= (-2963600437.305708));
+ assertEquals(0, x &= ((588720662)>>>x));
+ assertEquals(1561910729, x += (1561910729));
+ assertEquals(0, x ^= x);
+ assertEquals(-0, x *= (-2722445702));
+ assertEquals(0, x &= (tmp = -2738643199.732308, tmp));
+ assertEquals(0, x /= (((1859901899.227291)>>>((tmp = -1067365693,
tmp)+((-1975435278)|x)))|((1844023313.3719304)&(tmp = -624215417.0227654,
tmp))));
+ assertEquals(NaN, x %= x);
+ assertEquals(NaN, x %= (-2852766277));
+ assertEquals(0, x <<= (-1482859558));
+ assertEquals(0, x >>= x);
+ assertEquals(-1196775786, x += (tmp = -1196775786, tmp));
+ assertEquals(-68176201, x |= ((tmp = 2336517643, tmp)+x));
+ assertEquals(0, x ^= x);
+ assertEquals(0, x <<= x);
+ assertEquals(0, x >>= (2969141362.868086));
+ assertEquals(NaN, x %= x);
+ assertEquals(0, x >>= ((x-((((tmp = -905994835, tmp)|(tmp =
2850569869.33876, tmp))<<((-2405056608.27147)>>(tmp = 1280271785,
tmp)))&(-1942926558)))*(tmp = 707499803.177796, tmp)));
+ assertEquals(0, x &= ((-697565829.8780258)+((2978584888.549406)%x)));
+ assertEquals(0, x >>= (748642824.4181392));
+ assertEquals(0, x += x);
+ assertEquals(0, x >>>= (-1701028721));
+ assertEquals(92042539, x -= ((-92042539)|(x*(x%(-293705541.00228095)))));
+ assertEquals(0, x %= x);
+ assertEquals(0, x >>= x);
+ assertEquals(0, x %= (-2278672472.458228));
+ assertEquals(0, x %= (((-2374117528.0359464)/((tmp = -2809986062, tmp)|
(tmp = 895734980, tmp)))&(tmp = 1564711307.41494, tmp)));
+ assertEquals(0, x >>>= x);
+ assertEquals(0, x += x);
+ assertEquals(-0, x /= ((tmp = -2749286790.3666043,
tmp)<<(x^(-2966741582.324482))));
+ assertEquals(0, x *= x);
+ assertEquals(0, x >>>= x);
+ assertEquals(-1882562314, x ^= (2412404982.782115));
+ assertEquals(-806620, x %= (((tmp = 1527219936.5232096,
tmp)*(-1139841417))>>>(tmp = 201632907.3236668, tmp)));
+ assertEquals(-1613240, x += x);
+ assertEquals(-1664766177387640, x *= (1031939561));
+ assertEquals(-9.478083550117849e+23, x *= (tmp = 569334221.1571662,
tmp));
+ assertEquals(-8.462574598319509e+21, x /= ((x-(tmp = -2985531211.114498,
tmp))>>(tmp = 174615992.91117632, tmp)));
+ assertEquals(1638924288, x <<= (((((x>>((-1823401733.4788911)+((tmp =
1362371590, tmp)>>>x)))^(tmp = -56634380, tmp))/(tmp = 2387980757.1540084,
tmp))%((((tmp = -3175469977, tmp)^(tmp = -1816794042,
tmp))+(232726694))*(tmp = 822706176, tmp)))/(tmp = 1466729893.836311,
tmp)));
+ assertEquals(2686072821796307000, x *= x);
+ assertEquals(-1007977445.9812208, x /= (-2664814408.800125));
+ assertEquals(-1007977445, x &= x);
+ assertEquals(322314656346249100, x *= (tmp = -319763758.54942775, tmp));
+ assertEquals(197436885.26815608, x /= (tmp = 1632494637, tmp));
+ assertEquals(-67191339, x |= ((-399580815.1746769)/((1335558363)/(tmp =
224694526, tmp))));
+ assertEquals(1229588737, x &= (tmp = 1296763683.5732255, tmp));
+ assertEquals(1229588737, x -= ((((1171546503)|((tmp = -2701891308,
tmp)%(-2155432197.022206)))/(-306122816.85682726))>>x));
+ assertEquals(4162606632, x -= (tmp = -2933017895, tmp));
+ assertEquals(1.6487311395551163, x /= (2524733434.1748486));
+ assertEquals(-1929308648.9913044, x += (-1929308650.6400356));
+ assertEquals(-3858617297.982609, x += x);
+ assertEquals(788529152, x <<= (x^(1401824663)));
+ assertEquals(6160384, x >>>= ((((((x>>>x)>>((((x*(tmp = -1958877151,
tmp))>>>(1310891043))-(tmp = 564909413.9962088, tmp))%(-175978438)))%x)|
((tmp = -1193552419.7837512, tmp)*(tmp = 1508330424.9068346, tmp)))|
(1428324616.3303494))-((1828673751)/(tmp = 1281364779, tmp))));
+ assertEquals(6160384, x |= x);
+ assertEquals(1, x /= x);
+ assertEquals(1, x &= (tmp = -855689741, tmp));
+ assertEquals(0, x >>>= x);
+ assertEquals(-1088569655.3528988, x -= (tmp = 1088569655.3528988, tmp));
+ assertEquals(-1088569655, x >>= ((tmp = 2429646226.626727,
tmp)<<((-1539293782.4487276)>>(x^((tmp = 1140855945.537702, tmp)+x)))));
+ assertEquals(-311, x %= ((x/x)<<x));
+ assertEquals(1.2007722007722008, x /= (x|(tmp = 448796341.87655175,
tmp)));
+ assertEquals(3, x |= (x+x));
+ assertEquals(-9.32416092168023e-10, x /= (-3217447688));
+ assertEquals(0, x >>= (615837464.0921166));
+ assertEquals(0, x >>>= (tmp = -2993750670.683118, tmp));
+ assertEquals(0, x >>>= (x%x));
+ assertEquals(1610612736, x ^= ((-1322905256.6770213)<<(-2567950598)));
+ assertEquals(1693676493, x ^= (83063757.63660407));
+ assertEquals(-758030371, x ^= (tmp = -1239274480, tmp));
+ assertEquals(-758030371, x %= (tmp = 1961339006, tmp));
+ assertEquals(-1509754528, x ^= (tmp = 1960027837, tmp));
+ assertEquals(-1509754528, x <<= x);
+ assertEquals(-1509754528, x -= (((tmp = -50690205.33559728, tmp)/((tmp =
-1364565380, tmp)<<(tmp = 2585052504, tmp)))<<(tmp = -2356889596, tmp)));
+ assertEquals(1, x >>>= (-3204164321));
+ assertEquals(1, x *= x);
+ assertEquals(1114370230.591965, x *= ((tmp = 1114370229.591965, tmp)+x));
+ assertEquals(-4.886305275432552, x /=
((-228059887.33344483)%(2841553631.3685856)));
+ assertEquals(2.358309397373389e-9, x /= (((x*(tmp = 203428818.08174622,
tmp))&(x-(((510438355)*x)+x)))+x));
+ assertEquals(0, x >>>= ((tmp = 1444810010, tmp)&(tmp =
-3135701995.2235208, tmp)));
+ assertEquals(0, x /= (1865982928.6819582));
+ assertEquals(0, x *= x);
+ assertEquals(2078726016.3772051, x -= (tmp = -2078726016.3772051, tmp));
+ assertEquals(1580337898, x ^= ((tmp = -2714629398.447015, tmp)^x));
+ assertEquals(1268363034, x -= ((x+((tmp = 1144068248.3834887,
tmp)&(-954104940.155973)))<<(tmp = 1270573731.7828264, tmp)));
+ assertEquals(1744830464, x <<= (((1444869551.7830744)>>>((((x+(tmp =
-904688528, tmp))<<x)-((tmp = 121151912.85873199, tmp)/(tmp =
-2414150217.66479, tmp)))|(((-472906698)|
(3215236833.8417764))+(907737193.9056952))))-((x&(-732223723))|
(-221800427.7392578))));
+ assertEquals(717338523283226600, x *= (x^(tmp = -2407450097.0604715,
tmp)));
+ assertEquals(402653184, x >>= ((-3191405201.168252)*((tmp =
-1941299639.695196, tmp)|(((x>>(((3215741220)>>>x)/(x+x)))^(((tmp =
-2144862025.9842231, tmp)|((tmp = -1966913385, tmp)&x))%x))*((tmp =
-1124749626.6112225, tmp)/(tmp = 837842574, tmp))))));
+ assertEquals(402653184, x &= ((x|x)>>x));
+ assertEquals(134217728, x &= ((2720231644.3849487)*x));
+ assertEquals(134217726.75839183, x -=
((2438054684.738043)/(((((-984359711)*(x|((tmp = 177559682,
tmp)^x)))/(-1253443505))/((2727868438.416792)*(x+((x<<(((tmp = 3023774345,
tmp)&(-705699616.0846889))/x))<<x))))^(1963626488.548761))));
+ assertEquals(1, x /= x);
+ assertEquals(245781494, x += ((tmp = 2551445099, tmp)^(2528486814)));
+ assertEquals(-1474427807, x ^= (-1497868393.342241));
+ assertEquals(-1057271682, x += ((((((x>>x)%(-1556081693))|
(x/(((1166243186.6325684)-(((tmp = 2870118257.1019487,
tmp)/(x+(-69909960)))^(2270610694.671496)))/((1463187204.5849519)-x))))-x)-(x<<(-3077313003)))%x));
+ assertEquals(-1065725846, x &= ((tmp = -1808223767, tmp)|
(-481628214.3871765)));
+ assertEquals(-1065725846, x ^= (x&(((tmp = -1785170598, tmp)-(tmp =
-2525350446.346484, tmp))/((((((-1783948056)^(tmp = 3027265884.41588, tmp))|
((((tmp = 2195362566.2237773, tmp)<<(-2919444619))<<((tmp =
-2507253075.2897573, tmp)^(x^((tmp = 1067516137, tmp)+((667737752)^(x*(tmp
= -1187604212.7293758, tmp)))))))%(-617406719.5140038)))*(tmp =
511060465.6632478, tmp))*((tmp = 2580189800.752836, tmp)|((((tmp =
2357895660, tmp)%((-814381220)*(x-((x>>>(((x<<x)<<(tmp = 1919573020,
tmp))-x))>>>((-2756011312.136148)>>(tmp = -1603458856, tmp))))))/((tmp =
-1609199312, tmp)&(-3127643445)))%x)))<<(-2261731798)))));
+ assertEquals(1.6020307924030301, x /= (tmp = -665234308.2628405, tmp));
+ assertEquals(-1120020556.697667, x *= (tmp = -699125486.2321637, tmp));
+ assertEquals(-215875188, x -= (((((tmp = -1307845034,
tmp)>>>((((-2820720421)^x)-(((x<<x)|(tmp = -3042092997.57406,
tmp))+(((-1294857544)+((tmp = -668029108.1487186,
tmp)>>(x<<x)))^(912144065.5274727))))^(389671596.2983854)))|
(-2774264897.146559))%(x-((tmp = 1378085269,
tmp)^x)))+((-1659377450.5247462)&(((1613063452.834885)>>>((-344896580.0694165)>>>((-13450558)+x)))^x))));
+ assertEquals(1, x /= x);
+ assertEquals(0, x >>>= (2355750790));
+ assertEquals(1969435421.4409347, x += (1969435421.4409347));
+ assertEquals(0, x -= x);
+ assertEquals(0, x >>>= (((x*((-1022802960.6953495)<<(tmp =
-2848428731.8339424, tmp)))^(-1630921485))%(1532937011)));
+ assertEquals(0, x <<= ((x+((x^(x^(tmp = 2017651860, tmp)))&(((x<<(((tmp
= -1913317290.8189478, tmp)|(x-((((x%((tmp = -3035245210,
tmp)+(-2270863807)))>>>((-2351852712)*(x^(-2422943296.0239563))))&((((-1578312517)%x)*x)*(-65592270.28452802)))>>>(tmp
= 1104329727.2094703, tmp))))-(tmp = -1431159990.3340137, tmp)))&x)|((tmp =
-2589292678.801344, tmp)&(x+((((tmp = -2557773457.456996,
tmp)>>(451910805.309445))-x)>>(((tmp = -1937832765.7654495,
tmp)^x)%x)))))))%x));
+ assertEquals(0, x %= (tmp = -626944459, tmp));
+ assertEquals(-732310021, x |= (tmp = -732310021, tmp));
+ assertEquals(-732310021, x |= x);
+ assertEquals(671352839, x ^= (x-((-3087309090.7153115)|x)));
+ assertEquals(134479872, x &= (tmp = 2357183984, tmp));
+ assertEquals(18084835973136384, x *= x);
+ assertEquals(0, x <<= ((1040482277)-(tmp = -357113781.82650447, tmp)));
+ assertEquals(74957, x |= ((((tmp = -70789345.7489841, tmp)%(tmp =
1415750131, tmp))&x)|((307027314)>>(2284275468))));
+ assertEquals(9, x >>>= x);
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/test/mjsunit/regress/regress-1969.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,5045 @@
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Flags: --allow-natives-syntax
+
+f();
+f();
+%OptimizeFunctionOnNextCall(f);
+var start = (new Date()).getTime();
+var array = f();
+var end = (new Date()).getTime();
+
+// Assert that recompiling and executing f() takes less than a second.
+assertTrue((end - start) < 1000);
+
+for (var i = 0; i < 5000; i++) assertEquals(0, array[i]);
+
+function f() {
+ var a = new Array(5000);
+ a[0]=0;
+ a[1]=0;
+ a[2]=0;
+ a[3]=0;
+ a[4]=0;
+ a[5]=0;
+ a[6]=0;
+ a[7]=0;
+ a[8]=0;
+ a[9]=0;
+ a[10]=0;
+ a[11]=0;
+ a[12]=0;
+ a[13]=0;
+ a[14]=0;
+ a[15]=0;
+ a[16]=0;
+ a[17]=0;
+ a[18]=0;
+ a[19]=0;
+ a[20]=0;
+ a[21]=0;
+ a[22]=0;
+ a[23]=0;
+ a[24]=0;
+ a[25]=0;
+ a[26]=0;
+ a[27]=0;
+ a[28]=0;
+ a[29]=0;
+ a[30]=0;
+ a[31]=0;
+ a[32]=0;
+ a[33]=0;
+ a[34]=0;
+ a[35]=0;
+ a[36]=0;
+ a[37]=0;
+ a[38]=0;
+ a[39]=0;
+ a[40]=0;
+ a[41]=0;
+ a[42]=0;
+ a[43]=0;
+ a[44]=0;
+ a[45]=0;
+ a[46]=0;
+ a[47]=0;
+ a[48]=0;
+ a[49]=0;
+ a[50]=0;
+ a[51]=0;
+ a[52]=0;
+ a[53]=0;
+ a[54]=0;
+ a[55]=0;
+ a[56]=0;
+ a[57]=0;
+ a[58]=0;
+ a[59]=0;
+ a[60]=0;
+ a[61]=0;
+ a[62]=0;
+ a[63]=0;
+ a[64]=0;
+ a[65]=0;
+ a[66]=0;
+ a[67]=0;
+ a[68]=0;
+ a[69]=0;
+ a[70]=0;
+ a[71]=0;
+ a[72]=0;
+ a[73]=0;
+ a[74]=0;
+ a[75]=0;
+ a[76]=0;
+ a[77]=0;
+ a[78]=0;
+ a[79]=0;
+ a[80]=0;
+ a[81]=0;
+ a[82]=0;
+ a[83]=0;
+ a[84]=0;
+ a[85]=0;
+ a[86]=0;
+ a[87]=0;
+ a[88]=0;
+ a[89]=0;
+ a[90]=0;
+ a[91]=0;
+ a[92]=0;
+ a[93]=0;
+ a[94]=0;
+ a[95]=0;
+ a[96]=0;
+ a[97]=0;
+ a[98]=0;
+ a[99]=0;
+ a[100]=0;
+ a[101]=0;
+ a[102]=0;
+ a[103]=0;
+ a[104]=0;
+ a[105]=0;
+ a[106]=0;
+ a[107]=0;
+ a[108]=0;
+ a[109]=0;
+ a[110]=0;
+ a[111]=0;
+ a[112]=0;
+ a[113]=0;
+ a[114]=0;
+ a[115]=0;
+ a[116]=0;
+ a[117]=0;
+ a[118]=0;
+ a[119]=0;
+ a[120]=0;
+ a[121]=0;
+ a[122]=0;
+ a[123]=0;
+ a[124]=0;
+ a[125]=0;
+ a[126]=0;
+ a[127]=0;
+ a[128]=0;
+ a[129]=0;
+ a[130]=0;
+ a[131]=0;
+ a[132]=0;
+ a[133]=0;
+ a[134]=0;
+ a[135]=0;
+ a[136]=0;
+ a[137]=0;
+ a[138]=0;
+ a[139]=0;
+ a[140]=0;
+ a[141]=0;
+ a[142]=0;
+ a[143]=0;
+ a[144]=0;
+ a[145]=0;
+ a[146]=0;
+ a[147]=0;
+ a[148]=0;
+ a[149]=0;
+ a[150]=0;
+ a[151]=0;
+ a[152]=0;
+ a[153]=0;
+ a[154]=0;
+ a[155]=0;
+ a[156]=0;
+ a[157]=0;
+ a[158]=0;
+ a[159]=0;
+ a[160]=0;
+ a[161]=0;
+ a[162]=0;
+ a[163]=0;
+ a[164]=0;
+ a[165]=0;
+ a[166]=0;
+ a[167]=0;
+ a[168]=0;
+ a[169]=0;
+ a[170]=0;
+ a[171]=0;
+ a[172]=0;
+ a[173]=0;
+ a[174]=0;
+ a[175]=0;
+ a[176]=0;
+ a[177]=0;
+ a[178]=0;
+ a[179]=0;
+ a[180]=0;
+ a[181]=0;
+ a[182]=0;
+ a[183]=0;
+ a[184]=0;
+ a[185]=0;
+ a[186]=0;
+ a[187]=0;
+ a[188]=0;
+ a[189]=0;
+ a[190]=0;
+ a[191]=0;
+ a[192]=0;
+ a[193]=0;
+ a[194]=0;
+ a[195]=0;
+ a[196]=0;
+ a[197]=0;
+ a[198]=0;
+ a[199]=0;
+ a[200]=0;
+ a[201]=0;
+ a[202]=0;
+ a[203]=0;
+ a[204]=0;
+ a[205]=0;
+ a[206]=0;
+ a[207]=0;
+ a[208]=0;
+ a[209]=0;
+ a[210]=0;
+ a[211]=0;
+ a[212]=0;
+ a[213]=0;
+ a[214]=0;
+ a[215]=0;
+ a[216]=0;
+ a[217]=0;
+ a[218]=0;
+ a[219]=0;
+ a[220]=0;
+ a[221]=0;
+ a[222]=0;
+ a[223]=0;
+ a[224]=0;
+ a[225]=0;
+ a[226]=0;
+ a[227]=0;
+ a[228]=0;
+ a[229]=0;
+ a[230]=0;
+ a[231]=0;
+ a[232]=0;
+ a[233]=0;
+ a[234]=0;
+ a[235]=0;
+ a[236]=0;
+ a[237]=0;
+ a[238]=0;
+ a[239]=0;
+ a[240]=0;
+ a[241]=0;
+ a[242]=0;
+ a[243]=0;
+ a[244]=0;
+ a[245]=0;
+ a[246]=0;
+ a[247]=0;
+ a[248]=0;
+ a[249]=0;
+ a[250]=0;
+ a[251]=0;
+ a[252]=0;
+ a[253]=0;
+ a[254]=0;
+ a[255]=0;
+ a[256]=0;
+ a[257]=0;
+ a[258]=0;
+ a[259]=0;
+ a[260]=0;
+ a[261]=0;
+ a[262]=0;
+ a[263]=0;
+ a[264]=0;
+ a[265]=0;
+ a[266]=0;
+ a[267]=0;
+ a[268]=0;
+ a[269]=0;
+ a[270]=0;
+ a[271]=0;
+ a[272]=0;
+ a[273]=0;
+ a[274]=0;
+ a[275]=0;
+ a[276]=0;
+ a[277]=0;
+ a[278]=0;
+ a[279]=0;
+ a[280]=0;
+ a[281]=0;
+ a[282]=0;
+ a[283]=0;
+ a[284]=0;
+ a[285]=0;
+ a[286]=0;
+ a[287]=0;
+ a[288]=0;
+ a[289]=0;
+ a[290]=0;
+ a[291]=0;
+ a[292]=0;
+ a[293]=0;
+ a[294]=0;
+ a[295]=0;
+ a[296]=0;
+ a[297]=0;
+ a[298]=0;
+ a[299]=0;
+ a[300]=0;
+ a[301]=0;
+ a[302]=0;
+ a[303]=0;
+ a[304]=0;
+ a[305]=0;
+ a[306]=0;
+ a[307]=0;
+ a[308]=0;
+ a[309]=0;
+ a[310]=0;
+ a[311]=0;
+ a[312]=0;
+ a[313]=0;
+ a[314]=0;
+ a[315]=0;
+ a[316]=0;
+ a[317]=0;
+ a[318]=0;
+ a[319]=0;
+ a[320]=0;
+ a[321]=0;
+ a[322]=0;
+ a[323]=0;
+ a[324]=0;
+ a[325]=0;
+ a[326]=0;
+ a[327]=0;
+ a[328]=0;
+ a[329]=0;
+ a[330]=0;
+ a[331]=0;
+ a[332]=0;
+ a[333]=0;
+ a[334]=0;
+ a[335]=0;
+ a[336]=0;
+ a[337]=0;
+ a[338]=0;
+ a[339]=0;
+ a[340]=0;
+ a[341]=0;
+ a[342]=0;
+ a[343]=0;
+ a[344]=0;
+ a[345]=0;
+ a[346]=0;
+ a[347]=0;
+ a[348]=0;
+ a[349]=0;
+ a[350]=0;
+ a[351]=0;
+ a[352]=0;
+ a[353]=0;
+ a[354]=0;
+ a[355]=0;
+ a[356]=0;
+ a[357]=0;
+ a[358]=0;
+ a[359]=0;
+ a[360]=0;
+ a[361]=0;
+ a[362]=0;
+ a[363]=0;
+ a[364]=0;
+ a[365]=0;
+ a[366]=0;
+ a[367]=0;
+ a[368]=0;
+ a[369]=0;
+ a[370]=0;
+ a[371]=0;
+ a[372]=0;
+ a[373]=0;
+ a[374]=0;
+ a[375]=0;
+ a[376]=0;
+ a[377]=0;
+ a[378]=0;
+ a[379]=0;
+ a[380]=0;
+ a[381]=0;
+ a[382]=0;
+ a[383]=0;
+ a[384]=0;
+ a[385]=0;
+ a[386]=0;
+ a[387]=0;
+ a[388]=0;
+ a[389]=0;
+ a[390]=0;
+ a[391]=0;
+ a[392]=0;
+ a[393]=0;
+ a[394]=0;
+ a[395]=0;
+ a[396]=0;
+ a[397]=0;
+ a[398]=0;
+ a[399]=0;
+ a[400]=0;
+ a[401]=0;
+ a[402]=0;
+ a[403]=0;
+ a[404]=0;
+ a[405]=0;
+ a[406]=0;
+ a[407]=0;
+ a[408]=0;
+ a[409]=0;
+ a[410]=0;
+ a[411]=0;
+ a[412]=0;
+ a[413]=0;
+ a[414]=0;
+ a[415]=0;
+ a[416]=0;
+ a[417]=0;
+ a[418]=0;
+ a[419]=0;
+ a[420]=0;
+ a[421]=0;
+ a[422]=0;
+ a[423]=0;
+ a[424]=0;
+ a[425]=0;
+ a[426]=0;
+ a[427]=0;
+ a[428]=0;
+ a[429]=0;
+ a[430]=0;
+ a[431]=0;
+ a[432]=0;
+ a[433]=0;
+ a[434]=0;
+ a[435]=0;
+ a[436]=0;
+ a[437]=0;
+ a[438]=0;
+ a[439]=0;
+ a[440]=0;
+ a[441]=0;
+ a[442]=0;
+ a[443]=0;
+ a[444]=0;
+ a[445]=0;
+ a[446]=0;
+ a[447]=0;
+ a[448]=0;
+ a[449]=0;
+ a[450]=0;
+ a[451]=0;
+ a[452]=0;
+ a[453]=0;
+ a[454]=0;
+ a[455]=0;
+ a[456]=0;
+ a[457]=0;
+ a[458]=0;
+ a[459]=0;
+ a[460]=0;
+ a[461]=0;
+ a[462]=0;
+ a[463]=0;
+ a[464]=0;
+ a[465]=0;
+ a[466]=0;
+ a[467]=0;
+ a[468]=0;
+ a[469]=0;
+ a[470]=0;
+ a[471]=0;
+ a[472]=0;
+ a[473]=0;
+ a[474]=0;
+ a[475]=0;
+ a[476]=0;
+ a[477]=0;
+ a[478]=0;
+ a[479]=0;
+ a[480]=0;
+ a[481]=0;
+ a[482]=0;
+ a[483]=0;
+ a[484]=0;
+ a[485]=0;
+ a[486]=0;
+ a[487]=0;
+ a[488]=0;
+ a[489]=0;
+ a[490]=0;
+ a[491]=0;
+ a[492]=0;
+ a[493]=0;
+ a[494]=0;
+ a[495]=0;
+ a[496]=0;
+ a[497]=0;
+ a[498]=0;
+ a[499]=0;
+ a[500]=0;
+ a[501]=0;
+ a[502]=0;
+ a[503]=0;
+ a[504]=0;
+ a[505]=0;
+ a[506]=0;
+ a[507]=0;
+ a[508]=0;
+ a[509]=0;
+ a[510]=0;
+ a[511]=0;
+ a[512]=0;
+ a[513]=0;
+ a[514]=0;
+ a[515]=0;
+ a[516]=0;
+ a[517]=0;
+ a[518]=0;
+ a[519]=0;
+ a[520]=0;
+ a[521]=0;
+ a[522]=0;
+ a[523]=0;
+ a[524]=0;
+ a[525]=0;
+ a[526]=0;
+ a[527]=0;
+ a[528]=0;
+ a[529]=0;
+ a[530]=0;
+ a[531]=0;
+ a[532]=0;
+ a[533]=0;
+ a[534]=0;
+ a[535]=0;
+ a[536]=0;
+ a[537]=0;
+ a[538]=0;
+ a[539]=0;
+ a[540]=0;
+ a[541]=0;
+ a[542]=0;
+ a[543]=0;
+ a[544]=0;
+ a[545]=0;
+ a[546]=0;
+ a[547]=0;
+ a[548]=0;
+ a[549]=0;
+ a[550]=0;
+ a[551]=0;
+ a[552]=0;
+ a[553]=0;
+ a[554]=0;
+ a[555]=0;
+ a[556]=0;
+ a[557]=0;
+ a[558]=0;
+ a[559]=0;
+ a[560]=0;
+ a[561]=0;
+ a[562]=0;
+ a[563]=0;
+ a[564]=0;
+ a[565]=0;
+ a[566]=0;
+ a[567]=0;
+ a[568]=0;
+ a[569]=0;
+ a[570]=0;
+ a[571]=0;
+ a[572]=0;
+ a[573]=0;
+ a[574]=0;
+ a[575]=0;
+ a[576]=0;
+ a[577]=0;
+ a[578]=0;
+ a[579]=0;
+ a[580]=0;
+ a[581]=0;
+ a[582]=0;
+ a[583]=0;
+ a[584]=0;
+ a[585]=0;
+ a[586]=0;
+ a[587]=0;
+ a[588]=0;
+ a[589]=0;
+ a[590]=0;
+ a[591]=0;
+ a[592]=0;
+ a[593]=0;
+ a[594]=0;
+ a[595]=0;
+ a[596]=0;
+ a[597]=0;
+ a[598]=0;
+ a[599]=0;
+ a[600]=0;
+ a[601]=0;
+ a[602]=0;
+ a[603]=0;
+ a[604]=0;
+ a[605]=0;
+ a[606]=0;
+ a[607]=0;
+ a[608]=0;
+ a[609]=0;
+ a[610]=0;
+ a[611]=0;
+ a[612]=0;
+ a[613]=0;
+ a[614]=0;
+ a[615]=0;
+ a[616]=0;
+ a[617]=0;
+ a[618]=0;
+ a[619]=0;
+ a[620]=0;
+ a[621]=0;
+ a[622]=0;
+ a[623]=0;
+ a[624]=0;
+ a[625]=0;
+ a[626]=0;
+ a[627]=0;
+ a[628]=0;
+ a[629]=0;
+ a[630]=0;
+ a[631]=0;
+ a[632]=0;
+ a[633]=0;
+ a[634]=0;
+ a[635]=0;
+ a[636]=0;
+ a[637]=0;
+ a[638]=0;
+ a[639]=0;
+ a[640]=0;
+ a[641]=0;
+ a[642]=0;
+ a[643]=0;
+ a[644]=0;
+ a[645]=0;
+ a[646]=0;
+ a[647]=0;
+ a[648]=0;
+ a[649]=0;
+ a[650]=0;
+ a[651]=0;
+ a[652]=0;
+ a[653]=0;
+ a[654]=0;
+ a[655]=0;
+ a[656]=0;
+ a[657]=0;
+ a[658]=0;
+ a[659]=0;
+ a[660]=0;
+ a[661]=0;
+ a[662]=0;
+ a[663]=0;
+ a[664]=0;
+ a[665]=0;
+ a[666]=0;
+ a[667]=0;
+ a[668]=0;
+ a[669]=0;
+ a[670]=0;
+ a[671]=0;
+ a[672]=0;
+ a[673]=0;
+ a[674]=0;
+ a[675]=0;
+ a[676]=0;
+ a[677]=0;
+ a[678]=0;
+ a[679]=0;
+ a[680]=0;
+ a[681]=0;
+ a[682]=0;
+ a[683]=0;
+ a[684]=0;
+ a[685]=0;
+ a[686]=0;
+ a[687]=0;
+ a[688]=0;
+ a[689]=0;
+ a[690]=0;
+ a[691]=0;
+ a[692]=0;
+ a[693]=0;
+ a[694]=0;
+ a[695]=0;
+ a[696]=0;
+ a[697]=0;
+ a[698]=0;
+ a[699]=0;
+ a[700]=0;
+ a[701]=0;
+ a[702]=0;
+ a[703]=0;
+ a[704]=0;
+ a[705]=0;
+ a[706]=0;
+ a[707]=0;
+ a[708]=0;
+ a[709]=0;
+ a[710]=0;
+ a[711]=0;
+ a[712]=0;
+ a[713]=0;
+ a[714]=0;
+ a[715]=0;
+ a[716]=0;
+ a[717]=0;
+ a[718]=0;
+ a[719]=0;
+ a[720]=0;
+ a[721]=0;
+ a[722]=0;
+ a[723]=0;
+ a[724]=0;
+ a[725]=0;
+ a[726]=0;
+ a[727]=0;
+ a[728]=0;
+ a[729]=0;
+ a[730]=0;
+ a[731]=0;
+ a[732]=0;
+ a[733]=0;
+ a[734]=0;
+ a[735]=0;
+ a[736]=0;
+ a[737]=0;
+ a[738]=0;
+ a[739]=0;
+ a[740]=0;
+ a[741]=0;
+ a[742]=0;
+ a[743]=0;
+ a[744]=0;
+ a[745]=0;
+ a[746]=0;
+ a[747]=0;
+ a[748]=0;
+ a[749]=0;
+ a[750]=0;
+ a[751]=0;
+ a[752]=0;
+ a[753]=0;
+ a[754]=0;
+ a[755]=0;
+ a[756]=0;
+ a[757]=0;
+ a[758]=0;
+ a[759]=0;
+ a[760]=0;
+ a[761]=0;
+ a[762]=0;
+ a[763]=0;
+ a[764]=0;
+ a[765]=0;
+ a[766]=0;
+ a[767]=0;
+ a[768]=0;
+ a[769]=0;
+ a[770]=0;
+ a[771]=0;
+ a[772]=0;
+ a[773]=0;
+ a[774]=0;
+ a[775]=0;
+ a[776]=0;
+ a[777]=0;
+ a[778]=0;
+ a[779]=0;
+ a[780]=0;
+ a[781]=0;
+ a[782]=0;
+ a[783]=0;
+ a[784]=0;
+ a[785]=0;
+ a[786]=0;
+ a[787]=0;
+ a[788]=0;
+ a[789]=0;
+ a[790]=0;
+ a[791]=0;
+ a[792]=0;
+ a[793]=0;
+ a[794]=0;
+ a[795]=0;
+ a[796]=0;
+ a[797]=0;
+ a[798]=0;
+ a[799]=0;
+ a[800]=0;
+ a[801]=0;
+ a[802]=0;
+ a[803]=0;
+ a[804]=0;
+ a[805]=0;
+ a[806]=0;
+ a[807]=0;
+ a[808]=0;
+ a[809]=0;
+ a[810]=0;
+ a[811]=0;
+ a[812]=0;
+ a[813]=0;
+ a[814]=0;
+ a[815]=0;
+ a[816]=0;
+ a[817]=0;
+ a[818]=0;
+ a[819]=0;
+ a[820]=0;
+ a[821]=0;
+ a[822]=0;
+ a[823]=0;
+ a[824]=0;
+ a[825]=0;
+ a[826]=0;
+ a[827]=0;
+ a[828]=0;
+ a[829]=0;
+ a[830]=0;
+ a[831]=0;
+ a[832]=0;
+ a[833]=0;
+ a[834]=0;
+ a[835]=0;
+ a[836]=0;
+ a[837]=0;
+ a[838]=0;
+ a[839]=0;
+ a[840]=0;
+ a[841]=0;
+ a[842]=0;
+ a[843]=0;
+ a[844]=0;
+ a[845]=0;
+ a[846]=0;
+ a[847]=0;
+ a[848]=0;
+ a[849]=0;
+ a[850]=0;
+ a[851]=0;
+ a[852]=0;
+ a[853]=0;
+ a[854]=0;
+ a[855]=0;
+ a[856]=0;
+ a[857]=0;
+ a[858]=0;
+ a[859]=0;
+ a[860]=0;
+ a[861]=0;
+ a[862]=0;
+ a[863]=0;
+ a[864]=0;
+ a[865]=0;
+ a[866]=0;
+ a[867]=0;
+ a[868]=0;
+ a[869]=0;
+ a[870]=0;
+ a[871]=0;
+ a[872]=0;
+ a[873]=0;
+ a[874]=0;
+ a[875]=0;
+ a[876]=0;
+ a[877]=0;
+ a[878]=0;
+ a[879]=0;
+ a[880]=0;
+ a[881]=0;
+ a[882]=0;
+ a[883]=0;
+ a[884]=0;
+ a[885]=0;
+ a[886]=0;
+ a[887]=0;
+ a[888]=0;
+ a[889]=0;
+ a[890]=0;
+ a[891]=0;
+ a[892]=0;
+ a[893]=0;
+ a[894]=0;
+ a[895]=0;
+ a[896]=0;
+ a[897]=0;
+ a[898]=0;
+ a[899]=0;
+ a[900]=0;
+ a[901]=0;
+ a[902]=0;
+ a[903]=0;
+ a[904]=0;
+ a[905]=0;
+ a[906]=0;
+ a[907]=0;
+ a[908]=0;
+ a[909]=0;
+ a[910]=0;
+ a[911]=0;
+ a[912]=0;
+ a[913]=0;
+ a[914]=0;
+ a[915]=0;
+ a[916]=0;
+ a[917]=0;
+ a[918]=0;
+ a[919]=0;
+ a[920]=0;
+ a[921]=0;
+ a[922]=0;
+ a[923]=0;
+ a[924]=0;
+ a[925]=0;
+ a[926]=0;
+ a[927]=0;
+ a[928]=0;
+ a[929]=0;
+ a[930]=0;
+ a[931]=0;
+ a[932]=0;
+ a[933]=0;
+ a[934]=0;
+ a[935]=0;
+ a[936]=0;
+ a[937]=0;
+ a[938]=0;
+ a[939]=0;
+ a[940]=0;
+ a[941]=0;
+ a[942]=0;
+ a[943]=0;
+ a[944]=0;
+ a[945]=0;
+ a[946]=0;
+ a[947]=0;
+ a[948]=0;
+ a[949]=0;
+ a[950]=0;
+ a[951]=0;
+ a[952]=0;
+ a[953]=0;
+ a[954]=0;
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/test/mjsunit/regress-2286.js Fri Oct 5 01:50:56 2012
@@ -0,0 +1,32 @@
+// Copyright 2012 the V8 project authors. All rights reserved.
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Flags: --allow-natives-syntax
+
+assertThrows("f()", ReferenceError);
+assertThrows("%f()", TypeError);
+assertThrows("%_f()", SyntaxError);
=======================================
--- /trunk/test/mjsunit/bugs/bug-2337.js Thu Sep 20 05:51:09 2012
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc
-
-// If one callback causes a GC then the other callbacks don't take place.
-
-var f = eval("(function f() { return 42; })");
-var f2 = eval("(function f2() { return 43; })");
-
-Debug = debug.Debug;
-
-var called = 0;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.ScriptCollected) {
- if (called != 2) {
- called++;
- gc();
- }
- }
-};
-
-Debug.scripts();
-Debug.setListener(listener);
-f = void 0;
-f2 = void 0;
-gc();
-assertTrue(called == 2);
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part1.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-
-function test1() {
- debugger;
- with ({x:1}) {
- x = 2;
- }
-}
-test1();
-
-
-function test2() {
- if (true) {
- with ({}) {
- debugger;
- }
- } else {
- with ({}) {
- return 10;
- }
- }
-}
-test2();
-
-
-function test3() {
- if (true) {
- debugger;
- } else {
- with ({}) {
- return 10;
- }
- }
-}
-test3();
-
-
-function test4() {
- debugger;
- with ({x:1}) x = 1
-}
-test4();
-
-
-function test5() {
- debugger;
- var dummy = 1;
- with ({}) {
- with ({}) {
- dummy = 2;
- }
- }
- dummy = 3;
-}
-test5();
-
-
-function test6() {
- debugger;
- try {
- throw 'stuff';
- } catch (e) {
- e = 1;
- }
-}
-test6();
-
-
-function test7() {
- debugger;
- function foo() {}
-}
-test7();
-
-
-function test8() {
- debugger;
- (function foo() {})();
-}
-test8();
-
-
-function test10() {
- debugger;
- with ({}) {
- return 10;
- }
-}
-test10();
-
-
-function test11() {
- debugger;
- try {
- throw 'stuff';
- } catch (e) {
- return 10;
- }
-}
-test11();
-
-
-var prefixes = [
- "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-
-
-// Return from function constructed with Function constructor.
-var anon = 12;
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- Function(pre + "return 42")();
- Function(pre + "return 42 ")();
- Function(pre + "return 42;")();
- Function(pre + "return 42; ")();
- Function(pre + "return anon")();
- Function(pre + "return anon ")();
- Function(pre + "return anon;")();
- Function(pre + "return anon; ")();
-}
-
-
-try {
- with({}) {
- debugger;
- eval("{}$%:^");
- }
-} catch(e) {
- nop();
-}
-
-
-function nop() {}
-
-
-// With block as the last(!) statement in global code.
-with ({}) { debugger; }
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part2.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } };
debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-function test9() {
- debugger;
- for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- eval(pre + body);
- eval("'use strict'; " + pre + body);
- }
- }
-}
-test9();
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part3.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [
- "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var with_bodies = [ "with ({}) {}",
- "with ({x:1}) x",
- "with ({x:1}) x = 1",
- "with ({x:1}) x ",
- "with ({x:1}) x = 1 ",
- "with ({x:1}) x;",
- "with ({x:1}) x = 1;",
- "with ({x:1}) x; ",
- "with ({x:1}) x = 1; " ];
-
-
-function test9() {
- debugger;
- for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < with_bodies.length; ++j) {
- var body = with_bodies[j];
- eval(pre + body);
- }
- }
-}
-test9();
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part4.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [
- "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- eval(pre + body);
- }
-}
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part5.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } };
debugger; " ];
-var with_bodies = [ "with ({}) {}",
- "with ({x:1}) x",
- "with ({x:1}) x = 1",
- "with ({x:1}) x ",
- "with ({x:1}) x = 1 ",
- "with ({x:1}) x;",
- "with ({x:1}) x = 1;",
- "with ({x:1}) x; ",
- "with ({x:1}) x = 1; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < with_bodies.length; ++j) {
- var body = with_bodies[j];
- eval(pre + body);
- Function(pre + body)();
- }
-}
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part6.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } };
debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- eval("'use strict'; " + pre + body);
- }
-}
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part7.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } };
debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- Function(pre + body)();
- }
-}
=======================================
--- /trunk/test/mjsunit/debug-stepout-scope-part8.js Mon Oct 1 09:24:39
2012
+++ /dev/null
@@ -1,234 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-
-function nop() {}
-
-
-function stress() {
- debugger;
-
- L: with ({x:12}) {
- break L;
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'inner'}) {
- break label;
- }
- }
- nop();
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
- nop();
- }
-
-
- with ({x: 'outer'}) {
- for (var i = 0; i < 3; ++i) {
- with ({x: 'inner' + i}) {
- continue;
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- label: for (var i = 0; i < 3; ++i) {
- with ({x: 'middle' + i}) {
- for (var j = 0; j < 3; ++j) {
- with ({x: 'inner' + j}) {
- continue label;
- }
- }
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- }
- }
-
-
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- nop();
- }
- }
-
-
- with ({x: 'outer'}) {
- try {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- throw 0;
- }
- }
- } catch (e) {
- }
- }
-
-
- try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } finally {
- }
- }
- } catch (e) {
- }
-
-
- try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } finally {
- nop();
- }
- }
- } catch (e) {
- }
-
-
- function stress1() {
- with ({x:12}) {
- return x;
- }
- }
- stress1();
-
-
- function stress2() {
- with ({x: 'outer'}) {
- with ({x: 'inner'}) {
- return x;
- }
- }
- }
- stress2();
-
- function stress3() {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- return e;
- }
- }
- stress3();
-
-
- function stress4() {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- with ({x: 'inner'}) {
- return e;
- }
- }
- }
- stress4();
-
-}
-stress();
=======================================
--- /trunk/test/mjsunit/deopt-minus-zero.js Thu Sep 20 05:51:09 2012
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-/**
- * The possible optimization states of a function. Must be in sync with the
- * return values of Runtime_GetOptimizationStatus() in runtime.cc!
- */
-var OptimizationState = {
- YES: 1,
- NO: 2,
- ALWAYS: 3,
- NEVER: 4
-};
-
-function mul (a, b) {
- return a * b;
-}
-
-mul(-1, -1);
-mul(0x80000001|0, -1);
-mul(0x80000001|0, -1);
-%OptimizeFunctionOnNextCall(mul);
-mul(0, -1);
-%OptimizeFunctionOnNextCall(mul);
-mul(0, -1);
-
-var raw_optimized = %GetOptimizationStatus(mul);
-assertFalse(raw_optimized == OptimizationState.NO);
-gc();
-
=======================================
--- /trunk/test/mjsunit/fuzz-natives-part1.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,222 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr
+ ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of
their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = 0;
- var stop = (allNatives.length >> 2);
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
=======================================
--- /trunk/test/mjsunit/fuzz-natives-part2.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,222 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr
+ ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of
their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = allNatives.length >> 2;
- var stop = (allNatives.length >> 2)*2;
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
=======================================
--- /trunk/test/mjsunit/fuzz-natives-part3.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,222 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr
+ ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of
their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = (allNatives.length >> 2)*2;
- var stop = (allNatives.length >> 2)*3;
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
=======================================
--- /trunk/test/mjsunit/fuzz-natives-part4.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,222 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr
+ ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of
their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = (allNatives.length >> 2)*3;
- var stop = allNatives.length;
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
=======================================
--- /trunk/test/mjsunit/math-floor-part1.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- // Ensure that a negative zero coming from Math.floor is properly handled
- // by other operations.
- function ifloor(x) {
- return 1 / Math.floor(x);
- }
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- %OptimizeFunctionOnNextCall(ifloor);
- assertEquals(-Infinity, ifloor(-0));
-
- testFloor(0, 0.1);
- testFloor(0, 0.49999999999999994);
- testFloor(0, 0.5);
- testFloor(0, 0.7);
- testFloor(-1, -0.1);
- testFloor(-1, -0.49999999999999994);
- testFloor(-1, -0.5);
- testFloor(-1, -0.7);
- testFloor(1, 1);
- testFloor(1, 1.1);
- testFloor(1, 1.5);
- testFloor(1, 1.7);
- testFloor(-1, -1);
- testFloor(-2, -1.1);
- testFloor(-2, -1.5);
- testFloor(-2, -1.7);
-
- testFloor(0, Number.MIN_VALUE);
- testFloor(-1, -Number.MIN_VALUE);
- testFloor(Number.MAX_VALUE, Number.MAX_VALUE);
- testFloor(-Number.MAX_VALUE, -Number.MAX_VALUE);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
=======================================
--- /trunk/test/mjsunit/math-floor-part2.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- // 2^30 is a smi boundary.
- var two_30 = 1 << 30;
-
- testFloor(two_30, two_30);
- testFloor(two_30, two_30 + 0.1);
- testFloor(two_30, two_30 + 0.5);
- testFloor(two_30, two_30 + 0.7);
-
- testFloor(two_30 - 1, two_30 - 1);
- testFloor(two_30 - 1, two_30 - 1 + 0.1);
- testFloor(two_30 - 1, two_30 - 1 + 0.5);
- testFloor(two_30 - 1, two_30 - 1 + 0.7);
-
- testFloor(-two_30, -two_30);
- testFloor(-two_30, -two_30 + 0.1);
- testFloor(-two_30, -two_30 + 0.5);
- testFloor(-two_30, -two_30 + 0.7);
-
- testFloor(-two_30 + 1, -two_30 + 1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.5);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.7);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
=======================================
--- /trunk/test/mjsunit/math-floor-part3.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- // 2^52 is a precision boundary.
- var two_52 = (1 << 30) * (1 << 22);
-
- testFloor(two_52, two_52);
- testFloor(two_52, two_52 + 0.1);
- assertEquals(two_52, two_52 + 0.5);
- testFloor(two_52, two_52 + 0.5);
- assertEquals(two_52 + 1, two_52 + 0.7);
- testFloor(two_52 + 1, two_52 + 0.7);
-
- testFloor(two_52 - 1, two_52 - 1);
- testFloor(two_52 - 1, two_52 - 1 + 0.1);
- testFloor(two_52 - 1, two_52 - 1 + 0.5);
- testFloor(two_52 - 1, two_52 - 1 + 0.7);
-
- testFloor(-two_52, -two_52);
- testFloor(-two_52, -two_52 + 0.1);
- testFloor(-two_52, -two_52 + 0.5);
- testFloor(-two_52, -two_52 + 0.7);
-
- testFloor(-two_52 + 1, -two_52 + 1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.5);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.7);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
=======================================
--- /trunk/test/mjsunit/math-floor-part4.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- testFloor(0, 0);
- testFloor(0, zero());
- testFloor(-0, -0);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
- testFloor(NaN, NaN);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
-
-
-// Regression test for a bug where a negative zero coming from Math.floor
-// was not properly handled by other operations.
-function floorsum(i, n) {
- var ret = Math.floor(n);
- while (--i > 0) {
- ret += Math.floor(n);
- }
- return ret;
-}
-assertEquals(-0, floorsum(1, -0));
-%OptimizeFunctionOnNextCall(floorsum);
-// The optimized function will deopt. Run it with enough iterations to try
-// to optimize via OSR (triggering the bug).
-assertEquals(-0, floorsum(100000, -0));
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part1.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,491 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 0;
-f(0, 0);
-x = 1;
-f(0, 0);
-f(1, 1);
-x = 2;
-f(0, 0);
-f(2, 1);
-f(4, 2);
-x = 3;
-f(0, 0);
-f(3, 1);
-f(6, 2);
-f(9, 3);
-x = 4;
-f(0, 0);
-f(4, 1);
-f(8, 2);
-f(12, 3);
-f(16, 4);
-x = 5;
-f(0, 0);
-f(5, 1);
-f(10, 2);
-f(15, 3);
-f(20, 4);
-f(25, 5);
-x = 7;
-f(0, 0);
-f(7, 1);
-f(14, 2);
-f(21, 3);
-f(28, 4);
-f(35, 5);
-f(49, 7);
-x = 8;
-f(0, 0);
-f(8, 1);
-f(16, 2);
-f(24, 3);
-f(32, 4);
-f(40, 5);
-f(56, 7);
-f(64, 8);
-x = 9;
-f(0, 0);
-f(9, 1);
-f(18, 2);
-f(27, 3);
-f(36, 4);
-f(45, 5);
-f(63, 7);
-f(72, 8);
-f(81, 9);
-x = 15;
-f(0, 0);
-f(15, 1);
-f(30, 2);
-f(45, 3);
-f(60, 4);
-f(75, 5);
-f(105, 7);
-f(120, 8);
-f(135, 9);
-f(225, 15);
-x = 16;
-f(0, 0);
-f(16, 1);
-f(32, 2);
-f(48, 3);
-f(64, 4);
-f(80, 5);
-f(112, 7);
-f(128, 8);
-f(144, 9);
-f(240, 15);
-f(256, 16);
-x = 17;
-f(0, 0);
-f(17, 1);
-f(34, 2);
-f(51, 3);
-f(68, 4);
-f(85, 5);
-f(119, 7);
-f(136, 8);
-f(153, 9);
-f(255, 15);
-f(272, 16);
-f(289, 17);
-x = 31;
-f(0, 0);
-f(31, 1);
-f(62, 2);
-f(93, 3);
-f(124, 4);
-f(155, 5);
-f(217, 7);
-f(248, 8);
-f(279, 9);
-f(465, 15);
-f(496, 16);
-f(527, 17);
-f(961, 31);
-x = 32;
-f(0, 0);
-f(32, 1);
-f(64, 2);
-f(96, 3);
-f(128, 4);
-f(160, 5);
-f(224, 7);
-f(256, 8);
-f(288, 9);
-f(480, 15);
-f(512, 16);
-f(544, 17);
-f(992, 31);
-f(1024, 32);
-x = 33;
-f(0, 0);
-f(33, 1);
-f(66, 2);
-f(99, 3);
-f(132, 4);
-f(165, 5);
-f(231, 7);
-f(264, 8);
-f(297, 9);
-f(495, 15);
-f(528, 16);
-f(561, 17);
-f(1023, 31);
-f(1056, 32);
-f(1089, 33);
-x = 63;
-f(0, 0);
-f(63, 1);
-f(126, 2);
-f(189, 3);
-f(252, 4);
-f(315, 5);
-f(441, 7);
-f(504, 8);
-f(567, 9);
-f(945, 15);
-f(1008, 16);
-f(1071, 17);
-f(1953, 31);
-f(2016, 32);
-f(2079, 33);
-f(3969, 63);
-x = 64;
-f(0, 0);
-f(64, 1);
-f(128, 2);
-f(192, 3);
-f(256, 4);
-f(320, 5);
-f(448, 7);
-f(512, 8);
-f(576, 9);
-f(960, 15);
-f(1024, 16);
-f(1088, 17);
-f(1984, 31);
-f(2048, 32);
-f(2112, 33);
-f(4032, 63);
-f(4096, 64);
-x = 65;
-f(0, 0);
-f(65, 1);
-f(130, 2);
-f(195, 3);
-f(260, 4);
-f(325, 5);
-f(455, 7);
-f(520, 8);
-f(585, 9);
-f(975, 15);
-f(1040, 16);
-f(1105, 17);
-f(2015, 31);
-f(2080, 32);
-f(2145, 33);
-f(4095, 63);
-f(4160, 64);
-f(4225, 65);
-x = 127;
-f(0, 0);
-f(127, 1);
-f(254, 2);
-f(381, 3);
-f(508, 4);
-f(635, 5);
-f(889, 7);
-f(1016, 8);
-f(1143, 9);
-f(1905, 15);
-f(2032, 16);
-f(2159, 17);
-f(3937, 31);
-f(4064, 32);
-f(4191, 33);
-f(8001, 63);
-f(8128, 64);
-f(8255, 65);
-f(16129, 127);
-x = 128;
-f(0, 0);
-f(128, 1);
-f(256, 2);
-f(384, 3);
-f(512, 4);
-f(640, 5);
-f(896, 7);
-f(1024, 8);
-f(1152, 9);
-f(1920, 15);
-f(2048, 16);
-f(2176, 17);
-f(3968, 31);
-f(4096, 32);
-f(4224, 33);
-f(8064, 63);
-f(8192, 64);
-f(8320, 65);
-f(16256, 127);
-f(16384, 128);
-x = 129;
-f(0, 0);
-f(129, 1);
-f(258, 2);
-f(387, 3);
-f(516, 4);
-f(645, 5);
-f(903, 7);
-f(1032, 8);
-f(1161, 9);
-f(1935, 15);
-f(2064, 16);
-f(2193, 17);
-f(3999, 31);
-f(4128, 32);
-f(4257, 33);
-f(8127, 63);
-f(8256, 64);
-f(8385, 65);
-f(16383, 127);
-f(16512, 128);
-f(16641, 129);
-x = 255;
-f(0, 0);
-f(255, 1);
-f(510, 2);
-f(765, 3);
-f(1020, 4);
-f(1275, 5);
-f(1785, 7);
-f(2040, 8);
-f(2295, 9);
-f(3825, 15);
-f(4080, 16);
-f(4335, 17);
-f(7905, 31);
-f(8160, 32);
-f(8415, 33);
-f(16065, 63);
-f(16320, 64);
-f(16575, 65);
-f(32385, 127);
-f(32640, 128);
-f(32895, 129);
-f(65025, 255);
-x = 256;
-f(0, 0);
-f(256, 1);
-f(512, 2);
-f(768, 3);
-f(1024, 4);
-f(1280, 5);
-f(1792, 7);
-f(2048, 8);
-f(2304, 9);
-f(3840, 15);
-f(4096, 16);
-f(4352, 17);
-f(7936, 31);
-f(8192, 32);
-f(8448, 33);
-f(16128, 63);
-f(16384, 64);
-f(16640, 65);
-f(32512, 127);
-f(32768, 128);
-f(33024, 129);
-f(65280, 255);
-f(65536, 256);
-x = 257;
-f(0, 0);
-f(257, 1);
-f(514, 2);
-f(771, 3);
-f(1028, 4);
-f(1285, 5);
-f(1799, 7);
-f(2056, 8);
-f(2313, 9);
-f(3855, 15);
-f(4112, 16);
-f(4369, 17);
-f(7967, 31);
-f(8224, 32);
-f(8481, 33);
-f(16191, 63);
-f(16448, 64);
-f(16705, 65);
-f(32639, 127);
-f(32896, 128);
-f(33153, 129);
-f(65535, 255);
-f(65792, 256);
-f(66049, 257);
-x = 511;
-f(0, 0);
-f(511, 1);
-f(1022, 2);
-f(1533, 3);
-f(2044, 4);
-f(2555, 5);
-f(3577, 7);
-f(4088, 8);
-f(4599, 9);
-f(7665, 15);
-f(8176, 16);
-f(8687, 17);
-f(15841, 31);
-f(16352, 32);
-f(16863, 33);
-f(32193, 63);
-f(32704, 64);
-f(33215, 65);
-f(64897, 127);
-f(65408, 128);
-f(65919, 129);
-f(130305, 255);
-f(130816, 256);
-f(131327, 257);
-f(261121, 511);
-x = 512;
-f(0, 0);
-f(512, 1);
-f(1024, 2);
-f(1536, 3);
-f(2048, 4);
-f(2560, 5);
-f(3584, 7);
-f(4096, 8);
-f(4608, 9);
-f(7680, 15);
-f(8192, 16);
-f(8704, 17);
-f(15872, 31);
-f(16384, 32);
-f(16896, 33);
-f(32256, 63);
-f(32768, 64);
-f(33280, 65);
-f(65024, 127);
-f(65536, 128);
-f(66048, 129);
-f(130560, 255);
-f(131072, 256);
-f(131584, 257);
-f(261632, 511);
-f(262144, 512);
-x = 513;
-f(0, 0);
-f(513, 1);
-f(1026, 2);
-f(1539, 3);
-f(2052, 4);
-f(2565, 5);
-f(3591, 7);
-f(4104, 8);
-f(4617, 9);
-f(7695, 15);
-f(8208, 16);
-f(8721, 17);
-f(15903, 31);
-f(16416, 32);
-f(16929, 33);
-f(32319, 63);
-f(32832, 64);
-f(33345, 65);
-f(65151, 127);
-f(65664, 128);
-f(66177, 129);
-f(130815, 255);
-f(131328, 256);
-f(131841, 257);
-f(262143, 511);
-f(262656, 512);
-f(263169, 513);
-x = 1023;
-f(0, 0);
-f(1023, 1);
-f(2046, 2);
-f(3069, 3);
-f(4092, 4);
-f(5115, 5);
-f(7161, 7);
-f(8184, 8);
-f(9207, 9);
-f(15345, 15);
-f(16368, 16);
-f(17391, 17);
-f(31713, 31);
-f(32736, 32);
-f(33759, 33);
-f(64449, 63);
-f(65472, 64);
-f(66495, 65);
-f(129921, 127);
-f(130944, 128);
-f(131967, 129);
-f(260865, 255);
-f(261888, 256);
-f(262911, 257);
-f(522753, 511);
-f(523776, 512);
-f(524799, 513);
-f(1046529, 1023);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part10.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,470 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 4294967296;
-f(0, 0);
-f(4294967296, 1);
-f(8589934592, 2);
-f(12884901888, 3);
-f(17179869184, 4);
-f(21474836480, 5);
-f(30064771072, 7);
-f(34359738368, 8);
-f(38654705664, 9);
-f(64424509440, 15);
-f(68719476736, 16);
-f(73014444032, 17);
-f(133143986176, 31);
-f(137438953472, 32);
-f(141733920768, 33);
-f(270582939648, 63);
-f(274877906944, 64);
-f(279172874240, 65);
-f(545460846592, 127);
-f(549755813888, 128);
-f(554050781184, 129);
-f(1095216660480, 255);
-f(1099511627776, 256);
-f(1103806595072, 257);
-f(2194728288256, 511);
-f(2199023255552, 512);
-f(2203318222848, 513);
-f(4393751543808, 1023);
-f(4398046511104, 1024);
-f(4402341478400, 1025);
-f(8791798054912, 2047);
-f(8796093022208, 2048);
-f(8800387989504, 2049);
-f(17587891077120, 4095);
-f(17592186044416, 4096);
-f(17596481011712, 4097);
-f(35180077121536, 8191);
-f(35184372088832, 8192);
-f(35188667056128, 8193);
-f(70364449210368, 16383);
-f(70368744177664, 16384);
-f(70373039144960, 16385);
-f(140733193388032, 32767);
-f(140737488355328, 32768);
-f(140741783322624, 32769);
-f(281470681743360, 65535);
-f(281474976710656, 65536);
-f(281479271677952, 65537);
-f(562945658454016, 131071);
-f(562949953421312, 131072);
-f(562954248388608, 131073);
-f(1125895611875328, 262143);
-f(1125899906842624, 262144);
-f(1125904201809920, 262145);
-x = 4294967297;
-f(0, 0);
-f(4294967297, 1);
-f(8589934594, 2);
-f(12884901891, 3);
-f(17179869188, 4);
-f(21474836485, 5);
-f(30064771079, 7);
-f(34359738376, 8);
-f(38654705673, 9);
-f(64424509455, 15);
-f(68719476752, 16);
-f(73014444049, 17);
-f(133143986207, 31);
-f(137438953504, 32);
-f(141733920801, 33);
-f(270582939711, 63);
-f(274877907008, 64);
-f(279172874305, 65);
-f(545460846719, 127);
-f(549755814016, 128);
-f(554050781313, 129);
-f(1095216660735, 255);
-f(1099511628032, 256);
-f(1103806595329, 257);
-f(2194728288767, 511);
-f(2199023256064, 512);
-f(2203318223361, 513);
-f(4393751544831, 1023);
-f(4398046512128, 1024);
-f(4402341479425, 1025);
-f(8791798056959, 2047);
-f(8796093024256, 2048);
-f(8800387991553, 2049);
-f(17587891081215, 4095);
-f(17592186048512, 4096);
-f(17596481015809, 4097);
-f(35180077129727, 8191);
-f(35184372097024, 8192);
-f(35188667064321, 8193);
-f(70364449226751, 16383);
-f(70368744194048, 16384);
-f(70373039161345, 16385);
-f(140733193420799, 32767);
-f(140737488388096, 32768);
-f(140741783355393, 32769);
-f(281470681808895, 65535);
-f(281474976776192, 65536);
-f(281479271743489, 65537);
-f(562945658585087, 131071);
-f(562949953552384, 131072);
-f(562954248519681, 131073);
-f(1125895612137471, 262143);
-f(1125899907104768, 262144);
-f(1125904202072065, 262145);
-x = 8589934591;
-f(0, 0);
-f(8589934591, 1);
-f(17179869182, 2);
-f(25769803773, 3);
-f(34359738364, 4);
-f(42949672955, 5);
-f(60129542137, 7);
-f(68719476728, 8);
-f(77309411319, 9);
-f(128849018865, 15);
-f(137438953456, 16);
-f(146028888047, 17);
-f(266287972321, 31);
-f(274877906912, 32);
-f(283467841503, 33);
-f(541165879233, 63);
-f(549755813824, 64);
-f(558345748415, 65);
-f(1090921693057, 127);
-f(1099511627648, 128);
-f(1108101562239, 129);
-f(2190433320705, 255);
-f(2199023255296, 256);
-f(2207613189887, 257);
-f(4389456576001, 511);
-f(4398046510592, 512);
-f(4406636445183, 513);
-f(8787503086593, 1023);
-f(8796093021184, 1024);
-f(8804682955775, 1025);
-f(17583596107777, 2047);
-f(17592186042368, 2048);
-f(17600775976959, 2049);
-f(35175782150145, 4095);
-f(35184372084736, 4096);
-f(35192962019327, 4097);
-f(70360154234881, 8191);
-f(70368744169472, 8192);
-f(70377334104063, 8193);
-f(140728898404353, 16383);
-f(140737488338944, 16384);
-f(140746078273535, 16385);
-f(281466386743297, 32767);
-f(281474976677888, 32768);
-f(281483566612479, 32769);
-f(562941363421185, 65535);
-f(562949953355776, 65536);
-f(562958543290367, 65537);
-f(1125891316776961, 131071);
-f(1125899906711552, 131072);
-f(1125908496646143, 131073);
-x = 8589934592;
-f(0, 0);
-f(8589934592, 1);
-f(17179869184, 2);
-f(25769803776, 3);
-f(34359738368, 4);
-f(42949672960, 5);
-f(60129542144, 7);
-f(68719476736, 8);
-f(77309411328, 9);
-f(128849018880, 15);
-f(137438953472, 16);
-f(146028888064, 17);
-f(266287972352, 31);
-f(274877906944, 32);
-f(283467841536, 33);
-f(541165879296, 63);
-f(549755813888, 64);
-f(558345748480, 65);
-f(1090921693184, 127);
-f(1099511627776, 128);
-f(1108101562368, 129);
-f(2190433320960, 255);
-f(2199023255552, 256);
-f(2207613190144, 257);
-f(4389456576512, 511);
-f(4398046511104, 512);
-f(4406636445696, 513);
-f(8787503087616, 1023);
-f(8796093022208, 1024);
-f(8804682956800, 1025);
-f(17583596109824, 2047);
-f(17592186044416, 2048);
-f(17600775979008, 2049);
-f(35175782154240, 4095);
-f(35184372088832, 4096);
-f(35192962023424, 4097);
-f(70360154243072, 8191);
-f(70368744177664, 8192);
-f(70377334112256, 8193);
-f(140728898420736, 16383);
-f(140737488355328, 16384);
-f(140746078289920, 16385);
-f(281466386776064, 32767);
-f(281474976710656, 32768);
-f(281483566645248, 32769);
-f(562941363486720, 65535);
-f(562949953421312, 65536);
-f(562958543355904, 65537);
-f(1125891316908032, 131071);
-f(1125899906842624, 131072);
-f(1125908496777216, 131073);
-x = 8589934593;
-f(0, 0);
-f(8589934593, 1);
-f(17179869186, 2);
-f(25769803779, 3);
-f(34359738372, 4);
-f(42949672965, 5);
-f(60129542151, 7);
-f(68719476744, 8);
-f(77309411337, 9);
-f(128849018895, 15);
-f(137438953488, 16);
-f(146028888081, 17);
-f(266287972383, 31);
-f(274877906976, 32);
-f(283467841569, 33);
-f(541165879359, 63);
-f(549755813952, 64);
-f(558345748545, 65);
-f(1090921693311, 127);
-f(1099511627904, 128);
-f(1108101562497, 129);
-f(2190433321215, 255);
-f(2199023255808, 256);
-f(2207613190401, 257);
-f(4389456577023, 511);
-f(4398046511616, 512);
-f(4406636446209, 513);
-f(8787503088639, 1023);
-f(8796093023232, 1024);
-f(8804682957825, 1025);
-f(17583596111871, 2047);
-f(17592186046464, 2048);
-f(17600775981057, 2049);
-f(35175782158335, 4095);
-f(35184372092928, 4096);
-f(35192962027521, 4097);
-f(70360154251263, 8191);
-f(70368744185856, 8192);
-f(70377334120449, 8193);
-f(140728898437119, 16383);
-f(140737488371712, 16384);
-f(140746078306305, 16385);
-f(281466386808831, 32767);
-f(281474976743424, 32768);
-f(281483566678017, 32769);
-f(562941363552255, 65535);
-f(562949953486848, 65536);
-f(562958543421441, 65537);
-f(1125891317039103, 131071);
-f(1125899906973696, 131072);
-f(1125908496908289, 131073);
-x = 17179869183;
-f(0, 0);
-f(17179869183, 1);
-f(34359738366, 2);
-f(51539607549, 3);
-f(68719476732, 4);
-f(85899345915, 5);
-f(120259084281, 7);
-f(137438953464, 8);
-f(154618822647, 9);
-f(257698037745, 15);
-f(274877906928, 16);
-f(292057776111, 17);
-f(532575944673, 31);
-f(549755813856, 32);
-f(566935683039, 33);
-f(1082331758529, 63);
-f(1099511627712, 64);
-f(1116691496895, 65);
-f(2181843386241, 127);
-f(2199023255424, 128);
-f(2216203124607, 129);
-f(4380866641665, 255);
-f(4398046510848, 256);
-f(4415226380031, 257);
-f(8778913152513, 511);
-f(8796093021696, 512);
-f(8813272890879, 513);
-f(17575006174209, 1023);
-f(17592186043392, 1024);
-f(17609365912575, 1025);
-f(35167192217601, 2047);
-f(35184372086784, 2048);
-f(35201551955967, 2049);
-f(70351564304385, 4095);
-f(70368744173568, 4096);
-f(70385924042751, 4097);
-f(140720308477953, 8191);
-f(140737488347136, 8192);
-f(140754668216319, 8193);
-f(281457796825089, 16383);
-f(281474976694272, 16384);
-f(281492156563455, 16385);
-f(562932773519361, 32767);
-f(562949953388544, 32768);
-f(562967133257727, 32769);
-f(1125882726907905, 65535);
-f(1125899906777088, 65536);
-f(1125917086646271, 65537);
-x = 17179869184;
-f(0, 0);
-f(17179869184, 1);
-f(34359738368, 2);
-f(51539607552, 3);
-f(68719476736, 4);
-f(85899345920, 5);
-f(120259084288, 7);
-f(137438953472, 8);
-f(154618822656, 9);
-f(257698037760, 15);
-f(274877906944, 16);
-f(292057776128, 17);
-f(532575944704, 31);
-f(549755813888, 32);
-f(566935683072, 33);
-f(1082331758592, 63);
-f(1099511627776, 64);
-f(1116691496960, 65);
-f(2181843386368, 127);
-f(2199023255552, 128);
-f(2216203124736, 129);
-f(4380866641920, 255);
-f(4398046511104, 256);
-f(4415226380288, 257);
-f(8778913153024, 511);
-f(8796093022208, 512);
-f(8813272891392, 513);
-f(17575006175232, 1023);
-f(17592186044416, 1024);
-f(17609365913600, 1025);
-f(35167192219648, 2047);
-f(35184372088832, 2048);
-f(35201551958016, 2049);
-f(70351564308480, 4095);
-f(70368744177664, 4096);
-f(70385924046848, 4097);
-f(140720308486144, 8191);
-f(140737488355328, 8192);
-f(140754668224512, 8193);
-f(281457796841472, 16383);
-f(281474976710656, 16384);
-f(281492156579840, 16385);
-f(562932773552128, 32767);
-f(562949953421312, 32768);
-f(562967133290496, 32769);
-f(1125882726973440, 65535);
-f(1125899906842624, 65536);
-f(1125917086711808, 65537);
-x = 17179869185;
-f(0, 0);
-f(17179869185, 1);
-f(34359738370, 2);
-f(51539607555, 3);
-f(68719476740, 4);
-f(85899345925, 5);
-f(120259084295, 7);
-f(137438953480, 8);
-f(154618822665, 9);
-f(257698037775, 15);
-f(274877906960, 16);
-f(292057776145, 17);
-f(532575944735, 31);
-f(549755813920, 32);
-f(566935683105, 33);
-f(1082331758655, 63);
-f(1099511627840, 64);
-f(1116691497025, 65);
-f(2181843386495, 127);
-f(2199023255680, 128);
-f(2216203124865, 129);
-f(4380866642175, 255);
-f(4398046511360, 256);
-f(4415226380545, 257);
-f(8778913153535, 511);
-f(8796093022720, 512);
-f(8813272891905, 513);
-f(17575006176255, 1023);
-f(17592186045440, 1024);
-f(17609365914625, 1025);
-f(35167192221695, 2047);
-f(35184372090880, 2048);
-f(35201551960065, 2049);
-f(70351564312575, 4095);
-f(70368744181760, 4096);
-f(70385924050945, 4097);
-f(140720308494335, 8191);
-f(140737488363520, 8192);
-f(140754668232705, 8193);
-f(281457796857855, 16383);
-f(281474976727040, 16384);
-f(281492156596225, 16385);
-f(562932773584895, 32767);
-f(562949953454080, 32768);
-f(562967133323265, 32769);
-f(1125882727038975, 65535);
-f(1125899906908160, 65536);
-f(1125917086777345, 65537);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part2.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,525 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 1024;
-f(0, 0);
-f(1024, 1);
-f(2048, 2);
-f(3072, 3);
-f(4096, 4);
-f(5120, 5);
-f(7168, 7);
-f(8192, 8);
-f(9216, 9);
-f(15360, 15);
-f(16384, 16);
-f(17408, 17);
-f(31744, 31);
-f(32768, 32);
-f(33792, 33);
-f(64512, 63);
-f(65536, 64);
-f(66560, 65);
-f(130048, 127);
-f(131072, 128);
-f(132096, 129);
-f(261120, 255);
-f(262144, 256);
-f(263168, 257);
-f(523264, 511);
-f(524288, 512);
-f(525312, 513);
-f(1047552, 1023);
-f(1048576, 1024);
-x = 1025;
-f(0, 0);
-f(1025, 1);
-f(2050, 2);
-f(3075, 3);
-f(4100, 4);
-f(5125, 5);
-f(7175, 7);
-f(8200, 8);
-f(9225, 9);
-f(15375, 15);
-f(16400, 16);
-f(17425, 17);
-f(31775, 31);
-f(32800, 32);
-f(33825, 33);
-f(64575, 63);
-f(65600, 64);
-f(66625, 65);
-f(130175, 127);
-f(131200, 128);
-f(132225, 129);
-f(261375, 255);
-f(262400, 256);
-f(263425, 257);
-f(523775, 511);
-f(524800, 512);
-f(525825, 513);
-f(1048575, 1023);
-f(1049600, 1024);
-f(1050625, 1025);
-x = 2047;
-f(0, 0);
-f(2047, 1);
-f(4094, 2);
-f(6141, 3);
-f(8188, 4);
-f(10235, 5);
-f(14329, 7);
-f(16376, 8);
-f(18423, 9);
-f(30705, 15);
-f(32752, 16);
-f(34799, 17);
-f(63457, 31);
-f(65504, 32);
-f(67551, 33);
-f(128961, 63);
-f(131008, 64);
-f(133055, 65);
-f(259969, 127);
-f(262016, 128);
-f(264063, 129);
-f(521985, 255);
-f(524032, 256);
-f(526079, 257);
-f(1046017, 511);
-f(1048064, 512);
-f(1050111, 513);
-f(2094081, 1023);
-f(2096128, 1024);
-f(2098175, 1025);
-f(4190209, 2047);
-x = 2048;
-f(0, 0);
-f(2048, 1);
-f(4096, 2);
-f(6144, 3);
-f(8192, 4);
-f(10240, 5);
-f(14336, 7);
-f(16384, 8);
-f(18432, 9);
-f(30720, 15);
-f(32768, 16);
-f(34816, 17);
-f(63488, 31);
-f(65536, 32);
-f(67584, 33);
-f(129024, 63);
-f(131072, 64);
-f(133120, 65);
-f(260096, 127);
-f(262144, 128);
-f(264192, 129);
-f(522240, 255);
-f(524288, 256);
-f(526336, 257);
-f(1046528, 511);
-f(1048576, 512);
-f(1050624, 513);
-f(2095104, 1023);
-f(2097152, 1024);
-f(2099200, 1025);
-f(4192256, 2047);
-f(4194304, 2048);
-x = 2049;
-f(0, 0);
-f(2049, 1);
-f(4098, 2);
-f(6147, 3);
-f(8196, 4);
-f(10245, 5);
-f(14343, 7);
-f(16392, 8);
-f(18441, 9);
-f(30735, 15);
-f(32784, 16);
-f(34833, 17);
-f(63519, 31);
-f(65568, 32);
-f(67617, 33);
-f(129087, 63);
-f(131136, 64);
-f(133185, 65);
-f(260223, 127);
-f(262272, 128);
-f(264321, 129);
-f(522495, 255);
-f(524544, 256);
-f(526593, 257);
-f(1047039, 511);
-f(1049088, 512);
-f(1051137, 513);
-f(2096127, 1023);
-f(2098176, 1024);
-f(2100225, 1025);
-f(4194303, 2047);
-f(4196352, 2048);
-f(4198401, 2049);
-x = 4095;
-f(0, 0);
-f(4095, 1);
-f(8190, 2);
-f(12285, 3);
-f(16380, 4);
-f(20475, 5);
-f(28665, 7);
-f(32760, 8);
-f(36855, 9);
-f(61425, 15);
-f(65520, 16);
-f(69615, 17);
-f(126945, 31);
-f(131040, 32);
-f(135135, 33);
-f(257985, 63);
-f(262080, 64);
-f(266175, 65);
-f(520065, 127);
-f(524160, 128);
-f(528255, 129);
-f(1044225, 255);
-f(1048320, 256);
-f(1052415, 257);
-f(2092545, 511);
-f(2096640, 512);
-f(2100735, 513);
-f(4189185, 1023);
-f(4193280, 1024);
-f(4197375, 1025);
-f(8382465, 2047);
-f(8386560, 2048);
-f(8390655, 2049);
-f(16769025, 4095);
-x = 4096;
-f(0, 0);
-f(4096, 1);
-f(8192, 2);
-f(12288, 3);
-f(16384, 4);
-f(20480, 5);
-f(28672, 7);
-f(32768, 8);
-f(36864, 9);
-f(61440, 15);
-f(65536, 16);
-f(69632, 17);
-f(126976, 31);
-f(131072, 32);
-f(135168, 33);
-f(258048, 63);
-f(262144, 64);
-f(266240, 65);
-f(520192, 127);
-f(524288, 128);
-f(528384, 129);
-f(1044480, 255);
-f(1048576, 256);
-f(1052672, 257);
-f(2093056, 511);
-f(2097152, 512);
-f(2101248, 513);
-f(4190208, 1023);
-f(4194304, 1024);
-f(4198400, 1025);
-f(8384512, 2047);
-f(8388608, 2048);
-f(8392704, 2049);
-f(16773120, 4095);
-f(16777216, 4096);
-x = 4097;
-f(0, 0);
-f(4097, 1);
-f(8194, 2);
-f(12291, 3);
-f(16388, 4);
-f(20485, 5);
-f(28679, 7);
-f(32776, 8);
-f(36873, 9);
-f(61455, 15);
-f(65552, 16);
-f(69649, 17);
-f(127007, 31);
-f(131104, 32);
-f(135201, 33);
-f(258111, 63);
-f(262208, 64);
-f(266305, 65);
-f(520319, 127);
-f(524416, 128);
-f(528513, 129);
-f(1044735, 255);
-f(1048832, 256);
-f(1052929, 257);
-f(2093567, 511);
-f(2097664, 512);
-f(2101761, 513);
-f(4191231, 1023);
-f(4195328, 1024);
-f(4199425, 1025);
-f(8386559, 2047);
-f(8390656, 2048);
-f(8394753, 2049);
-f(16777215, 4095);
-f(16781312, 4096);
-f(16785409, 4097);
-x = 8191;
-f(0, 0);
-f(8191, 1);
-f(16382, 2);
-f(24573, 3);
-f(32764, 4);
-f(40955, 5);
-f(57337, 7);
-f(65528, 8);
-f(73719, 9);
-f(122865, 15);
-f(131056, 16);
-f(139247, 17);
-f(253921, 31);
-f(262112, 32);
-f(270303, 33);
-f(516033, 63);
-f(524224, 64);
-f(532415, 65);
-f(1040257, 127);
-f(1048448, 128);
-f(1056639, 129);
-f(2088705, 255);
-f(2096896, 256);
-f(2105087, 257);
-f(4185601, 511);
-f(4193792, 512);
-f(4201983, 513);
-f(8379393, 1023);
-f(8387584, 1024);
-f(8395775, 1025);
-f(16766977, 2047);
-f(16775168, 2048);
-f(16783359, 2049);
-f(33542145, 4095);
-f(33550336, 4096);
-f(33558527, 4097);
-f(67092481, 8191);
-x = 8192;
-f(0, 0);
-f(8192, 1);
-f(16384, 2);
-f(24576, 3);
-f(32768, 4);
-f(40960, 5);
-f(57344, 7);
-f(65536, 8);
-f(73728, 9);
-f(122880, 15);
-f(131072, 16);
-f(139264, 17);
-f(253952, 31);
-f(262144, 32);
-f(270336, 33);
-f(516096, 63);
-f(524288, 64);
-f(532480, 65);
-f(1040384, 127);
-f(1048576, 128);
-f(1056768, 129);
-f(2088960, 255);
-f(2097152, 256);
-f(2105344, 257);
-f(4186112, 511);
-f(4194304, 512);
-f(4202496, 513);
-f(8380416, 1023);
-f(8388608, 1024);
-f(8396800, 1025);
-f(16769024, 2047);
-f(16777216, 2048);
-f(16785408, 2049);
-f(33546240, 4095);
-f(33554432, 4096);
-f(33562624, 4097);
-f(67100672, 8191);
-f(67108864, 8192);
-x = 8193;
-f(0, 0);
-f(8193, 1);
-f(16386, 2);
-f(24579, 3);
-f(32772, 4);
-f(40965, 5);
-f(57351, 7);
-f(65544, 8);
-f(73737, 9);
-f(122895, 15);
-f(131088, 16);
-f(139281, 17);
-f(253983, 31);
-f(262176, 32);
-f(270369, 33);
-f(516159, 63);
-f(524352, 64);
-f(532545, 65);
-f(1040511, 127);
-f(1048704, 128);
-f(1056897, 129);
-f(2089215, 255);
-f(2097408, 256);
-f(2105601, 257);
-f(4186623, 511);
-f(4194816, 512);
-f(4203009, 513);
-f(8381439, 1023);
-f(8389632, 1024);
-f(8397825, 1025);
-f(16771071, 2047);
-f(16779264, 2048);
-f(16787457, 2049);
-f(33550335, 4095);
-f(33558528, 4096);
-f(33566721, 4097);
-f(67108863, 8191);
-f(67117056, 8192);
-f(67125249, 8193);
-x = 16383;
-f(0, 0);
-f(16383, 1);
-f(32766, 2);
-f(49149, 3);
-f(65532, 4);
-f(81915, 5);
-f(114681, 7);
-f(131064, 8);
-f(147447, 9);
-f(245745, 15);
-f(262128, 16);
-f(278511, 17);
-f(507873, 31);
-f(524256, 32);
-f(540639, 33);
-f(1032129, 63);
-f(1048512, 64);
-f(1064895, 65);
-f(2080641, 127);
-f(2097024, 128);
-f(2113407, 129);
-f(4177665, 255);
-f(4194048, 256);
-f(4210431, 257);
-f(8371713, 511);
-f(8388096, 512);
-f(8404479, 513);
-f(16759809, 1023);
-f(16776192, 1024);
-f(16792575, 1025);
-f(33536001, 2047);
-f(33552384, 2048);
-f(33568767, 2049);
-f(67088385, 4095);
-f(67104768, 4096);
-f(67121151, 4097);
-f(134193153, 8191);
-f(134209536, 8192);
-f(134225919, 8193);
-f(268402689, 16383);
-x = 16384;
-f(0, 0);
-f(16384, 1);
-f(32768, 2);
-f(49152, 3);
-f(65536, 4);
-f(81920, 5);
-f(114688, 7);
-f(131072, 8);
-f(147456, 9);
-f(245760, 15);
-f(262144, 16);
-f(278528, 17);
-f(507904, 31);
-f(524288, 32);
-f(540672, 33);
-f(1032192, 63);
-f(1048576, 64);
-f(1064960, 65);
-f(2080768, 127);
-f(2097152, 128);
-f(2113536, 129);
-f(4177920, 255);
-f(4194304, 256);
-f(4210688, 257);
-f(8372224, 511);
-f(8388608, 512);
-f(8404992, 513);
-f(16760832, 1023);
-f(16777216, 1024);
-f(16793600, 1025);
-f(33538048, 2047);
-f(33554432, 2048);
-f(33570816, 2049);
-f(67092480, 4095);
-f(67108864, 4096);
-f(67125248, 4097);
-f(134201344, 8191);
-f(134217728, 8192);
-f(134234112, 8193);
-f(268419072, 16383);
-f(268435456, 16384);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part3.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,532 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 16385;
-f(0, 0);
-f(16385, 1);
-f(32770, 2);
-f(49155, 3);
-f(65540, 4);
-f(81925, 5);
-f(114695, 7);
-f(131080, 8);
-f(147465, 9);
-f(245775, 15);
-f(262160, 16);
-f(278545, 17);
-f(507935, 31);
-f(524320, 32);
-f(540705, 33);
-f(1032255, 63);
-f(1048640, 64);
-f(1065025, 65);
-f(2080895, 127);
-f(2097280, 128);
-f(2113665, 129);
-f(4178175, 255);
-f(4194560, 256);
-f(4210945, 257);
-f(8372735, 511);
-f(8389120, 512);
-f(8405505, 513);
-f(16761855, 1023);
-f(16778240, 1024);
-f(16794625, 1025);
-f(33540095, 2047);
-f(33556480, 2048);
-f(33572865, 2049);
-f(67096575, 4095);
-f(67112960, 4096);
-f(67129345, 4097);
-f(134209535, 8191);
-f(134225920, 8192);
-f(134242305, 8193);
-f(268435455, 16383);
-f(268451840, 16384);
-f(268468225, 16385);
-x = 32767;
-f(0, 0);
-f(32767, 1);
-f(65534, 2);
-f(98301, 3);
-f(131068, 4);
-f(163835, 5);
-f(229369, 7);
-f(262136, 8);
-f(294903, 9);
-f(491505, 15);
-f(524272, 16);
-f(557039, 17);
-f(1015777, 31);
-f(1048544, 32);
-f(1081311, 33);
-f(2064321, 63);
-f(2097088, 64);
-f(2129855, 65);
-f(4161409, 127);
-f(4194176, 128);
-f(4226943, 129);
-f(8355585, 255);
-f(8388352, 256);
-f(8421119, 257);
-f(16743937, 511);
-f(16776704, 512);
-f(16809471, 513);
-f(33520641, 1023);
-f(33553408, 1024);
-f(33586175, 1025);
-f(67074049, 2047);
-f(67106816, 2048);
-f(67139583, 2049);
-f(134180865, 4095);
-f(134213632, 4096);
-f(134246399, 4097);
-f(268394497, 8191);
-f(268427264, 8192);
-f(268460031, 8193);
-f(536821761, 16383);
-f(536854528, 16384);
-f(536887295, 16385);
-f(1073676289, 32767);
-x = 32768;
-f(0, 0);
-f(32768, 1);
-f(65536, 2);
-f(98304, 3);
-f(131072, 4);
-f(163840, 5);
-f(229376, 7);
-f(262144, 8);
-f(294912, 9);
-f(491520, 15);
-f(524288, 16);
-f(557056, 17);
-f(1015808, 31);
-f(1048576, 32);
-f(1081344, 33);
-f(2064384, 63);
-f(2097152, 64);
-f(2129920, 65);
-f(4161536, 127);
-f(4194304, 128);
-f(4227072, 129);
-f(8355840, 255);
-f(8388608, 256);
-f(8421376, 257);
-f(16744448, 511);
-f(16777216, 512);
-f(16809984, 513);
-f(33521664, 1023);
-f(33554432, 1024);
-f(33587200, 1025);
-f(67076096, 2047);
-f(67108864, 2048);
-f(67141632, 2049);
-f(134184960, 4095);
-f(134217728, 4096);
-f(134250496, 4097);
-f(268402688, 8191);
-f(268435456, 8192);
-f(268468224, 8193);
-f(536838144, 16383);
-f(536870912, 16384);
-f(536903680, 16385);
-f(1073709056, 32767);
-f(1073741824, 32768);
-x = 32769;
-f(0, 0);
-f(32769, 1);
-f(65538, 2);
-f(98307, 3);
-f(131076, 4);
-f(163845, 5);
-f(229383, 7);
-f(262152, 8);
-f(294921, 9);
-f(491535, 15);
-f(524304, 16);
-f(557073, 17);
-f(1015839, 31);
-f(1048608, 32);
-f(1081377, 33);
-f(2064447, 63);
-f(2097216, 64);
-f(2129985, 65);
-f(4161663, 127);
-f(4194432, 128);
-f(4227201, 129);
-f(8356095, 255);
-f(8388864, 256);
-f(8421633, 257);
-f(16744959, 511);
-f(16777728, 512);
-f(16810497, 513);
-f(33522687, 1023);
-f(33555456, 1024);
-f(33588225, 1025);
-f(67078143, 2047);
-f(67110912, 2048);
-f(67143681, 2049);
-f(134189055, 4095);
-f(134221824, 4096);
-f(134254593, 4097);
-f(268410879, 8191);
-f(268443648, 8192);
-f(268476417, 8193);
-f(536854527, 16383);
-f(536887296, 16384);
-f(536920065, 16385);
-f(1073741823, 32767);
-f(1073774592, 32768);
-f(1073807361, 32769);
-x = 65535;
-f(0, 0);
-f(65535, 1);
-f(131070, 2);
-f(196605, 3);
-f(262140, 4);
-f(327675, 5);
-f(458745, 7);
-f(524280, 8);
-f(589815, 9);
-f(983025, 15);
-f(1048560, 16);
-f(1114095, 17);
-f(2031585, 31);
-f(2097120, 32);
-f(2162655, 33);
-f(4128705, 63);
-f(4194240, 64);
-f(4259775, 65);
-f(8322945, 127);
-f(8388480, 128);
-f(8454015, 129);
-f(16711425, 255);
-f(16776960, 256);
-f(16842495, 257);
-f(33488385, 511);
-f(33553920, 512);
-f(33619455, 513);
-f(67042305, 1023);
-f(67107840, 1024);
-f(67173375, 1025);
-f(134150145, 2047);
-f(134215680, 2048);
-f(134281215, 2049);
-f(268365825, 4095);
-f(268431360, 4096);
-f(268496895, 4097);
-f(536797185, 8191);
-f(536862720, 8192);
-f(536928255, 8193);
-f(1073659905, 16383);
-f(1073725440, 16384);
-f(1073790975, 16385);
-f(2147385345, 32767);
-f(2147450880, 32768);
-f(2147516415, 32769);
-f(4294836225, 65535);
-x = 65536;
-f(0, 0);
-f(65536, 1);
-f(131072, 2);
-f(196608, 3);
-f(262144, 4);
-f(327680, 5);
-f(458752, 7);
-f(524288, 8);
-f(589824, 9);
-f(983040, 15);
-f(1048576, 16);
-f(1114112, 17);
-f(2031616, 31);
-f(2097152, 32);
-f(2162688, 33);
-f(4128768, 63);
-f(4194304, 64);
-f(4259840, 65);
-f(8323072, 127);
-f(8388608, 128);
-f(8454144, 129);
-f(16711680, 255);
-f(16777216, 256);
-f(16842752, 257);
-f(33488896, 511);
-f(33554432, 512);
-f(33619968, 513);
-f(67043328, 1023);
-f(67108864, 1024);
-f(67174400, 1025);
-f(134152192, 2047);
-f(134217728, 2048);
-f(134283264, 2049);
-f(268369920, 4095);
-f(268435456, 4096);
-f(268500992, 4097);
-f(536805376, 8191);
-f(536870912, 8192);
-f(536936448, 8193);
-f(1073676288, 16383);
-f(1073741824, 16384);
-f(1073807360, 16385);
-f(2147418112, 32767);
-f(2147483648, 32768);
-f(2147549184, 32769);
-f(4294901760, 65535);
-f(4294967296, 65536);
-x = 65537;
-f(0, 0);
-f(65537, 1);
-f(131074, 2);
-f(196611, 3);
-f(262148, 4);
-f(327685, 5);
-f(458759, 7);
-f(524296, 8);
-f(589833, 9);
-f(983055, 15);
-f(1048592, 16);
-f(1114129, 17);
-f(2031647, 31);
-f(2097184, 32);
-f(2162721, 33);
-f(4128831, 63);
-f(4194368, 64);
-f(4259905, 65);
-f(8323199, 127);
-f(8388736, 128);
-f(8454273, 129);
-f(16711935, 255);
-f(16777472, 256);
-f(16843009, 257);
-f(33489407, 511);
-f(33554944, 512);
-f(33620481, 513);
-f(67044351, 1023);
-f(67109888, 1024);
-f(67175425, 1025);
-f(134154239, 2047);
-f(134219776, 2048);
-f(134285313, 2049);
-f(268374015, 4095);
-f(268439552, 4096);
-f(268505089, 4097);
-f(536813567, 8191);
-f(536879104, 8192);
-f(536944641, 8193);
-f(1073692671, 16383);
-f(1073758208, 16384);
-f(1073823745, 16385);
-f(2147450879, 32767);
-f(2147516416, 32768);
-f(2147581953, 32769);
-f(4294967295, 65535);
-f(4295032832, 65536);
-f(4295098369, 65537);
-x = 131071;
-f(0, 0);
-f(131071, 1);
-f(262142, 2);
-f(393213, 3);
-f(524284, 4);
-f(655355, 5);
-f(917497, 7);
-f(1048568, 8);
-f(1179639, 9);
-f(1966065, 15);
-f(2097136, 16);
-f(2228207, 17);
-f(4063201, 31);
-f(4194272, 32);
-f(4325343, 33);
-f(8257473, 63);
-f(8388544, 64);
-f(8519615, 65);
-f(16646017, 127);
-f(16777088, 128);
-f(16908159, 129);
-f(33423105, 255);
-f(33554176, 256);
-f(33685247, 257);
-f(66977281, 511);
-f(67108352, 512);
-f(67239423, 513);
-f(134085633, 1023);
-f(134216704, 1024);
-f(134347775, 1025);
-f(268302337, 2047);
-f(268433408, 2048);
-f(268564479, 2049);
-f(536735745, 4095);
-f(536866816, 4096);
-f(536997887, 4097);
-f(1073602561, 8191);
-f(1073733632, 8192);
-f(1073864703, 8193);
-f(2147336193, 16383);
-f(2147467264, 16384);
-f(2147598335, 16385);
-f(4294803457, 32767);
-f(4294934528, 32768);
-f(4295065599, 32769);
-f(8589737985, 65535);
-f(8589869056, 65536);
-f(8590000127, 65537);
-f(17179607041, 131071);
-x = 131072;
-f(0, 0);
-f(131072, 1);
-f(262144, 2);
-f(393216, 3);
-f(524288, 4);
-f(655360, 5);
-f(917504, 7);
-f(1048576, 8);
-f(1179648, 9);
-f(1966080, 15);
-f(2097152, 16);
-f(2228224, 17);
-f(4063232, 31);
-f(4194304, 32);
-f(4325376, 33);
-f(8257536, 63);
-f(8388608, 64);
-f(8519680, 65);
-f(16646144, 127);
-f(16777216, 128);
-f(16908288, 129);
-f(33423360, 255);
-f(33554432, 256);
-f(33685504, 257);
-f(66977792, 511);
-f(67108864, 512);
-f(67239936, 513);
-f(134086656, 1023);
-f(134217728, 1024);
-f(134348800, 1025);
-f(268304384, 2047);
-f(268435456, 2048);
-f(268566528, 2049);
-f(536739840, 4095);
-f(536870912, 4096);
-f(537001984, 4097);
-f(1073610752, 8191);
-f(1073741824, 8192);
-f(1073872896, 8193);
-f(2147352576, 16383);
-f(2147483648, 16384);
-f(2147614720, 16385);
-f(4294836224, 32767);
-f(4294967296, 32768);
-f(4295098368, 32769);
-f(8589803520, 65535);
-f(8589934592, 65536);
-f(8590065664, 65537);
-f(17179738112, 131071);
-f(17179869184, 131072);
-x = 131073;
-f(0, 0);
-f(131073, 1);
-f(262146, 2);
-f(393219, 3);
-f(524292, 4);
-f(655365, 5);
-f(917511, 7);
-f(1048584, 8);
-f(1179657, 9);
-f(1966095, 15);
-f(2097168, 16);
-f(2228241, 17);
-f(4063263, 31);
-f(4194336, 32);
-f(4325409, 33);
-f(8257599, 63);
-f(8388672, 64);
-f(8519745, 65);
-f(16646271, 127);
-f(16777344, 128);
-f(16908417, 129);
-f(33423615, 255);
-f(33554688, 256);
-f(33685761, 257);
-f(66978303, 511);
-f(67109376, 512);
-f(67240449, 513);
-f(134087679, 1023);
-f(134218752, 1024);
-f(134349825, 1025);
-f(268306431, 2047);
-f(268437504, 2048);
-f(268568577, 2049);
-f(536743935, 4095);
-f(536875008, 4096);
-f(537006081, 4097);
-f(1073618943, 8191);
-f(1073750016, 8192);
-f(1073881089, 8193);
-f(2147368959, 16383);
-f(2147500032, 16384);
-f(2147631105, 16385);
-f(4294868991, 32767);
-f(4295000064, 32768);
-f(4295131137, 32769);
-f(8589869055, 65535);
-f(8590000128, 65536);
-f(8590131201, 65537);
-f(17179869183, 131071);
-f(17180000256, 131072);
-f(17180131329, 131073);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part4.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,509 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 262143;
-f(0, 0);
-f(262143, 1);
-f(524286, 2);
-f(786429, 3);
-f(1048572, 4);
-f(1310715, 5);
-f(1835001, 7);
-f(2097144, 8);
-f(2359287, 9);
-f(3932145, 15);
-f(4194288, 16);
-f(4456431, 17);
-f(8126433, 31);
-f(8388576, 32);
-f(8650719, 33);
-f(16515009, 63);
-f(16777152, 64);
-f(17039295, 65);
-f(33292161, 127);
-f(33554304, 128);
-f(33816447, 129);
-f(66846465, 255);
-f(67108608, 256);
-f(67370751, 257);
-f(133955073, 511);
-f(134217216, 512);
-f(134479359, 513);
-f(268172289, 1023);
-f(268434432, 1024);
-f(268696575, 1025);
-f(536606721, 2047);
-f(536868864, 2048);
-f(537131007, 2049);
-f(1073475585, 4095);
-f(1073737728, 4096);
-f(1073999871, 4097);
-f(2147213313, 8191);
-f(2147475456, 8192);
-f(2147737599, 8193);
-f(4294688769, 16383);
-f(4294950912, 16384);
-f(4295213055, 16385);
-f(8589639681, 32767);
-f(8589901824, 32768);
-f(8590163967, 32769);
-f(17179541505, 65535);
-f(17179803648, 65536);
-f(17180065791, 65537);
-f(34359345153, 131071);
-f(34359607296, 131072);
-f(34359869439, 131073);
-f(68718952449, 262143);
-x = 262144;
-f(0, 0);
-f(262144, 1);
-f(524288, 2);
-f(786432, 3);
-f(1048576, 4);
-f(1310720, 5);
-f(1835008, 7);
-f(2097152, 8);
-f(2359296, 9);
-f(3932160, 15);
-f(4194304, 16);
-f(4456448, 17);
-f(8126464, 31);
-f(8388608, 32);
-f(8650752, 33);
-f(16515072, 63);
-f(16777216, 64);
-f(17039360, 65);
-f(33292288, 127);
-f(33554432, 128);
-f(33816576, 129);
-f(66846720, 255);
-f(67108864, 256);
-f(67371008, 257);
-f(133955584, 511);
-f(134217728, 512);
-f(134479872, 513);
-f(268173312, 1023);
-f(268435456, 1024);
-f(268697600, 1025);
-f(536608768, 2047);
-f(536870912, 2048);
-f(537133056, 2049);
-f(1073479680, 4095);
-f(1073741824, 4096);
-f(1074003968, 4097);
-f(2147221504, 8191);
-f(2147483648, 8192);
-f(2147745792, 8193);
-f(4294705152, 16383);
-f(4294967296, 16384);
-f(4295229440, 16385);
-f(8589672448, 32767);
-f(8589934592, 32768);
-f(8590196736, 32769);
-f(17179607040, 65535);
-f(17179869184, 65536);
-f(17180131328, 65537);
-f(34359476224, 131071);
-f(34359738368, 131072);
-f(34360000512, 131073);
-f(68719214592, 262143);
-f(68719476736, 262144);
-x = 262145;
-f(0, 0);
-f(262145, 1);
-f(524290, 2);
-f(786435, 3);
-f(1048580, 4);
-f(1310725, 5);
-f(1835015, 7);
-f(2097160, 8);
-f(2359305, 9);
-f(3932175, 15);
-f(4194320, 16);
-f(4456465, 17);
-f(8126495, 31);
-f(8388640, 32);
-f(8650785, 33);
-f(16515135, 63);
-f(16777280, 64);
-f(17039425, 65);
-f(33292415, 127);
-f(33554560, 128);
-f(33816705, 129);
-f(66846975, 255);
-f(67109120, 256);
-f(67371265, 257);
-f(133956095, 511);
-f(134218240, 512);
-f(134480385, 513);
-f(268174335, 1023);
-f(268436480, 1024);
-f(268698625, 1025);
-f(536610815, 2047);
-f(536872960, 2048);
-f(537135105, 2049);
-f(1073483775, 4095);
-f(1073745920, 4096);
-f(1074008065, 4097);
-f(2147229695, 8191);
-f(2147491840, 8192);
-f(2147753985, 8193);
-f(4294721535, 16383);
-f(4294983680, 16384);
-f(4295245825, 16385);
-f(8589705215, 32767);
-f(8589967360, 32768);
-f(8590229505, 32769);
-f(17179672575, 65535);
-f(17179934720, 65536);
-f(17180196865, 65537);
-f(34359607295, 131071);
-f(34359869440, 131072);
-f(34360131585, 131073);
-f(68719476735, 262143);
-f(68719738880, 262144);
-f(68720001025, 262145);
-x = 524287;
-f(0, 0);
-f(524287, 1);
-f(1048574, 2);
-f(1572861, 3);
-f(2097148, 4);
-f(2621435, 5);
-f(3670009, 7);
-f(4194296, 8);
-f(4718583, 9);
-f(7864305, 15);
-f(8388592, 16);
-f(8912879, 17);
-f(16252897, 31);
-f(16777184, 32);
-f(17301471, 33);
-f(33030081, 63);
-f(33554368, 64);
-f(34078655, 65);
-f(66584449, 127);
-f(67108736, 128);
-f(67633023, 129);
-f(133693185, 255);
-f(134217472, 256);
-f(134741759, 257);
-f(267910657, 511);
-f(268434944, 512);
-f(268959231, 513);
-f(536345601, 1023);
-f(536869888, 1024);
-f(537394175, 1025);
-f(1073215489, 2047);
-f(1073739776, 2048);
-f(1074264063, 2049);
-f(2146955265, 4095);
-f(2147479552, 4096);
-f(2148003839, 4097);
-f(4294434817, 8191);
-f(4294959104, 8192);
-f(4295483391, 8193);
-f(8589393921, 16383);
-f(8589918208, 16384);
-f(8590442495, 16385);
-f(17179312129, 32767);
-f(17179836416, 32768);
-f(17180360703, 32769);
-f(34359148545, 65535);
-f(34359672832, 65536);
-f(34360197119, 65537);
-f(68718821377, 131071);
-f(68719345664, 131072);
-f(68719869951, 131073);
-f(137438167041, 262143);
-f(137438691328, 262144);
-f(137439215615, 262145);
-f(274876858369, 524287);
-x = 524288;
-f(0, 0);
-f(524288, 1);
-f(1048576, 2);
-f(1572864, 3);
-f(2097152, 4);
-f(2621440, 5);
-f(3670016, 7);
-f(4194304, 8);
-f(4718592, 9);
-f(7864320, 15);
-f(8388608, 16);
-f(8912896, 17);
-f(16252928, 31);
-f(16777216, 32);
-f(17301504, 33);
-f(33030144, 63);
-f(33554432, 64);
-f(34078720, 65);
-f(66584576, 127);
-f(67108864, 128);
-f(67633152, 129);
-f(133693440, 255);
-f(134217728, 256);
-f(134742016, 257);
-f(267911168, 511);
-f(268435456, 512);
-f(268959744, 513);
-f(536346624, 1023);
-f(536870912, 1024);
-f(537395200, 1025);
-f(1073217536, 2047);
-f(1073741824, 2048);
-f(1074266112, 2049);
-f(2146959360, 4095);
-f(2147483648, 4096);
-f(2148007936, 4097);
-f(4294443008, 8191);
-f(4294967296, 8192);
-f(4295491584, 8193);
-f(8589410304, 16383);
-f(8589934592, 16384);
-f(8590458880, 16385);
-f(17179344896, 32767);
-f(17179869184, 32768);
-f(17180393472, 32769);
-f(34359214080, 65535);
-f(34359738368, 65536);
-f(34360262656, 65537);
-f(68718952448, 131071);
-f(68719476736, 131072);
-f(68720001024, 131073);
-f(137438429184, 262143);
-f(137438953472, 262144);
-f(137439477760, 262145);
-f(274877382656, 524287);
-f(274877906944, 524288);
-x = 524289;
-f(0, 0);
-f(524289, 1);
-f(1048578, 2);
-f(1572867, 3);
-f(2097156, 4);
-f(2621445, 5);
-f(3670023, 7);
-f(4194312, 8);
-f(4718601, 9);
-f(7864335, 15);
-f(8388624, 16);
-f(8912913, 17);
-f(16252959, 31);
-f(16777248, 32);
-f(17301537, 33);
-f(33030207, 63);
-f(33554496, 64);
-f(34078785, 65);
-f(66584703, 127);
-f(67108992, 128);
-f(67633281, 129);
-f(133693695, 255);
-f(134217984, 256);
-f(134742273, 257);
-f(267911679, 511);
-f(268435968, 512);
-f(268960257, 513);
-f(536347647, 1023);
-f(536871936, 1024);
-f(537396225, 1025);
-f(1073219583, 2047);
-f(1073743872, 2048);
-f(1074268161, 2049);
-f(2146963455, 4095);
-f(2147487744, 4096);
-f(2148012033, 4097);
-f(4294451199, 8191);
-f(4294975488, 8192);
-f(4295499777, 8193);
-f(8589426687, 16383);
-f(8589950976, 16384);
-f(8590475265, 16385);
-f(17179377663, 32767);
-f(17179901952, 32768);
-f(17180426241, 32769);
-f(34359279615, 65535);
-f(34359803904, 65536);
-f(34360328193, 65537);
-f(68719083519, 131071);
-f(68719607808, 131072);
-f(68720132097, 131073);
-f(137438691327, 262143);
-f(137439215616, 262144);
-f(137439739905, 262145);
-f(274877906943, 524287);
-f(274878431232, 524288);
-f(274878955521, 524289);
-x = 1048575;
-f(0, 0);
-f(1048575, 1);
-f(2097150, 2);
-f(3145725, 3);
-f(4194300, 4);
-f(5242875, 5);
-f(7340025, 7);
-f(8388600, 8);
-f(9437175, 9);
-f(15728625, 15);
-f(16777200, 16);
-f(17825775, 17);
-f(32505825, 31);
-f(33554400, 32);
-f(34602975, 33);
-f(66060225, 63);
-f(67108800, 64);
-f(68157375, 65);
-f(133169025, 127);
-f(134217600, 128);
-f(135266175, 129);
-f(267386625, 255);
-f(268435200, 256);
-f(269483775, 257);
-f(535821825, 511);
-f(536870400, 512);
-f(537918975, 513);
-f(1072692225, 1023);
-f(1073740800, 1024);
-f(1074789375, 1025);
-f(2146433025, 2047);
-f(2147481600, 2048);
-f(2148530175, 2049);
-f(4293914625, 4095);
-f(4294963200, 4096);
-f(4296011775, 4097);
-f(8588877825, 8191);
-f(8589926400, 8192);
-f(8590974975, 8193);
-f(17178804225, 16383);
-f(17179852800, 16384);
-f(17180901375, 16385);
-f(34358657025, 32767);
-f(34359705600, 32768);
-f(34360754175, 32769);
-f(68718362625, 65535);
-f(68719411200, 65536);
-f(68720459775, 65537);
-f(137437773825, 131071);
-f(137438822400, 131072);
-f(137439870975, 131073);
-f(274876596225, 262143);
-f(274877644800, 262144);
-f(274878693375, 262145);
-f(549754241025, 524287);
-f(549755289600, 524288);
-f(549756338175, 524289);
-f(1099509530625, 1048575);
-x = 1048576;
-f(0, 0);
-f(1048576, 1);
-f(2097152, 2);
-f(3145728, 3);
-f(4194304, 4);
-f(5242880, 5);
-f(7340032, 7);
-f(8388608, 8);
-f(9437184, 9);
-f(15728640, 15);
-f(16777216, 16);
-f(17825792, 17);
-f(32505856, 31);
-f(33554432, 32);
-f(34603008, 33);
-f(66060288, 63);
-f(67108864, 64);
-f(68157440, 65);
-f(133169152, 127);
-f(134217728, 128);
-f(135266304, 129);
-f(267386880, 255);
-f(268435456, 256);
-f(269484032, 257);
-f(535822336, 511);
-f(536870912, 512);
-f(537919488, 513);
-f(1072693248, 1023);
-f(1073741824, 1024);
-f(1074790400, 1025);
-f(2146435072, 2047);
-f(2147483648, 2048);
-f(2148532224, 2049);
-f(4293918720, 4095);
-f(4294967296, 4096);
-f(4296015872, 4097);
-f(8588886016, 8191);
-f(8589934592, 8192);
-f(8590983168, 8193);
-f(17178820608, 16383);
-f(17179869184, 16384);
-f(17180917760, 16385);
-f(34358689792, 32767);
-f(34359738368, 32768);
-f(34360786944, 32769);
-f(68718428160, 65535);
-f(68719476736, 65536);
-f(68720525312, 65537);
-f(137437904896, 131071);
-f(137438953472, 131072);
-f(137440002048, 131073);
-f(274876858368, 262143);
-f(274877906944, 262144);
-f(274878955520, 262145);
-f(549754765312, 524287);
-f(549755813888, 524288);
-f(549756862464, 524289);
-f(1099510579200, 1048575);
-f(1099511627776, 1048576);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part5.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,505 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 1048577;
-f(0, 0);
-f(1048577, 1);
-f(2097154, 2);
-f(3145731, 3);
-f(4194308, 4);
-f(5242885, 5);
-f(7340039, 7);
-f(8388616, 8);
-f(9437193, 9);
-f(15728655, 15);
-f(16777232, 16);
-f(17825809, 17);
-f(32505887, 31);
-f(33554464, 32);
-f(34603041, 33);
-f(66060351, 63);
-f(67108928, 64);
-f(68157505, 65);
-f(133169279, 127);
-f(134217856, 128);
-f(135266433, 129);
-f(267387135, 255);
-f(268435712, 256);
-f(269484289, 257);
-f(535822847, 511);
-f(536871424, 512);
-f(537920001, 513);
-f(1072694271, 1023);
-f(1073742848, 1024);
-f(1074791425, 1025);
-f(2146437119, 2047);
-f(2147485696, 2048);
-f(2148534273, 2049);
-f(4293922815, 4095);
-f(4294971392, 4096);
-f(4296019969, 4097);
-f(8588894207, 8191);
-f(8589942784, 8192);
-f(8590991361, 8193);
-f(17178836991, 16383);
-f(17179885568, 16384);
-f(17180934145, 16385);
-f(34358722559, 32767);
-f(34359771136, 32768);
-f(34360819713, 32769);
-f(68718493695, 65535);
-f(68719542272, 65536);
-f(68720590849, 65537);
-f(137438035967, 131071);
-f(137439084544, 131072);
-f(137440133121, 131073);
-f(274877120511, 262143);
-f(274878169088, 262144);
-f(274879217665, 262145);
-f(549755289599, 524287);
-f(549756338176, 524288);
-f(549757386753, 524289);
-f(1099511627775, 1048575);
-f(1099512676352, 1048576);
-f(1099513724929, 1048577);
-x = 2097151;
-f(0, 0);
-f(2097151, 1);
-f(4194302, 2);
-f(6291453, 3);
-f(8388604, 4);
-f(10485755, 5);
-f(14680057, 7);
-f(16777208, 8);
-f(18874359, 9);
-f(31457265, 15);
-f(33554416, 16);
-f(35651567, 17);
-f(65011681, 31);
-f(67108832, 32);
-f(69205983, 33);
-f(132120513, 63);
-f(134217664, 64);
-f(136314815, 65);
-f(266338177, 127);
-f(268435328, 128);
-f(270532479, 129);
-f(534773505, 255);
-f(536870656, 256);
-f(538967807, 257);
-f(1071644161, 511);
-f(1073741312, 512);
-f(1075838463, 513);
-f(2145385473, 1023);
-f(2147482624, 1024);
-f(2149579775, 1025);
-f(4292868097, 2047);
-f(4294965248, 2048);
-f(4297062399, 2049);
-f(8587833345, 4095);
-f(8589930496, 4096);
-f(8592027647, 4097);
-f(17177763841, 8191);
-f(17179860992, 8192);
-f(17181958143, 8193);
-f(34357624833, 16383);
-f(34359721984, 16384);
-f(34361819135, 16385);
-f(68717346817, 32767);
-f(68719443968, 32768);
-f(68721541119, 32769);
-f(137436790785, 65535);
-f(137438887936, 65536);
-f(137440985087, 65537);
-f(274875678721, 131071);
-f(274877775872, 131072);
-f(274879873023, 131073);
-f(549753454593, 262143);
-f(549755551744, 262144);
-f(549757648895, 262145);
-f(1099509006337, 524287);
-f(1099511103488, 524288);
-f(1099513200639, 524289);
-f(2199020109825, 1048575);
-f(2199022206976, 1048576);
-f(2199024304127, 1048577);
-f(4398042316801, 2097151);
-x = 2097152;
-f(0, 0);
-f(2097152, 1);
-f(4194304, 2);
-f(6291456, 3);
-f(8388608, 4);
-f(10485760, 5);
-f(14680064, 7);
-f(16777216, 8);
-f(18874368, 9);
-f(31457280, 15);
-f(33554432, 16);
-f(35651584, 17);
-f(65011712, 31);
-f(67108864, 32);
-f(69206016, 33);
-f(132120576, 63);
-f(134217728, 64);
-f(136314880, 65);
-f(266338304, 127);
-f(268435456, 128);
-f(270532608, 129);
-f(534773760, 255);
-f(536870912, 256);
-f(538968064, 257);
-f(1071644672, 511);
-f(1073741824, 512);
-f(1075838976, 513);
-f(2145386496, 1023);
-f(2147483648, 1024);
-f(2149580800, 1025);
-f(4292870144, 2047);
-f(4294967296, 2048);
-f(4297064448, 2049);
-f(8587837440, 4095);
-f(8589934592, 4096);
-f(8592031744, 4097);
-f(17177772032, 8191);
-f(17179869184, 8192);
-f(17181966336, 8193);
-f(34357641216, 16383);
-f(34359738368, 16384);
-f(34361835520, 16385);
-f(68717379584, 32767);
-f(68719476736, 32768);
-f(68721573888, 32769);
-f(137436856320, 65535);
-f(137438953472, 65536);
-f(137441050624, 65537);
-f(274875809792, 131071);
-f(274877906944, 131072);
-f(274880004096, 131073);
-f(549753716736, 262143);
-f(549755813888, 262144);
-f(549757911040, 262145);
-f(1099509530624, 524287);
-f(1099511627776, 524288);
-f(1099513724928, 524289);
-f(2199021158400, 1048575);
-f(2199023255552, 1048576);
-f(2199025352704, 1048577);
-f(4398044413952, 2097151);
-f(4398046511104, 2097152);
-x = 2097153;
-f(0, 0);
-f(2097153, 1);
-f(4194306, 2);
-f(6291459, 3);
-f(8388612, 4);
-f(10485765, 5);
-f(14680071, 7);
-f(16777224, 8);
-f(18874377, 9);
-f(31457295, 15);
-f(33554448, 16);
-f(35651601, 17);
-f(65011743, 31);
-f(67108896, 32);
-f(69206049, 33);
-f(132120639, 63);
-f(134217792, 64);
-f(136314945, 65);
-f(266338431, 127);
-f(268435584, 128);
-f(270532737, 129);
-f(534774015, 255);
-f(536871168, 256);
-f(538968321, 257);
-f(1071645183, 511);
-f(1073742336, 512);
-f(1075839489, 513);
-f(2145387519, 1023);
-f(2147484672, 1024);
-f(2149581825, 1025);
-f(4292872191, 2047);
-f(4294969344, 2048);
-f(4297066497, 2049);
-f(8587841535, 4095);
-f(8589938688, 4096);
-f(8592035841, 4097);
-f(17177780223, 8191);
-f(17179877376, 8192);
-f(17181974529, 8193);
-f(34357657599, 16383);
-f(34359754752, 16384);
-f(34361851905, 16385);
-f(68717412351, 32767);
-f(68719509504, 32768);
-f(68721606657, 32769);
-f(137436921855, 65535);
-f(137439019008, 65536);
-f(137441116161, 65537);
-f(274875940863, 131071);
-f(274878038016, 131072);
-f(274880135169, 131073);
-f(549753978879, 262143);
-f(549756076032, 262144);
-f(549758173185, 262145);
-f(1099510054911, 524287);
-f(1099512152064, 524288);
-f(1099514249217, 524289);
-f(2199022206975, 1048575);
-f(2199024304128, 1048576);
-f(2199026401281, 1048577);
-f(4398046511103, 2097151);
-f(4398048608256, 2097152);
-f(4398050705409, 2097153);
-x = 4194303;
-f(0, 0);
-f(4194303, 1);
-f(8388606, 2);
-f(12582909, 3);
-f(16777212, 4);
-f(20971515, 5);
-f(29360121, 7);
-f(33554424, 8);
-f(37748727, 9);
-f(62914545, 15);
-f(67108848, 16);
-f(71303151, 17);
-f(130023393, 31);
-f(134217696, 32);
-f(138411999, 33);
-f(264241089, 63);
-f(268435392, 64);
-f(272629695, 65);
-f(532676481, 127);
-f(536870784, 128);
-f(541065087, 129);
-f(1069547265, 255);
-f(1073741568, 256);
-f(1077935871, 257);
-f(2143288833, 511);
-f(2147483136, 512);
-f(2151677439, 513);
-f(4290771969, 1023);
-f(4294966272, 1024);
-f(4299160575, 1025);
-f(8585738241, 2047);
-f(8589932544, 2048);
-f(8594126847, 2049);
-f(17175670785, 4095);
-f(17179865088, 4096);
-f(17184059391, 4097);
-f(34355535873, 8191);
-f(34359730176, 8192);
-f(34363924479, 8193);
-f(68715266049, 16383);
-f(68719460352, 16384);
-f(68723654655, 16385);
-f(137434726401, 32767);
-f(137438920704, 32768);
-f(137443115007, 32769);
-f(274873647105, 65535);
-f(274877841408, 65536);
-f(274882035711, 65537);
-f(549751488513, 131071);
-f(549755682816, 131072);
-f(549759877119, 131073);
-f(1099507171329, 262143);
-f(1099511365632, 262144);
-f(1099515559935, 262145);
-f(2199018536961, 524287);
-f(2199022731264, 524288);
-f(2199026925567, 524289);
-f(4398041268225, 1048575);
-f(4398045462528, 1048576);
-f(4398049656831, 1048577);
-f(8796086730753, 2097151);
-f(8796090925056, 2097152);
-f(8796095119359, 2097153);
-f(17592177655809, 4194303);
-x = 4194304;
-f(0, 0);
-f(4194304, 1);
-f(8388608, 2);
-f(12582912, 3);
-f(16777216, 4);
-f(20971520, 5);
-f(29360128, 7);
-f(33554432, 8);
-f(37748736, 9);
-f(62914560, 15);
-f(67108864, 16);
-f(71303168, 17);
-f(130023424, 31);
-f(134217728, 32);
-f(138412032, 33);
-f(264241152, 63);
-f(268435456, 64);
-f(272629760, 65);
-f(532676608, 127);
-f(536870912, 128);
-f(541065216, 129);
-f(1069547520, 255);
-f(1073741824, 256);
-f(1077936128, 257);
-f(2143289344, 511);
-f(2147483648, 512);
-f(2151677952, 513);
-f(4290772992, 1023);
-f(4294967296, 1024);
-f(4299161600, 1025);
-f(8585740288, 2047);
-f(8589934592, 2048);
-f(8594128896, 2049);
-f(17175674880, 4095);
-f(17179869184, 4096);
-f(17184063488, 4097);
-f(34355544064, 8191);
-f(34359738368, 8192);
-f(34363932672, 8193);
-f(68715282432, 16383);
-f(68719476736, 16384);
-f(68723671040, 16385);
-f(137434759168, 32767);
-f(137438953472, 32768);
-f(137443147776, 32769);
-f(274873712640, 65535);
-f(274877906944, 65536);
-f(274882101248, 65537);
-f(549751619584, 131071);
-f(549755813888, 131072);
-f(549760008192, 131073);
-f(1099507433472, 262143);
-f(1099511627776, 262144);
-f(1099515822080, 262145);
-f(2199019061248, 524287);
-f(2199023255552, 524288);
-f(2199027449856, 524289);
-f(4398042316800, 1048575);
-f(4398046511104, 1048576);
-f(4398050705408, 1048577);
-f(8796088827904, 2097151);
-f(8796093022208, 2097152);
-f(8796097216512, 2097153);
-f(17592181850112, 4194303);
-f(17592186044416, 4194304);
-x = 4194305;
-f(0, 0);
-f(4194305, 1);
-f(8388610, 2);
-f(12582915, 3);
-f(16777220, 4);
-f(20971525, 5);
-f(29360135, 7);
-f(33554440, 8);
-f(37748745, 9);
-f(62914575, 15);
-f(67108880, 16);
-f(71303185, 17);
-f(130023455, 31);
-f(134217760, 32);
-f(138412065, 33);
-f(264241215, 63);
-f(268435520, 64);
-f(272629825, 65);
-f(532676735, 127);
-f(536871040, 128);
-f(541065345, 129);
-f(1069547775, 255);
-f(1073742080, 256);
-f(1077936385, 257);
-f(2143289855, 511);
-f(2147484160, 512);
-f(2151678465, 513);
-f(4290774015, 1023);
-f(4294968320, 1024);
-f(4299162625, 1025);
-f(8585742335, 2047);
-f(8589936640, 2048);
-f(8594130945, 2049);
-f(17175678975, 4095);
-f(17179873280, 4096);
-f(17184067585, 4097);
-f(34355552255, 8191);
-f(34359746560, 8192);
-f(34363940865, 8193);
-f(68715298815, 16383);
-f(68719493120, 16384);
-f(68723687425, 16385);
-f(137434791935, 32767);
-f(137438986240, 32768);
-f(137443180545, 32769);
-f(274873778175, 65535);
-f(274877972480, 65536);
-f(274882166785, 65537);
-f(549751750655, 131071);
-f(549755944960, 131072);
-f(549760139265, 131073);
-f(1099507695615, 262143);
-f(1099511889920, 262144);
-f(1099516084225, 262145);
-f(2199019585535, 524287);
-f(2199023779840, 524288);
-f(2199027974145, 524289);
-f(4398043365375, 1048575);
-f(4398047559680, 1048576);
-f(4398051753985, 1048577);
-f(8796090925055, 2097151);
-f(8796095119360, 2097152);
-f(8796099313665, 2097153);
-f(17592186044415, 4194303);
-f(17592190238720, 4194304);
-f(17592194433025, 4194305);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part6.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,554 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 8388607;
-f(0, 0);
-f(8388607, 1);
-f(16777214, 2);
-f(25165821, 3);
-f(33554428, 4);
-f(41943035, 5);
-f(58720249, 7);
-f(67108856, 8);
-f(75497463, 9);
-f(125829105, 15);
-f(134217712, 16);
-f(142606319, 17);
-f(260046817, 31);
-f(268435424, 32);
-f(276824031, 33);
-f(528482241, 63);
-f(536870848, 64);
-f(545259455, 65);
-f(1065353089, 127);
-f(1073741696, 128);
-f(1082130303, 129);
-f(2139094785, 255);
-f(2147483392, 256);
-f(2155871999, 257);
-f(4286578177, 511);
-f(4294966784, 512);
-f(4303355391, 513);
-f(8581544961, 1023);
-f(8589933568, 1024);
-f(8598322175, 1025);
-f(17171478529, 2047);
-f(17179867136, 2048);
-f(17188255743, 2049);
-f(34351345665, 4095);
-f(34359734272, 4096);
-f(34368122879, 4097);
-f(68711079937, 8191);
-f(68719468544, 8192);
-f(68727857151, 8193);
-f(137430548481, 16383);
-f(137438937088, 16384);
-f(137447325695, 16385);
-f(274869485569, 32767);
-f(274877874176, 32768);
-f(274886262783, 32769);
-f(549747359745, 65535);
-f(549755748352, 65536);
-f(549764136959, 65537);
-f(1099503108097, 131071);
-f(1099511496704, 131072);
-f(1099519885311, 131073);
-f(2199014604801, 262143);
-f(2199022993408, 262144);
-f(2199031382015, 262145);
-f(4398037598209, 524287);
-f(4398045986816, 524288);
-f(4398054375423, 524289);
-f(8796083585025, 1048575);
-f(8796091973632, 1048576);
-f(8796100362239, 1048577);
-f(17592175558657, 2097151);
-f(17592183947264, 2097152);
-f(17592192335871, 2097153);
-f(35184359505921, 4194303);
-f(35184367894528, 4194304);
-f(35184376283135, 4194305);
-f(70368727400449, 8388607);
-x = 8388608;
-f(0, 0);
-f(8388608, 1);
-f(16777216, 2);
-f(25165824, 3);
-f(33554432, 4);
-f(41943040, 5);
-f(58720256, 7);
-f(67108864, 8);
-f(75497472, 9);
-f(125829120, 15);
-f(134217728, 16);
-f(142606336, 17);
-f(260046848, 31);
-f(268435456, 32);
-f(276824064, 33);
-f(528482304, 63);
-f(536870912, 64);
-f(545259520, 65);
-f(1065353216, 127);
-f(1073741824, 128);
-f(1082130432, 129);
-f(2139095040, 255);
-f(2147483648, 256);
-f(2155872256, 257);
-f(4286578688, 511);
-f(4294967296, 512);
-f(4303355904, 513);
-f(8581545984, 1023);
-f(8589934592, 1024);
-f(8598323200, 1025);
-f(17171480576, 2047);
-f(17179869184, 2048);
-f(17188257792, 2049);
-f(34351349760, 4095);
-f(34359738368, 4096);
-f(34368126976, 4097);
-f(68711088128, 8191);
-f(68719476736, 8192);
-f(68727865344, 8193);
-f(137430564864, 16383);
-f(137438953472, 16384);
-f(137447342080, 16385);
-f(274869518336, 32767);
-f(274877906944, 32768);
-f(274886295552, 32769);
-f(549747425280, 65535);
-f(549755813888, 65536);
-f(549764202496, 65537);
-f(1099503239168, 131071);
-f(1099511627776, 131072);
-f(1099520016384, 131073);
-f(2199014866944, 262143);
-f(2199023255552, 262144);
-f(2199031644160, 262145);
-f(4398038122496, 524287);
-f(4398046511104, 524288);
-f(4398054899712, 524289);
-f(8796084633600, 1048575);
-f(8796093022208, 1048576);
-f(8796101410816, 1048577);
-f(17592177655808, 2097151);
-f(17592186044416, 2097152);
-f(17592194433024, 2097153);
-f(35184363700224, 4194303);
-f(35184372088832, 4194304);
-f(35184380477440, 4194305);
-f(70368735789056, 8388607);
-f(70368744177664, 8388608);
-x = 8388609;
-f(0, 0);
-f(8388609, 1);
-f(16777218, 2);
-f(25165827, 3);
-f(33554436, 4);
-f(41943045, 5);
-f(58720263, 7);
-f(67108872, 8);
-f(75497481, 9);
-f(125829135, 15);
-f(134217744, 16);
-f(142606353, 17);
-f(260046879, 31);
-f(268435488, 32);
-f(276824097, 33);
-f(528482367, 63);
-f(536870976, 64);
-f(545259585, 65);
-f(1065353343, 127);
-f(1073741952, 128);
-f(1082130561, 129);
-f(2139095295, 255);
-f(2147483904, 256);
-f(2155872513, 257);
-f(4286579199, 511);
-f(4294967808, 512);
-f(4303356417, 513);
-f(8581547007, 1023);
-f(8589935616, 1024);
-f(8598324225, 1025);
-f(17171482623, 2047);
-f(17179871232, 2048);
-f(17188259841, 2049);
-f(34351353855, 4095);
-f(34359742464, 4096);
-f(34368131073, 4097);
-f(68711096319, 8191);
-f(68719484928, 8192);
-f(68727873537, 8193);
-f(137430581247, 16383);
-f(137438969856, 16384);
-f(137447358465, 16385);
-f(274869551103, 32767);
-f(274877939712, 32768);
-f(274886328321, 32769);
-f(549747490815, 65535);
-f(549755879424, 65536);
-f(549764268033, 65537);
-f(1099503370239, 131071);
-f(1099511758848, 131072);
-f(1099520147457, 131073);
-f(2199015129087, 262143);
-f(2199023517696, 262144);
-f(2199031906305, 262145);
-f(4398038646783, 524287);
-f(4398047035392, 524288);
-f(4398055424001, 524289);
-f(8796085682175, 1048575);
-f(8796094070784, 1048576);
-f(8796102459393, 1048577);
-f(17592179752959, 2097151);
-f(17592188141568, 2097152);
-f(17592196530177, 2097153);
-f(35184367894527, 4194303);
-f(35184376283136, 4194304);
-f(35184384671745, 4194305);
-f(70368744177663, 8388607);
-f(70368752566272, 8388608);
-f(70368760954881, 8388609);
-x = 16777215;
-f(0, 0);
-f(16777215, 1);
-f(33554430, 2);
-f(50331645, 3);
-f(67108860, 4);
-f(83886075, 5);
-f(117440505, 7);
-f(134217720, 8);
-f(150994935, 9);
-f(251658225, 15);
-f(268435440, 16);
-f(285212655, 17);
-f(520093665, 31);
-f(536870880, 32);
-f(553648095, 33);
-f(1056964545, 63);
-f(1073741760, 64);
-f(1090518975, 65);
-f(2130706305, 127);
-f(2147483520, 128);
-f(2164260735, 129);
-f(4278189825, 255);
-f(4294967040, 256);
-f(4311744255, 257);
-f(8573156865, 511);
-f(8589934080, 512);
-f(8606711295, 513);
-f(17163090945, 1023);
-f(17179868160, 1024);
-f(17196645375, 1025);
-f(34342959105, 2047);
-f(34359736320, 2048);
-f(34376513535, 2049);
-f(68702695425, 4095);
-f(68719472640, 4096);
-f(68736249855, 4097);
-f(137422168065, 8191);
-f(137438945280, 8192);
-f(137455722495, 8193);
-f(274861113345, 16383);
-f(274877890560, 16384);
-f(274894667775, 16385);
-f(549739003905, 32767);
-f(549755781120, 32768);
-f(549772558335, 32769);
-f(1099494785025, 65535);
-f(1099511562240, 65536);
-f(1099528339455, 65537);
-f(2199006347265, 131071);
-f(2199023124480, 131072);
-f(2199039901695, 131073);
-f(4398029471745, 262143);
-f(4398046248960, 262144);
-f(4398063026175, 262145);
-f(8796075720705, 524287);
-f(8796092497920, 524288);
-f(8796109275135, 524289);
-f(17592168218625, 1048575);
-f(17592184995840, 1048576);
-f(17592201773055, 1048577);
-f(35184353214465, 2097151);
-f(35184369991680, 2097152);
-f(35184386768895, 2097153);
-f(70368723206145, 4194303);
-f(70368739983360, 4194304);
-f(70368756760575, 4194305);
-f(140737463189505, 8388607);
-f(140737479966720, 8388608);
-f(140737496743935, 8388609);
-f(281474943156225, 16777215);
-x = 16777216;
-f(0, 0);
-f(16777216, 1);
-f(33554432, 2);
-f(50331648, 3);
-f(67108864, 4);
-f(83886080, 5);
-f(117440512, 7);
-f(134217728, 8);
-f(150994944, 9);
-f(251658240, 15);
-f(268435456, 16);
-f(285212672, 17);
-f(520093696, 31);
-f(536870912, 32);
-f(553648128, 33);
-f(1056964608, 63);
-f(1073741824, 64);
-f(1090519040, 65);
-f(2130706432, 127);
-f(2147483648, 128);
-f(2164260864, 129);
-f(4278190080, 255);
-f(4294967296, 256);
-f(4311744512, 257);
-f(8573157376, 511);
-f(8589934592, 512);
-f(8606711808, 513);
-f(17163091968, 1023);
-f(17179869184, 1024);
-f(17196646400, 1025);
-f(34342961152, 2047);
-f(34359738368, 2048);
-f(34376515584, 2049);
-f(68702699520, 4095);
-f(68719476736, 4096);
-f(68736253952, 4097);
-f(137422176256, 8191);
-f(137438953472, 8192);
-f(137455730688, 8193);
-f(274861129728, 16383);
-f(274877906944, 16384);
-f(274894684160, 16385);
-f(549739036672, 32767);
-f(549755813888, 32768);
-f(549772591104, 32769);
-f(1099494850560, 65535);
-f(1099511627776, 65536);
-f(1099528404992, 65537);
-f(2199006478336, 131071);
-f(2199023255552, 131072);
-f(2199040032768, 131073);
-f(4398029733888, 262143);
-f(4398046511104, 262144);
-f(4398063288320, 262145);
-f(8796076244992, 524287);
-f(8796093022208, 524288);
-f(8796109799424, 524289);
-f(17592169267200, 1048575);
-f(17592186044416, 1048576);
-f(17592202821632, 1048577);
-f(35184355311616, 2097151);
-f(35184372088832, 2097152);
-f(35184388866048, 2097153);
-f(70368727400448, 4194303);
-f(70368744177664, 4194304);
-f(70368760954880, 4194305);
-f(140737471578112, 8388607);
-f(140737488355328, 8388608);
-f(140737505132544, 8388609);
-f(281474959933440, 16777215);
-f(281474976710656, 16777216);
-x = 16777217;
-f(0, 0);
-f(16777217, 1);
-f(33554434, 2);
-f(50331651, 3);
-f(67108868, 4);
-f(83886085, 5);
-f(117440519, 7);
-f(134217736, 8);
-f(150994953, 9);
-f(251658255, 15);
-f(268435472, 16);
-f(285212689, 17);
-f(520093727, 31);
-f(536870944, 32);
-f(553648161, 33);
-f(1056964671, 63);
-f(1073741888, 64);
-f(1090519105, 65);
-f(2130706559, 127);
-f(2147483776, 128);
-f(2164260993, 129);
-f(4278190335, 255);
-f(4294967552, 256);
-f(4311744769, 257);
-f(8573157887, 511);
-f(8589935104, 512);
-f(8606712321, 513);
-f(17163092991, 1023);
-f(17179870208, 1024);
-f(17196647425, 1025);
-f(34342963199, 2047);
-f(34359740416, 2048);
-f(34376517633, 2049);
-f(68702703615, 4095);
-f(68719480832, 4096);
-f(68736258049, 4097);
-f(137422184447, 8191);
-f(137438961664, 8192);
-f(137455738881, 8193);
-f(274861146111, 16383);
-f(274877923328, 16384);
-f(274894700545, 16385);
-f(549739069439, 32767);
-f(549755846656, 32768);
-f(549772623873, 32769);
-f(1099494916095, 65535);
-f(1099511693312, 65536);
-f(1099528470529, 65537);
-f(2199006609407, 131071);
-f(2199023386624, 131072);
-f(2199040163841, 131073);
-f(4398029996031, 262143);
-f(4398046773248, 262144);
-f(4398063550465, 262145);
-f(8796076769279, 524287);
-f(8796093546496, 524288);
-f(8796110323713, 524289);
-f(17592170315775, 1048575);
-f(17592187092992, 1048576);
-f(17592203870209, 1048577);
-f(35184357408767, 2097151);
-f(35184374185984, 2097152);
-f(35184390963201, 2097153);
-f(70368731594751, 4194303);
-f(70368748371968, 4194304);
-f(70368765149185, 4194305);
-f(140737479966719, 8388607);
-f(140737496743936, 8388608);
-f(140737513521153, 8388609);
-f(281474976710655, 16777215);
-f(281474993487872, 16777216);
-f(281475010265089, 16777217);
-x = 33554431;
-f(0, 0);
-f(33554431, 1);
-f(67108862, 2);
-f(100663293, 3);
-f(134217724, 4);
-f(167772155, 5);
-f(234881017, 7);
-f(268435448, 8);
-f(301989879, 9);
-f(503316465, 15);
-f(536870896, 16);
-f(570425327, 17);
-f(1040187361, 31);
-f(1073741792, 32);
-f(1107296223, 33);
-f(2113929153, 63);
-f(2147483584, 64);
-f(2181038015, 65);
-f(4261412737, 127);
-f(4294967168, 128);
-f(4328521599, 129);
-f(8556379905, 255);
-f(8589934336, 256);
-f(8623488767, 257);
-f(17146314241, 511);
-f(17179868672, 512);
-f(17213423103, 513);
-f(34326182913, 1023);
-f(34359737344, 1024);
-f(34393291775, 1025);
-f(68685920257, 2047);
-f(68719474688, 2048);
-f(68753029119, 2049);
-f(137405394945, 4095);
-f(137438949376, 4096);
-f(137472503807, 4097);
-f(274844344321, 8191);
-f(274877898752, 8192);
-f(274911453183, 8193);
-f(549722243073, 16383);
-f(549755797504, 16384);
-f(549789351935, 16385);
-f(1099478040577, 32767);
-f(1099511595008, 32768);
-f(1099545149439, 32769);
-f(2198989635585, 65535);
-f(2199023190016, 65536);
-f(2199056744447, 65537);
-f(4398012825601, 131071);
-f(4398046380032, 131072);
-f(4398079934463, 131073);
-f(8796059205633, 262143);
-f(8796092760064, 262144);
-f(8796126314495, 262145);
-f(17592151965697, 524287);
-f(17592185520128, 524288);
-f(17592219074559, 524289);
-f(35184337485825, 1048575);
-f(35184371040256, 1048576);
-f(35184404594687, 1048577);
-f(70368708526081, 2097151);
-f(70368742080512, 2097152);
-f(70368775634943, 2097153);
-f(140737450606593, 4194303);
-f(140737484161024, 4194304);
-f(140737517715455, 4194305);
-f(281474934767617, 8388607);
-f(281474968322048, 8388608);
-f(281475001876479, 8388609);
-f(562949903089665, 16777215);
-f(562949936644096, 16777216);
-f(562949970198527, 16777217);
-f(1125899839733761, 33554431);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part7.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,497 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 33554432;
-f(0, 0);
-f(33554432, 1);
-f(67108864, 2);
-f(100663296, 3);
-f(134217728, 4);
-f(167772160, 5);
-f(234881024, 7);
-f(268435456, 8);
-f(301989888, 9);
-f(503316480, 15);
-f(536870912, 16);
-f(570425344, 17);
-f(1040187392, 31);
-f(1073741824, 32);
-f(1107296256, 33);
-f(2113929216, 63);
-f(2147483648, 64);
-f(2181038080, 65);
-f(4261412864, 127);
-f(4294967296, 128);
-f(4328521728, 129);
-f(8556380160, 255);
-f(8589934592, 256);
-f(8623489024, 257);
-f(17146314752, 511);
-f(17179869184, 512);
-f(17213423616, 513);
-f(34326183936, 1023);
-f(34359738368, 1024);
-f(34393292800, 1025);
-f(68685922304, 2047);
-f(68719476736, 2048);
-f(68753031168, 2049);
-f(137405399040, 4095);
-f(137438953472, 4096);
-f(137472507904, 4097);
-f(274844352512, 8191);
-f(274877906944, 8192);
-f(274911461376, 8193);
-f(549722259456, 16383);
-f(549755813888, 16384);
-f(549789368320, 16385);
-f(1099478073344, 32767);
-f(1099511627776, 32768);
-f(1099545182208, 32769);
-f(2198989701120, 65535);
-f(2199023255552, 65536);
-f(2199056809984, 65537);
-f(4398012956672, 131071);
-f(4398046511104, 131072);
-f(4398080065536, 131073);
-f(8796059467776, 262143);
-f(8796093022208, 262144);
-f(8796126576640, 262145);
-f(17592152489984, 524287);
-f(17592186044416, 524288);
-f(17592219598848, 524289);
-f(35184338534400, 1048575);
-f(35184372088832, 1048576);
-f(35184405643264, 1048577);
-f(70368710623232, 2097151);
-f(70368744177664, 2097152);
-f(70368777732096, 2097153);
-f(140737454800896, 4194303);
-f(140737488355328, 4194304);
-f(140737521909760, 4194305);
-f(281474943156224, 8388607);
-f(281474976710656, 8388608);
-f(281475010265088, 8388609);
-f(562949919866880, 16777215);
-f(562949953421312, 16777216);
-f(562949986975744, 16777217);
-f(1125899873288192, 33554431);
-f(1125899906842624, 33554432);
-x = 33554433;
-f(0, 0);
-f(33554433, 1);
-f(67108866, 2);
-f(100663299, 3);
-f(134217732, 4);
-f(167772165, 5);
-f(234881031, 7);
-f(268435464, 8);
-f(301989897, 9);
-f(503316495, 15);
-f(536870928, 16);
-f(570425361, 17);
-f(1040187423, 31);
-f(1073741856, 32);
-f(1107296289, 33);
-f(2113929279, 63);
-f(2147483712, 64);
-f(2181038145, 65);
-f(4261412991, 127);
-f(4294967424, 128);
-f(4328521857, 129);
-f(8556380415, 255);
-f(8589934848, 256);
-f(8623489281, 257);
-f(17146315263, 511);
-f(17179869696, 512);
-f(17213424129, 513);
-f(34326184959, 1023);
-f(34359739392, 1024);
-f(34393293825, 1025);
-f(68685924351, 2047);
-f(68719478784, 2048);
-f(68753033217, 2049);
-f(137405403135, 4095);
-f(137438957568, 4096);
-f(137472512001, 4097);
-f(274844360703, 8191);
-f(274877915136, 8192);
-f(274911469569, 8193);
-f(549722275839, 16383);
-f(549755830272, 16384);
-f(549789384705, 16385);
-f(1099478106111, 32767);
-f(1099511660544, 32768);
-f(1099545214977, 32769);
-f(2198989766655, 65535);
-f(2199023321088, 65536);
-f(2199056875521, 65537);
-f(4398013087743, 131071);
-f(4398046642176, 131072);
-f(4398080196609, 131073);
-f(8796059729919, 262143);
-f(8796093284352, 262144);
-f(8796126838785, 262145);
-f(17592153014271, 524287);
-f(17592186568704, 524288);
-f(17592220123137, 524289);
-f(35184339582975, 1048575);
-f(35184373137408, 1048576);
-f(35184406691841, 1048577);
-f(70368712720383, 2097151);
-f(70368746274816, 2097152);
-f(70368779829249, 2097153);
-f(140737458995199, 4194303);
-f(140737492549632, 4194304);
-f(140737526104065, 4194305);
-f(281474951544831, 8388607);
-f(281474985099264, 8388608);
-f(281475018653697, 8388609);
-f(562949936644095, 16777215);
-f(562949970198528, 16777216);
-f(562950003752961, 16777217);
-f(1125899906842623, 33554431);
-f(1125899940397056, 33554432);
-f(1125899973951489, 33554433);
-x = 67108863;
-f(0, 0);
-f(67108863, 1);
-f(134217726, 2);
-f(201326589, 3);
-f(268435452, 4);
-f(335544315, 5);
-f(469762041, 7);
-f(536870904, 8);
-f(603979767, 9);
-f(1006632945, 15);
-f(1073741808, 16);
-f(1140850671, 17);
-f(2080374753, 31);
-f(2147483616, 32);
-f(2214592479, 33);
-f(4227858369, 63);
-f(4294967232, 64);
-f(4362076095, 65);
-f(8522825601, 127);
-f(8589934464, 128);
-f(8657043327, 129);
-f(17112760065, 255);
-f(17179868928, 256);
-f(17246977791, 257);
-f(34292628993, 511);
-f(34359737856, 512);
-f(34426846719, 513);
-f(68652366849, 1023);
-f(68719475712, 1024);
-f(68786584575, 1025);
-f(137371842561, 2047);
-f(137438951424, 2048);
-f(137506060287, 2049);
-f(274810793985, 4095);
-f(274877902848, 4096);
-f(274945011711, 4097);
-f(549688696833, 8191);
-f(549755805696, 8192);
-f(549822914559, 8193);
-f(1099444502529, 16383);
-f(1099511611392, 16384);
-f(1099578720255, 16385);
-f(2198956113921, 32767);
-f(2199023222784, 32768);
-f(2199090331647, 32769);
-f(4397979336705, 65535);
-f(4398046445568, 65536);
-f(4398113554431, 65537);
-f(8796025782273, 131071);
-f(8796092891136, 131072);
-f(8796159999999, 131073);
-f(17592118673409, 262143);
-f(17592185782272, 262144);
-f(17592252891135, 262145);
-f(35184304455681, 524287);
-f(35184371564544, 524288);
-f(35184438673407, 524289);
-f(70368676020225, 1048575);
-f(70368743129088, 1048576);
-f(70368810237951, 1048577);
-f(140737419149313, 2097151);
-f(140737486258176, 2097152);
-f(140737553367039, 2097153);
-f(281474905407489, 4194303);
-f(281474972516352, 4194304);
-f(281475039625215, 4194305);
-f(562949877923841, 8388607);
-f(562949945032704, 8388608);
-f(562950012141567, 8388609);
-f(1125899822956545, 16777215);
-f(1125899890065408, 16777216);
-f(1125899957174271, 16777217);
-x = 67108864;
-f(0, 0);
-f(67108864, 1);
-f(134217728, 2);
-f(201326592, 3);
-f(268435456, 4);
-f(335544320, 5);
-f(469762048, 7);
-f(536870912, 8);
-f(603979776, 9);
-f(1006632960, 15);
-f(1073741824, 16);
-f(1140850688, 17);
-f(2080374784, 31);
-f(2147483648, 32);
-f(2214592512, 33);
-f(4227858432, 63);
-f(4294967296, 64);
-f(4362076160, 65);
-f(8522825728, 127);
-f(8589934592, 128);
-f(8657043456, 129);
-f(17112760320, 255);
-f(17179869184, 256);
-f(17246978048, 257);
-f(34292629504, 511);
-f(34359738368, 512);
-f(34426847232, 513);
-f(68652367872, 1023);
-f(68719476736, 1024);
-f(68786585600, 1025);
-f(137371844608, 2047);
-f(137438953472, 2048);
-f(137506062336, 2049);
-f(274810798080, 4095);
-f(274877906944, 4096);
-f(274945015808, 4097);
-f(549688705024, 8191);
-f(549755813888, 8192);
-f(549822922752, 8193);
-f(1099444518912, 16383);
-f(1099511627776, 16384);
-f(1099578736640, 16385);
-f(2198956146688, 32767);
-f(2199023255552, 32768);
-f(2199090364416, 32769);
-f(4397979402240, 65535);
-f(4398046511104, 65536);
-f(4398113619968, 65537);
-f(8796025913344, 131071);
-f(8796093022208, 131072);
-f(8796160131072, 131073);
-f(17592118935552, 262143);
-f(17592186044416, 262144);
-f(17592253153280, 262145);
-f(35184304979968, 524287);
-f(35184372088832, 524288);
-f(35184439197696, 524289);
-f(70368677068800, 1048575);
-f(70368744177664, 1048576);
-f(70368811286528, 1048577);
-f(140737421246464, 2097151);
-f(140737488355328, 2097152);
-f(140737555464192, 2097153);
-f(281474909601792, 4194303);
-f(281474976710656, 4194304);
-f(281475043819520, 4194305);
-f(562949886312448, 8388607);
-f(562949953421312, 8388608);
-f(562950020530176, 8388609);
-f(1125899839733760, 16777215);
-f(1125899906842624, 16777216);
-f(1125899973951488, 16777217);
-x = 67108865;
-f(0, 0);
-f(67108865, 1);
-f(134217730, 2);
-f(201326595, 3);
-f(268435460, 4);
-f(335544325, 5);
-f(469762055, 7);
-f(536870920, 8);
-f(603979785, 9);
-f(1006632975, 15);
-f(1073741840, 16);
-f(1140850705, 17);
-f(2080374815, 31);
-f(2147483680, 32);
-f(2214592545, 33);
-f(4227858495, 63);
-f(4294967360, 64);
-f(4362076225, 65);
-f(8522825855, 127);
-f(8589934720, 128);
-f(8657043585, 129);
-f(17112760575, 255);
-f(17179869440, 256);
-f(17246978305, 257);
-f(34292630015, 511);
-f(34359738880, 512);
-f(34426847745, 513);
-f(68652368895, 1023);
-f(68719477760, 1024);
-f(68786586625, 1025);
-f(137371846655, 2047);
-f(137438955520, 2048);
-f(137506064385, 2049);
-f(274810802175, 4095);
-f(274877911040, 4096);
-f(274945019905, 4097);
-f(549688713215, 8191);
-f(549755822080, 8192);
-f(549822930945, 8193);
-f(1099444535295, 16383);
-f(1099511644160, 16384);
-f(1099578753025, 16385);
-f(2198956179455, 32767);
-f(2199023288320, 32768);
-f(2199090397185, 32769);
-f(4397979467775, 65535);
-f(4398046576640, 65536);
-f(4398113685505, 65537);
-f(8796026044415, 131071);
-f(8796093153280, 131072);
-f(8796160262145, 131073);
-f(17592119197695, 262143);
-f(17592186306560, 262144);
-f(17592253415425, 262145);
-f(35184305504255, 524287);
-f(35184372613120, 524288);
-f(35184439721985, 524289);
-f(70368678117375, 1048575);
-f(70368745226240, 1048576);
-f(70368812335105, 1048577);
-f(140737423343615, 2097151);
-f(140737490452480, 2097152);
-f(140737557561345, 2097153);
-f(281474913796095, 4194303);
-f(281474980904960, 4194304);
-f(281475048013825, 4194305);
-f(562949894701055, 8388607);
-f(562949961809920, 8388608);
-f(562950028918785, 8388609);
-f(1125899856510975, 16777215);
-f(1125899923619840, 16777216);
-f(1125899990728705, 16777217);
-x = 134217727;
-f(0, 0);
-f(134217727, 1);
-f(268435454, 2);
-f(402653181, 3);
-f(536870908, 4);
-f(671088635, 5);
-f(939524089, 7);
-f(1073741816, 8);
-f(1207959543, 9);
-f(2013265905, 15);
-f(2147483632, 16);
-f(2281701359, 17);
-f(4160749537, 31);
-f(4294967264, 32);
-f(4429184991, 33);
-f(8455716801, 63);
-f(8589934528, 64);
-f(8724152255, 65);
-f(17045651329, 127);
-f(17179869056, 128);
-f(17314086783, 129);
-f(34225520385, 255);
-f(34359738112, 256);
-f(34493955839, 257);
-f(68585258497, 511);
-f(68719476224, 512);
-f(68853693951, 513);
-f(137304734721, 1023);
-f(137438952448, 1024);
-f(137573170175, 1025);
-f(274743687169, 2047);
-f(274877904896, 2048);
-f(275012122623, 2049);
-f(549621592065, 4095);
-f(549755809792, 4096);
-f(549890027519, 4097);
-f(1099377401857, 8191);
-f(1099511619584, 8192);
-f(1099645837311, 8193);
-f(2198889021441, 16383);
-f(2199023239168, 16384);
-f(2199157456895, 16385);
-f(4397912260609, 32767);
-f(4398046478336, 32768);
-f(4398180696063, 32769);
-f(8795958738945, 65535);
-f(8796092956672, 65536);
-f(8796227174399, 65537);
-f(17592051695617, 131071);
-f(17592185913344, 131072);
-f(17592320131071, 131073);
-f(35184237608961, 262143);
-f(35184371826688, 262144);
-f(35184506044415, 262145);
-f(70368609435649, 524287);
-f(70368743653376, 524288);
-f(70368877871103, 524289);
-f(140737353089025, 1048575);
-f(140737487306752, 1048576);
-f(140737621524479, 1048577);
-f(281474840395777, 2097151);
-f(281474974613504, 2097152);
-f(281475108831231, 2097153);
-f(562949815009281, 4194303);
-f(562949949227008, 4194304);
-f(562950083444735, 4194305);
-f(1125899764236289, 8388607);
-f(1125899898454016, 8388608);
-f(1125900032671743, 8388609);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part8.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,526 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 134217728;
-f(0, 0);
-f(134217728, 1);
-f(268435456, 2);
-f(402653184, 3);
-f(536870912, 4);
-f(671088640, 5);
-f(939524096, 7);
-f(1073741824, 8);
-f(1207959552, 9);
-f(2013265920, 15);
-f(2147483648, 16);
-f(2281701376, 17);
-f(4160749568, 31);
-f(4294967296, 32);
-f(4429185024, 33);
-f(8455716864, 63);
-f(8589934592, 64);
-f(8724152320, 65);
-f(17045651456, 127);
-f(17179869184, 128);
-f(17314086912, 129);
-f(34225520640, 255);
-f(34359738368, 256);
-f(34493956096, 257);
-f(68585259008, 511);
-f(68719476736, 512);
-f(68853694464, 513);
-f(137304735744, 1023);
-f(137438953472, 1024);
-f(137573171200, 1025);
-f(274743689216, 2047);
-f(274877906944, 2048);
-f(275012124672, 2049);
-f(549621596160, 4095);
-f(549755813888, 4096);
-f(549890031616, 4097);
-f(1099377410048, 8191);
-f(1099511627776, 8192);
-f(1099645845504, 8193);
-f(2198889037824, 16383);
-f(2199023255552, 16384);
-f(2199157473280, 16385);
-f(4397912293376, 32767);
-f(4398046511104, 32768);
-f(4398180728832, 32769);
-f(8795958804480, 65535);
-f(8796093022208, 65536);
-f(8796227239936, 65537);
-f(17592051826688, 131071);
-f(17592186044416, 131072);
-f(17592320262144, 131073);
-f(35184237871104, 262143);
-f(35184372088832, 262144);
-f(35184506306560, 262145);
-f(70368609959936, 524287);
-f(70368744177664, 524288);
-f(70368878395392, 524289);
-f(140737354137600, 1048575);
-f(140737488355328, 1048576);
-f(140737622573056, 1048577);
-f(281474842492928, 2097151);
-f(281474976710656, 2097152);
-f(281475110928384, 2097153);
-f(562949819203584, 4194303);
-f(562949953421312, 4194304);
-f(562950087639040, 4194305);
-f(1125899772624896, 8388607);
-f(1125899906842624, 8388608);
-f(1125900041060352, 8388609);
-x = 134217729;
-f(0, 0);
-f(134217729, 1);
-f(268435458, 2);
-f(402653187, 3);
-f(536870916, 4);
-f(671088645, 5);
-f(939524103, 7);
-f(1073741832, 8);
-f(1207959561, 9);
-f(2013265935, 15);
-f(2147483664, 16);
-f(2281701393, 17);
-f(4160749599, 31);
-f(4294967328, 32);
-f(4429185057, 33);
-f(8455716927, 63);
-f(8589934656, 64);
-f(8724152385, 65);
-f(17045651583, 127);
-f(17179869312, 128);
-f(17314087041, 129);
-f(34225520895, 255);
-f(34359738624, 256);
-f(34493956353, 257);
-f(68585259519, 511);
-f(68719477248, 512);
-f(68853694977, 513);
-f(137304736767, 1023);
-f(137438954496, 1024);
-f(137573172225, 1025);
-f(274743691263, 2047);
-f(274877908992, 2048);
-f(275012126721, 2049);
-f(549621600255, 4095);
-f(549755817984, 4096);
-f(549890035713, 4097);
-f(1099377418239, 8191);
-f(1099511635968, 8192);
-f(1099645853697, 8193);
-f(2198889054207, 16383);
-f(2199023271936, 16384);
-f(2199157489665, 16385);
-f(4397912326143, 32767);
-f(4398046543872, 32768);
-f(4398180761601, 32769);
-f(8795958870015, 65535);
-f(8796093087744, 65536);
-f(8796227305473, 65537);
-f(17592051957759, 131071);
-f(17592186175488, 131072);
-f(17592320393217, 131073);
-f(35184238133247, 262143);
-f(35184372350976, 262144);
-f(35184506568705, 262145);
-f(70368610484223, 524287);
-f(70368744701952, 524288);
-f(70368878919681, 524289);
-f(140737355186175, 1048575);
-f(140737489403904, 1048576);
-f(140737623621633, 1048577);
-f(281474844590079, 2097151);
-f(281474978807808, 2097152);
-f(281475113025537, 2097153);
-f(562949823397887, 4194303);
-f(562949957615616, 4194304);
-f(562950091833345, 4194305);
-f(1125899781013503, 8388607);
-f(1125899915231232, 8388608);
-f(1125900049448961, 8388609);
-x = 268435455;
-f(0, 0);
-f(268435455, 1);
-f(536870910, 2);
-f(805306365, 3);
-f(1073741820, 4);
-f(1342177275, 5);
-f(1879048185, 7);
-f(2147483640, 8);
-f(2415919095, 9);
-f(4026531825, 15);
-f(4294967280, 16);
-f(4563402735, 17);
-f(8321499105, 31);
-f(8589934560, 32);
-f(8858370015, 33);
-f(16911433665, 63);
-f(17179869120, 64);
-f(17448304575, 65);
-f(34091302785, 127);
-f(34359738240, 128);
-f(34628173695, 129);
-f(68451041025, 255);
-f(68719476480, 256);
-f(68987911935, 257);
-f(137170517505, 511);
-f(137438952960, 512);
-f(137707388415, 513);
-f(274609470465, 1023);
-f(274877905920, 1024);
-f(275146341375, 1025);
-f(549487376385, 2047);
-f(549755811840, 2048);
-f(550024247295, 2049);
-f(1099243188225, 4095);
-f(1099511623680, 4096);
-f(1099780059135, 4097);
-f(2198754811905, 8191);
-f(2199023247360, 8192);
-f(2199291682815, 8193);
-f(4397778059265, 16383);
-f(4398046494720, 16384);
-f(4398314930175, 16385);
-f(8795824553985, 32767);
-f(8796092989440, 32768);
-f(8796361424895, 32769);
-f(17591917543425, 65535);
-f(17592185978880, 65536);
-f(17592454414335, 65537);
-f(35184103522305, 131071);
-f(35184371957760, 131072);
-f(35184640393215, 131073);
-f(70368475480065, 262143);
-f(70368743915520, 262144);
-f(70369012350975, 262145);
-f(140737219395585, 524287);
-f(140737487831040, 524288);
-f(140737756266495, 524289);
-f(281474707226625, 1048575);
-f(281474975662080, 1048576);
-f(281475244097535, 1048577);
-f(562949682888705, 2097151);
-f(562949951324160, 2097152);
-f(562950219759615, 2097153);
-f(1125899634212865, 4194303);
-f(1125899902648320, 4194304);
-f(1125900171083775, 4194305);
-x = 268435456;
-f(0, 0);
-f(268435456, 1);
-f(536870912, 2);
-f(805306368, 3);
-f(1073741824, 4);
-f(1342177280, 5);
-f(1879048192, 7);
-f(2147483648, 8);
-f(2415919104, 9);
-f(4026531840, 15);
-f(4294967296, 16);
-f(4563402752, 17);
-f(8321499136, 31);
-f(8589934592, 32);
-f(8858370048, 33);
-f(16911433728, 63);
-f(17179869184, 64);
-f(17448304640, 65);
-f(34091302912, 127);
-f(34359738368, 128);
-f(34628173824, 129);
-f(68451041280, 255);
-f(68719476736, 256);
-f(68987912192, 257);
-f(137170518016, 511);
-f(137438953472, 512);
-f(137707388928, 513);
-f(274609471488, 1023);
-f(274877906944, 1024);
-f(275146342400, 1025);
-f(549487378432, 2047);
-f(549755813888, 2048);
-f(550024249344, 2049);
-f(1099243192320, 4095);
-f(1099511627776, 4096);
-f(1099780063232, 4097);
-f(2198754820096, 8191);
-f(2199023255552, 8192);
-f(2199291691008, 8193);
-f(4397778075648, 16383);
-f(4398046511104, 16384);
-f(4398314946560, 16385);
-f(8795824586752, 32767);
-f(8796093022208, 32768);
-f(8796361457664, 32769);
-f(17591917608960, 65535);
-f(17592186044416, 65536);
-f(17592454479872, 65537);
-f(35184103653376, 131071);
-f(35184372088832, 131072);
-f(35184640524288, 131073);
-f(70368475742208, 262143);
-f(70368744177664, 262144);
-f(70369012613120, 262145);
-f(140737219919872, 524287);
-f(140737488355328, 524288);
-f(140737756790784, 524289);
-f(281474708275200, 1048575);
-f(281474976710656, 1048576);
-f(281475245146112, 1048577);
-f(562949684985856, 2097151);
-f(562949953421312, 2097152);
-f(562950221856768, 2097153);
-f(1125899638407168, 4194303);
-f(1125899906842624, 4194304);
-f(1125900175278080, 4194305);
-x = 268435457;
-f(0, 0);
-f(268435457, 1);
-f(536870914, 2);
-f(805306371, 3);
-f(1073741828, 4);
-f(1342177285, 5);
-f(1879048199, 7);
-f(2147483656, 8);
-f(2415919113, 9);
-f(4026531855, 15);
-f(4294967312, 16);
-f(4563402769, 17);
-f(8321499167, 31);
-f(8589934624, 32);
-f(8858370081, 33);
-f(16911433791, 63);
-f(17179869248, 64);
-f(17448304705, 65);
-f(34091303039, 127);
-f(34359738496, 128);
-f(34628173953, 129);
-f(68451041535, 255);
-f(68719476992, 256);
-f(68987912449, 257);
-f(137170518527, 511);
-f(137438953984, 512);
-f(137707389441, 513);
-f(274609472511, 1023);
-f(274877907968, 1024);
-f(275146343425, 1025);
-f(549487380479, 2047);
-f(549755815936, 2048);
-f(550024251393, 2049);
-f(1099243196415, 4095);
-f(1099511631872, 4096);
-f(1099780067329, 4097);
-f(2198754828287, 8191);
-f(2199023263744, 8192);
-f(2199291699201, 8193);
-f(4397778092031, 16383);
-f(4398046527488, 16384);
-f(4398314962945, 16385);
-f(8795824619519, 32767);
-f(8796093054976, 32768);
-f(8796361490433, 32769);
-f(17591917674495, 65535);
-f(17592186109952, 65536);
-f(17592454545409, 65537);
-f(35184103784447, 131071);
-f(35184372219904, 131072);
-f(35184640655361, 131073);
-f(70368476004351, 262143);
-f(70368744439808, 262144);
-f(70369012875265, 262145);
-f(140737220444159, 524287);
-f(140737488879616, 524288);
-f(140737757315073, 524289);
-f(281474709323775, 1048575);
-f(281474977759232, 1048576);
-f(281475246194689, 1048577);
-f(562949687083007, 2097151);
-f(562949955518464, 2097152);
-f(562950223953921, 2097153);
-f(1125899642601471, 4194303);
-f(1125899911036928, 4194304);
-f(1125900179472385, 4194305);
-x = 536870911;
-f(0, 0);
-f(536870911, 1);
-f(1073741822, 2);
-f(1610612733, 3);
-f(2147483644, 4);
-f(2684354555, 5);
-f(3758096377, 7);
-f(4294967288, 8);
-f(4831838199, 9);
-f(8053063665, 15);
-f(8589934576, 16);
-f(9126805487, 17);
-f(16642998241, 31);
-f(17179869152, 32);
-f(17716740063, 33);
-f(33822867393, 63);
-f(34359738304, 64);
-f(34896609215, 65);
-f(68182605697, 127);
-f(68719476608, 128);
-f(69256347519, 129);
-f(136902082305, 255);
-f(137438953216, 256);
-f(137975824127, 257);
-f(274341035521, 511);
-f(274877906432, 512);
-f(275414777343, 513);
-f(549218941953, 1023);
-f(549755812864, 1024);
-f(550292683775, 1025);
-f(1098974754817, 2047);
-f(1099511625728, 2048);
-f(1100048496639, 2049);
-f(2198486380545, 4095);
-f(2199023251456, 4096);
-f(2199560122367, 4097);
-f(4397509632001, 8191);
-f(4398046502912, 8192);
-f(4398583373823, 8193);
-f(8795556134913, 16383);
-f(8796093005824, 16384);
-f(8796629876735, 16385);
-f(17591649140737, 32767);
-f(17592186011648, 32768);
-f(17592722882559, 32769);
-f(35183835152385, 65535);
-f(35184372023296, 65536);
-f(35184908894207, 65537);
-f(70368207175681, 131071);
-f(70368744046592, 131072);
-f(70369280917503, 131073);
-f(140736951222273, 262143);
-f(140737488093184, 262144);
-f(140738024964095, 262145);
-f(281474439315457, 524287);
-f(281474976186368, 524288);
-f(281475513057279, 524289);
-f(562949415501825, 1048575);
-f(562949952372736, 1048576);
-f(562950489243647, 1048577);
-f(1125899367874561, 2097151);
-f(1125899904745472, 2097152);
-f(1125900441616383, 2097153);
-x = 536870912;
-f(0, 0);
-f(536870912, 1);
-f(1073741824, 2);
-f(1610612736, 3);
-f(2147483648, 4);
-f(2684354560, 5);
-f(3758096384, 7);
-f(4294967296, 8);
-f(4831838208, 9);
-f(8053063680, 15);
-f(8589934592, 16);
-f(9126805504, 17);
-f(16642998272, 31);
-f(17179869184, 32);
-f(17716740096, 33);
-f(33822867456, 63);
-f(34359738368, 64);
-f(34896609280, 65);
-f(68182605824, 127);
-f(68719476736, 128);
-f(69256347648, 129);
-f(136902082560, 255);
-f(137438953472, 256);
-f(137975824384, 257);
-f(274341036032, 511);
-f(274877906944, 512);
-f(275414777856, 513);
-f(549218942976, 1023);
-f(549755813888, 1024);
-f(550292684800, 1025);
-f(1098974756864, 2047);
-f(1099511627776, 2048);
-f(1100048498688, 2049);
-f(2198486384640, 4095);
-f(2199023255552, 4096);
-f(2199560126464, 4097);
-f(4397509640192, 8191);
-f(4398046511104, 8192);
-f(4398583382016, 8193);
-f(8795556151296, 16383);
-f(8796093022208, 16384);
-f(8796629893120, 16385);
-f(17591649173504, 32767);
-f(17592186044416, 32768);
-f(17592722915328, 32769);
-f(35183835217920, 65535);
-f(35184372088832, 65536);
-f(35184908959744, 65537);
-f(70368207306752, 131071);
-f(70368744177664, 131072);
-f(70369281048576, 131073);
-f(140736951484416, 262143);
-f(140737488355328, 262144);
-f(140738025226240, 262145);
-f(281474439839744, 524287);
-f(281474976710656, 524288);
-f(281475513581568, 524289);
-f(562949416550400, 1048575);
-f(562949953421312, 1048576);
-f(562950490292224, 1048577);
-f(1125899369971712, 2097151);
-f(1125899906842624, 2097152);
-f(1125900443713536, 2097153);
=======================================
--- /trunk/test/mjsunit/mul-exhaustive-part9.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,533 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y),
x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 536870913;
-f(0, 0);
-f(536870913, 1);
-f(1073741826, 2);
-f(1610612739, 3);
-f(2147483652, 4);
-f(2684354565, 5);
-f(3758096391, 7);
-f(4294967304, 8);
-f(4831838217, 9);
-f(8053063695, 15);
-f(8589934608, 16);
-f(9126805521, 17);
-f(16642998303, 31);
-f(17179869216, 32);
-f(17716740129, 33);
-f(33822867519, 63);
-f(34359738432, 64);
-f(34896609345, 65);
-f(68182605951, 127);
-f(68719476864, 128);
-f(69256347777, 129);
-f(136902082815, 255);
-f(137438953728, 256);
-f(137975824641, 257);
-f(274341036543, 511);
-f(274877907456, 512);
-f(275414778369, 513);
-f(549218943999, 1023);
-f(549755814912, 1024);
-f(550292685825, 1025);
-f(1098974758911, 2047);
-f(1099511629824, 2048);
-f(1100048500737, 2049);
-f(2198486388735, 4095);
-f(2199023259648, 4096);
-f(2199560130561, 4097);
-f(4397509648383, 8191);
-f(4398046519296, 8192);
-f(4398583390209, 8193);
-f(8795556167679, 16383);
-f(8796093038592, 16384);
-f(8796629909505, 16385);
-f(17591649206271, 32767);
-f(17592186077184, 32768);
-f(17592722948097, 32769);
-f(35183835283455, 65535);
-f(35184372154368, 65536);
-f(35184909025281, 65537);
-f(70368207437823, 131071);
-f(70368744308736, 131072);
-f(70369281179649, 131073);
-f(140736951746559, 262143);
-f(140737488617472, 262144);
-f(140738025488385, 262145);
-f(281474440364031, 524287);
-f(281474977234944, 524288);
-f(281475514105857, 524289);
-f(562949417598975, 1048575);
-f(562949954469888, 1048576);
-f(562950491340801, 1048577);
-f(1125899372068863, 2097151);
-f(1125899908939776, 2097152);
-f(1125900445810689, 2097153);
-x = 1073741823;
-f(0, 0);
-f(1073741823, 1);
-f(2147483646, 2);
-f(3221225469, 3);
-f(4294967292, 4);
-f(5368709115, 5);
-f(7516192761, 7);
-f(8589934584, 8);
-f(9663676407, 9);
-f(16106127345, 15);
-f(17179869168, 16);
-f(18253610991, 17);
-f(33285996513, 31);
-f(34359738336, 32);
-f(35433480159, 33);
-f(67645734849, 63);
-f(68719476672, 64);
-f(69793218495, 65);
-f(136365211521, 127);
-f(137438953344, 128);
-f(138512695167, 129);
-f(273804164865, 255);
-f(274877906688, 256);
-f(275951648511, 257);
-f(548682071553, 511);
-f(549755813376, 512);
-f(550829555199, 513);
-f(1098437884929, 1023);
-f(1099511626752, 1024);
-f(1100585368575, 1025);
-f(2197949511681, 2047);
-f(2199023253504, 2048);
-f(2200096995327, 2049);
-f(4396972765185, 4095);
-f(4398046507008, 4096);
-f(4399120248831, 4097);
-f(8795019272193, 8191);
-f(8796093014016, 8192);
-f(8797166755839, 8193);
-f(17591112286209, 16383);
-f(17592186028032, 16384);
-f(17593259769855, 16385);
-f(35183298314241, 32767);
-f(35184372056064, 32768);
-f(35185445797887, 32769);
-f(70367670370305, 65535);
-f(70368744112128, 65536);
-f(70369817853951, 65537);
-f(140736414482433, 131071);
-f(140737488224256, 131072);
-f(140738561966079, 131073);
-f(281473902706689, 262143);
-f(281474976448512, 262144);
-f(281476050190335, 262145);
-f(562948879155201, 524287);
-f(562949952897024, 524288);
-f(562951026638847, 524289);
-f(1125898832052225, 1048575);
-f(1125899905794048, 1048576);
-f(1125900979535871, 1048577);
-x = 1073741824;
-f(0, 0);
-f(1073741824, 1);
-f(2147483648, 2);
-f(3221225472, 3);
-f(4294967296, 4);
-f(5368709120, 5);
-f(7516192768, 7);
-f(8589934592, 8);
-f(9663676416, 9);
-f(16106127360, 15);
-f(17179869184, 16);
-f(18253611008, 17);
-f(33285996544, 31);
-f(34359738368, 32);
-f(35433480192, 33);
-f(67645734912, 63);
-f(68719476736, 64);
-f(69793218560, 65);
-f(136365211648, 127);
-f(137438953472, 128);
-f(138512695296, 129);
-f(273804165120, 255);
-f(274877906944, 256);
-f(275951648768, 257);
-f(548682072064, 511);
-f(549755813888, 512);
-f(550829555712, 513);
-f(1098437885952, 1023);
-f(1099511627776, 1024);
-f(1100585369600, 1025);
-f(2197949513728, 2047);
-f(2199023255552, 2048);
-f(2200096997376, 2049);
-f(4396972769280, 4095);
-f(4398046511104, 4096);
-f(4399120252928, 4097);
-f(8795019280384, 8191);
-f(8796093022208, 8192);
-f(8797166764032, 8193);
-f(17591112302592, 16383);
-f(17592186044416, 16384);
-f(17593259786240, 16385);
-f(35183298347008, 32767);
-f(35184372088832, 32768);
-f(35185445830656, 32769);
-f(70367670435840, 65535);
-f(70368744177664, 65536);
-f(70369817919488, 65537);
-f(140736414613504, 131071);
-f(140737488355328, 131072);
-f(140738562097152, 131073);
-f(281473902968832, 262143);
-f(281474976710656, 262144);
-f(281476050452480, 262145);
-f(562948879679488, 524287);
-f(562949953421312, 524288);
-f(562951027163136, 524289);
-f(1125898833100800, 1048575);
-f(1125899906842624, 1048576);
-f(1125900980584448, 1048577);
-x = 1073741825;
-f(0, 0);
-f(1073741825, 1);
-f(2147483650, 2);
-f(3221225475, 3);
-f(4294967300, 4);
-f(5368709125, 5);
-f(7516192775, 7);
-f(8589934600, 8);
-f(9663676425, 9);
-f(16106127375, 15);
-f(17179869200, 16);
-f(18253611025, 17);
-f(33285996575, 31);
-f(34359738400, 32);
-f(35433480225, 33);
-f(67645734975, 63);
-f(68719476800, 64);
-f(69793218625, 65);
-f(136365211775, 127);
-f(137438953600, 128);
-f(138512695425, 129);
-f(273804165375, 255);
-f(274877907200, 256);
-f(275951649025, 257);
-f(548682072575, 511);
-f(549755814400, 512);
-f(550829556225, 513);
-f(1098437886975, 1023);
-f(1099511628800, 1024);
-f(1100585370625, 1025);
-f(2197949515775, 2047);
-f(2199023257600, 2048);
-f(2200096999425, 2049);
-f(4396972773375, 4095);
-f(4398046515200, 4096);
-f(4399120257025, 4097);
-f(8795019288575, 8191);
-f(8796093030400, 8192);
-f(8797166772225, 8193);
-f(17591112318975, 16383);
-f(17592186060800, 16384);
-f(17593259802625, 16385);
-f(35183298379775, 32767);
-f(35184372121600, 32768);
-f(35185445863425, 32769);
-f(70367670501375, 65535);
-f(70368744243200, 65536);
-f(70369817985025, 65537);
-f(140736414744575, 131071);
-f(140737488486400, 131072);
-f(140738562228225, 131073);
-f(281473903230975, 262143);
-f(281474976972800, 262144);
-f(281476050714625, 262145);
-f(562948880203775, 524287);
-f(562949953945600, 524288);
-f(562951027687425, 524289);
-f(1125898834149375, 1048575);
-f(1125899907891200, 1048576);
-f(1125900981633025, 1048577);
-x = 2147483647;
-f(0, 0);
-f(2147483647, 1);
-f(4294967294, 2);
-f(6442450941, 3);
-f(8589934588, 4);
-f(10737418235, 5);
-f(15032385529, 7);
-f(17179869176, 8);
-f(19327352823, 9);
-f(32212254705, 15);
-f(34359738352, 16);
-f(36507221999, 17);
-f(66571993057, 31);
-f(68719476704, 32);
-f(70866960351, 33);
-f(135291469761, 63);
-f(137438953408, 64);
-f(139586437055, 65);
-f(272730423169, 127);
-f(274877906816, 128);
-f(277025390463, 129);
-f(547608329985, 255);
-f(549755813632, 256);
-f(551903297279, 257);
-f(1097364143617, 511);
-f(1099511627264, 512);
-f(1101659110911, 513);
-f(2196875770881, 1023);
-f(2199023254528, 1024);
-f(2201170738175, 1025);
-f(4395899025409, 2047);
-f(4398046509056, 2048);
-f(4400193992703, 2049);
-f(8793945534465, 4095);
-f(8796093018112, 4096);
-f(8798240501759, 4097);
-f(17590038552577, 8191);
-f(17592186036224, 8192);
-f(17594333519871, 8193);
-f(35182224588801, 16383);
-f(35184372072448, 16384);
-f(35186519556095, 16385);
-f(70366596661249, 32767);
-f(70368744144896, 32768);
-f(70370891628543, 32769);
-f(140735340806145, 65535);
-f(140737488289792, 65536);
-f(140739635773439, 65537);
-f(281472829095937, 131071);
-f(281474976579584, 131072);
-f(281477124063231, 131073);
-f(562947805675521, 262143);
-f(562949953159168, 262144);
-f(562952100642815, 262145);
-f(1125897758834689, 524287);
-f(1125899906318336, 524288);
-f(1125902053801983, 524289);
-x = 2147483648;
-f(0, 0);
-f(2147483648, 1);
-f(4294967296, 2);
-f(6442450944, 3);
-f(8589934592, 4);
-f(10737418240, 5);
-f(15032385536, 7);
-f(17179869184, 8);
-f(19327352832, 9);
-f(32212254720, 15);
-f(34359738368, 16);
-f(36507222016, 17);
-f(66571993088, 31);
-f(68719476736, 32);
-f(70866960384, 33);
-f(135291469824, 63);
-f(137438953472, 64);
-f(139586437120, 65);
-f(272730423296, 127);
-f(274877906944, 128);
-f(277025390592, 129);
-f(547608330240, 255);
-f(549755813888, 256);
-f(551903297536, 257);
-f(1097364144128, 511);
-f(1099511627776, 512);
-f(1101659111424, 513);
-f(2196875771904, 1023);
-f(2199023255552, 1024);
-f(2201170739200, 1025);
-f(4395899027456, 2047);
-f(4398046511104, 2048);
-f(4400193994752, 2049);
-f(8793945538560, 4095);
-f(8796093022208, 4096);
-f(8798240505856, 4097);
-f(17590038560768, 8191);
-f(17592186044416, 8192);
-f(17594333528064, 8193);
-f(35182224605184, 16383);
-f(35184372088832, 16384);
-f(35186519572480, 16385);
-f(70366596694016, 32767);
-f(70368744177664, 32768);
-f(70370891661312, 32769);
-f(140735340871680, 65535);
-f(140737488355328, 65536);
-f(140739635838976, 65537);
-f(281472829227008, 131071);
-f(281474976710656, 131072);
-f(281477124194304, 131073);
-f(562947805937664, 262143);
-f(562949953421312, 262144);
-f(562952100904960, 262145);
-f(1125897759358976, 524287);
-f(1125899906842624, 524288);
-f(1125902054326272, 524289);
-x = 2147483649;
-f(0, 0);
-f(2147483649, 1);
-f(4294967298, 2);
-f(6442450947, 3);
-f(8589934596, 4);
-f(10737418245, 5);
-f(15032385543, 7);
-f(17179869192, 8);
-f(19327352841, 9);
-f(32212254735, 15);
-f(34359738384, 16);
-f(36507222033, 17);
-f(66571993119, 31);
-f(68719476768, 32);
-f(70866960417, 33);
-f(135291469887, 63);
-f(137438953536, 64);
-f(139586437185, 65);
-f(272730423423, 127);
-f(274877907072, 128);
-f(277025390721, 129);
-f(547608330495, 255);
-f(549755814144, 256);
-f(551903297793, 257);
-f(1097364144639, 511);
-f(1099511628288, 512);
-f(1101659111937, 513);
-f(2196875772927, 1023);
-f(2199023256576, 1024);
-f(2201170740225, 1025);
-f(4395899029503, 2047);
-f(4398046513152, 2048);
-f(4400193996801, 2049);
-f(8793945542655, 4095);
-f(8796093026304, 4096);
-f(8798240509953, 4097);
-f(17590038568959, 8191);
-f(17592186052608, 8192);
-f(17594333536257, 8193);
-f(35182224621567, 16383);
-f(35184372105216, 16384);
-f(35186519588865, 16385);
-f(70366596726783, 32767);
-f(70368744210432, 32768);
-f(70370891694081, 32769);
-f(140735340937215, 65535);
-f(140737488420864, 65536);
-f(140739635904513, 65537);
-f(281472829358079, 131071);
-f(281474976841728, 131072);
-f(281477124325377, 131073);
-f(562947806199807, 262143);
-f(562949953683456, 262144);
-f(562952101167105, 262145);
-f(1125897759883263, 524287);
-f(1125899907366912, 524288);
-f(1125902054850561, 524289);
-x = 4294967295;
-f(0, 0);
-f(4294967295, 1);
-f(8589934590, 2);
-f(12884901885, 3);
-f(17179869180, 4);
-f(21474836475, 5);
-f(30064771065, 7);
-f(34359738360, 8);
-f(38654705655, 9);
-f(64424509425, 15);
-f(68719476720, 16);
-f(73014444015, 17);
-f(133143986145, 31);
-f(137438953440, 32);
-f(141733920735, 33);
-f(270582939585, 63);
-f(274877906880, 64);
-f(279172874175, 65);
-f(545460846465, 127);
-f(549755813760, 128);
-f(554050781055, 129);
-f(1095216660225, 255);
-f(1099511627520, 256);
-f(1103806594815, 257);
-f(2194728287745, 511);
-f(2199023255040, 512);
-f(2203318222335, 513);
-f(4393751542785, 1023);
-f(4398046510080, 1024);
-f(4402341477375, 1025);
-f(8791798052865, 2047);
-f(8796093020160, 2048);
-f(8800387987455, 2049);
-f(17587891073025, 4095);
-f(17592186040320, 4096);
-f(17596481007615, 4097);
-f(35180077113345, 8191);
-f(35184372080640, 8192);
-f(35188667047935, 8193);
-f(70364449193985, 16383);
-f(70368744161280, 16384);
-f(70373039128575, 16385);
-f(140733193355265, 32767);
-f(140737488322560, 32768);
-f(140741783289855, 32769);
-f(281470681677825, 65535);
-f(281474976645120, 65536);
-f(281479271612415, 65537);
-f(562945658322945, 131071);
-f(562949953290240, 131072);
-f(562954248257535, 131073);
-f(1125895611613185, 262143);
-f(1125899906580480, 262144);
-f(1125904201547775, 262145);
=======================================
--- /trunk/test/mjsunit/numops-fuzz-part1.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,1172 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = 0;
- var tmp = 0;
- assertEquals(0, x /= (tmp = 798469700.4090232, tmp));
- assertEquals(0, x *= (2714102322.365509));
- assertEquals(0, x *= x);
- assertEquals(139516372, x -= (tmp = -139516372, tmp));
- assertEquals(1, x /= (x%(2620399703.344006)));
- assertEquals(0, x >>>= x);
- assertEquals(-2772151192.8633175, x -= (tmp = 2772151192.8633175, tmp));
- assertEquals(-2786298206.8633175, x -= (14147014));
- assertEquals(1509750523, x |= ((1073767916)-(tmp = 919311632.2789925,
tmp)));
- assertEquals(2262404051.926751, x += ((752653528.9267509)%x));
- assertEquals(-270926893, x |= (tmp = 1837232194, tmp));
- assertEquals(0.17730273401688765, x /= ((tmp = -2657202795, tmp)-(((((x|
(tmp = -1187733892.282897,
tmp))-x)<<(556523578))-x)+(-57905508.42881298))));
- assertEquals(122483.56550261026, x *= ((((tmp = 2570017060.15193,
tmp)%((-1862621126.9968336)>>x))>>(x>>(tmp = 2388674677,
tmp)))>>>(-2919657526.470434)));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= (tmp = 2705124845.0455265, tmp));
- assertEquals(0, x &= (-135286835.07069612));
- assertEquals(-0, x *= ((tmp = -165810479.10020828, tmp)|x));
- assertEquals(248741888, x +=
((735976871.1308595)<<(-2608055185.0700903)));
- assertEquals(139526144, x &= (tmp = -1454301068, tmp));
- assertEquals(-0.047221345672746884, x /= (tmp = -2954726130.994727,
tmp));
- assertEquals(0, x <<= (x>>x));
- assertEquals(0, x >>>= ((x+(912111201.488966))-(tmp =
1405800042.6070075, tmp)));
- assertEquals(-1663642733, x |= (((-1663642733.5700119)<<(x^x))<<x));
- assertEquals(-914358272, x <<=
((((-308411676)-(-618261840.9113789))%(-68488626.58621716))-x));
- assertEquals(-1996488704, x &= (-1358622641.5848842));
- assertEquals(-345978263, x += (1650510441));
- assertEquals(3, x >>>= (-1106714178.701668));
- assertEquals(1, x %= (((x>>(x>>(tmp = -3052773846.817114, tmp)))*(tmp =
1659218887.379526, tmp))&x));
- assertEquals(-943225672, x += (-943225673));
- assertEquals(-0.41714300120060854, x /= (tmp = 2261156652, tmp));
- assertEquals(0, x >>>= ((3107060934.8863482)<<(tmp = 1902730887, tmp)));
- assertEquals(0, x &= x);
- assertEquals(1476628, x |= ((tmp = -2782899841.390033,
tmp)>>>(2097653770)));
- assertEquals(0.0008887648921591833, x /= ((tmp = 1661438264.5253348,
tmp)%((tmp = 2555939813, tmp)*(-877024323.6515315))));
- assertEquals(0, x <<= (tmp = -2366551345, tmp));
- assertEquals(0, x &= (tmp = 1742843591, tmp));
- assertEquals(0, x -= x);
- assertEquals(4239, x += ((-3183564176.232031)>>>(349622674.1255014)));
- assertEquals(-67560, x -= ((2352742295)>>>x));
- assertEquals(-67560, x &= x);
- assertEquals(-0.00003219917807302283, x /= (2098190203.699741));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= ((((tmp = -869086522.8358297,
tmp)/(187820779))-(tmp = -2000970995.1931965, tmp))|(1853528755.6064696)));
- assertEquals(0, x >>= (-3040509919));
- assertEquals(0, x %= (((tmp = -2386688049.194946, tmp)<<(tmp =
-669711391, tmp))|x));
- assertEquals(0, x %= (tmp = -298431511.4839926, tmp));
- assertEquals(0, x /= (2830845091.2793818));
- assertEquals(0, x /= ((((-2529926178)|x)^((tmp = 2139313707.0894063,
tmp)%((-1825768525.0541775)-(-952600362.7758243))))+x));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x -= x);
- assertEquals(NaN, x /= (tmp = -432944480, tmp));
- assertEquals(0, x <<=
(((((x^((-1777523727)+(2194962794)))>>>(((((-590335134.8224905)%(x*(2198198974)))|
(tmp = -2068556796, tmp))/(1060765637))*(-147051676)))/((tmp =
-477350113.92686677, tmp)<<((x/(2018712621.0397925))^((tmp =
491163813.3921983, tmp)+(((x|
((((x%(1990073256.812654))%((-2024388518.9599915)>>((tmp = 223182187,
tmp)*(-722241065))))>>>(tmp = 2517147885.305745,
tmp))%(1189996239.11222)))&x)%(-306932860))))))&((tmp = 1117802724.485684,
tmp)+((-1391614045)-x)))%((((x>>((2958453447)*x))^(((410825859)|(((tmp =
-1119269292.5495896, tmp)>>>(((((((x%(tmp = 648541746.6059314,
tmp))*((-2304508480)<<((((x^(1408199888.1454597))|((251623937)|
x))/((-382389946.9984102)|(tmp = -2082681143.5893767, tmp)))-(((tmp =
631243472, tmp)>>>(1407556544))/(((x>>>x)>>>(tmp = -6329025.47865057,
tmp))>>>(tmp = 948664752.543093,
tmp))))))/((((-183248880)>>x)&x)&x))>>x)&(((-978737284.8492057)%(tmp =
2983300011.737006, tmp))&(tmp = 2641937234.2954116,
tmp)))<<x)>>(2795416632.9722223)))%((((tmp = -50926632, tmp)/x)&(((tmp =
-2510786916, tmp)/x)/(-699755674)))|((((tmp = 1411792593,
tmp)>>(924286570.2637128))>>((1609997725)>>(2735658951.0762663)))*(tmp =
726205435, tmp)))))<<(tmp = -2135055357.3156831, tmp)))/(tmp = 1408695065,
tmp))^(tmp = -1343267739.8562133, tmp))));
- assertEquals(0, x %= (-437232116));
- assertEquals(-2463314518.2747326, x -= (2463314518.2747326));
- assertEquals(109, x >>= (2401429560));
- assertEquals(-2687641732.0253763, x += (-2687641841.0253763));
- assertEquals(-2336375490019484000, x *= (tmp = 869303174.6678596, tmp));
- assertEquals(5.458650430363785e+36, x *= x);
- assertEquals(0, x |= ((((-1676972008.797291)*x)*((tmp = 2606991807,
tmp)-x))<<x));
- assertEquals(0, x &= ((-3053393759.3496876)+(-1431008367)));
- assertEquals(-856728369, x |= (x-(((((764337872)/x)<<((x|(((tmp =
1409368192.1268077, tmp)+(tmp = -848083676, tmp))|
(-2797102463.7915916)))^x))/x)^(tmp = 856728369.0589117, tmp))));
- assertEquals(-0, x %= x);
- assertEquals(1116550103, x ^= (-3178417193));
- assertEquals(1116550103, x %= (tmp = -1482481942, tmp));
- assertEquals(133, x >>>= x);
- assertEquals(-1.381429241671034e-7, x /= ((tmp = -962771116.8101778,
tmp)^x));
- assertEquals(-1092268961, x |= ((tmp = 3202672531, tmp)-((x-(tmp =
845529357, tmp))>>(tmp = -868680593, tmp))));
- assertEquals(-1092268961, x %= (tmp = 2670840415.304719, tmp));
- assertEquals(-122794480, x %= (tmp = 969474481, tmp));
- assertEquals(-297606521542193600, x *= (2423614820));
- assertEquals(72460064, x >>>= (tmp = -1230798655, tmp));
- assertEquals(-203714325373689600, x *= (-2811401400));
- assertEquals(2154914048, x >>>= (((2241377026.001436)/x)+x));
- assertEquals(1177864081, x ^= (tmp = -968513903, tmp));
- assertEquals(35947664, x &= (-2086226758.2704995));
- assertEquals(20795732539020670, x += (x*(578500247)));
- assertEquals(-892004992, x >>= x);
- assertEquals(-7023661.354330708, x /= ((((((1740714214)%((tmp =
-459699286, tmp)+(tmp = -1700187400, tmp)))>>(tmp = -3170295237, tmp))+(tmp
= -497509780,
tmp))+((1971976144.6197853)+(661992813.6077721)))>>>(-1683802728)));
- assertEquals(-1634205696, x <<= x);
- assertEquals(-7, x >>= (-3187653764.930914));
- assertEquals(-5.095345981491203, x -= ((tmp = 748315289, tmp)/(tmp =
-392887780, tmp)));
- assertEquals(1486531570, x &= (1486531570.9300508));
- assertEquals(5670, x >>= (((tmp = -2486758205.26425, tmp)*(732510414))|
x));
- assertEquals(5670, x >>= (((-1811879946.2553763)%(1797475764))/(((tmp =
-2159923884, tmp)|x)+(tmp = -1774410807, tmp))));
- assertEquals(38, x %= (x>>>x));
- assertEquals(-151134215, x ^= (((tmp = -2593085609.5622163, tmp)+((tmp =
-814992345.7516887, tmp)-(534809571)))|(tmp = -232678571, tmp)));
- assertEquals(-234881024, x <<= x);
- assertEquals(-234881024, x <<= (x>>>x));
- assertEquals(55169095435288580, x *= x);
- assertEquals(0, x >>= (tmp = 1176612256, tmp));
- assertEquals(0, x <<= (1321866341.2486475));
- assertEquals(0, x %= (x-(-602577995)));
- assertEquals(0, x >>>= (((((tmp = -125628635.79970193, tmp)^(tmp =
1294209955.229382, tmp))&(((tmp = -2353256654.0725203, tmp)|
((-1136743028.9425385)|
((((950703429.1110399)-(x>>>x))/((((x%(-252705869.21126103))/((tmp =
886957620, tmp)<<(x%((tmp = -1952249741, tmp)*(tmp = -1998149844, tmp)))))|
(tmp = 1933366713, tmp))|((tmp = -2957141565, tmp)>>>(tmp = 1408598804,
tmp))))+(((((((-2455002047.4910946)%(tmp = -528017836,
tmp))&((-2693432769)/(tmp = 2484427670.9045153,
tmp)))%(-356969659))-((((((tmp = 3104828644.0753174, tmp)%(x>>>(tmp =
820832137.8175925, tmp)))*((tmp = 763080553.9260503,
tmp)+(3173597855)))<<(((-510785437)^x)<<(x|(((x*(x%((tmp = -1391951515,
tmp)/x)))-x)|
(x-((-522681793.93221474)/((2514619703.2162743)*(2936688324))))))))|
x)>>>(-2093210042)))&(763129279.3651779))&x))))-x))%(((-1331164821)&(tmp =
1342684586, tmp))<<(x<<(tmp = 2675008614.588005,
tmp))))>>((2625292569.8984914)+(-3185992401))));
- assertEquals(0, x *= (tmp = 671817215.1147974, tmp));
- assertEquals(-1608821121, x ^= ((tmp = 2686146175.04077, tmp)>>>x));
- assertEquals(-0, x %= x);
- assertEquals(-0, x /= ((tmp = 286794551.0720866, tmp)|(x%x)));
- assertEquals(0, x <<= (x|(tmp = 1095503996.2285218, tmp)));
- assertEquals(443296752, x ^= (443296752));
- assertEquals(110824188, x >>= ((184708570)>>(x&x)));
- assertEquals(0.7908194935161674, x /= ((((167151154.63381648)&((tmp =
-1434120690, tmp)-(tmp = 2346173080,
tmp)))/(56656051.87305987))^(140138414)));
- assertEquals(-0.9027245492678485, x *= ((tmp = 1724366578,
tmp)/(((2979477411)<<(((897038568)>>(tmp = 348960298,
tmp))%(281056223.2037884)))^((((-1383133388)-(((-1379748375)-((x>>(x&(tmp =
2456582046, tmp)))>>>(-2923911755.565961)))&x))<<(-2825791731))^(tmp =
-1979992970, tmp)))));
- assertEquals(0, x &= (2482304279));
- assertEquals(-0, x *= (-2284213673));
- assertEquals(0, x <<= ((2874381218.015819)|x));
- assertEquals(0, x *= (x>>>(tmp = 2172786480, tmp)));
- assertEquals(0, x &= (-1638727867.2978938));
- assertEquals(0, x %= ((tmp = -2213947368.285817, tmp)>>x));
- assertEquals(0, x >>>= (tmp = -531324706, tmp));
- assertEquals(0, x %= (tmp = -2338792486, tmp));
- assertEquals(0, x <<= (((tmp = 351012164, tmp)<<(x|((tmp =
-3023836638.5337825, tmp)^(-2678806692))))|x));
- assertEquals(0, x %= (x-(tmp = -3220231305.45039, tmp)));
- assertEquals(0, x <<= (-2132833261));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %=
((2544970469)+(((-2633093458.5911965)&(644108176))-(x>>>(tmp = -949043718,
tmp)))));
- assertEquals(-2750531265, x += (-2750531265));
- assertEquals(0, x >>= x);
- assertEquals(0, x *= ((tmp = 1299005700, tmp)-x));
- assertEquals(0, x >>= x);
- assertEquals(-1785515304, x -=
(((((-806054462.5563161)/x)>>>x)+(1785515304))|((tmp = 2937069788.9396844,
tmp)/x)));
- assertEquals(-3810117159.173689, x -= (2024601855.1736891));
- assertEquals(-6.276064139320051, x /= (607087033.3053156));
- assertEquals(134217727, x >>>= (((x%(tmp = 924293127, tmp))^x)|
((x>>>(x&((((tmp = -413386639, tmp)/(x>>(tmp = 599075308.8479941,
tmp)))^(tmp = -1076703198, tmp))*((tmp = -2239117284,
tmp)>>(655036983)))))-x)));
- assertEquals(134217727, x %= (tmp = 2452642261.038778, tmp));
- assertEquals(-569504740360507, x *= ((tmp = -1086243941, tmp)>>(tmp =
1850668904.4885683, tmp)));
- assertEquals(113378806, x >>>= (tmp = -2558233435, tmp));
- assertEquals(979264375, x -= (((x>>(1950008052))%((2917183569.0209)*(tmp
= 1184250640.446752, tmp)))|((((tmp = -691875212, tmp)-(-2872881803))>>(tmp
= 44162204.97461021, tmp))^(tmp = 865885647, tmp))));
- assertEquals(-1127813632, x <<= ((((tmp = -2210499281, tmp)>>>x)-(tmp =
2359697240, tmp))-x));
- assertEquals(-1707799657, x ^= (653518231.3995534));
- assertEquals(2916579668449318000, x *= x);
- assertEquals(2916579669254640600, x += (x&(tmp = 2986558026.399422,
tmp)));
- assertEquals(870995175, x ^= (2598813927.8991632));
- assertEquals(870995175, x %= (-2857038782));
- assertEquals(1869503575895591000, x *= (x|(x|(((tmp =
2478650307.4118147, tmp)*((tmp = 2576240847.476932, tmp)>>>x))<<x))));
- assertEquals(-134947790, x |= ((tmp = 1150911808,
tmp)*((2847735464)/(-2603172652.929262))));
- assertEquals(-137053182, x -= ((tmp = 2155921819.0929346,
tmp)>>>(x-(((-1960937402)-(-1907735074.2875962))%((1827808310)^(tmp =
-2788307127, tmp))))));
- assertEquals(-134824702, x |=
(((2912578752.2395406)^(x%(((-2585660111.0638976)<<(((((tmp = 747742706,
tmp)%(-1630261205))&((((x|(x|(-2619903144.278758)))|
((2785710568.8651934)>>((-968301967.5982246)<<(x&x))))>>((x>>>((x>>>(tmp =
-1402085797.0310762, tmp))*((tmp = -323729645.2250068, tmp)<<(tmp =
2234667799,
tmp))))>>>(-167003745)))>>((924665972.4681011)<<x)))>>>x)<<((((x+x)+x)-(((tmp
= 2399203431.0526247, tmp)-(-2872533271))-(((tmp = 914778794.2087344,
tmp)-(tmp = 806353942.9502392, tmp))|(((tmp = 262924334.99231672, tmp)&x)|
(tmp = -460248836.5602243, tmp)))))/x)))%((-1681000689)/(tmp =
-2805054623.654228, tmp)))))*(tmp = 957346233.9619625, tmp)));
- assertEquals(-3274838, x %= ((((tmp = 3155450543.3524327,
tmp)>>>x)<<(tmp = 2103079652.3410985, tmp))>>x));
- assertEquals(-3274838, x |= ((((tmp = 2148004645.639173, tmp)>>>(tmp =
-1285119223, tmp))<<(((((-711596054)>>>(tmp = -2779776371.3473206,
tmp))^(((((tmp = -1338880329.383915, tmp)<<((-1245247254.477341)>>x))*(tmp
= -2649052844.20065,
tmp))>>((1734345880.4600453)%(x/(2723093117.118899))))*(1252918475.3285656)))<<(2911356885))^x))<<(-1019761103)));
- assertEquals(1703281954, x &= (((tmp = 1036570471.7412028, tmp)+((tmp =
3043119517, tmp)%(2374310816.8346715)))%(tmp = -2979155076, tmp)));
- assertEquals(1741588391, x |= ((tmp = 1230009575.6003838,
tmp)>>>(-1247515003.8152597)));
- assertEquals(72869474.64782429, x %= (tmp = 1668718916.3521757, tmp));
- assertEquals(770936242.104203, x += (698066767.4563787));
- assertEquals(-0.2820604726420833, x /= (tmp = -2733230342, tmp));
- assertEquals(403480578, x |= ((969730374)&(tmp = 1577889835, tmp)));
- assertEquals(-1669557233, x ^= ((-1616812135)+(tmp = -456209292, tmp)));
- assertEquals(-1630427, x >>= ((2327783031.1175823)/(226947662.4579488)));
- assertEquals(131022, x >>>= ((tmp = -1325018897.2482083,
tmp)>>(x&((((((-1588579772.9240348)<<(tmp = -1775580288.356329, tmp))<<(tmp
= -1021528325.2075481, tmp))>>((tmp = 2373033451.079956, tmp)*(tmp =
810304612, tmp)))-((tmp = -639152097, tmp)<<(tmp = 513879484,
tmp)))&(2593958513)))));
- assertEquals(1, x >>= ((3033200222)-x));
- assertEquals(-561146816.4851823, x += (tmp = -561146817.4851823, tmp));
- assertEquals(-4.347990105831158, x /= ((((-1270435902)*x)%((tmp =
637328492.7386824, tmp)-(x>>(-749100689))))%(x+x)));
- assertEquals(-1, x >>= x);
- assertEquals(1, x *= x);
- assertEquals(111316849706694460, x += ((966274056)*(x|(115202150))));
- assertEquals(-1001883840, x >>= x);
- assertEquals(-1001883840, x &= x);
- assertEquals(-3006880758, x += ((((-2275110637.4054556)/((x+(tmp =
-1390035090.4324536, tmp))>>(-5910593)))&(tmp = 378982420, tmp))|(tmp =
2289970378.568629, tmp)));
- assertEquals(314474, x >>>= (x>>((tmp = -228007336.31281257, tmp)%(tmp =
1127648013, tmp))));
- assertEquals(-17694827, x ^= ((tmp = 2095133598.1849852, tmp)|
(-1978322311)));
- assertEquals(1, x /= x);
- assertEquals(1, x %= (-2323617209.7531185));
- assertEquals(0, x >>>= (x*(tmp = -1574455400.489434, tmp)));
- assertEquals(0, x >>= (3131854684));
- assertEquals(2853609824, x += ((-231012098)-(tmp = -3084621922, tmp)));
- assertEquals(8143089027629311000, x *= x);
- assertEquals(313052685, x ^= (tmp = 2962303501, tmp));
- assertEquals(4776, x >>= (tmp = 2271457232, tmp));
- assertEquals(0.000002812258572702285, x /= (tmp = 1698279115, tmp));
- assertEquals(0, x >>>= (tmp = 1698465782.0927145, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x |=
((x<<((-1824760240.3040407)<<(2798263764.39145)))&(tmp =
1795988253.0493627, tmp)));
- assertEquals(1782206945, x ^= (-2512760351.7881565));
- assertEquals(7610569113843172000, x *= (((tmp = -44415823.92972565,
tmp)&(tmp = 1402483498.9421625, tmp))+(tmp = 2909778666, tmp)));
- assertEquals(15221138227873292000, x += (x-(tmp = -186948658.394145,
tmp)));
- assertEquals(0, x -= x);
- assertEquals(-2238823252, x -= ((tmp = 2238823252, tmp)+x));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (2976069570));
- assertEquals(0, x >>= ((tmp = -2358157433, tmp)/x));
- assertEquals(-949967713, x ^= (tmp = -949967713, tmp));
- assertEquals(-1, x >>= x);
- assertEquals(-1522291702.1977966, x *= (1522291702.1977966));
- assertEquals(-1522291702, x >>= ((((2290279800)|x)|
(1793154434.6798015))&((-1161390929.0766077)>>>x)));
- assertEquals(83894274, x &= (tmp = 1571058486, tmp));
- assertEquals(43186847.90522933, x += ((tmp = -1131332988.0947707,
tmp)%x));
- assertEquals(0, x >>= (tmp = -1968312707.269359, tmp));
- assertEquals(0, x &= (2507747643.26175));
- assertEquals(0, x %= (tmp = 3190525303.366887, tmp));
- assertEquals(-1968984602, x ^= (((x/(x|(-1607062026.5338054)))<<(tmp =
2207669861.8770065, tmp))+(tmp = 2325982694.956348, tmp)));
- assertEquals(554, x >>>= (((tmp = -2302283871.993821,
tmp)>>>(-3151835112))|
(((((x%(-1534374264))/((731246012)<<(((883830997.1194847)<<(((-1337895080.1937215)/(tmp
= 3166402571.8157315, tmp))^(tmp = -1563897595.5799441, tmp)))>>(tmp =
-556816951.0537591,
tmp))))>>(-2682203577))<<(x/((1654294674.865079)+x)))/((x^(-2189474695.4259806))/(-475915245.7363057)))));
- assertEquals(1372586111, x ^= (1372586581));
- assertEquals(1166831229, x -= ((-834168138)&(762573579)));
- assertEquals(2333662456, x -= ((x>>x)-x));
- assertEquals(-1961304840, x &= x);
- assertEquals(-2130143128, x &= (2982852718.0711775));
- assertEquals(1073741824, x <<= (-1446978661.6426942));
- assertEquals(2097152, x >>>= ((-1424728215)-(((127872198)%(tmp =
-2596923298, tmp))&x)));
- assertEquals(2097152, x >>>= x);
- assertEquals(0, x &= (x/(tmp = -518419194.42994523, tmp)));
- assertEquals(0, x >>= ((x/(-1865078245))%(tmp = 2959239210, tmp)));
- assertEquals(-0, x *= ((x|(-1721307400))|(-3206147171.9491577)));
- assertEquals(0, x >>>= ((-694741143)&(tmp = -2196513947.699142, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(0, x &= ((tmp = 2037824385.8836646, tmp)+((tmp =
1203034986.4647732,
tmp)/(x>>>(((-1374881234)/(899771270.3237157))+((-2296524362.8020077)|
(-1529870870)))))));
- assertEquals(0, x >>= (tmp = 2770637816, tmp));
- assertEquals(0, x ^= x);
- assertEquals(-1861843456, x |= ((632402668)*((x|(tmp =
-1032952662.8269436, tmp))|(tmp = 2671272511, tmp))));
- assertEquals(-1861843456, x >>= (((x>>>x)+x)<<(-1600908842)));
- assertEquals(-58182608, x >>= (x-(tmp = -2496617861, tmp)));
- assertEquals(-3636413, x >>= (tmp = -400700028, tmp));
- assertEquals(-7272826, x += x);
- assertEquals(-1, x >>= ((tmp = -3184897005.3614545, tmp)-((-1799843014)|
(tmp = 2832132915, tmp))));
- assertEquals(-121800925.94209385, x *= (121800925.94209385));
- assertEquals(-30450232, x >>= (-979274206.6261561));
- assertEquals(-30450232, x >>= (tmp = -1028204832.5078967, tmp));
- assertEquals(-30450232, x |= x);
- assertEquals(965888871, x ^= (((((-2157753481.3375635)*((tmp =
-1810667184.8165767, tmp)&((tmp = 2503908344.422232, tmp)|
x)))>>(x>>(1601560785)))<<x)^(tmp = 943867311.6380403, tmp)));
- assertEquals(7546006, x >>>= x);
- assertEquals(7546006, x <<= ((tmp = 1388931761.780241, tmp)*(x-(tmp =
-1245147647.0070577, tmp))));
- assertEquals(12985628, x += (x&(-1520746354)));
- assertEquals(12985628, x &= x);
- assertEquals(12985628, x %= (tmp = 308641965, tmp));
- assertEquals(685733278, x |= ((tmp = -1275653544, tmp)-((tmp =
-1956798010.3773859, tmp)%(tmp = 2086889575.643448, tmp))));
- assertEquals(679679376, x &= (2860752368));
- assertEquals(1770773904, x |= (x<<(3200659207)));
- assertEquals(1224886544, x &= (-585733767.6876519));
- assertEquals(1224886544, x %= ((tmp = -114218494, tmp)-x));
- assertEquals(1208109328, x &= (tmp = 1854361593, tmp));
- assertEquals(18434, x >>>= x);
- assertEquals(-349394636955256100, x *= (x*(-1028198742)));
- assertEquals(-519536600.7713163, x %= (-1054085356.9120367));
- assertEquals(-1610612736, x ^= ((tmp = -3126078854, tmp)&x));
- assertEquals(-2637321565906333700, x *= (1637464740.5658746));
- assertEquals(-2637321568051070500, x -= ((tmp = -1006718806,
tmp)<<(3005848133.106345)));
- assertEquals(368168695, x ^= (x^(tmp = 368168695.6881037, tmp)));
- assertEquals(43, x >>>= x);
- assertEquals(-2081297089, x |=
((167169305.77248895)+(-2248466405.3199244)));
- assertEquals(-2474622167, x -= (tmp = 393325078, tmp));
- assertEquals(-135109701, x %= (-1169756233));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (((((tmp = -164768854, tmp)/(tmp =
-1774989993.1909926, tmp))+x)-((-921438912)>>(tmp = -191772028.69249105,
tmp)))-(tmp = 558728578.22033, tmp)));
- assertEquals(0, x %= (tmp = 2188003745, tmp));
- assertEquals(0, x <<= (((tmp = -999335540, tmp)>>((((325101977)/(tmp =
-3036991542, tmp))<<(tmp = -213302488, tmp))+x))|(tmp = -1054204587, tmp)));
- assertEquals(0, x &= ((2844053429.4720345)>>>x));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (-1481729275.9118822));
- assertEquals(NaN, x *= (tmp = 1098314618.2397528, tmp));
- assertEquals(-1073741824, x ^= ((tmp = 1718545772, tmp)<<(((tmp =
-81058910, tmp)-(2831123087.424368))+(tmp = 576710057.2361784, tmp))));
- assertEquals(-2921155898.4793186, x -= (1847414074.4793184));
- assertEquals(-1295646720, x <<= (2178621744));
- assertEquals(-0.8906779709597907, x /= ((tmp = -2840292585.6837263,
tmp)<<(x&((tmp = 892527695.6172305, tmp)>>>x))));
- assertEquals(0, x <<= (((tmp = 3149667213.298993, tmp)>>(tmp =
1679370761.7226725, tmp))^(115417747.21537328)));
- assertEquals(0, x |= x);
- assertEquals(0, x %= ((-1112849427)>>(-1245508870.7514496)));
- assertEquals(0, x &= x);
- assertEquals(0, x |= x);
- assertEquals(0, x >>>= ((3144100694.930459)>>>(tmp = 2408610503, tmp)));
- assertEquals(0, x <<= ((tmp = 2671709754.0318713, tmp)%x));
- assertEquals(0, x >>>= (x|((tmp = -3048578701, tmp)-(674147224))));
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= ((tmp = -2084883715, tmp)|
(((((-3008427069)+(875536047.4283574))>>>x)%(tmp = -450003426.1091652,
tmp))%(((-2956878433.269356)|(x/((((x%((((((x<<(((tmp = -1581063482.510351,
tmp)^x)-(tmp = 1364458217, tmp)))^((tmp = 1661446342,
tmp)+(1307091014)))/(342270750.9901335))>>>(x&((1760980812.898993)&((tmp =
2878165745.6401143, tmp)/(((tmp = -981178013,
tmp)/(-2338761668.29912))>>(-958462630))))))*((1807522840)^((tmp =
1885835034,
tmp)^(-2538647938))))*(1673607540.0854697)))%x)>>x)<<x)))<<(853348877.2407281)))));
- assertEquals(0, x >>>= x);
- assertEquals(-1162790279, x -= (1162790279));
- assertEquals(-1162790279, x >>= (((-490178658)*x)/((((((tmp =
-1883861998.6699312, tmp)/(tmp = -2369967345.240594,
tmp))+(3142759868.266447))&(508784917.8158537))&x)>>(-2129532322))));
- assertEquals(-1360849740.9829152, x -= (x+(1360849740.9829152)));
- assertEquals(1928392181, x ^= (-602670783));
- assertEquals(19478708.898989897, x /= (((-2617861994)>>(tmp = 797256920,
tmp))%(-1784987906)));
- assertEquals(-8648903.575540157, x *= (((tmp = 673979276,
tmp)/(-1517908716))%(x/x)));
- assertEquals(-8648903.575540157, x %= ((((643195610.4221292)>>>(tmp =
2342669302, tmp))>>>(tmp = -1682965878, tmp))^((tmp = -208158937.63443017,
tmp)>>((907286989)&(x<<(448634893))))));
- assertEquals(1399288769, x ^= (tmp = -1407486728, tmp));
- assertEquals(0, x &= (((1999255838.815517)/(tmp = 564646001,
tmp))/(-3075888101.3274765)));
- assertEquals(0, x ^= ((-78451711.59404826)%x));
- assertEquals(-1351557131, x |= (2943410165));
- assertEquals(1715626371, x -= (-3067183502));
- assertEquals(71434240, x &=
((-1800066426)<<(((((x<<(-324796375))+x)<<(tmp = 2696824955.735132,
tmp))^x)%(tmp = 444916469, tmp))));
- assertEquals(71434240, x >>>= (((x&((x%x)|x))+(tmp = 2226992348.3050146,
tmp))<<(-305526260)));
- assertEquals(0, x -= (x%(tmp = 582790928.5832802, tmp)));
- assertEquals(0, x *=
((x%(1865155340))>>>((x<<(2600488191))^(-308995123))));
- assertEquals(0, x >>= (x&(-3120043868.8531103)));
- assertEquals(0, x |= x);
- assertEquals(-0, x *= (tmp = -172569944, tmp));
- assertEquals(0, x <<= (-1664372874));
- assertEquals(1377713344.6784928, x += (tmp = 1377713344.6784928, tmp));
- assertEquals(1377713344, x |= x);
- assertEquals(-232833282, x |= (tmp = 2685870654, tmp));
- assertEquals(84639, x -= (((((2778531079.998492)%(2029165314))>>>(tmp =
-468881172.3729558, tmp))^x)|
((x>>>((((x%(3044318992.943596))&(1996754328.2214756))^(1985227172.7485228))%(tmp
= -1984848676.1347625, tmp)))|((tmp = 2637662639, tmp)<<x))));
- assertEquals(0, x ^= x);
- assertEquals(1237720303, x -= (-1237720303));
- assertEquals(2, x >>= (-2148785379.428976));
- assertEquals(2, x &= (tmp = -3087007874, tmp));
- assertEquals(0, x %= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= (2055693082));
- assertEquals(-1349456492, x += (x^(-1349456492.315998)));
- assertEquals(671088640, x <<= (x>>(-2030805724.5472062)));
- assertEquals(-417654580004782100, x *= (tmp = -622353822, tmp));
- assertEquals(1538160360, x |= (195983080.56698656));
- assertEquals(733, x >>>= (tmp = 661085269, tmp));
- assertEquals(657, x &= (-1611460943.993404));
- assertEquals(431649, x *= x);
- assertEquals(863298, x += x);
- assertEquals(0, x &= ((1899423003)/((472439729)>>((tmp = 2903738952,
tmp)+(tmp = 2164601630.3456993, tmp)))));
- assertEquals(0, x &= (x>>>(tmp = 1939167951.2828958, tmp)));
- assertEquals(1557813284, x |= (x-(-1557813284)));
- assertEquals(72876068, x &= (662438974.2372154));
- assertEquals(0.6695448637501589, x /= (tmp = 108844189.45702457, tmp));
- assertEquals(0, x -= x);
- assertEquals(2944889412, x += (2944889412));
- assertEquals(3787980288, x -= ((((tmp = -2003814373.2301111,
tmp)<<x)>>>(tmp = -3088357284.4405823, tmp))-(843090884)));
- assertEquals(1, x >>>= (729274079));
- assertEquals(1, x %= (-148002187.33869123));
- assertEquals(3073988415.673201, x *= (tmp = 3073988415.673201, tmp));
- assertEquals(4839166225.673201, x += (tmp = 1765177810, tmp));
- assertEquals(4529373898.673201, x += (-309792327));
- assertEquals(3097903.090496063, x %= (-150875866.51942348));
- assertEquals(1270874112, x <<= ((((((tmp = -960966763.1418135,
tmp)>>((((-3208596981.613482)>>>(tmp = 746403937.6913509,
tmp))>>>(-2190042854.066803))/(2449323432)))*(-1272232665.791577))<<(-99306767.7209444))^((-1942103828)/((1570981655)/(tmp
= 2381666337, tmp))))+(tmp = -1946759395.1558368, tmp)));
- assertEquals(1273845956, x |= (tmp = -3197282108.6120167, tmp));
- assertEquals(159230744, x >>= (((tmp = -1036031403.8108604,
tmp)>>>(((3084964493)>>((x*x)^x))+(((2980108409.352001)^x)-(tmp =
-2501685423.513927, tmp))))&(326263839)));
- assertEquals(-370091747145550100, x *= (tmp = -2324248055.674161, tmp));
- assertEquals(143384219.54999557, x /= (tmp = -2581119096, tmp));
- assertEquals(1843396287, x |= (tmp = 1842718767, tmp));
- assertEquals(2.4895593465813803, x /= (740450831));
- assertEquals(2.4895593465813803, x %= ((((((((-3175333618)>>>((tmp =
-1403880166, tmp)<<(tmp = -134875360,
tmp)))>>>(2721317334.998084))<<(x&(tmp = 2924634208.1484184,
tmp)))*((((x>>(tmp = -200319931.15328693, tmp))-(tmp = -495128933,
tmp))+((-788052518.6610589)*((((tmp = 107902557,
tmp)&(1221562660))%(x<<(((3155498059)*(((tmp = -1354381139.4897022,
tmp)^(tmp = 3084557138.332852, tmp))*((((tmp = 1855251464.8464525,
tmp)/((-1857403525.2008865)>>x))|
x)-(-2061968455.0023944))))*(1917481864.84619))))^(x-(-508176709.52712965)))))+((((x%(-1942063404))+(x%(tmp
= 855152281.180481, tmp)))|(-522863804))>>x)))>>>((tmp = -2515550553,
tmp)&(((((-801095375)-(tmp = -2298729336.9792976, tmp))^x)/(tmp =
2370468053, tmp))>>(x|(tmp = -900008879, tmp)))))>>>(((tmp =
-810295719.9509168, tmp)*((tmp = -1306212963.6226444, tmp)/(((tmp =
3175881540.9514832, tmp)|(-1439142297.819246))+((tmp = -134415617, tmp)|
((-245801870)+x)))))>>(tmp = 1889815478, tmp)))-(((tmp = 597031177,
tmp)%(858071823.7655672))+((tmp = 2320838665.8243756, tmp)|
((938555608)<<(2351739219.6461897))))));
- assertEquals(6.197905740150709, x *= x);
- assertEquals(1, x /= x);
- assertEquals(0, x >>= (-1639664165.9076233));
- assertEquals(0, x >>= (-3135317748.801177));
- assertEquals(0, x &= (3185479232.5325994));
- assertEquals(-0, x *= ((-119759439.19668174)/(tmp = 2123964608, tmp)));
- assertEquals(0, x /= (-1183061929.2827876));
- assertEquals(0, x <<= (-1981831198));
- assertEquals(0, x >>= ((((x<<(((((((-2133752838)&((tmp =
-3045157736.9331336, tmp)>>>(x%x)))>>x)%(tmp = 3082217039, tmp))&(tmp =
270770770.97558427, tmp))|((-2212037556)^((((((2089224421)|(tmp =
360979560, tmp))<<x)%((tmp = -1679487690.6940534, tmp)+((173021423)|((tmp =
560900612, tmp)+((244376267.58977115)^x)))))<<(tmp = 2534513699,
tmp))^x)))>>>(2915907189.4873834)))+(x*x))%(1637581117))%(tmp =
2363861105.3786244, tmp)));
- assertEquals(0, x &= ((-2765495757.873004)&(1727406493)));
- assertEquals(NaN, x -= (((((-1419667515.2616255)|
x)-(150530256.48022234))%((((x|
x)<<x)>>>(x^x))+x))-((-1216384577.3749187)*(495244398))));
- assertEquals(NaN, x += (x^((tmp = 2472035493, tmp)+x)));
- assertEquals(NaN, x %= ((tmp = -1753037412.885754, tmp)|((tmp =
2507058310, tmp)<<(1475945705))));
- assertEquals(-1008981005, x |= ((tmp = -1140889842.6099494, tmp)-(tmp =
-131908837, tmp)));
- assertEquals(999230327.5872104, x -= (tmp = -2008211332.5872104, tmp));
- assertEquals(975810, x >>= (((-1211913874)*x)>>>((-2842129009)>>(x&(tmp
= -1410865834, tmp)))));
- assertEquals(7623, x >>= ((tmp = -1051327071, tmp)-(((tmp =
-237716102.8005445, tmp)|((2938903833.416546)&x))|(((-1831064579)^x)/((tmp
= 2999232092, tmp)-(981996301.2875179))))));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (x|(tmp = -666201160.5810485, tmp)));
- assertEquals(-1347124100, x |= (-1347124100));
- assertEquals(-0, x %= (x&x));
- assertEquals(-661607963, x ^= (tmp = -661607963.3794863, tmp));
- assertEquals(3465, x >>>= (-828119020.8056595));
- assertEquals(-268431991, x -= (((tmp = -1386256352, tmp)^((tmp =
743629575, tmp)%((x*((tmp = -1719517658,
tmp)>>(2019516558)))<<((2637317661)|x))))<<(tmp = -51637065, tmp)));
- assertEquals(1578876380, x += ((tmp = 1847308371, tmp)&(((((((tmp =
1487934776.1893163, tmp)%(tmp = 1423264469.3137975, tmp))|
(((2653260792.5668964)/(-2417905016.043802))>>>(2097411118.4501896)))^x)^(((tmp
= -71334226, tmp)|x)>>>(tmp = -2771758874.7696714, tmp)))^((tmp =
-1464849031.3240793, tmp)%(tmp = 2349739690.6430283, tmp)))/x)));
- assertEquals(3269293934, x += (1690417554));
- assertEquals(4025392608.031957, x -= (((tmp = 268501120.7225704,
tmp)<<(tmp = 2841620654.8903794, tmp))+((tmp = 1606704462.8455591,
tmp)/((-2601879963)/(tmp = 2966620168.989736, tmp)))));
- assertEquals(7, x >>>= (x^(-1913800035)));
- assertEquals(1.4326776816275493e-8, x /= ((((tmp = -2703417892,
tmp)/x)^((-2693772270.396241)>>>((x-(tmp = 615999818.5666655,
tmp))>>((((2308121439.3702726)<<((-1794701502)>>(x+(tmp =
-2253406035.972883, tmp))))<<((tmp = -197103799.0624652, tmp)|
(629975898)))>>>x))))>>>((tmp = 2833656803, tmp)^(x^(tmp = -1580436025,
tmp)))));
- assertEquals(0, x >>>= (tmp = 1525372830.2126007, tmp));
- assertEquals(0, x %= ((2354010949.24469)>>>(x<<x)));
- assertEquals(0, x ^= (((1112335059.6922574)*(tmp = -1874363935,
tmp))&(((((2154894295.8360596)<<x)&(tmp = -270736315.13505507,
tmp))&x)>>>(-2205692260.552064))));
- assertEquals(0, x >>>= (x<<((1488533932)*(tmp = 1707754286, tmp))));
- assertEquals(0, x >>= (((tmp = 1232547376.463387,
tmp)%((x>>(711691823.1608362))>>>x))>>(((895039781.7478573)*(((((-334946524)&x)*(tmp
= -1214529640, tmp))^(tmp = -1586820245, tmp))*(1062595445)))+x)));
- assertEquals(0, x *= (1863299863.2631998));
- assertEquals(0, x /= (tmp = 1858428705.1330547, tmp));
- assertEquals(0, x &= x);
- assertEquals(611788028, x += (x^(611788028.1510412)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= ((tmp = -1617320707.1784317,
tmp)-((-2139400380)-(-1402777976))));
- assertEquals(0, x >>= (415866827.34665));
- assertEquals(-1990811897, x -= (tmp = 1990811897, tmp));
- assertEquals(-1990811895, x += ((x>>>(tmp = -2175453282.769696,
tmp))&(tmp = -1459450498.7327478, tmp)));
- assertEquals(-2377017935.149517, x += (-386206040.1495173));
- assertEquals(1946129845, x |= (tmp = -2890956796.936539, tmp));
- assertEquals(0, x %= x);
- assertEquals(0, x <<= (1616188263));
- assertEquals(-1081213596, x ^= (tmp = 3213753700, tmp));
- assertEquals(3213753700, x >>>= (tmp = -3211181312, tmp));
- assertEquals(-1081213596, x &= x);
- assertEquals(-1081213583, x ^= (((tmp = 1599988273.4926577,
tmp)>>((((-1061394954.6331315)^x)+((-1835761078)*x))+(x%(tmp = -696221869,
tmp))))/((tmp = -1156966790.3436491, tmp)^x)));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (-1257400530.9263027));
- assertEquals(NaN, x /= (753062089));
- assertEquals(NaN, x *= ((tmp = 305418865.57012296,
tmp)^(((-2797769706)+((((tmp = -33288276.988654375, tmp)%(tmp = 1242979846,
tmp))|(-316574800))-((tmp = -1766083579.4203427, tmp)*(((x*(tmp =
-2400342309.2349987, tmp))>>(tmp = 2632061795, tmp))^(tmp = -1001440809,
tmp)))))^((((x-(tmp = -1469542637.6925495,
tmp))-x)-(3184196890))%(((((((633226688)*((tmp = -2692547856, tmp)>>(((tmp
= -1244311756,
tmp)>>>x)+((1746013631.405202)>>>(941829464.1962085)))))%(x-x))+(995681795))-(tmp
= -3047070551.3642616, tmp))/(1968259705))-((-2853237880)^(tmp =
-2746628223.4540343, tmp)))))));
- assertEquals(0, x >>= x);
- assertEquals(0.5713172378854926, x += (((x+(((x+x)/(tmp = 2642822318,
tmp))*(-2590095885.4280834)))|(tmp = -1769210836, tmp))/(tmp =
-3096722308.8665104, tmp)));
- assertEquals(-0.000002311097780334994, x /=
((2269858877.9010344)>>(-2992512915.984787)));
- assertEquals(-0.000002311097780334994, x %= (-1139222821));
- assertEquals(-0.000004622195560669988, x += x);
- assertEquals(1, x /= x);
- assertEquals(1, x >>>= (((3002169429.6061807)/(-3068577366))>>>((tmp =
-1844537620, tmp)%((((tmp = 2087505119, tmp)>>>x)+x)&(2179989542)))));
- assertEquals(-534213071, x *= (-534213071));
- assertEquals(-534213077.3716287, x -= (((tmp = -2390432951.154034,
tmp)^x)/(-290501980)));
- assertEquals(1836305, x >>>= (x&x));
- assertEquals(1836305, x %= ((x|
((3070123855)^(49986396)))+((-1863644960.4202995)>>>((tmp =
1886126804.6019692, tmp)^x))));
- assertEquals(28692, x >>>= ((2561362139.491764)>>(((((tmp =
-1347469854.7413375, tmp)/(((x|(x+x))^((x^(tmp = -2737413775.4595394,
tmp))^x))<<(((tmp = 225344844.07128417, tmp)&x)&(tmp = 145794498,
tmp))))*x)<<(1424529187))/((-2924344715)/(tmp = -2125770148, tmp)))));
- assertEquals(-2089419535.2717648, x += (-2089448227.2717648));
- assertEquals(18957929, x ^= (tmp = 2186590872, tmp));
- assertEquals(-708972800, x -= (727930729));
- assertEquals(-4198593, x |= (799483455.1885371));
- assertEquals(-1, x >>= (-2330654693.6413193));
- assertEquals(-1, x |= (((tmp = -116877155, tmp)>>>((((tmp =
-1677422314.1333556, tmp)/(tmp = -3108738499.0798397,
tmp))%((x&(x/x))%((tmp = -695607185.1561592, tmp)-(tmp = 2302449181.622259,
tmp))))^(((-1482743646.5604773)^((897705064)>>>x))-(tmp = -2933836669,
tmp))))%(((tmp = -2991584625, tmp)|
(((x>>x)+(-1101066835))-x))>>(-33192973.819939613))));
- assertEquals(-1, x &= x);
- assertEquals(-524288, x <<= (-1177513101.3087924));
- assertEquals(1978770334.9189441, x += (tmp = 1979294622.9189441, tmp));
- assertEquals(901783582, x &=
((-368584615)^(((((-478030699.2647903)<<x)<<x)+(tmp = 708725752,
tmp))^((tmp = -3081556856, tmp)/(tmp = 1149958711.0676727, tmp)))));
- assertEquals(-1480333211.8654308, x += (tmp = -2382116793.865431, tmp));
- assertEquals(956930239.6783283, x *= ((tmp = 956930239.6783283, tmp)/x));
- assertEquals(1277610.4668602513, x /= ((tmp = 1571029828, tmp)>>(tmp =
2417481141, tmp)));
- assertEquals(-1077333228, x ^= (tmp = 3218755006, tmp));
- assertEquals(-50218, x |= (tmp = -1044436526.6435988, tmp));
- assertEquals(-1, x >>= (-154655245.18921852));
- assertEquals(0.00006276207290978003, x *= (((tmp = 2234286992.9800305,
tmp)>>(tmp = 2132564046.0696363, tmp))/((((tmp = -2565534644.3428087,
tmp)>>>(tmp = 2622809851.043325, tmp))>>>((tmp = 311277386, tmp)&x))-(tmp =
-2003980974, tmp))));
- assertEquals(0, x %= x);
- assertEquals(1282114076, x += ((((422838227)>>>((tmp =
1024613366.1899053, tmp)-((368275340)<<(((tmp = -3066121318,
tmp)+(-2319101378))&x))))^(x>>(tmp = 1920136319.803412,
tmp)))^(1282264803.3968434)));
- assertEquals(-277097604, x |= (-283585688.9123297));
- assertEquals(553816692, x &= (x&(tmp = 554082036.676608, tmp)));
- assertEquals(658505728, x <<= x);
- assertEquals(658505728, x &= (x%(2846071230)));
- assertEquals(39, x >>= (334728536.5172192));
- assertEquals(0, x -= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= (tmp = -335285336, tmp));
- assertEquals(0, x <<= (tmp = 1255594828.3430014, tmp));
- assertEquals(0, x %= (-630772751.1248167));
- assertEquals(NaN, x /= ((((x&(tmp = -1576090612,
tmp))%x)>>>x)*((-1038073094.2787619)>>>x)));
- assertEquals(NaN, x += x);
- assertEquals(NaN, x -= (((tmp = -2663887803,
tmp)&((x+(-1402421046))/x))/(-2675654483)));
- assertEquals(NaN, x %= (x&(tmp = 672002093, tmp)));
- assertEquals(0, x |= x);
- assertEquals(-2698925754, x += (tmp = -2698925754, tmp));
- assertEquals(-2057748993, x += ((tmp = -2263466497, tmp)^x));
- assertEquals(1, x /= x);
- assertEquals(-2769559719.4045835, x -= (2769559720.4045835));
- assertEquals(-1.3964174646069973, x /= (tmp = 1983332198, tmp));
- assertEquals(-2140716624.3964174, x += (tmp = -2140716623, tmp));
- assertEquals(0, x <<= ((2589073007)-(-816764911.8571186)));
- assertEquals(-2837097288.161354, x -= (tmp = 2837097288.161354, tmp));
- assertEquals(-1445059927.161354, x += (tmp = 1392037361, tmp));
- assertEquals(155197984, x &= (tmp = -2694712730.924674, tmp));
- assertEquals(155197984, x |= (x>>>(tmp = 69118015.20305443, tmp)));
- assertEquals(155197984, x >>>= (((x^(-1353660241))*x)<<(((((x%(tmp =
-1905584634, tmp))>>>(tmp = -860171244.5963638,
tmp))&(-1084415001.7039547))+(x-(((tmp = 298064661, tmp)>>x)>>((tmp =
378629912.383446, tmp)-(x%x)))))+(((3212580683)/(((((x^x)>>(tmp =
-1502887218, tmp))<<x)%(-142779025))|(((tmp = 1361745708, tmp)*(((((tmp =
1797072528.0673332, tmp)+x)%(tmp = 167297609,
tmp))%(-287345856.1791787))^(((((((x*(tmp = -640510459.1514752,
tmp))<<(x^(tmp = 1387982082.5646644, tmp)))>>(tmp = 2473373497.467914,
tmp))^((234025940)*x))+(tmp = 520098202.9546956, tmp))*(x*(tmp =
-362929250.1775775, tmp)))^(-2379972900))))*(tmp = -1385817972,
tmp))))+(-1788631834)))));
- assertEquals(0, x >>= ((tmp = -18671049, tmp)/((tmp = 651261550.6716013,
tmp)>>(-58105114.70740628))));
- assertEquals(0, x *= ((((x>>(tmp = 2256492150.737681,
tmp))<<(x<<(((-2738910707)&x)<<(1892428322))))*(tmp = 1547934638,
tmp))>>((((319464033.7888391)|(((((tmp = 2705641070, tmp)<<((tmp =
1566904759.36666, tmp)*((-682175559.7540412)&(-691692016.3021002))))%(tmp =
1118101737, tmp))|(902774462))<<x))^((tmp = -388997180,
tmp)<<(x<<((((((-88462733)+(x>>>x))%x)*(tmp = -20297481.556210756,
tmp))>>>(1927423855.1719701))-((2047811185.6278129)-(tmp =
2952219346.72126, tmp))))))|(-1685518403.7513878))));
- assertEquals(0, x /= (tmp = 1858074757.563318, tmp));
- assertEquals(-1351623058, x ^= (-1351623058.4756806));
- assertEquals(1, x /= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x -= (x&(997878144.9798675)));
- assertEquals(-0, x /= (-2769731277));
- assertEquals(0, x >>>= ((-2598508325)>>(-1355571351)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x -= (x&(tmp = 1672810223, tmp)));
- assertEquals(-924449908.1999881, x -= (924449908.1999881));
- assertEquals(-0, x %= x);
- assertEquals(-0, x /= (tmp = 2007131382.059545, tmp));
- assertEquals(-0, x += x);
- assertEquals(225132064, x += ((((tmp = -2422670578.1260514, tmp)|
x)+x)^(1660142894.7066057)));
- assertEquals(Infinity, x /= (x-x));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(-2455424946.732606, x -= (2455424946.732606));
- assertEquals(1208029258, x &= ((tmp = 1823728509, tmp)+x));
- assertEquals(1.3682499724725645, x /= ((((tmp = 1267938464.3854322,
tmp)%((tmp = 2510853574, tmp)+(((2979355693.866435)-(tmp =
1989726095.7746763,
tmp))<<x)))%((-1382092141.1627176)+(((-901799353)+((-2936414080.8254457)>>>(2515004943.0865674)))-(2532799222.353197))))<<(tmp
= -2168058960.2694826, tmp)));
- assertEquals(0.13799826710735907, x %= ((-1090423235)/(tmp = 2659024727,
tmp)));
- assertEquals(0, x >>= (1688542889.082693));
- assertEquals(0, x <<= x);
- assertEquals(NaN, x %= ((((tmp = 1461037539, tmp)<<((x<<(tmp =
2101282906.5302017, tmp))>>(-2792197742)))%(((x%x)^(((tmp = 1399565526,
tmp)^(tmp = 643902, tmp))-((tmp = -1449543738, tmp)|
x)))/x))*(x<<(471967867))));
- assertEquals(0, x &= ((tmp = -2121748100.6824129, tmp)>>(tmp =
-2817271480.6497793, tmp)));
- assertEquals(0, x &= (3169130964.6291866));
- assertEquals(-0, x /= (-2303316806));
- assertEquals(0, x <<= (tmp = 120185946.51617038, tmp));
- assertEquals(449448375, x ^= ((((tmp = -836410266.014014,
tmp)/x)&((x>>>(tmp = -2602671283, tmp))+x))+(tmp = 449448375, tmp)));
- assertEquals(202003841790140640, x *= x);
- assertEquals(202003840800829020, x += (((tmp = -1339865843, tmp)+(tmp =
350554234.15375435, tmp))<<((((((tmp = -1798499687.8208885,
tmp)>>(((x-(x^x))|((tmp = 463627396.23932934, tmp)/(2714928060)))&(tmp =
3048222568.1103754, tmp)))&(-3127578553))<<(tmp = -2569797028.8299003,
tmp))&x)<<((tmp = 2104393646, tmp)/((tmp = 2314471015.742891,
tmp)<<((2704090554.1746845)>>(((tmp = 1935999696,
tmp)*(((1348554815)>>>x)>>>(146665093.82445252)))%x)))))));
- assertEquals(202003841764125400, x -= (tmp = -963296372.2846234, tmp));
- assertEquals(-413485056, x <<= (tmp = -2474480506.6054573, tmp));
- assertEquals(-3171894580.186845, x += ((tmp = -1261111102, tmp)+(tmp =
-1497298422.1868448, tmp)));
- assertEquals(17136, x >>= (tmp = 3055058160, tmp));
- assertEquals(17136, x %= (tmp = 1706784063.3577294, tmp));
- assertEquals(17136, x >>= ((tmp = 2161213808, tmp)*x));
- assertEquals(-17136, x /= ((((tmp = -1492618154, tmp)>>x)|
(1381949066))>>(tmp = 2014457960, tmp)));
- assertEquals(-34272, x += x);
- assertEquals(-1498690902, x += (-1498656630));
- assertEquals(-1168674482, x ^= (486325220));
- assertEquals(-1168674482, x <<= ((x^x)*x));
- assertEquals(794521557347068000, x *= (-679848469));
- assertEquals(1.3330392590424505e+26, x *= (tmp = 167778866, tmp));
- assertEquals(0, x <<= (tmp = -2501540637.3664584, tmp));
- assertEquals(0, x >>>= (x-(x*(-890638026.1825848))));
- assertEquals(0, x %= ((-285010538.2813468)&(1314684460.7634423)));
- assertEquals(0, x -= x);
- assertEquals(0, x *= x);
- assertEquals(NaN, x %= (x*(x<<x)));
- assertEquals(NaN, x %= (x<<(((tmp = -1763171810.601149,
tmp)&(-138151449.18303752))^(x|x))));
- assertEquals(0, x |= (x>>x));
- assertEquals(0, x &= (tmp = 1107152048, tmp));
- assertEquals(0, x >>= (1489117056.8200984));
- assertEquals(518749976, x ^= (518749976.20107937));
- assertEquals(356718654, x += (tmp = -162031322, tmp));
- assertEquals(356718654, x %= (((x>>>((tmp = -373747439.09634733,
tmp)*(tmp = 563665566, tmp)))*(tmp = 2853322586.588251,
tmp))*((1303537213)%(-2995314284))));
- assertEquals(5573728, x >>= (tmp = -2095997978, tmp));
- assertEquals(5573728, x <<= x);
- assertEquals(5573728, x >>= (((((tmp = 1745399178.334154, tmp)<<(tmp =
2647999783.8219824, tmp))^(tmp = 1571286759, tmp))%x)/(2166250345.181711)));
- assertEquals(10886, x >>>= ((682837289)+(x*x)));
- assertEquals(170, x >>>= x);
- assertEquals(169.95167497151652, x -= (((tmp = 527356024.19706845,
tmp)+((tmp = 1263164619.2954736, tmp)|(tmp = 2942471886,
tmp)))/((3017909419.131321)+(tmp = 2137746252.8006272, tmp))));
- assertEquals(-1915170061, x ^= (tmp = -1915170214, tmp));
- assertEquals(206045792, x &= (((tmp = 887031922,
tmp)>>>x)-((-1861922770)|(9633541))));
- assertEquals(-1940321674, x |= (tmp = -2012149162.1817405, tmp));
- assertEquals(-1940321674, x &= x);
- assertEquals(1128412272.160699, x += (tmp = 3068733946.160699, tmp));
- assertEquals(0.47486363523180236, x /= (tmp = 2376286976.807289, tmp));
- assertEquals(-1.4931079540252477e-10, x /= (tmp = -3180370407.5892467,
tmp));
- assertEquals(0, x |= (((1220765170.5933602)*(884017786))*((x%(tmp =
-2538196897.226384, tmp))<<(x^x))));
- assertEquals(-525529894, x += (tmp = -525529894, tmp));
- assertEquals(1621426184, x &=
((3046517714)*(((((-162481040.8033898)+(x/((x&(1489724492))/((x|(tmp =
943542303,
tmp))>>>((-1840491388.1365871)<<(2338177232))))))+(((-2268887573.2430763)>>>(((tmp
= 2919141667, tmp)+((tmp = 1326295559.692003,
tmp)<<(-2256653815)))>>>(((((tmp = 1602731976.7514615,
tmp)*(856036244.3730336))^x)>>>((((2846316421.252943)&(915324162))%(tmp =
1144577211.0221815, tmp))%x))*(x*x))))%(tmp = -2641416560,
tmp)))*(x+(x>>>x)))>>x)));
- assertEquals(1621426184, x %= (tmp = 1898223948, tmp));
- assertEquals(-3.383396676504762, x /= ((tmp = 2211088034.5234556,
tmp)^x));
- assertEquals(7120923705.122882, x *= (((((tmp = 2632382342.914504,
tmp)/(-615440284.1762738))&(2162453853.6658797))<<(-849038082.5298986))|
(tmp = -2104667110.5603983, tmp)));
- assertEquals(-1469010887, x &= x);
- assertEquals(850767635866964700, x *= (tmp = -579143179.5338116, tmp));
- assertEquals(0, x %= x);
- assertEquals(-571457, x |= ((2849326490.8464212)|(tmp = 1450592063,
tmp)));
- assertEquals(-571457, x &= x);
- assertEquals(-0.00018638416434019244, x /= (3066016912.021368));
- assertEquals(0, x <<= (2058262829));
- assertEquals(NaN, x %= ((x|((x%x)>>>x))%((tmp = -2970314895.6974382,
tmp)+x)));
- assertEquals(NaN, x *= (-698693934.9483855));
- assertEquals(NaN, x += (-100150720.64391875));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (-530301478));
- assertEquals(NaN, x /= (1507673244));
- assertEquals(0, x <<= (x%(tmp = 2977838420.857235, tmp)));
- assertEquals(0, x <<= (tmp = 3200877763, tmp));
- assertEquals(0, x <<= (tmp = -2592127060, tmp));
- assertEquals(NaN, x -= (((((((1930632619)*(3018666359))<<((tmp =
2676511886, tmp)&(-2786714482.25468)))%x)-(-633193192))<<((tmp = 403293598,
tmp)*(-2765170226)))%x));
- assertEquals(530062092, x |= (tmp = 530062092, tmp));
- assertEquals(129409, x >>>= x);
- assertEquals(-152430382316341.78, x *= (-1177896300.229055));
- assertEquals(-304860764632683.56, x += x);
- assertEquals(0, x ^= x);
- assertEquals(0, x %= (tmp = -63071565.367660046, tmp));
- assertEquals(0, x &= ((((tmp = -1007464338, tmp)<<(x<<((x^(tmp =
-726826835, tmp))|x)))>>>x)*(((tmp = 469293335.9161849, tmp)<<(((((tmp =
1035077379, tmp)*(tmp = -555174353.7567515,
tmp))&(3109222796.8286266))-(((((x-(tmp = 1128900353.6650414, tmp))|(tmp =
3119921303, tmp))&((-1353827690)&(x%((-924615958)&x))))>>>x)+(tmp =
1167787910, tmp)))+x))%((605363594)>>(1784370958.269381)))));
- assertEquals(0, x %= (2953812835.9781704));
- assertEquals(0, x -= x);
- assertEquals(0, x <<= x);
- assertEquals(-901209266, x += (-901209266));
- assertEquals(-901209266, x &= x);
- assertEquals(404, x >>>= (-3195686249));
- assertEquals(824237108, x ^= (824237472));
- assertEquals(497790936.1853996, x /= ((tmp = 1253776028,
tmp)/(757207285)));
- assertEquals(497790936, x >>>= ((tmp = -2212598336,
tmp)<<(x^(1335355792.9363852))));
- assertEquals(0, x %= x);
- assertEquals(-2659887352.6415873, x += (tmp = -2659887352.6415873, tmp));
- assertEquals(1635079945, x |= ((x&(1234659380))>>((((tmp =
2694276886.979136, tmp)|x)^((tmp = 132795582,
tmp)<<((-1089828902)>>>x)))<<((((tmp = -2098728613.0310376, tmp)<<(x/(tmp =
-2253865599, tmp)))*((x+(x>>>((48633053.82579231)-(385301592))))*(tmp =
-1847454853.333535, tmp)))/((-540428068.8583717)+x)))));
- assertEquals(1, x /= x);
- assertEquals(33554432, x <<= ((((2803140769)<<x)|(tmp = -1965793804,
tmp))>>>(tmp = -2273336965.575082, tmp)));
- assertEquals(67108864, x += x);
- assertEquals(9007199254740992, x *= (x+((x>>x)%(2674760854))));
- assertEquals(55369784, x %= (x|(-170725544.20038843)));
- assertEquals(55369784, x %= (-1186186787));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(NaN, x /= ((-2968110098)-((x/(x|(((((x|
((x&((-130329882)>>>(((-135670650)|(x<<(tmp = 1280371822,
tmp)))^x)))-(-1183024707.2230911)))&(-1072829280))>>>(-340696948.41492534))>>>(tmp
= 436308526.4938295, tmp))<<(((tmp = 3113787500,
tmp)*((2038309320)>>>(-1818917055)))&((2808000707)/(774731251))))))%x)));
- assertEquals(0, x |= (x*(tmp = -843074864, tmp)));
- assertEquals(0, x &= (tmp = -752261173.8090212, tmp));
- assertEquals(0, x >>>= (tmp = 1532349931.7517128, tmp));
- assertEquals(0, x <<= ((tmp = -8628768, tmp)-((((tmp = 225928543,
tmp)%(x>>>(x+x)))^((tmp = -2051536806.5249376, tmp)-x))-((tmp =
-2274310376.9964137, tmp)%(tmp = 2251342739, tmp)))));
- assertEquals(0, x >>= (1011388449));
- assertEquals(0, x += x);
- assertEquals(0, x >>>= x);
- assertEquals(-0, x *=
((-1781234179.8663826)>>(((1514201119.9761915)>>(((((1174857164.90042)^(tmp
= 1124973934,
tmp))^x)+((-1059246013.8834443)<<(2997611138.4876065)))%(((798188010)*(-1428293122))>>>(tmp
= -3087267036.8035297, tmp))))<<x)));
- assertEquals(1752554372, x ^= (tmp = -2542412924, tmp));
- assertEquals(1752554372, x %= (tmp = 3037553410.2298307, tmp));
- assertEquals(1859383977, x -= (x^(2446603103)));
- assertEquals(1183048193, x &= ((tmp = -962336957, tmp)/(x/x)));
- assertEquals(67738157, x %= ((((tmp = -1813911745.5223546,
tmp)+x)<<(x-(((-1980179168)^x)|x)))|(1913769561.1308007)));
- assertEquals(67698724, x &= ((1801574998.3142045)*((tmp = -2057492249,
tmp)/((1713854494.72282)>>x))));
- assertEquals(0, x -= x);
- assertEquals(-25232836, x -= ((tmp = 25232836, tmp)|x));
- assertEquals(-49, x >>= (x+((tmp = 2201204630.2897243, tmp)|
(-1929326509))));
- assertEquals(-1605632, x <<= x);
- assertEquals(-165965313, x += (tmp = -164359681, tmp));
- assertEquals(9.220413724941365e-10, x /= (((((tmp = 2579760013.0808706,
tmp)*(tmp = -2535370639.9805303, tmp))>>((tmp = 2138199747.0301933,
tmp)-(tmp = -2698019325.0972376, tmp)))*(tmp = -425284716,
tmp))/((-1951538149.6611228)/(x^(2632919130)))));
- assertEquals(0, x &= x);
- assertEquals(0, x &= ((-645189137)/(tmp = 800952748, tmp)));
- assertEquals(0, x &= (tmp = -1773606925, tmp));
- assertEquals(0, x += x);
- assertEquals(0, x >>>= (tmp = 211399355.0741787, tmp));
- assertEquals(0, x <<= ((-1317040231.5737965)/((((((tmp =
838897586.0147077, tmp)|((-1902447594)|(tmp = 404942728.83034873,
tmp)))^(2462760692.2907705))%((((((x%(tmp = -2888980287,
tmp))<<(-368505224.49609876))-((x>>>(532513369))&(((((((tmp = -1298067543,
tmp)^(tmp = -3130435881.100909, tmp))>>x)/(tmp = -3041161992, tmp))>>(x|
(-431685991.95776653)))^((tmp = 1031777777,
tmp)^((-105610810)>>>((-631433779)>>(tmp = -2577780871.167671,
tmp)))))%(tmp = -3170517650.088039, tmp))))-(((tmp = 2175146237.968785,
tmp)-((384631158.50508535)>>((893912279.4646157)|(tmp =
-1478803924.5338967, tmp))))%(x/(-1089156420))))<<(tmp = -2024709456,
tmp))>>x))*(tmp = -1423824994.6993582, tmp))%(tmp = 1739143409, tmp))));
- assertEquals(-1799353648, x |=
((-1799353648.3589036)>>>((((x&(-923571640.1012449))%x)+((tmp = 971885508,
tmp)>>((tmp = -2207464428.2123804,
tmp)+(-3108177894.0459776))))-(-2048954486.7014258))));
- assertEquals(-3666808032.2958965, x -= (tmp = 1867454384.2958965, tmp));
- assertEquals(-260069478915415100, x *= (tmp = 70925305.23136711, tmp));
- assertEquals(1142096768, x &= (tmp = 1866401706.9144325, tmp));
- assertEquals(1, x >>>= (tmp = 2701377150.5717473, tmp));
- assertEquals(1865946805, x |= (tmp = -2429020492, tmp));
- assertEquals(1424222287, x ^= ((((tmp = 433781338,
tmp)>>(x>>>((-2914418422.4829016)/(tmp = 1600920669, tmp))))|(tmp =
588320482.9566053, tmp))>>>((((((x+(tmp = -2556387365.5071325, tmp))+(tmp =
-2381889946.1830974, tmp))/(3154278191))>>>(-1069701268.8022757))>>(((tmp =
182049089.28866422, tmp)>>x)>>>(tmp = -447146173,
tmp)))/(x-(2103883357.0929923)))));
- assertEquals(0, x ^= x);
- assertEquals(0, x -= (x%(3036884806)));
- assertEquals(0, x >>>= (tmp = -652793480.3870945, tmp));
- assertEquals(0, x += x);
- assertEquals(304031003, x ^= ((tmp = -900156495,
tmp)^(-666397014.0711515)));
- assertEquals(1, x /= x);
- assertEquals(-1974501681, x |= (x^(-1974501681.4628205)));
- assertEquals(-1.3089278317616264, x /= (((-1723703186.962839)>>>x)|
((2061022161.6239533)<<x)));
- assertEquals(-1, x |= (tmp = -1987006457, tmp));
- assertEquals(-0.14285714285714285, x /= ((((((x|
(-1767793799.7595732))-(-1391656680))<<x)|(x>>(tmp = -2301588485.2811003,
tmp)))>>>(((tmp = 1812723993, tmp)>>>((x^(((tmp = -3154100157.951021,
tmp)%((tmp = -1254955564.4553523,
tmp)-(((x>>>(((-1762886343)*x)*x))*(x^(x*(-750918563.4387553))))*x)))|
((x>>x)>>(x<<((((-1766797454.5634143)^(tmp = -2251474340,
tmp))-(-787637516.5276759))<<((1390653368)^(-1937605249.245374)))))))|
(((tmp = 1156611894, tmp)<<x)<<(x>>((((x+(tmp = 2170166060.881797,
tmp))&(x>>>(tmp = -1749295923.1498983, tmp)))>>(((-1014973878)|
x)&(1302866805.684057)))*(tmp = 560439074.4002491, tmp))))))|
(-2758270803.4510045)))&x));
- assertEquals(0, x |= x);
- assertEquals(0, x += ((x>>((x+(tmp = -2776680860.870219,
tmp))-(((688502468)<<(((tmp = 475364260.57888806,
tmp)<<x)+(329071671)))/(-1097134948))))*(tmp = -1281834214.3416953, tmp)));
- assertEquals(0, x *= ((((1159762330)<<(tmp = -1892429200, tmp))%x)<<x));
- assertEquals(0, x >>>= (-770595225));
- assertEquals(NaN, x += (((x>>x)/(tmp = 281621135, tmp))/x));
- assertEquals(0, x >>= (1363890241));
- assertEquals(1639023942.9945002, x += (1639023942.9945002));
- assertEquals(-2568590958567747000, x *= (-1567146697));
- assertEquals(1793554700, x ^= (tmp = 3215813388.405799, tmp));
- assertEquals(437879, x >>= x);
- assertEquals(1339485943, x |= (1339220210));
- assertEquals(1, x /= x);
- assertEquals(512, x <<= (2509226729.1477118));
- assertEquals(512, x <<= ((x>>(1326274040.7181284))<<(tmp = -760670199,
tmp)));
- assertEquals(1, x /= (x<<(x^x)));
- assertEquals(0, x >>>= (((((1382512625.8298302)&(x>>>x))*(tmp =
-815316595, tmp))>>>x)-(-95538051)));
- assertEquals(-544344229.3548596, x -= (tmp = 544344229.3548596, tmp));
- assertEquals(-1088688458.7097192, x += x);
- assertEquals(-1022850479579041900, x *= (939525418.3104812));
- assertEquals(2069622661, x |= (-2632744187.7721186));
- assertEquals(-1353480538017756400, x -= ((tmp = 1308085980,
tmp)*((x>>>(-629663391.5165792))&(tmp = 3182319856.674114, tmp))));
- assertEquals(1.3702811563654176e+27, x *= ((((3061414617.6321163)/(tmp =
2628865442, tmp))+(-1549548261))+(x&((tmp = 809684398, tmp)|(x^(tmp =
801765002, tmp))))));
- assertEquals(0, x >>>= ((-2988504159)&((tmp = -260444190.02252054,
tmp)^(2178729442.260293))));
- assertEquals(-1518607002, x -= (tmp = 1518607002, tmp));
- assertEquals(724566016, x <<= (tmp = 1042915731.7055794, tmp));
- assertEquals(707584, x >>>= (-208959862.93305588));
- assertEquals(0, x >>>= (((tmp = 877181764,
tmp)>>(-970697753.3318911))%x));
- assertEquals(0, x ^= x);
- assertEquals(0, x += x);
- assertEquals(0, x <<= x);
- assertEquals(0, x /= (x^((x/(-2903618412.4936123))+(tmp = 1169288899,
tmp))));
- assertEquals(0, x >>>= x);
- assertEquals(-1302645245, x ^= ((1855892732.3544865)+(tmp =
1136429319.5633948, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (-1384534597.409375));
- assertEquals(-0, x /= (tmp = -680466419.8289509, tmp));
- assertEquals(-0, x *= (318728599.95017374));
- assertEquals(NaN, x %= (x>>(2019695267)));
- assertEquals(0, x >>= (tmp = 1280789995, tmp));
- assertEquals(0, x *= (tmp = 2336951458, tmp));
- assertEquals(0, x >>= ((2981466013.758637)%(731947033)));
- assertEquals(0, x -= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x /= ((((3068070149.1452317)>>x)%(((1448965452)*((tmp =
-2961594129, tmp)+(1829082104.0681171)))>>(-2331499703)))>>>(tmp =
-3206314941.2626476, tmp)));
- assertEquals(0, x >>= (x%(1869217101.9823673)));
- assertEquals(0, x <<= (x+x));
- assertEquals(0, x >>>= ((1202130282)>>>x));
- assertEquals(0, x += x);
- assertEquals(2603245248.6273212, x += (tmp = 2603245248.6273212, tmp));
- assertEquals(-1691864471, x ^= (x>>>(2504513614.117516)));
- assertEquals(136835305, x -= ((-1618979896)&(-746953306)));
- assertEquals(-2568499564.1261334, x += (tmp = -2705334869.1261334, tmp));
- assertEquals(1038075700, x ^= (1530399136));
- assertEquals(2076151400, x += x);
- assertEquals(-524018410.1751909, x -=
((2398973627.175191)-(-201196183)));
- assertEquals(0.327110599608614, x /= ((3181340288.602796)&x));
- assertEquals(0.327110599608614, x %= (tmp = -2284484060, tmp));
- assertEquals(0, x |= x);
- assertEquals(403217947.5779772, x += (tmp = 403217947.5779772, tmp));
- assertEquals(403217947, x |= x);
- assertEquals(-Infinity, x *= ((58693583.845808744)+(((tmp = -1527787016,
tmp)*x)/((((2532689893.3191843)/(tmp = 2781746479.850424, tmp))|
(((((460850355.9211761)/((((tmp = 626683450, tmp)<<((tmp = 1349974710,
tmp)-((tmp = -1349602292,
tmp)/(-2199808871.1229663))))>>((x/(-3092436372.3078623))&(tmp =
-1190631012.0323825, tmp)))^((-2907082828.4552956)-(tmp =
1858683340.1157017,
tmp))))^(-1513755598.5398848))%x)/x))&(1147739260.136806)))));
- assertEquals(0, x &= (tmp = -3047356844.109563, tmp));
- assertEquals(637934616, x -= (tmp = -637934616, tmp));
- assertEquals(-1553350083, x ^= (-2056266203.094929));
- assertEquals(-0.13467351026547192, x %= ((tmp = 824736251,
tmp)/(2544186314)));
- assertEquals(1, x /= x);
- assertEquals(1, x |= x);
- assertEquals(0, x >>>= (2166609431.9515543));
- assertEquals(0, x <<= (x|(tmp = 121899222.14603412, tmp)));
- assertEquals(0, x *= (1300447849.6595674));
- assertEquals(0, x %= (tmp = -2360500865.3944597, tmp));
- assertEquals(0, x %= (tmp = -1693401247, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x /= (471265307));
- assertEquals(257349748, x ^= (257349748.689448));
- assertEquals(257349748, x &= x);
- assertEquals(981, x >>>= (tmp = -1959001422, tmp));
- assertEquals(0, x >>= ((-79932778.18114972)/x));
- assertEquals(0, x <<= (((-2599621472)^(tmp = 662071103, tmp))%(tmp =
-2675822640.7641535, tmp)));
- assertEquals(0, x &= (tmp = 2582354953.878623, tmp));
- assertEquals(0, x /= ((-953254484)/((-2571632163.376176)-(tmp =
-342034471, tmp))));
- assertEquals(0, x <<= ((x-(tmp = -3013057672, tmp))&(tmp = -3204761036,
tmp)));
- assertEquals(0, x ^= ((x&((515934453)>>>x))/x));
- assertEquals(1, x |= ((-1914707646.2075093)>>>(tmp = -1918045025, tmp)));
- assertEquals(-2002844120.8792589, x += (tmp = -2002844121.8792589, tmp));
- assertEquals(573030794, x >>>= (tmp = 1707788162, tmp));
- assertEquals(1.917619109627369, x /=
((1909436830.484202)%((123114323)<<(tmp = -1288988388.6444468, tmp))));
- assertEquals(-1400358045, x |= (-1400358046));
- assertEquals(-2043022529.4273133, x += (tmp = -642664484.4273133, tmp));
- assertEquals(-81408068.86728716, x %= (tmp = -980807230.2800131, tmp));
- assertEquals(0.1436896445024992, x /= (((tmp = 3201789924.913518,
tmp)%(tmp = -962242528.6008646, tmp))^((tmp = -338830119.55884504,
tmp)*(tmp = -916120166, tmp))));
- assertEquals(0.1436896445024992, x %= (tmp = 2598469263, tmp));
- assertEquals(0, x *= (x-x));
- assertEquals(-1409286144, x += (((-111514798.64745283)|
(2372059654))<<(tmp = 175644313, tmp)));
- assertEquals(-2393905467.0073113, x += (-984619323.0073113));
- assertEquals(-835111172.0073113, x %= (x^(-765900532.5585573)));
- assertEquals(-835111172.0073113, x %= (tmp = -946478116, tmp));
- assertEquals(-100, x >>=
((-1020515908)>>(((x&((x^(169474253.53811646))>>(-221739002)))+x)*((201939882.92880356)/(tmp
= -50402570, tmp)))));
- assertEquals(2131506964, x &= (tmp = -2163460268, tmp));
- assertEquals(1074275840, x &= ((-1561930379.8719592)*(tmp =
-2871750052.876917, tmp)));
- assertEquals(-954232605.5377102, x -= (tmp = 2028508445.5377102, tmp));
- assertEquals(-29, x >>= (-279577351.87217045));
- assertEquals(-232, x <<= x);
- assertEquals(-70, x |= (215185578));
- assertEquals(-1, x >>= (x>>(-1691303095)));
- assertEquals(1, x /= x);
- assertEquals(3149465364.2236686, x *= (3149465364.2236686));
- assertEquals(3304787832.3790073, x += (tmp = 155322468.15533853, tmp));
- assertEquals(100068712.23500109, x %= (tmp = 3204719120.1440063, tmp));
- assertEquals(91628864, x &= (tmp = 629090241, tmp));
- assertEquals(-113202292046379710, x *= (-1235443583));
- assertEquals(122, x >>>= (tmp = 3196555256, tmp));
- assertEquals(122, x >>>= (((2226535734)-x)^(2248399036.393125)));
- assertEquals(6.904199169070746e-8, x /= (tmp = 1767040564.9149356, tmp));
- assertEquals(-212687449.99999994, x +=
((((2244322375)*(((2515994102)^x)>>x))<<(x-(-832407685.3251972)))^(2266670502)));
- assertEquals(366515938514778750, x *= (tmp = -1723260768.3940866, tmp));
- assertEquals(366515938514778750, x += ((-1643386193.9159095)/(tmp =
425161225.95316494, tmp)));
- assertEquals(654872716.4123061, x /= ((-1377382984)-(tmp =
-1937058061.811642, tmp)));
- assertEquals(654872716, x &= x);
- assertEquals(-86260926.17813063, x -= (tmp = 741133642.1781306, tmp));
- assertEquals(1052176592, x >>>= x);
- assertEquals(2020882856, x ^= (-3107796616));
- assertEquals(0, x <<= ((606939871.9812952)|(tmp = -3127138319.1557302,
tmp)));
- assertEquals(NaN, x -= ((x%((1120711400.2242608)%x))*(tmp =
-930171286.7999947, tmp)));
- assertEquals(NaN, x %= (3215044180));
- assertEquals(NaN, x %= (tmp = 2882893804.20102, tmp));
- assertEquals(NaN, x %= ((217170359.5778643)^x));
- assertEquals(0, x &= ((-1095125960.9903677)>>(x^(-2227981276))));
- assertEquals(-748549860, x += (-748549860));
- assertEquals(1816208256, x <<= (-610872411.3826082));
- assertEquals(201400576, x &= (((tmp = 1910394603.4836266, tmp)<<x)^x));
- assertEquals(0, x %= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x <<=
(((((2670901339.6696005)%(2180020861))*((2134469504)/(2237096063.0680027)))*((tmp
= 1203829756, tmp)>>((765467065)+(x|
(2673651811.9494815)))))<<((-1463378514)|(((x/(tmp = -1075050081,
tmp))-((-879974865)+x))>>>(tmp = 2172883926, tmp)))));
- assertEquals(433013198, x ^= (433013198.2833413));
- assertEquals(0, x >>= ((((-2404431196)%(x%(tmp = 1443152875.8809233,
tmp)))&(x|((1414364997.0517852)/((tmp = -435854369, tmp)+(tmp = 2737625141,
tmp)))))|(((tmp = 2241746562.2197237, tmp)^(tmp = -1606928010.1992552,
tmp))|((tmp = -3083227418.686173, tmp)>>(tmp = -2717460410, tmp)))));
- assertEquals(0, x >>= x);
- assertEquals(0, x *= ((tmp = 2302521322, tmp)>>>(((((((tmp =
344089066.9725498, tmp)%(tmp = 1765830559, tmp))-x)|x)^(((-2450263325)/(tmp
= 371928405.17475057, tmp))>>>(1330100413.7731652)))^(((173024329)%(tmp =
-2927276187, tmp))+(x>>>(-1042229940.308507))))|(((((tmp = 379074096,
tmp)+((142762508)-((-2773070834.526266)-(x&((tmp = 57957493,
tmp)<<(2189553500))))))+((36991093)+(tmp = 339487168.58069587,
tmp)))*(-1257565451))&(tmp = 645233114, tmp)))));
- assertEquals(-2644503151.1185284, x += (-2644503151.1185284));
- assertEquals(-5289006302.237057, x += x);
- assertEquals(-4008773824.2370567, x -= (tmp = -1280232478, tmp));
- assertEquals(1975449413, x |= ((tmp = 1957832005.4285066,
tmp)>>((1681236712.9715524)&(-675823978))));
- assertEquals(-146472960, x <<= (-648510672.5644083));
- assertEquals(-3, x |= (((((x>>>(tmp = 2271744104, tmp))+(tmp =
-210058133.30147195, tmp))+(tmp = -2827493425, tmp))/(tmp = 765962538,
tmp))%(tmp = 1048631551, tmp)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= (1070524782.5154183));
- assertEquals(0, x <<= (462502504));
- assertEquals(0, x %= (540589670.0730014));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x /= ((-1268640098)%x));
- assertEquals(NaN, x %= (1741157613.744652));
- assertEquals(NaN, x += x);
- assertEquals(NaN, x %= ((x|(tmp = 1992323492.7000637, tmp))*x));
- assertEquals(NaN, x /= ((tmp = -2271503368.0341196, tmp)>>((tmp =
1224449194, tmp)>>>(tmp = 2976803997, tmp))));
- assertEquals(NaN, x += (tmp = -1078313742.1633894, tmp));
- assertEquals(NaN, x += (-787923311));
- assertEquals(NaN, x %= x);
- assertEquals(-1299878219, x ^= (2995089077));
- assertEquals(536887953, x &= ((625660571.2651105)&(x^(((tmp =
950150725.2319129, tmp)+(-2122154205.466675))/(tmp = 1754964696.974752,
tmp)))));
- assertEquals(4096, x >>>= x);
- assertEquals(1, x /= x);
- assertEquals(-82508517, x ^= (((-930231800)%(tmp = -423861640.4356506,
tmp))+x));
- assertEquals(-82508517, x &= (x&x));
- assertEquals(-479519, x %= ((tmp = 1861364600.595756, tmp)|x));
- assertEquals(479518, x ^= (((x>>(-1539139751.6860313))>>(tmp =
-456165734, tmp))|(-2786433531)));
- assertEquals(959036, x += x);
- assertEquals(29, x >>>= ((tmp = -1049329009.7632706,
tmp)^(((((((1117739997)/(((-841179741.4939663)*(-1211599672))>>>((-413696355)%(tmp
= -1753423217.2170188, tmp))))<<(tmp = 1599076219.09274,
tmp))>>>(-1382960317))^(((x^(tmp = 515115394, tmp))>>>(tmp = -388476217,
tmp))>>>(x/x)))^x)<<(136327532.213817))));
- assertEquals(24, x &= (2388755418));
- assertEquals(0, x >>>= (tmp = -405535917, tmp));
- assertEquals(0, x &= (tmp = -1427139674, tmp));
- assertEquals(NaN, x /= (x^((1530470340)%x)));
- assertEquals(0, x |= ((x>>(-1429690909.8472774))*((((tmp = 2033516515,
tmp)/(1314782862))>>>x)>>(tmp = 1737186497.6441216, tmp))));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (3115422786));
- assertEquals(-0, x *= (x+(tmp = -2558930842.267017, tmp)));
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (2695531252.254449));
- assertEquals(-613178182, x ^= (-613178182));
- assertEquals(54, x >>>= (x%(((tmp = 2277868389, tmp)^((((tmp =
-1143932265.3616111, tmp)^((x&((x-((-2100384445.7850044)|(tmp =
908075129.3456883, tmp)))*x))+(((tmp = 1031013284.0275401, tmp)*((((tmp =
-233393205, tmp)>>>(tmp = -111859419, tmp))*(-1199307178))|(tmp =
-1998399599, tmp)))>>>((((-731759641.9036775)>>>(tmp = 2147849691,
tmp))>>>(tmp = -2121899736, tmp))>>>(x>>>x)))))>>((1900348757.360562)^(tmp
= 2726336203.6149445, tmp)))>>>((x*((tmp = -2697628471.0234947,
tmp)%((x^(tmp = -2751379613.9474974, tmp))*x)))+(x>>(tmp =
42868998.384643435, tmp)))))+(598988941))));
- assertEquals(34, x &= ((tmp = 2736218794.4991407,
tmp)%(2169273288.1339874)));
- assertEquals(2.086197133417468, x /= ((tmp = 2176358852.297597, tmp)%x));
- assertEquals(2, x <<= (((tmp = -1767330075, tmp)|
(-3107230779.8512735))&x));
- assertEquals(4194304, x <<= (tmp = 1061841749.105744, tmp));
- assertEquals(48609515, x ^= (44415211.320786595));
- assertEquals(48609515, x %= (1308576139));
- assertEquals(23735, x >>>= ((-324667786)-x));
- assertEquals(23735, x <<= ((-1270911229)<<(((((tmp = -882992909.2692418,
tmp)+(tmp = 394833767.947718, tmp))-x)<<(702856751))/x)));
- assertEquals(-31080872939240, x *= (tmp = -1309495384, tmp));
- assertEquals(-14625.31935626114, x /= ((668084131)+(1457057357)));
- assertEquals(-14625.31935626114, x %= (266351304.6585492));
- assertEquals(-12577, x |= (-945583977.619837));
- assertEquals(-4097, x |= ((tmp = -2621808583.2322493, tmp)-(tmp =
-2219802863.9072213, tmp)));
- assertEquals(-1004843865, x &= ((-1004839768)+((tmp = 2094772311,
tmp)/(-1340720370.275643))));
- assertEquals(-31401371, x >>= ((2035921047)>>>((tmp = -1756995278,
tmp)>>>(-537713689))));
- assertEquals(1791746374.016472, x -= ((tmp = -1823147745, tmp)-(x/(tmp =
-1906333520, tmp))));
- assertEquals(3.7289343120517406, x /= (tmp = 480498240, tmp));
- assertEquals(7.457868624103481, x += x);
- assertEquals(234881024, x <<= (-781128807.2532628));
- assertEquals(67108864, x &= (tmp = -2060391332, tmp));
- assertEquals(-605958718, x -= (673067582));
- assertEquals(-605958718, x <<= ((x%x)&((tmp = 1350579401.0801518, tmp)|
x)));
- assertEquals(-109268090.4715271, x %= (tmp = -496690627.5284729, tmp));
- assertEquals(-109268090, x <<= (((-2004197436.8023896)%((x|((tmp =
271117765.61283946,
tmp)-((1595775845.0754795)*(555248692.2512416))))/x))<<x));
- assertEquals(-652725370, x &= (-543590449));
- assertEquals(0.321858133298825, x /= (tmp = -2027990914.2267523, tmp));
- assertEquals(1959498446, x ^= (1959498446));
- assertEquals(1959498446, x &= (x%(tmp = 3155552362.973523, tmp)));
- assertEquals(14949, x >>>= ((tmp = 586618136, tmp)>>>(tmp =
699144121.9458897, tmp)));
- assertEquals(-28611391568319.285, x *= (tmp = -1913933478.3811147, tmp));
- assertEquals(1680557633, x &= (((tmp = 2606436319.199714,
tmp)<<(1575299025.6917372))|((-1092689109)/(735420388))));
- assertEquals(1680361024, x &= ((tmp = 1860756552.2186172, tmp)|
(-360434860.1699109)));
- assertEquals(820488, x >>>= (1788658731));
- assertEquals(820488, x >>= (-1555444352));
- assertEquals(2104296413, x ^= (2103543509));
- assertEquals(16843328, x &= ((x<<((-2920883149)/(1299091676)))-(((((tmp
= 3199460211, tmp)+(-237287821.61504316))&(tmp = -1524515028.3596857,
tmp))-(tmp = -700644414.6785603, tmp))+(-180715428.86124516))));
- assertEquals(1326969834, x |= (tmp = -2968063574.793867, tmp));
- assertEquals(0, x %= (x>>>(tmp = 1350490461.0012388, tmp)));
- assertEquals(0, x &= ((-2620439260.902854)+x));
- assertEquals(-1775533561, x |= ((-1775533561)|
(((x>>>((861896808.2264911)>>>(970216466.6532537)))%x)%(tmp =
2007357223.8893046, tmp))));
- assertEquals(-1775533561, x &= x);
- assertEquals(-23058877.415584415, x /= ((tmp = -3002439857,
tmp)>>((((x-(tmp = 1583620685.137125, tmp))|x)%(-2568798248.6863875))^x)));
- assertEquals(-577.4155844151974, x %= (((-1440361053.047877)+((tmp =
821546785.0910633, tmp)-(((tmp = 1023830881.1444875,
tmp)/(-754884477))+(tmp = 651938896.6258571, tmp))))>>(tmp =
346467413.8959185, tmp)));
- assertEquals(-1, x >>= (tmp = 2993867511, tmp));
- assertEquals(-1, x |= (tmp = 823150253.4916545, tmp));
- assertEquals(-0, x %= x);
- assertEquals(-0, x /= ((tmp = 997969036, tmp)&((((tmp = 928480121,
tmp)>>(((-2610875857.086055)>>>(tmp = -2251704283, tmp))|
x))+(10781750))>>x)));
- assertEquals(0, x >>>= ((tmp = -1872319523, tmp)>>>(-278173884)));
- assertEquals(0, x |= (x/(x*x)));
- assertEquals(0, x %= ((77912826.10575807)^(tmp = 2770214585.3019757,
tmp)));
- assertEquals(0, x &= (tmp = 722275824, tmp));
- assertEquals(-1417226266, x |= (tmp = 2877741030.1195555, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x %= (tmp = -1740126105, tmp));
- assertEquals(910709964, x |= (tmp = 910709964, tmp));
- assertEquals(-1744830464, x <<= (tmp = -2445932551.1762686, tmp));
- assertEquals(318767104, x >>>= (tmp = -2465332061.628887, tmp));
- assertEquals(301989888, x &= (-2771167302.022801));
- assertEquals(301989888, x |= x);
- assertEquals(37748736, x >>= (tmp = -835820125, tmp));
- assertEquals(1474977371, x ^= (tmp = -2857738661.6610327, tmp));
- assertEquals(470467500, x += (-1004509871));
- assertEquals(0.30466562575942585, x /= (((tmp = 1515955042,
tmp)<<(x+((1607647367)-(tmp = 1427642709.697169, tmp))))^x));
- assertEquals(1.0348231148499734e-10, x /= (tmp = 2944132397, tmp));
- assertEquals(0, x >>= (x>>>(tmp = -2847037519.569043, tmp)));
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>>= (-1817784819.9058492));
- assertEquals(0, x >>= x);
- assertEquals(-0, x *= ((tmp = -1387748473, tmp)|(x+(352432111))));
- assertEquals(-0, x *= (((-2591789329)/(tmp = -2144460203, tmp))>>(tmp =
-568837912.5033123, tmp)));
- assertEquals(0, x <<= (-2963600437.305708));
- assertEquals(0, x &= ((588720662)>>>x));
- assertEquals(1561910729, x += (1561910729));
- assertEquals(0, x ^= x);
- assertEquals(-0, x *= (-2722445702));
- assertEquals(0, x &= (tmp = -2738643199.732308, tmp));
- assertEquals(0, x /= (((1859901899.227291)>>>((tmp = -1067365693,
tmp)+((-1975435278)|x)))|((1844023313.3719304)&(tmp = -624215417.0227654,
tmp))));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= (-2852766277));
- assertEquals(0, x <<= (-1482859558));
- assertEquals(0, x >>= x);
- assertEquals(-1196775786, x += (tmp = -1196775786, tmp));
- assertEquals(-68176201, x |= ((tmp = 2336517643, tmp)+x));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= (2969141362.868086));
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>= ((x-((((tmp = -905994835, tmp)|(tmp =
2850569869.33876, tmp))<<((-2405056608.27147)>>(tmp = 1280271785,
tmp)))&(-1942926558)))*(tmp = 707499803.177796, tmp)));
- assertEquals(0, x &= ((-697565829.8780258)+((2978584888.549406)%x)));
- assertEquals(0, x >>= (748642824.4181392));
- assertEquals(0, x += x);
- assertEquals(0, x >>>= (-1701028721));
- assertEquals(92042539, x -= ((-92042539)|(x*(x%(-293705541.00228095)))));
- assertEquals(0, x %= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (-2278672472.458228));
- assertEquals(0, x %= (((-2374117528.0359464)/((tmp = -2809986062, tmp)|
(tmp = 895734980, tmp)))&(tmp = 1564711307.41494, tmp)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x += x);
- assertEquals(-0, x /= ((tmp = -2749286790.3666043,
tmp)<<(x^(-2966741582.324482))));
- assertEquals(0, x *= x);
- assertEquals(0, x >>>= x);
- assertEquals(-1882562314, x ^= (2412404982.782115));
- assertEquals(-806620, x %= (((tmp = 1527219936.5232096,
tmp)*(-1139841417))>>>(tmp = 201632907.3236668, tmp)));
- assertEquals(-1613240, x += x);
- assertEquals(-1664766177387640, x *= (1031939561));
- assertEquals(-9.478083550117849e+23, x *= (tmp = 569334221.1571662,
tmp));
- assertEquals(-8.462574598319509e+21, x /= ((x-(tmp = -2985531211.114498,
tmp))>>(tmp = 174615992.91117632, tmp)));
- assertEquals(1638924288, x <<= (((((x>>((-1823401733.4788911)+((tmp =
1362371590, tmp)>>>x)))^(tmp = -56634380, tmp))/(tmp = 2387980757.1540084,
tmp))%((((tmp = -3175469977, tmp)^(tmp = -1816794042,
tmp))+(232726694))*(tmp = 822706176, tmp)))/(tmp = 1466729893.836311,
tmp)));
- assertEquals(2686072821796307000, x *= x);
- assertEquals(-1007977445.9812208, x /= (-2664814408.800125));
- assertEquals(-1007977445, x &= x);
- assertEquals(322314656346249100, x *= (tmp = -319763758.54942775, tmp));
- assertEquals(197436885.26815608, x /= (tmp = 1632494637, tmp));
- assertEquals(-67191339, x |= ((-399580815.1746769)/((1335558363)/(tmp =
224694526, tmp))));
- assertEquals(1229588737, x &= (tmp = 1296763683.5732255, tmp));
- assertEquals(1229588737, x -= ((((1171546503)|((tmp = -2701891308,
tmp)%(-2155432197.022206)))/(-306122816.85682726))>>x));
- assertEquals(4162606632, x -= (tmp = -2933017895, tmp));
- assertEquals(1.6487311395551163, x /= (2524733434.1748486));
- assertEquals(-1929308648.9913044, x += (-1929308650.6400356));
- assertEquals(-3858617297.982609, x += x);
- assertEquals(788529152, x <<= (x^(1401824663)));
- assertEquals(6160384, x >>>= ((((((x>>>x)>>((((x*(tmp = -1958877151,
tmp))>>>(1310891043))-(tmp = 564909413.9962088, tmp))%(-175978438)))%x)|
((tmp = -1193552419.7837512, tmp)*(tmp = 1508330424.9068346, tmp)))|
(1428324616.3303494))-((1828673751)/(tmp = 1281364779, tmp))));
- assertEquals(6160384, x |= x);
- assertEquals(1, x /= x);
- assertEquals(1, x &= (tmp = -855689741, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(-1088569655.3528988, x -= (tmp = 1088569655.3528988, tmp));
- assertEquals(-1088569655, x >>= ((tmp = 2429646226.626727,
tmp)<<((-1539293782.4487276)>>(x^((tmp = 1140855945.537702, tmp)+x)))));
- assertEquals(-311, x %= ((x/x)<<x));
- assertEquals(1.2007722007722008, x /= (x|(tmp = 448796341.87655175,
tmp)));
- assertEquals(3, x |= (x+x));
- assertEquals(-9.32416092168023e-10, x /= (-3217447688));
- assertEquals(0, x >>= (615837464.0921166));
- assertEquals(0, x >>>= (tmp = -2993750670.683118, tmp));
- assertEquals(0, x >>>= (x%x));
- assertEquals(1610612736, x ^= ((-1322905256.6770213)<<(-2567950598)));
- assertEquals(1693676493, x ^= (83063757.63660407));
- assertEquals(-758030371, x ^= (tmp = -1239274480, tmp));
- assertEquals(-758030371, x %= (tmp = 1961339006, tmp));
- assertEquals(-1509754528, x ^= (tmp = 1960027837, tmp));
- assertEquals(-1509754528, x <<= x);
- assertEquals(-1509754528, x -= (((tmp = -50690205.33559728, tmp)/((tmp =
-1364565380, tmp)<<(tmp = 2585052504, tmp)))<<(tmp = -2356889596, tmp)));
- assertEquals(1, x >>>= (-3204164321));
- assertEquals(1, x *= x);
- assertEquals(1114370230.591965, x *= ((tmp = 1114370229.591965, tmp)+x));
- assertEquals(-4.886305275432552, x /=
((-228059887.33344483)%(2841553631.3685856)));
- assertEquals(2.358309397373389e-9, x /= (((x*(tmp = 203428818.08174622,
tmp))&(x-(((510438355)*x)+x)))+x));
- assertEquals(0, x >>>= ((tmp = 1444810010, tmp)&(tmp =
-3135701995.2235208, tmp)));
- assertEquals(0, x /= (1865982928.6819582));
- assertEquals(0, x *= x);
- assertEquals(2078726016.3772051, x -= (tmp = -2078726016.3772051, tmp));
- assertEquals(1580337898, x ^= ((tmp = -2714629398.447015, tmp)^x));
- assertEquals(1268363034, x -= ((x+((tmp = 1144068248.3834887,
tmp)&(-954104940.155973)))<<(tmp = 1270573731.7828264, tmp)));
- assertEquals(1744830464, x <<= (((1444869551.7830744)>>>((((x+(tmp =
-904688528, tmp))<<x)-((tmp = 121151912.85873199, tmp)/(tmp =
-2414150217.66479, tmp)))|(((-472906698)|
(3215236833.8417764))+(907737193.9056952))))-((x&(-732223723))|
(-221800427.7392578))));
- assertEquals(717338523283226600, x *= (x^(tmp = -2407450097.0604715,
tmp)));
- assertEquals(402653184, x >>= ((-3191405201.168252)*((tmp =
-1941299639.695196, tmp)|(((x>>(((3215741220)>>>x)/(x+x)))^(((tmp =
-2144862025.9842231, tmp)|((tmp = -1966913385, tmp)&x))%x))*((tmp =
-1124749626.6112225, tmp)/(tmp = 837842574, tmp))))));
- assertEquals(402653184, x &= ((x|x)>>x));
- assertEquals(134217728, x &= ((2720231644.3849487)*x));
- assertEquals(134217726.75839183, x -=
((2438054684.738043)/(((((-984359711)*(x|((tmp = 177559682,
tmp)^x)))/(-1253443505))/((2727868438.416792)*(x+((x<<(((tmp = 3023774345,
tmp)&(-705699616.0846889))/x))<<x))))^(1963626488.548761))));
- assertEquals(1, x /= x);
- assertEquals(245781494, x += ((tmp = 2551445099, tmp)^(2528486814)));
- assertEquals(-1474427807, x ^= (-1497868393.342241));
- assertEquals(-1057271682, x += ((((((x>>x)%(-1556081693))|
(x/(((1166243186.6325684)-(((tmp = 2870118257.1019487,
tmp)/(x+(-69909960)))^(2270610694.671496)))/((1463187204.5849519)-x))))-x)-(x<<(-3077313003)))%x));
- assertEquals(-1065725846, x &= ((tmp = -1808223767, tmp)|
(-481628214.3871765)));
- assertEquals(-1065725846, x ^= (x&(((tmp = -1785170598, tmp)-(tmp =
-2525350446.346484, tmp))/((((((-1783948056)^(tmp = 3027265884.41588, tmp))|
((((tmp = 2195362566.2237773, tmp)<<(-2919444619))<<((tmp =
-2507253075.2897573, tmp)^(x^((tmp = 1067516137, tmp)+((667737752)^(x*(tmp
= -1187604212.7293758, tmp)))))))%(-617406719.5140038)))*(tmp =
511060465.6632478, tmp))*((tmp = 2580189800.752836, tmp)|((((tmp =
2357895660, tmp)%((-814381220)*(x-((x>>>(((x<<x)<<(tmp = 1919573020,
tmp))-x))>>>((-2756011312.136148)>>(tmp = -1603458856, tmp))))))/((tmp =
-1609199312, tmp)&(-3127643445)))%x)))<<(-2261731798)))));
- assertEquals(1.6020307924030301, x /= (tmp = -665234308.2628405, tmp));
- assertEquals(-1120020556.697667, x *= (tmp = -699125486.2321637, tmp));
- assertEquals(-215875188, x -= (((((tmp = -1307845034,
tmp)>>>((((-2820720421)^x)-(((x<<x)|(tmp = -3042092997.57406,
tmp))+(((-1294857544)+((tmp = -668029108.1487186,
tmp)>>(x<<x)))^(912144065.5274727))))^(389671596.2983854)))|
(-2774264897.146559))%(x-((tmp = 1378085269,
tmp)^x)))+((-1659377450.5247462)&(((1613063452.834885)>>>((-344896580.0694165)>>>((-13450558)+x)))^x))));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= (2355750790));
- assertEquals(1969435421.4409347, x += (1969435421.4409347));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (((x*((-1022802960.6953495)<<(tmp =
-2848428731.8339424, tmp)))^(-1630921485))%(1532937011)));
- assertEquals(0, x <<= ((x+((x^(x^(tmp = 2017651860, tmp)))&(((x<<(((tmp
= -1913317290.8189478, tmp)|(x-((((x%((tmp = -3035245210,
tmp)+(-2270863807)))>>>((-2351852712)*(x^(-2422943296.0239563))))&((((-1578312517)%x)*x)*(-65592270.28452802)))>>>(tmp
= 1104329727.2094703, tmp))))-(tmp = -1431159990.3340137, tmp)))&x)|((tmp =
-2589292678.801344, tmp)&(x+((((tmp = -2557773457.456996,
tmp)>>(451910805.309445))-x)>>(((tmp = -1937832765.7654495,
tmp)^x)%x)))))))%x));
- assertEquals(0, x %= (tmp = -626944459, tmp));
- assertEquals(-732310021, x |= (tmp = -732310021, tmp));
- assertEquals(-732310021, x |= x);
- assertEquals(671352839, x ^= (x-((-3087309090.7153115)|x)));
- assertEquals(134479872, x &= (tmp = 2357183984, tmp));
- assertEquals(18084835973136384, x *= x);
- assertEquals(0, x <<= ((1040482277)-(tmp = -357113781.82650447, tmp)));
- assertEquals(74957, x |= ((((tmp = -70789345.7489841, tmp)%(tmp =
1415750131, tmp))&x)|((307027314)>>(2284275468))));
- assertEquals(9, x >>>= x);
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/test/mjsunit/numops-fuzz-part2.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,1178 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = -962609355;
- var tmp = 0;
- assertEquals(-114583755, x -=
(((-2806715240)&(((1961136061.0329285)>>>((2087162059)*x))+((tmp =
-1890084022.7631018, tmp)%(tmp = 2137514142.358262, tmp))))+(x<<(tmp =
2991240918, tmp))));
- assertEquals(-425721856, x <<= x);
- assertEquals(3778560, x >>>= ((x|(3198503572))>>(1158434541.1099558)));
- assertEquals(3778560, x %= (tmp = -2592585378.9592104, tmp));
- assertEquals(624640, x &= (tmp = 2261638192.9864054, tmp));
- assertEquals(1249280, x += x);
- assertEquals(1048576, x &= ((tmp = -2144301819.9892588,
tmp)^((x-x)<<x)));
- assertEquals(2097152, x <<= (x/x));
- assertEquals(5069061551149729, x *= (tmp = 2417116904.8069615, tmp));
- assertEquals(1.4836296666029616e+25, x += ((tmp = 2926833006.7121572,
tmp)*x));
- assertEquals(-256, x >>=
((-469330345.3589895)%((x^(((2554170843.4978285)/(2495676674.815263))>>>x))*(-918892963))));
- assertEquals(-134217728, x <<= (x|(((((1687450853.1321645)+(tmp =
2369533014.5803776, tmp))+(tmp = -2613779445, tmp))+(tmp =
-2488826226.3733397, tmp))>>(tmp = -220646936.41245174, tmp))));
- assertEquals(704164545131708400, x *= ((-2632786741)+(-2613647956)));
- assertEquals(9216, x >>>= (-1925405359.657349));
- assertEquals(4491403261551.008, x *= (tmp = 487348444.1787118, tmp));
- assertEquals(4490606381829.008, x -= (tmp = 796879722, tmp));
- assertEquals(-60294056, x >>= x);
- assertEquals(-3193966580.494005, x += (tmp = -3133672524.494005, tmp));
- assertEquals(550500358, x >>>= ((tmp = -2779637628.390116, tmp)-((tmp =
29230786.984039664, tmp)%(tmp = -310649504.7704866, tmp))));
- assertEquals(68812544, x >>= (-1347584797));
- assertEquals(1.2120221595741834e-11, x /=
((2791020260)*((((1964870148.6358237)^x)|
(-3082869417))-((x^x)&((1234292117.8790703)<<(-1792461937.2469518))))));
- assertEquals(1.2120221595741834e-11, x %= (x-(2780439348)));
- assertEquals(-1421552183, x |= (tmp = -1421552183.5930738, tmp));
- assertEquals(-1420954119, x |=
((((-2547788562.5735893)<<x)%(435385623))>>(x|x)));
- assertEquals(1, x /= x);
- assertEquals(1, x >>= (x>>>(((2975715011.501709)-(tmp =
-1473273552.981069, tmp))/(1654883913.042487))));
- assertEquals(-65382, x ^= ((x/((tmp = -2780026200,
tmp)<<x))^(((-2683084424)<<x)>>(-1716245874))));
- assertEquals(1530921106, x &= (1530940914));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x /= (tmp = 773741434.1972584, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x <<= (-67977514.99888301));
- assertEquals(0, x %= (2496550482.524729));
- assertEquals(-0, x /= (tmp = -515040417, tmp));
- assertEquals(0, x <<= (-1673460935.2858837));
- assertEquals(-2638209488, x += (-2638209488));
- assertEquals(-2400951839498683400, x *= (910068685));
- assertEquals(1600582036, x ^=
(((-1247602308.4812562)>>(((-2393714444.179732)>>>x)%(-778140635.7165127)))+(-1933914727.2268424)));
- assertEquals(0, x *= ((x-x)>>(-1270234575)));
- assertEquals(0, x >>>= (tmp = 3193676327.493656, tmp));
- assertEquals(0, x ^= (x>>>(1148676785.389884)));
- assertEquals(0, x >>= (tmp = -2269181763.8663893, tmp));
- assertEquals(0, x >>= (3149450221));
- assertEquals(0, x >>= (1069630750));
- assertEquals(-625009654, x ^= ((-2143499112)%(-759244728.6214335)));
- assertEquals(3583943, x >>>= (-2942645558.1204453));
- assertEquals(1791971, x >>= (x/x));
- assertEquals(223996, x >>= x);
- assertEquals(6999, x >>= (tmp = -1051883611.9443719, tmp));
- assertEquals(1459617792, x <<= (-1572314984));
- assertEquals(2622356453.269262, x -= (tmp = -1162738661.2692618, tmp));
- assertEquals(5103676461.269262, x += (2481320008));
- assertEquals(823989684.2692623, x %= (x^(((((1048362966)*((tmp =
-2423040747.6233954, tmp)>>>x))*((tmp = 2330818588.4081, tmp)>>(tmp =
103312020.98346841, tmp)))+(tmp = 2264492857.144133, tmp))>>>((tmp =
2523442834, tmp)<<x))));
- assertEquals(0, x >>>= (tmp = -2018700898.531027, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(0, x <<= (tmp = -2489442223, tmp));
- assertEquals(0, x >>= ((3045836220)>>>x));
- assertEquals(-1156905149, x ^= (3138062147));
- assertEquals(-0, x %= x);
- assertEquals(-3118433907.512866, x -= ((tmp = 1338611238,
tmp)-(-1779822669.5128663)));
- assertEquals(100679693, x &= (1040565279));
- assertEquals(10136400582574248, x *= x);
- assertEquals(0, x %= x);
- assertEquals(2400318405, x += (2400318405));
- assertEquals(1.0036190808578471, x /= (((tmp = -2313492253.9889445, tmp)|
(x-((tmp = -205459123, tmp)>>x)))+x));
- assertEquals(0, x >>>= (tmp = 882343227.1675215, tmp));
- assertEquals(0, x &= ((tmp = 2307828832.2706165,
tmp)^((((((1404388047)<<((807879382)-(-2862921873)))-x)*(tmp = -1897734732,
tmp))>>(tmp = 1981888881.2306776, tmp))%x)));
- assertEquals(0, x <<= x);
- assertEquals(0, x *=
(((x*x)*((((2764801384.171454)%(x>>>x))&(384818815))+(x>>(tmp =
-1481683516, tmp))))&x));
- assertEquals(0, x >>= (tmp = -2202536436, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (tmp = 15161124, tmp));
- assertEquals(-1586110900, x ^= (-1586110900));
- assertEquals(-1586127952, x -= ((tmp = 560737212,
tmp)%((1349529668)>>>(tmp = -1956656528, tmp))));
- assertEquals(-1174945870, x -= ((1178456190)|x));
- assertEquals(1335167624.3422346, x -= (tmp = -2510113494.3422346, tmp));
- assertEquals(1329952126.3422346, x -= (x>>x));
- assertEquals(1, x >>= x);
- assertEquals(3, x |= (x<<x));
- assertEquals(3, x -= (x-x));
- assertEquals(-1938525669, x |= (tmp = 2356441625.5128202, tmp));
- assertEquals(-1938525669, x ^= ((tmp = -197149141.3622346,
tmp)/(2833823156)));
- assertEquals(-2.6292393147661324, x /= (737295254.2254335));
- assertEquals(2925975987.370761, x -= (-2925975990));
- assertEquals(2925975987.370761, x %= (tmp = 3041184582.8197603, tmp));
- assertEquals(-1908068660, x ^= ((tmp = -1380575181,
tmp)-(2375164084.8366547)));
- assertEquals(-477017165, x >>= (tmp = 2420877826.353099, tmp));
- assertEquals(-477017165, x %= ((tmp = -2919204062.3683634, tmp)-(tmp =
-2263328990, tmp)));
- assertEquals(-2105539936, x &= ((tmp = -1630795440,
tmp)-(x&((933423833)>>(-475069901)))));
- assertEquals(-4979480720, x -= (tmp = 2873940784, tmp));
- assertEquals(-4190953472, x -= (x&(tmp = -645918862.9001305, tmp)));
- assertEquals(17564091004468855000, x *= x);
- assertEquals(-857277134, x |= (tmp = 2363948338, tmp));
- assertEquals(1015632515, x -= (-1872909649));
- assertEquals(-1150380043, x ^= (tmp = -2014853770, tmp));
- assertEquals(1607729152, x <<= ((2194449589)+(x|(tmp =
-1470075256.4605722, tmp))));
- assertEquals(1608356496, x |= ((((x|(670426524))<<((-2415862218)>>(tmp =
1572561529.9213061, tmp)))^((-1989566800.3681061)|
x))&(2170270618.3401785)));
- assertEquals(-1836056576, x <<= (tmp = 2906301296.540217, tmp));
- assertEquals(-2952415961567723500, x *= (tmp = 1608020145, tmp));
- assertEquals(1435500544, x <<= x);
- assertEquals(700928, x >>>= (tmp = 2924829771.1804566, tmp));
- assertEquals(0, x <<= ((x^(2410009094))|(((-164334714.18698573)%(x*x))|
(tmp = 2182431441.2575436, tmp))));
- assertEquals(-143321285, x ^= (tmp = -143321285, tmp));
- assertEquals(-2, x >>= x);
- assertEquals(-1, x >>= (x&(1109737404)));
- assertEquals(1, x >>>= x);
- assertEquals(0, x ^= x);
- assertEquals(-2463707358.165766, x += (-2463707358.165766));
- assertEquals(1831259938, x >>= (((((x-(tmp = 1359448920.5452857,
tmp))%(tmp = -104541523, tmp))/((3133289055.9780197)*x))>>x)%x));
- assertEquals(1858895646, x ^= ((tmp = 131424376, tmp)>>(tmp =
-396761023, tmp)));
- assertEquals(1, x >>= x);
- assertEquals(-1888369021, x |= ((tmp = -2038869285.046599, tmp)^((tmp =
-1318286592.4250565, tmp)-(tmp = 2825123496, tmp))));
- assertEquals(1036458508, x <<= ((tmp = 2722401450, tmp)/((tmp =
1090712291, tmp)>>((tmp = -2155694696.9755683, tmp)*(tmp = 1661107340,
tmp)))));
- assertEquals(1, x /= (x%((tmp = -1716050484, tmp)+(tmp =
-1683833551.797319, tmp))));
- assertEquals(0, x >>= (tmp = -2899315628, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x <<= x);
- assertEquals(1546062911, x |= (1546062911));
- assertEquals(1546195271, x += ((tmp = -3210667091, tmp)>>(tmp =
1323121165, tmp)));
- assertEquals(3092390542, x += x);
- assertEquals(-1199626354, x |= (406783756));
- assertEquals(-3650317194584908300, x *= (tmp = 3042878461.625484, tmp));
- assertEquals(-7.650495675092354e+27, x *= (2095844078));
- assertEquals(0, x >>= (tmp = 342617880.3384919, tmp));
- assertEquals(22, x ^= (((tmp = 381409558.9104688,
tmp)>>((2823172888.974557)>>x))>>x));
- assertEquals(736383550, x += (736383528));
- assertEquals(0, x %= x);
- assertEquals(0, x += x);
- assertEquals(-1553157831, x -= (1553157831));
- assertEquals(1838556960, x <<= (3158944357.262641));
- assertEquals(5503285699.188747, x *= ((tmp = 2437440276,
tmp)/(814308583.8128904)));
- assertEquals(5824889900.188747, x -= (((tmp = 1171445694, tmp)-(tmp =
-1584666956, tmp))^(tmp = 1217545373, tmp)));
- assertEquals(747032, x >>>= (-89332085));
- assertEquals(747032, x |= (x^(x^(x>>>x))));
- assertEquals(747032, x >>>= ((-1558482440)*((tmp = -2413907480,
tmp)+(3003996862.384156))));
- assertEquals(7.747761349084291e+23, x += ((tmp = 518064022.64624584,
tmp)*((tmp = 2001951702, tmp)*x)));
- assertEquals(0, x <<= (2769324707.5640426));
- assertEquals(NaN, x %= (((((((-2458056470.7717686)&x)>>(tmp =
-361831232.42602444,
tmp))*(2611108609.6727047))>>>x)/(-1713747021.8431413))*(-1143281532)));
- assertEquals(NaN, x %= ((x^((-613836813)*(tmp = -3180432597.0601435,
tmp)))%x));
- assertEquals(NaN, x /= ((-1607092857)^x));
- assertEquals(0, x &= (-1190719534));
- assertEquals(0, x >>>= x);
- assertEquals(0, x += (x>>(642177579.1580218)));
- assertEquals(-3129552333, x += (-3129552333));
- assertEquals(1165414963, x &= x);
- assertEquals(2222, x >>= (((tmp = 2606317568, tmp)|x)+(tmp = 1844107136,
tmp)));
- assertEquals(NaN, x %= ((x^x)<<(x/(((tmp = -1362148700, tmp)&((tmp =
76371048, tmp)<<x))>>>((x^(-2605741153))>>(((tmp = -2131608159.7634726,
tmp)|(((2827792229.8004875)|(((-848439251)+(-2576768890.123433))|((tmp =
-2617711776, tmp)-((-199980264)&((tmp = -46967951.76266599,
tmp)/(-733253537))))))*(tmp = 1820087608, tmp)))>>>(tmp =
-3118359396.4298744, tmp)))))));
- assertEquals(NaN, x /= ((2144871731)*x));
- assertEquals(NaN, x *= x);
- assertEquals(NaN, x %= (tmp = 234811462.08692443, tmp));
- assertEquals(0, x >>>= ((1121416685)|(x^(((tmp = -2905413334, tmp)<<(tmp
= -3091554324.030834, tmp))<<x))));
- assertEquals(-55938048, x |= ((tmp = -55938048, tmp)+(x*(tmp =
-1518809027.2695136, tmp))));
- assertEquals(-3.3234995678333864e-10, x /= (x*(tmp = -3008876576, tmp)));
- assertEquals(0, x <<= (x/((((((-2168824234.2418427)>>(((tmp =
1976810951, tmp)%x)<<(x*(x>>(x%(3146266192))))))%(tmp = 1756971968.122397,
tmp))>>>(-2859440157.8352804))/(-1001406.1919288635))>>>(-1358031926))));
- assertEquals(-0, x *= (tmp = -1756000533, tmp));
- assertEquals(-0, x %= (2522761446.869926));
- assertEquals(0, x >>>= (((1087690535)>>>(2741387979))^x));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (-819422694.2188396));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x &= (tmp = 86627723, tmp));
- assertEquals(0, x += x);
- assertEquals(0, x %= (tmp = -2317915475, tmp));
- assertEquals(Infinity, x += (((-3072799584)^(-2487458319))/(((tmp =
-3050692353, tmp)&x)>>(-777977292.8500206))));
- assertEquals(Infinity, x += x);
- assertEquals(Infinity, x -= (tmp = 484428269, tmp));
- assertEquals(Infinity, x *= x);
- assertEquals(Infinity, x /= (2059586218.2278104));
- assertEquals(Infinity, x *= (tmp = 415918523.8350445, tmp));
- assertEquals(-1800869091, x |= (((-1800869091)>>>(x>>>(tmp =
-2832575051, tmp)))>>>x));
- assertEquals(6196126991451132000, x *=
((-1467292383.8458765)+(-1973339154.7911158)));
- assertEquals(6196126992684649000, x += (1233517421));
- assertEquals(1, x /= x);
- assertEquals(-7153809722216516000, x -= (((-2984550787.146106)<<(tmp =
743743974, tmp))*((3155151275)/((-1771412568.8965073)%x))));
- assertEquals(-7153809721471491000, x -= (-745024056));
- assertEquals(5.117699353102001e+37, x *= x);
- assertEquals(0, x >>= x);
- assertEquals(-0, x *= ((-2651785447.666973)<<(-1124902998)));
- assertEquals(-0, x /= (2119202944));
- assertEquals(1042673805.5205957, x -= ((x<<x)-(tmp = 1042673805.5205957,
tmp)));
- assertEquals(62, x >>>= (tmp = 2769597912.977452, tmp));
- assertEquals(34, x &= ((tmp = -61541150, tmp)%(x^(-943160469))));
- assertEquals(34, x ^= ((-2625482224.4605474)<<(-2277806338.3461556)));
- assertEquals(536870912, x <<= ((-2373927426.4757633)^x));
- assertEquals(536870912, x &= x);
- assertEquals(512, x >>>= ((-1626769708.310139)<<((tmp = 641796314,
tmp)/(721629637.3215691))));
- assertEquals(0, x <<= (-113973033));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (-1602711788.2390788));
- assertEquals(NaN, x *= (x%x));
- assertEquals(0, x &= (x<<(x|
(x>>((x>>>(x%((1182960050)^(((-220896609)-((((tmp = 1518275435.360103,
tmp)/(tmp = -88234820, tmp))^x)/x))>>(3169930777.548236)))))-(tmp =
-2912668817.662395, tmp))))));
- assertEquals(0, x *= ((2323969408.7524366)/(((tmp = -3089229853,
tmp)>>>((((tmp = -1012580544.5631487,
tmp)>>(1138049418.9023373))>>x)&x))*(tmp = 626912001, tmp))));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= (x%(-868024322)));
- assertEquals(NaN, x /= (tmp = -1749532322, tmp));
- assertEquals(1861918711, x |= (-2433048585.853014));
- assertEquals(1861918711, x >>=
(((102451747)>>>((((241651917.47259736)/((((((((1759022236)^(tmp =
-2592022722,
tmp))+((-1748044969)>>>(704597925)))/(-1639604842))%((1349846853.7345295)<<(-729695861)))/(x>>((tmp
= -2654474404.7365866, tmp)>>x)))>>>(((-480356478)|(x%((tmp =
-1668269244.6979945, tmp)+(tmp = -2441424458.565183,
tmp))))^((1634981212.7598324)>>>(tmp = 122455570.22000062,
tmp))))<<x))*((tmp = -1058636137.5037816,
tmp)+((2794083757.138838)&((x/(50081370))&x))))/x))/((tmp = -243106636,
tmp)<<((x*((tmp = -648475219.5971704, tmp)>>((tmp = -1568913034, tmp)-((tmp
= 911458615, tmp)|x))))>>>(tmp = 2714767933.920696, tmp)))));
- assertEquals(0, x ^= x);
- assertEquals(-2080484602, x |= (((1544771831.4758213)|x)^(-538113039)));
- assertEquals(696451072, x <<= (tmp = -1587032689, tmp));
- assertEquals(-162595645, x += (tmp = -859046717, tmp));
- assertEquals(516546456, x >>>= x);
- assertEquals(623083588, x += ((-1371850352)^(tmp = -1469933252, tmp)));
- assertEquals(92342412, x %= (tmp = -132685294, tmp));
- assertEquals(500272110, x |= ((tmp = 1616032506, tmp)%((tmp =
1589569590.4269853, tmp)|(-972791738.1829333))));
- assertEquals(3247086, x %= (((tmp = 1372216208, tmp)|
(-638950076.3387425))&((-2619249161.849716)&(73957896))));
- assertEquals(0, x >>>= (tmp = -1482343462.6911879, tmp));
- assertEquals(1265125662, x ^= (tmp = -3029841634, tmp));
- assertEquals(4941897, x >>>= (-2039728632));
- assertEquals(206857, x &= (tmp = 226962365.45571184, tmp));
- assertEquals(1.0925018562586405e+24, x += ((tmp = 2687424146,
tmp)*(((-1998020319)%x)*(-2080331363))));
- assertEquals(-1.755270751212437e+32, x *= (-160665242));
- assertEquals(0, x <<= (3152796521.6427975));
- assertEquals(0, x ^= ((((((tmp = -855001595,
tmp)<<(2007525777))-(x-(x-x)))/(3036585090.9701214))&(1827983388))*((tmp =
-915604789.0515733, tmp)&(((((tmp = -806628722.7820358, tmp)%x)/(tmp =
-2773117447, tmp))|x)<<(((tmp = -2902300974.7300634, tmp)|
x)/(-1608133440))))));
- assertEquals(0, x |= ((((((119024954)*(((x^(tmp = 2939514414, tmp))|
x)^(x-(tmp = -1597415597.6795669, tmp))))+(((tmp = -182277816.14547157,
tmp)<<(((-2983451324.3908825)^(tmp = 1572568307,
tmp))+(-1165604960.8619013)))/(x>>((tmp = -2127699399, tmp)>>((x^(((((tmp =
-1968667383, tmp)^(tmp = 3120052415.9964113, tmp))|(((x|(((x^((tmp =
2831505153, tmp)<<((-3150506831.547093)+((x%(tmp = 383761651,
tmp))%(2856803457)))))+(((tmp = -2426953997, tmp)^(tmp =
-2667954801.1010714, tmp))*(tmp = -2707801631, tmp)))&(tmp =
2082935238.794707, tmp)))^((tmp = 697573323.5349133, tmp)-x))%(tmp =
661936357,
tmp)))/(-1717944600.261446))>>>((2423776015.0968056)^((-1410322010)|
((x<<(tmp = 2935993226, tmp))/(tmp = -1533896392, tmp))))))*(tmp =
-596675330,
tmp))))))>>>(((2944268153)^(x&(144579050.93126357)))/(-2123810677.2619643)))>>>(1473040195.9009588))*x));
- assertEquals(0, x /= (2877666495));
- assertEquals(2174852514, x -= (tmp = -2174852514, tmp));
- assertEquals(543713128, x >>>= x);
- assertEquals(2978128878.939105, x += (tmp = 2434415750.939105, tmp));
- assertEquals(3529591145844655600, x *= (tmp = 1185170719.3753138, tmp));
- assertEquals(659, x >>>= ((((((x<<(((((-425423078)/(((tmp =
160617689.20550323, tmp)&(-1524740325.5003028))%(tmp = -1869426475,
tmp)))<<(((x^(-487449247))>>>(tmp = -1962893666.7754712,
tmp))%x))*x)>>((tmp = 623413085,
tmp)&(x+(((((-2200726309.083274)-(x-x))+x)&(-1304849509))|((((tmp =
-431896184,
tmp)>>>(x>>(-1932126133)))<<((1078543321.2196498)*(-10761352)))>>(tmp =
-2681391737.5003796, tmp)))))))/x)-(tmp = -1768629117, tmp))/(((((tmp =
-2320718566.0664535,
tmp)%x)+(-2831503351.995921))>>>(-2695416841.3578796))*(943979723)))<<x)|
((652520546.7651662)>>(1045534827.6806792))));
- assertEquals(531, x &= (tmp = -293707149, tmp));
- assertEquals(0, x >>= (tmp = -678056747.5701449, tmp));
- assertEquals(1184651529.8021393, x += (tmp = 1184651529.8021393, tmp));
- assertEquals(1721719611, x |= (tmp = 1645413178, tmp));
- assertEquals(-406880257, x |= (tmp = 2268544460, tmp));
- assertEquals(-4194304, x <<= (tmp = -109701322.43455839, tmp));
- assertEquals(17592186044416, x *= x);
- assertEquals(0, x ^= (x&x));
- assertEquals(0, x <<= (tmp = 1715401127, tmp));
- assertEquals(-1793087394, x |= (tmp = -1793087394.730585, tmp));
- assertEquals(-2, x >>= x);
- assertEquals(263607360.10747814, x += (tmp = 263607362.10747814, tmp));
- assertEquals(1073214955, x |= (893759979.3631718));
- assertEquals(703953930, x -= ((2738450011)%(x^(tmp = 679402836, tmp))));
- assertEquals(1, x >>= (tmp = 2262515165.6670284, tmp));
- assertEquals(0, x >>= (((tmp = 747896494, tmp)^((tmp = -1005070319,
tmp)+x))|x));
- assertEquals(0, x >>= ((953612771)>>>(tmp = 3066170923.3875694, tmp)));
- assertEquals(-314941454, x -= (x+(((314941454)%(((tmp =
2200222912.9440064, tmp)>>>(2534128736.805429))>>>(x|((747716234)%(((tmp =
-252254528, tmp)%(-1553513480.1875453))&x)))))<<x)));
- assertEquals(-535686958, x &= (-522809126));
- assertEquals(0.5480312086215239, x /= (tmp = -977475278, tmp));
- assertEquals(-1199953459.6090598, x *=
((-2189571393)+((3186862741.37774)>>(tmp = -2193090564.5026345, tmp))));
- assertEquals(-1199953459.6090598, x %= ((tmp = 2986532440,
tmp)*(2685122845)));
- assertEquals(-1199953459.6090598, x %= (1951182743.7399902));
- assertEquals(51262285383887820, x *= (-42720228));
- assertEquals(-424776752, x |= x);
- assertEquals(166221344210236600, x *= (tmp = -391314598.6158786, tmp));
- assertEquals(-1883425600, x >>= (((tmp = -1020679296,
tmp)^((-1416867718)+(-1412351617)))<<(-2743753169)));
- assertEquals(0, x &= (x/(-2250026610)));
- assertEquals(-1111956501, x ^= (tmp = 3183010795, tmp));
- assertEquals(2012059503, x ^= (tmp = -900369276, tmp));
- assertEquals(15719214, x >>>= (tmp = -3196277049, tmp));
- assertEquals(15719214, x |= x);
- assertEquals(100779035, x -= ((-1245802025)^(-2964289852)));
- assertEquals(0, x >>= x);
- assertEquals(0, x &=
(((x<<((2361941389.708063)%x))>>((328256762.09842086)>>>((((tmp =
3094192285, tmp)-(((x>>(tmp = -2920437464, tmp))<<(tmp = -2693021467,
tmp))-(x>>>((2410065554)%(x%(tmp = 2487056196.689908, tmp))))))-(tmp =
-866314146, tmp))^((1754098471)-((((((-2450740191)-(tmp =
1977885539.6785035, tmp))*((tmp = -1205431332,
tmp)>>>x))>>(-870601854))>>(tmp = -301859264, tmp))|((tmp =
-2308971516.8301244, tmp)/x))))))&((2307007357)-((tmp = -1518812934,
tmp)+(2562270162)))));
- assertEquals(0, x <<= x);
- assertEquals(-1802124619, x |= (-1802124619));
- assertEquals(-1802124619, x %= ((1617132364.306333)+((1678465962.079633)|
((516698570)%(((569813606)*(-1800804098.6270027))%((tmp = 1976706935,
tmp)-((tmp = -1830228989.5488424, tmp)>>(((x^((tmp = 1015246068.3791624,
tmp)>>x))^((-2171682812.246772)-(tmp = -398330350, tmp)))&x))))))));
- assertEquals(904564673.6237984, x -= (tmp = -2706689292.6237984, tmp));
- assertEquals(818237248768128900, x *= x);
- assertEquals(254842325.2585001, x %= (1550087667.9657679));
- assertEquals(-1163919360, x <<= x);
- assertEquals(-3.4644526843674166, x /= ((-446801454)+(x>>>(tmp =
-2025151870, tmp))));
- assertEquals(0, x &= ((((((((-1739617728)&(x&(((tmp =
-2946470036.552597,
tmp)/x)*x)))^(-1130501404))>>>x)/((1870230831)>>>(840301398)))%x)/x)/(-2927537567)));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (x&(x&x)));
- assertEquals(0, x &= ((-579614044)-(-756012505.4048488)));
- assertEquals(-2970367642, x -= (tmp = 2970367642, tmp));
- assertEquals(-415129376, x ^= (tmp = 2847041926.060355, tmp));
- assertEquals(-1505681312, x &= (tmp = -1225184902.9215767, tmp));
- assertEquals(-3174471329.5807734, x += (-1668790017.5807734));
- assertEquals(-Infinity, x /= (x>>x));
- assertEquals(NaN, x -= x);
- assertEquals(0, x ^= (x^(((-1407936301.5682082)<<((x^(((tmp =
3213446217.307076, tmp)|x)|((tmp = 3219810777.3171635, tmp)/(tmp =
1561807400, tmp))))>>>((tmp = 2449910203.0949173, tmp)|
((((1954662538.7453175)>>(tmp = -1711636239.9916713, tmp))>>>(tmp =
406219731.214718, tmp))<<(((-907908634.4609842)^((((((tmp = 2408712345,
tmp)*(tmp = 1740346634.5154347, tmp))>>(tmp = 715783991, tmp))^(tmp =
-655628853.2821262, tmp))%(tmp = 2819143280.434571,
tmp))/(-1240412852)))*x)))))/x)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= (((-3198075268.8543105)>>(((((x+((tmp =
-133461401.50823164, tmp)-((x&(((((tmp = 2617977319, tmp)>>((tmp =
-2704719576.8734636, tmp)|((tmp = -977362542.2423751, tmp)<<(x<<(tmp =
3054487697.1441813, tmp)))))>>>((-1635655471)%x))/(-2079513672))%(tmp =
1993563806, tmp)))<<(tmp = -1310524200.6106496,
tmp))))%((((-2558804500.7722936)+(tmp = -1641265491, tmp))<<((tmp =
-1309608349, tmp)>>>x))/((tmp = -2306644272,
tmp)<<x)))*(-2009396162.3063657))+(267343314.3720045))-(-2212612983.661479)))|
x));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= x);
- assertEquals(-824822309, x |= (-824822309));
- assertEquals(-807944741, x |= (((-598067403)*((x&(tmp = 2897778389,
tmp))>>>(-1322468310.3699632)))|x));
- assertEquals(90004223.44097246, x /= (((tmp = -481122620, tmp)&x)%((tmp
= 1109368524, tmp)/(((-3150568522.633032)<<(tmp = 2923396776,
tmp))^(x-((x/x)&(x/(-287976185.1049104))))))));
- assertEquals(0.4521931751193329, x /= (tmp = 199039323, tmp));
- assertEquals(1.8110466604491368e-10, x /= (2496860986.492693));
- assertEquals(0, x |= x);
- assertEquals(-1225944576, x += ((tmp = -807700791.631221,
tmp)<<((-700782615.4781106)-((((-2954619897)>>>x)<<((tmp = 997657844,
tmp)>>>(1227994596)))/((-1234591654.8495834)*((tmp = -191189053.70693636,
tmp)+(tmp = -3027659304, tmp)))))));
- assertEquals(-1225811383, x |= (-1866233271));
- assertEquals(3069155913, x >>>= (((x/(-99524153.40911508))%(x>>>((((tmp
= 2985975640, tmp)/(tmp = 2781516546.2494454, tmp))&(((2234114508)|
(((x/(tmp = -1224195047, tmp))<<x)^(x>>>((537884375.5698513)+x))))^((tmp =
-2144817497.5089426, tmp)|
(-498079183.8178189))))>>>((x+x)&(-3086080103.6460695)))))<<(((tmp =
2151157136,
tmp)*x)/(((x/x)>>>(-1149734628.4364533))-((3025445835.654089)+(tmp =
530902725.91127443, tmp))))));
- assertEquals(-1733702568, x ^= (tmp = 776361489.423534, tmp));
- assertEquals(8981504, x &= ((tmp = 2902581847, tmp)*(x-(-2697760560))));
- assertEquals(1153166.8526612986, x -= ((x/(tmp = -1375025594.5027463,
tmp))+((3043576689.1538706)%(x+x))));
- assertEquals(3389855, x |= (x+x));
- assertEquals(-488458393.17759943, x += (-491848248.17759943));
- assertEquals(40982867145206920, x *= ((3132857155)|(tmp = -218356553,
tmp)));
- assertEquals(688, x >>= (((((tmp = 403321821, tmp)+((tmp = 2536984658,
tmp)%((tmp = 2759309029.8753624, tmp)|(((tmp = 1994203554.7417293,
tmp)^((704660500.434877)*(tmp = 1536292958.2691746,
tmp)))+(-164139788)))))/((1205950994.1255205)+x))^((((tmp =
975272146.0133443,
tmp)-(150107797))/(-1764309514))^((x>>>(x^(x^x)))+(203250124))))>>>(tmp =
1864959239.512323, tmp)));
- assertEquals(10, x >>= ((tmp = 1631996431.9620514, tmp)>>x));
- assertEquals(10, x %= (tmp = 2678904916, tmp));
- assertEquals(335544320, x <<= (tmp = -2759037415.6811256, tmp));
- assertEquals(-153389967, x |= ((tmp = -2411636565, tmp)+(tmp =
-2305156154, tmp)));
- assertEquals(-1171, x >>= x);
- assertEquals(813080576, x &= (((tmp = -65428547, tmp)&(tmp = 3163266999,
tmp))<<x));
- assertEquals(4346532303, x += ((tmp = -761515569.0707853, tmp)>>>(((tmp
= 143240971.0661509, tmp)<<x)*(x^((tmp = -271697192.8471005, tmp)&x)))));
- assertEquals(-863299035, x ^= ((((2663001827.1492147)>>>((x/(((tmp =
482665912, tmp)-(x>>(tmp = 354425840.784659,
tmp)))>>((-2012932893)>>>x)))/((tmp = -1354385830.6042836,
tmp)>>>(-2149023857))))^((tmp = 585746520, tmp)+(tmp = 756104608,
tmp)))^(517529841.184085)));
- assertEquals(-997654012, x &= (((tmp = -404836025.15326166, tmp)+((tmp =
3035650114.0402126, tmp)<<((-1308209196)>>(tmp = 693748480,
tmp))))<<(((465774671.4458921)<<x)/(1971108057))));
- assertEquals(-320581507110848260, x *= ((x-(tmp = -2266777911.7123194,
tmp))^(tmp = -2810021113.304348, tmp)));
- assertEquals(-320581508271196300, x += ((-1195215841.5355926)|
(x-((2715907107.4276557)+(((-843426980)>>(x&(x%(tmp = -1139279208.34768,
tmp))))^x)))));
- assertEquals(368031616, x &= x);
- assertEquals(368031616, x %= (tmp = 1211767328, tmp));
- assertEquals(-67505614939510744, x *= (tmp = -183423412.56766033, tmp));
- assertEquals(959424552, x >>= ((tmp = -171120122.5083747, tmp)/x));
- assertEquals(30949179.096774194, x /= (((x-((((x&(tmp = -180770090,
tmp))<<(((tmp = -2061363045.419958, tmp)*((655711531)^((1205768703)-(tmp =
2468523718.8679857, tmp))))+(-2746704581)))+((-853685888)*(tmp =
-2299124234, tmp)))|(tmp = 2429502966, tmp)))|
(((-985794986.0232368)>>>(2890862426))%x))>>(tmp = 1005542138.8415397,
tmp)));
- assertEquals(30949179, x |= x);
- assertEquals(30949179, x %= (810126097.6814196));
- assertEquals(120895, x >>= (tmp = 3065886056.1873975, tmp));
- assertEquals(1934320, x <<= (1478650660.7445493));
- assertEquals(0, x >>= (1069658046.2191329));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= (x*x));
- assertEquals(NaN, x *= ((((2148513916)+(tmp = -210070225.85489202,
tmp))>>(975470028))+((-3060642402)>>x)));
- assertEquals(NaN, x *= (2888778384));
- assertEquals(NaN, x -= (294531300.16350067));
- assertEquals(-465620423, x ^= (tmp = -465620423.5891335, tmp));
- assertEquals(1613303808, x &= (-2530649850.1952305));
- assertEquals(2045458658, x |= (tmp = 432158946.5708574, tmp));
- assertEquals(0, x >>>= (2277328255.770018));
- assertEquals(0, x &= (-64904722.41319156));
- assertEquals(0, x >>= x);
- assertEquals(3109394857.361766, x += (3109394857.361766));
- assertEquals(1519021650, x ^= ((tmp = -2632472653, tmp)|(tmp =
2161964921.8225584, tmp)));
- assertEquals(370854, x >>>= ((1486892931.4564312)-((tmp =
3017755741.9547133, tmp)>>>x)));
- assertEquals(1333145110.39802, x -= ((-1051580495.39802)-(tmp =
281193761, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x |= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= x);
- assertEquals(799202788.1455135, x -= (tmp = -799202788.1455135, tmp));
- assertEquals(1539080192, x <<= (x%(((((x-x)|(((((x%(959993901))+(tmp =
-2647575570.092733, tmp))/(tmp = -2040600976.5104427, tmp))*(x*(tmp =
2785252760, tmp)))>>(-377867259)))/((x&(1549738240.013423))>>>(tmp =
-1502185618, tmp)))*x)%(1159283801.0002391))));
- assertEquals(0, x >>= (-268660225));
- assertEquals(-0, x /= (-2795206270.635887));
- assertEquals(0, x >>>= (1869556260.2489955));
- assertEquals(64202212, x ^= ((((tmp = -942983515.5386059,
tmp)*(((1057759788)-x)*(tmp = 2038041858, tmp)))>>x)+(tmp = 64202212,
tmp)));
- assertEquals(2021126977, x -= ((tmp = -2009912898,
tmp)^((2240062309)%x)));
- assertEquals(4332348265459724000, x *= (tmp = 2143530968, tmp));
- assertEquals(1472, x >>>= ((283380755)<<x));
- assertEquals(-1672370407872, x *= (tmp = -1136121201, tmp));
- assertEquals(338573318, x ^= (tmp = 2329579078.4832354, tmp));
- assertEquals(2377388772.1662374, x -= (tmp = -2038815454.1662374, tmp));
- assertEquals(-1.264761712403516, x /= ((((tmp = -2106209534,
tmp)>>((((((tmp = 626190172,
tmp)/x)>>>(-824270996.8545206))/((1258369810.9498723)-(tmp = -2947556209,
tmp)))^((((366784589.24711144)|
(1462064104.828938))-(1571045395.777879))<<(444685689.60103726)))>>(tmp =
-2757110357.410516, tmp)))/(x>>>((tmp = 829226010, tmp)>>>(629512715))))|
x));
- assertEquals(-2905481691.264762, x -= (2905481690));
- assertEquals(-1710543566.1481905, x -= (-1194938125.1165714));
- assertEquals(-3421087132.296381, x += x);
- assertEquals(-884178944, x <<= ((-1820881235)|x));
- assertEquals(-884178944, x &= (x%(tmp = -2298828530, tmp)));
- assertEquals(1516503040, x <<= ((tmp = -3039882653, tmp)+((tmp =
1956034508, tmp)<<(x>>(tmp = 280388051, tmp)))));
- assertEquals(3033006080, x += x);
- assertEquals(846431222.321887, x %= (x+(-1939718651.1609435)));
- assertEquals(-846431224, x ^= ((-1742116766.54132)/x));
- assertEquals(1157918728, x &= (tmp = 1966568030, tmp));
- assertEquals(1157918728, x >>>= ((((((tmp = -2392096728.184257,
tmp)*(x&(-3051259597.301086)))>>>(((tmp = 1712991918.071982, tmp)*(tmp =
-714525951,
tmp))-((-1784801647)>>((-1270567991)%(((214272558)/(((-3110194570)|(tmp =
2558910020, tmp))&(-1266294955.717899)))*((2654922400.609189)>>>(tmp =
370485018, tmp)))))))*(((tmp = -2621203138.1838865, tmp)%(858913517))*((tmp
= -1564229442.2596471, tmp)>>((tmp = 1898557618, tmp)|
(-1282356275)))))*(tmp = -1253508468, tmp))+((-361964404.75944185)|x)));
- assertEquals(961668975, x += (-196249753));
- assertEquals(1, x >>= (tmp = 890453053, tmp));
- assertEquals(1, x >>= (((((tmp = 871309275, tmp)/(x>>>((tmp =
2033022083, tmp)&(tmp = -1393761939, tmp))))%((437488665.104565)^(tmp =
2808776860.4572067, tmp)))-((tmp = -359283111.49483967, tmp)<<((tmp =
2985855945, tmp)%(tmp = -596479825.9114966, tmp))))/(-1965528507)));
- assertEquals(0, x >>= ((tmp = -1753776989, tmp)%(tmp = 322622654, tmp)));
- assertEquals(84411424, x ^= (((x|(x|(tmp = -1617122265, tmp)))&(tmp =
-313813263, tmp))&(1472888112.0258927)));
- assertEquals(67633184, x &=
((1556833131.0776267)<<(x<<(1501219716.5575724))));
- assertEquals(68002293, x |= (((tmp = 188984203.0350548, tmp)>>>(tmp =
1356052777, tmp))%(x*(tmp = -2944960865, tmp))));
- assertEquals(67108864, x &=
(((1046644783.9042064)<<x)+((-2796345632)>>>(((-1913290350.3687286)<<(((((tmp
= -2223692353, tmp)>>x)&(x<<(x>>((((tmp = -976850020, tmp)%(tmp =
1379692507, tmp))>>>(1120103052.2077985))>>(tmp = 5592070.612784743,
tmp)))))<<(x+((tmp = -3154037212.9764376,
tmp)%(((x-(-1961060483.6965141))+(((1920670676)-(2852444470.7530622))/(((1445954602)>>((1353665887)>>(tmp
= 111411560.64111042,
tmp)))<<x)))+x))))<<((-1773130852.6651905)^((1216129132)>>(1511187313.2680469)))))|
((tmp = -1107142147, tmp)|(tmp = -768165441.4956136, tmp))))));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (tmp = -1655707538.0778136, tmp));
- assertEquals(-184120712930843900, x += (x+((tmp = -3174410166,
tmp)+((tmp = -301807453, tmp)*(tmp = 610060182.1666535, tmp)))));
- assertEquals(-54598560, x >>= (-1365351357));
- assertEquals(-6763.94449950446, x /=
(((-1953016847)<<((673287269.7002038)%(-558739761)))>>>(tmp = 1607754129,
tmp)));
- assertEquals(-1, x >>= x);
- assertEquals(1, x >>>= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= ((-384747983)+((((tmp = -949058352.381772,
tmp)>>>(-1920744986))-(-882729639))^((x^((tmp = 2351364046, tmp)<<(((tmp =
-3110165747, tmp)^(-1266489735))-((tmp = -371614326, tmp)>>((tmp =
-2064968414, tmp)&(-2075036504.617934))))))&(((-2616501739)&(tmp =
2591437335.4029164, tmp))>>x)))));
- assertEquals(0, x >>>= ((tmp = 2946468282, tmp)&((-2741453019)>>x)));
- assertEquals(0, x -= ((x%(-134700915))&(-1955768279)));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= (x^(((((((tmp = 3185669685.772061, tmp)>>(tmp =
-1973500738, tmp))-(tmp = -87401348.93002152, tmp))>>(tmp = -2813508730,
tmp))&(tmp = -778957225, tmp))<<(x-(x&((-2821756608)+(((((tmp = 2475456548,
tmp)/(tmp = 997998362, tmp))<<((tmp = -83043634, tmp)|x))%(636120329))%(tmp
= -1910213427.7556462, tmp))))))%x)));
- assertEquals(0, x &= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= (x%x));
- assertEquals(0, x %= (745221113));
- assertEquals(0, x >>>= ((1467615554.7672596)|x));
- assertEquals(0, x /= (tmp = 735317995, tmp));
- assertEquals(-1513001460, x |= (2781965836));
- assertEquals(-1513001460, x |= (x%(1970577124.3780568)));
- assertEquals(-0, x %= x);
- assertEquals(1864972269, x ^= (-2429995027.840316));
- assertEquals(1226843341, x &= (tmp = -639621923.5135081, tmp));
- assertEquals(1226843339.3171186, x +=
((1297620268.272113)/(-771070549)));
- assertEquals(76677708, x >>>= (1009134980));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= x);
- assertEquals(716040787, x |= ((1851586229)-(1135545441.3502865)));
- assertEquals(1385693184, x <<= x);
- assertEquals(1321, x >>= (x^((tmp = -1576632297.0860603,
tmp)>>>(405218605))));
- assertEquals(-1319012931, x |= (-1319014243));
- assertEquals(-1319012931, x >>=
((((1689898279.3580785)<<((((x^(x>>>((((tmp = 2635260332, tmp)*(tmp =
2053357650,
tmp))*x)*(2856480122.339903))))>>x)&(-2382703000.077593))%(1183918594)))*(tmp
= -1670081449, tmp))<<x));
- assertEquals(-528327581.7646315, x %= (tmp = -790685349.2353685, tmp));
- assertEquals(2073431790, x ^= (tmp = 2601800333, tmp));
- assertEquals(-6514722684180, x -= (((tmp = 824141806.0668694,
tmp)>>>(((-1865885282.8723454)&(x&(x|
((900188006.3757659)>>>(x&x)))))+(2227126244.0526423)))*x));
- assertEquals(1450593, x >>>= ((2157053647)>>(x+(-2934071355.418474))));
- assertEquals(576782336, x <<= ((1054640368.827202)&((tmp =
-3182236876.434615, tmp)>>(tmp = 2129856634.0328193, tmp))));
- assertEquals(2950754326, x -= (tmp = -2373971990, tmp));
- assertEquals(738197504, x <<= (1188157369.5988827));
- assertEquals(0, x <<= (x+((tmp = -839533141, tmp)&((((((tmp =
-1148768474.7306862, tmp)|(172650299))+(tmp = -2739838654,
tmp))/(3132557129))%x)>>>(tmp = -1229961746.2466633, tmp)))));
- assertEquals(0, x %= (tmp = -2974207636, tmp));
- assertEquals(0, x %= ((2323482163)>>>x));
- assertEquals(0, x &= (((x/(x+(x>>((tmp = 55935149, tmp)%x))))|
((3109182235)>>>(tmp = 1217127738.8831062, tmp)))+((((tmp = -385114910,
tmp)*((((((tmp = -2535158574.634239,
tmp)&(x+x))<<(-2821692922.43476))&(-776804130.9457026))>>((-1374832535)^(tmp
= 2175402162.701251, tmp)))%(-1646995095)))-(x*(tmp = -921556123,
tmp)))^(79224621))));
- assertEquals(128935435, x |= ((tmp = 2279459038, tmp)%(tmp =
-537630900.5271742, tmp)));
- assertEquals(128935435, x /=
((((((x<<(2750024311))-((-1332480769.4784315)&(1418160003)))&(1551783357))<<(((((-2870460218.55027)|
((-1958752193.7746758)&(2551525625)))>>>((((tmp = -1698256471,
tmp)^(((((((((tmp = -830799466, tmp)+x)-(-111590590))+(tmp =
-1105568112.3921182, tmp))/((tmp = -3058577907, tmp)|
(((-1944923240.2965696)%(-2884545285))<<(tmp = -1993196044.1645615,
tmp))))^(x>>(tmp = -2961488181.3795304, tmp)))&x)*x)|(((tmp =
97259132.88922262, tmp)<<((1601451019.343733)&x))*(x|
x))))+((((x>>x)<<x)+(-868409202.2512136))/(((tmp = -2893170791, tmp)-((x|
(-853641616))%(((tmp = 549313922, tmp)&(-768036601.6759064))%(tmp =
-543862220.9338839, tmp))))-((tmp = 1639851636,
tmp)+((2164412959)/(-273028039.941242))))))>>>((((-2382311775.753495)^(-2062191030.2406163))>>>(tmp
= -1054563031,
tmp))/(-862111938.7009578))))%x)+(-3103170117.625942)))%((tmp =
-1144062234, tmp)>>x))>>>(tmp = 1216332814.00042, tmp)));
- assertEquals(41.631074722901715, x /= (x&(-2542806180.962227)));
- assertEquals(41.631074722901715, x %= (-14003386.556780577));
- assertEquals(8, x &= (x&((-2231622948)%(tmp = 488279963.9445952, tmp))));
- assertEquals(9.002961614252625e-9, x /=
((53802728.56204891)<<(((867697152.3709695)-(538719895.5707034))&(-631307825.4491808))));
- assertEquals(0, x >>= x);
- assertEquals(-0, x *= (tmp = -785674989, tmp));
- assertEquals(-0, x += x);
- assertEquals(0, x /= (-250703244));
- assertEquals(0, x <<= ((tmp = -661062581.5511999, tmp)|x));
- assertEquals(0, x &= (-1299482308));
- assertEquals(0, x &= ((-399690060)>>>(2448074202.385213)));
- assertEquals(0, x &= (2574341201));
- assertEquals(0, x <<= ((x|(((tmp = 2458873162.645012, tmp)+(tmp =
-1999705422.8188977, tmp))<<((x^(tmp = -392530472, tmp))>>>x)))&(((tmp =
2463000826.7781224, tmp)|(tmp = 3020656037, tmp))-x)));
- assertEquals(1397603760, x += ((tmp = -1359413071, tmp)-(tmp =
-2757016831, tmp)));
- assertEquals(513823851, x -= (883779909));
- assertEquals(-1765712747, x ^= (2288060670.6797976));
- assertEquals(3117741504918286000, x *= x);
- assertEquals(3117741506284045300, x += (1365759456));
- assertEquals(6035555595.597267, x /= (tmp = 516562470, tmp));
- assertEquals(104203275, x &= (tmp = 376835755.32434213, tmp));
- assertEquals(10858322520725624, x *= x);
- assertEquals(59458951, x >>>= (153765028));
- assertEquals(49370856, x += ((tmp = -1291276092, tmp)>>x));
- assertEquals(0, x %= x);
- assertEquals(0, x += x);
- assertEquals(-1494589645, x -= (1494589645));
- assertEquals(-0, x %= x);
- assertEquals(0, x <<= (x&((2730708043.467806)<<x)));
- assertEquals(0, x /= ((tmp = -1483912394.153527, tmp)>>>((tmp =
1800568769, tmp)^((((((tmp = 1351568510, tmp)>>(tmp = -1337992543.2562337,
tmp))>>>(tmp = 2602239360.40513, tmp))*x)%x)+(-2095840128.0700707)))));
- assertEquals(-0, x /= ((2363946613)^(tmp = -2227868069, tmp)));
- assertEquals(0, x &= ((((2634933507)<<(2798775374.140882))>>>x)>>>(((tmp
= 1135200853.6396222, tmp)-(tmp = -1529829490.7007523, tmp))-(((((((((x^((x|
(2135742668.591568))-(924230444.8390535)))%(tmp = -2459525610.51898,
tmp))+(x&((tmp = 1177231743.809653, tmp)/(tmp = 1743270357.2735395, tmp))))|
(((tmp = -1894305017, tmp)^((tmp = 1791704240,
tmp)&x))%(-1569751461)))>>>(tmp = -2078321944, tmp))|x)*(((x*(tmp =
-163239354, tmp))<<((tmp = 2859087562.694203,
tmp)&(-657988325.9410558)))^(2508013840)))-((-243572350)+(x%((-1095206140)+((tmp
= 3213566608.942816, tmp)*((2256442613)%((tmp = 1723751298,
tmp)^(x-((-1145710681.2693722)|x)))))))))+(1556870627)))));
- assertEquals(130883024.97423434, x -= (-130883024.97423434));
- assertEquals(0.046720352789736276, x /= (tmp = 2801413456, tmp));
- assertEquals(1806558189, x |= (tmp = 1806558189.157823, tmp));
- assertEquals(72.40475060062144, x /=
(x%((1932591076.531628)>>(1982030182))));
- assertEquals(-1077558321.5975945, x += (tmp = -1077558394.002345, tmp));
- assertEquals(98187, x >>>= x);
- assertEquals(97792, x &= (tmp = -1032487404, tmp));
- assertEquals(709197609, x |= (x^(709179177)));
- assertEquals(11081212, x >>>= (tmp = 1412940006.169063, tmp));
- assertEquals(11081212, x &= x);
- assertEquals(-1920311203, x -= ((tmp = 1931392415, tmp)<<((x%(tmp =
-2873576383, tmp))%x)));
- assertEquals(-1920311203, x |= (x&(-993884718.2172024)));
- assertEquals(-4, x >>= (1409411613.0051966));
- assertEquals(-7947632484, x *=
((-2856731734)^((-1181032235.9132767)-((tmp = 780101930, tmp)+((tmp =
-1732707132.6253016, tmp)^x)))));
- assertEquals(-2016362769, x ^= (tmp = 2711125619.2455907, tmp));
- assertEquals(-61535, x >>= x);
- assertEquals(-124771649, x ^= (tmp = 124726558, tmp));
- assertEquals(-1, x >>= x);
- assertEquals(-0, x %= (x*x));
- assertEquals(0, x <<= x);
- assertEquals(0, x /= (2444628112));
- assertEquals(0, x <<= ((-38968517.72504854)<<x));
- assertEquals(-1504619917, x |= (tmp = 2790347379, tmp));
- assertEquals(-1504619917, x &= x);
- assertEquals(2790347379, x >>>= ((1825218368)<<(-1843582593.2843356)));
- assertEquals(7786038495492170000, x *= x);
- assertEquals(-11011696, x |= (((tmp = 2931644407.4936504,
tmp)-(3077095016.001658))%(tmp = -1731851949, tmp)));
- assertEquals(-107866, x %= ((-697845074.1661191)>>(772708134)));
- assertEquals(356779149, x ^= (-356884949.503757));
- assertEquals(0, x %= x);
- assertEquals(0, x *= ((tmp = 1542291783, tmp)^x));
- assertEquals(0, x += ((tmp = 1105314644.002441, tmp)&x));
- assertEquals(-1005882993, x ^= (-1005882993.0899806));
- assertEquals(-1301065066, x += (tmp = -295182073, tmp));
- assertEquals(-1454702592, x <<=
((-2440858737.390277)&(-1363565201.7888322)));
- assertEquals(-201539012492525570, x *= ((((tmp = -1416268089, tmp)|
x)-(tmp = 1669129769, tmp))&(x<<((x/(-2614041678.7423654))%x))));
- assertEquals(-2.1995276811535986e+25, x *= (x/(-1846667987.154371)));
- assertEquals(0, x |= ((x*(((x>>>((tmp = 1044173034, tmp)>>>((x<<((tmp =
-2906412863, tmp)%((tmp = -437401503, tmp)<<(((((x|(2167319070))<<((tmp =
2766179640.1840167, tmp)&(-2372076054)))*(tmp = -241617431.06416297,
tmp))*((((((tmp = 2570465382.5574293,
tmp)>>>(x/((-2851324509.354545)%x)))>>(((x+((tmp = -614687945,
tmp)^x))^((((tmp = 1653437743, tmp)>>x)/(tmp = 3072995069,
tmp))>>x))*(((((-290508242)>>((tmp = 2969511554, tmp)<<(tmp =
158176292.95642304, tmp)))<<(32376015))+(tmp = 2391895870.4562025,
tmp))*x)))&((((x/(tmp = 365292078.53605413, tmp))>>x)/(1167322811.0008812))|
(((tmp = 2487970377.365221, tmp)^x)<<((tmp = 2342607988.711308,
tmp)/(((2276081555.340126)-(((tmp = -2571071930, tmp)>>(tmp =
-248468735.76550984, tmp))>>>(tmp = -2862254985.608489,
tmp)))^(-1312017395))))))<<x)&(2762717852.949236)))+((((-2492896493)&x)<<(-2756272781.4642315))/x)))))*(2405395452))))>>((-1433975206)/((tmp
= -2064757738.6740267, tmp)<<((((tmp = -1563531255,
tmp)-(-589277532.2110934))<<x)^(2249328237.0923448)))))-x))-(-225624231)));
- assertEquals(0, x *= (tmp = 1657982666.2188392, tmp));
- assertEquals(86443387, x |= (tmp = 86443387.25165462, tmp));
- assertEquals(86443387, x %= (-1341731981.702294));
- assertEquals(172886774, x <<= ((-1799840391)&(1011948481.310498)));
- assertEquals(-1115684864, x <<= x);
- assertEquals(-2098253702059525600, x *= (1880686715.1865616));
- assertEquals(-2098253700213206300, x -= (tmp = -1846319435.0583687,
tmp));
- assertEquals(570692096, x &= (((tmp = -1572055366.64332, tmp)%(tmp =
1720120910, tmp))%((x-(912386952.5959761))*(tmp = -1146251719.4027123,
tmp))));
- assertEquals(603979776, x <<= ((-329752233.8144052)&(tmp = -368636559,
tmp)));
- assertEquals(603979776, x <<= x);
- assertEquals(364791569817010200, x *= x);
- assertEquals(0, x &= ((2074587775.983799)/(tmp = 438856632.76449287,
tmp)));
- assertEquals(0, x &= (((1509671758)*(tmp = -935801537.7325008,
tmp))>>>(((tmp = -1752877566, tmp)<<x)%(tmp = -517163766, tmp))));
- assertEquals(-2031730599, x ^= ((2264285273)&(tmp = -1762662949.014101,
tmp)));
- assertEquals(-843578945, x %= (-1188151654));
- assertEquals(-2147483648, x <<= x);
- assertEquals(-2147483648, x >>= (tmp = -3165079200.229641, tmp));
- assertEquals(-44086313.1323726, x %=
((x%(-254466243.48728585))-((x>>(-457411829.1063688))-((-2606923436.9333453)/x))));
- assertEquals(-44086313, x |= x);
- assertEquals(1037812, x >>>= ((tmp = 342497258.9786743,
tmp)+(1652928385.8150895)));
- assertEquals(-2371695599678100, x *= (tmp = -2285284425, tmp));
- assertEquals(-2371697387004653, x += (tmp = -1787326553.0542095, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= ((x^(tmp = 544039787, tmp))>>>x));
- assertEquals(0, x &= ((x%(((((((tmp = -424572417.1088555, tmp)|
(-2381863189))/(tmp = -2007482475.1809125, tmp))&(((((tmp = 311016073,
tmp)>>(tmp = -1548839845,
tmp))+((-2557740399.7947464)<<(2399113209)))&x)>>>x))%(-297180308.7721617))-(tmp
= 860906293, tmp))^x))%(-2740622304)));
- assertEquals(4971841192462909000, x += ((tmp = -2723203837.572612,
tmp)+((((-2909100706)+(-951999374))|(-3116735764))*(3087123539.422669))));
- assertEquals(-460, x >>= (1081807537.557404));
- assertEquals(2354165127.3906384, x += (tmp = 2354165587.3906384, tmp));
- assertEquals(357.8680960002211, x /= ((((x<<(((x&x)+(1113841407))|
((x/(tmp = 384533564, tmp))>>>(-605853882))))%x)&((tmp = 2050375842,
tmp)>>>x))>>(((2745147573)^x)<<(x-(900043292)))));
- assertEquals(0, x *= (x>>>(-295974954.5058532)));
- assertEquals(0, x *= ((-2448592125.815531)*(tmp = -94957474.8986013,
tmp)));
- assertEquals(0, x &= ((x>>x)^(tmp = -1335129180, tmp)));
- assertEquals(395092065, x |= ((3081659156)^(tmp = -1608334475, tmp)));
- assertEquals(395092065, x &= x);
- assertEquals(-413337639, x += (x^(tmp = -664996071.3641524, tmp)));
- assertEquals(-1604423637896759800, x *= (x>>>(tmp = 1242912352.955432,
tmp)));
- assertEquals(0, x &= ((((((tmp = 651293313, tmp)|
(((2541604468.635497)>>>(tmp = 758815817.7145422,
tmp))>>>((-1948795647)/x)))&x)/((tmp = -3161497100,
tmp)+(782910972.3648237)))>>>x)%(834206255.5560443)));
- assertEquals(0, x >>>= (tmp = 125945571, tmp));
- assertEquals(NaN, x -= (x%x));
- assertEquals(NaN, x %= (tmp = 282259853, tmp));
- assertEquals(NaN, x += (tmp = -2081332383, tmp));
- assertEquals(0, x >>>= (((x>>(-2298589097.7522116))|((((x>>>(x-(tmp =
755218194, tmp)))|x)%x)-(tmp = 2206031927, tmp)))>>>((((x&(x-x))^(tmp =
2836686653, tmp))*((x<<(tmp = -1624140906.4099245, tmp))>>>((2942895486)|
((x>>>x)>>>(-1586571476)))))|((781668993)+(-1857786909)))));
- assertEquals(0, x &= (tmp = -708084218.9248881, tmp));
- assertEquals(0, x %= (1645913394.5625715));
- assertEquals(0, x <<= ((x^((tmp = 1185413900,
tmp)*((-2441179733.997965)*(tmp = 2554099020.066989,
tmp))))%((1704286567.29923)/x)));
- assertEquals(0, x += x);
- assertEquals(0, x *= x);
- assertEquals(0, x |= (x>>>(139138112.141927)));
- assertEquals(0, x >>>= (tmp = 2142326564, tmp));
- assertEquals(0, x |= x);
- assertEquals(-0, x /= ((((x+(2817799428))|
x)%((1050079768)-(x>>>((1452893834.8981247)|((((tmp = -1737187310.889149,
tmp)/(tmp = -362842139, tmp))%(1234225406))%(((x|
x)*((-1055695643.739629)-((x-x)*(945954197.676585))))-(tmp =
786185315.346615, tmp)))))))<<(-173891691)));
- assertEquals(0, x &= (-2842855092.319309));
- assertEquals(0, x &= ((-3188403836.570895)/x));
- assertEquals(0, x *= (x+x));
- assertEquals(NaN, x /= (x>>>(((tmp = 391037497.68871593,
tmp)/((192754032)*(1382659402.5745282)))/((((-2187364928)>>>x)>>(tmp =
2563448665.7594023, tmp))^(tmp = 1500866009.7632217, tmp)))));
- assertEquals(NaN, x /= ((tmp = -935036555.2500343, tmp)-(x/(((x&(x^(tmp
= -3001352832.5034075, tmp)))^x)/((1122547613)>>x)))));
- assertEquals(0, x >>= (tmp = -2951766379.0809536, tmp));
- assertEquals(-632945188, x ^= (-632945188.7188203));
- assertEquals(-632945188, x %= ((((((tmp = -3181527314.82724,
tmp)&(2280175415))>>(x^(x|x)))^(tmp = -524233678.52970886, tmp))*x)|((tmp =
1782882786, tmp)>>>(tmp = -592607219, tmp))));
- assertEquals(404189184, x <<= ((tmp = -2761472127,
tmp)^(36616299.88780403)));
- assertEquals(872651572, x ^= (tmp = 739568436.6252247, tmp));
- assertEquals(13, x >>>= ((tmp = -1033843418.865577,
tmp)%(x%(1247263629.0445533))));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= (3189175317));
- assertEquals(0, x &= (((2391973519.6142406)^((-2950058736.191456)|
(x*x)))>>(tmp = 343822384.294345, tmp)));
- assertEquals(0, x >>>= (tmp = -2306246544, tmp));
- assertEquals(-1572339598, x ^= ((tmp = 2991380083.337327, tmp)&(tmp =
-1361507970, tmp)));
- assertEquals(649, x >>>=
((1961407923.4950056)>>(x-(-872821523.7513013))));
- assertEquals(649, x ^= (((x&(tmp = -702931788, tmp))^(((x>>x)|(((tmp =
2710759269, tmp)/(x>>(x*((((((tmp = -2428445134.9555864,
tmp)+(-1859938743))%(x<<x))*((236868604)+((tmp = -3066688385,
tmp)/(787503572.8839133))))/(tmp = 3215629315,
tmp))>>(-1315823020)))))%(1461368627.1293125)))>>>(tmp =
-2921804417.5735087, tmp)))/(x>>>(((tmp = 2175260691.824617,
tmp)/((-582958935.7628009)-((((((x>>x)|(2590503723.4810824))^(tmp =
-1994324549, tmp))-(-684683327))/(tmp = -3133419531, tmp))|(tmp =
-328974092.05095506, tmp))))>>(-447624639.4518213)))));
- assertEquals(649, x %= ((((1854382717)|(((x+(tmp = 2568081234,
tmp))-x)+((tmp = 1043086140, tmp)<<((tmp = 2979118595.0496006,
tmp)+((x&(2669577199.852803))/(-2567808445.101112))))))<<((((tmp =
-1471092047, tmp)&((-3099138855.21041)-((tmp = -798574377.526715,
tmp)&((2255586141)<<(-1069867774)))))>>>(((x*(tmp = -2810255707.781517,
tmp))/x)*(2706435744.054121)))^(394262253)))^((844325548.0612085)/(tmp =
1434691648, tmp))));
- assertEquals(823215943.1924392, x += (tmp = 823215294.1924392, tmp));
- assertEquals(536872706, x &= ((-334612686)%((1303605874)|x)));
- assertEquals(-30666374.413486242, x += ((tmp = -567539080.4134862,
tmp)%(tmp = -1655555936.3195171, tmp)));
- assertEquals(-56438727096752984, x *= (tmp = 1840410814, tmp));
- assertEquals(-33200107.984488487, x %= (((tmp = 3007206509,
tmp)-(3079337725.6659536))%(1819565202.5011497)));
- assertEquals(-1214493182, x ^= (-3060193769));
- assertEquals(-1214493179.1335113, x -=
((-3218099496.595745)/(1122662554)));
- assertEquals(-1214493179, x >>= ((-375364195)<<(((tmp =
619439637.8754326, tmp)>>(-1830023279.9486575))&(tmp = -1106180387.2448823,
tmp))));
- assertEquals(-303623295, x >>= (-2109241374.3349872));
- assertEquals(-0, x %= x);
- assertEquals(0, x |= x);
- assertEquals(1917126206, x -= (-1917126206));
- assertEquals(2659779928, x -= (tmp = -742653722, tmp));
- assertEquals(-1635187368, x >>= ((tmp = -674385169,
tmp)*((9848362.783326745)|(x*(55220544.00989556)))));
- assertEquals(-1981113695, x ^= ((tmp = 392404985,
tmp)>>(((x<<((2006207061)<<(tmp = 2558988218, tmp)))*((((tmp =
1789304307.1153054, tmp)/(2538061546))<<(tmp = 556026116, tmp))&((tmp =
1076457999.6424632, tmp)*(tmp = -1822378633.2489474,
tmp))))%(((((-1117046924)&((-69013651)%(x&(((-2320327696)/(x&x))-(tmp =
2458222544, tmp)))))>>((-3092360983.0037227)/(-3171415636)))*(((tmp =
2520431213, tmp)<<(1066492762.6149663))+((tmp = 1272200889,
tmp)^((1687693123.2295754)+x))))-(-1096823395)))));
- assertEquals(-990556848, x >>= x);
- assertEquals(981202869119695100, x *= x);
- assertEquals(981202869119695100, x -= (x/x));
- assertEquals(0, x ^= (x>>x));
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x *=
((((2980512718)>>>x)<<((x^(-1111233869))>>((2531466092.6036797)>>>(((tmp =
-1791229364, tmp)*(-2210950307.206208))%((tmp = -806645443,
tmp)<<((((((((tmp = 112334634.26187229, tmp)%(x|
((((2154021796.1166573)+x)&((-1047293079.9686966)^(tmp = -1894127139,
tmp)))+(tmp = 1910946653.2314827,
tmp))))^(293142672.5016146))-x)<<(-1593533039.8718698))+x)>>(x<<(((46359706.50393462)&(tmp
= 272146661, tmp))|(tmp = 2117690168, tmp))))%(tmp = -1784737092.4924843,
tmp)))))))-(1465796246)));
- assertEquals(0, x &= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (x+(-1612418456)));
- assertEquals(0, x &= ((tmp = -843964311, tmp)/x));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x *= x);
- assertEquals(NaN, x += (x>>>(54020240)));
- assertEquals(489206868, x |= (489206868));
- assertEquals(489206868, x &= x);
- assertEquals(489206848, x &= ((tmp = -1699133906.2361684, tmp)>>(tmp =
2658633814, tmp)));
- assertEquals(489206848, x |= x);
- assertEquals(1910559006, x -= (tmp = -1421352158, tmp));
- assertEquals(1, x >>= x);
- assertEquals(0, x -= x);
- assertEquals(0, x %= (x^(tmp = 2745376003.2927403, tmp)));
- assertEquals(0, x %= (((tmp = 3199743302.1063356,
tmp)^((-1905944176)&(x>>>(187247029.5209098))))<<((x*((-1394648387)*(1252234289)))-(3140049815))));
- assertEquals(0, x <<= (-2567872355));
- assertEquals(0, x %= (tmp = 1057707555.8604916, tmp));
- assertEquals(0, x %= ((tmp = -1877857405.0228279, tmp)>>>(((tmp =
423831184, tmp)*((tmp = -2106757468.324615, tmp)%(tmp =
-1197717524.6540637, tmp)))>>(tmp = -93746263.46774769, tmp))));
- assertEquals(0, x |= x);
- assertEquals(-0, x *= ((tmp = 1317609776.6323466, tmp)*(tmp =
-26959885.89325118, tmp)));
- assertEquals(0, x >>= (-1288116122.0091262));
- assertEquals(0, x &= ((370818172.92511404)%((tmp = -528319853.54781747,
tmp)*(x/((tmp = -2839758076, tmp)^(x+(((-1258213460.041857)<<(tmp =
302017800.72064054, tmp))|((((tmp = -624254210, tmp)^((-338165065.97507)|
((623392964)-x)))>>>x)%(tmp = 2767629843.0643625, tmp)))))))));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x |= ((-2001549164.1988192)*x));
- assertEquals(0, x -= x);
- assertEquals(0, x *= (((((165836842.14390492)*(tmp = -3220002961, tmp))|
(-2840620221.747431))%((x/(tmp = 3153915610, tmp))>>>(tmp = 2018941558,
tmp)))>>>x));
- assertEquals(-0, x *= (-231994402.93764925));
- assertEquals(0, x <<= x);
- assertEquals(0, x %= (tmp = 2702385056.1149964, tmp));
- assertEquals(0, x <<= (tmp = 378459323, tmp));
- assertEquals(0, x >>>= ((x&(x&(((-1014963013)<<(x&((tmp = -3110294840,
tmp)|(x+(x<<(1129643420))))))+(1093795819.1853619))))+((((tmp =
-2295103369.697398,
tmp)&(((370501313.43019223)>>>(2465439579))/x))-x)>>x)));
- assertEquals(0, x /= ((tmp = 1779625847, tmp)+(tmp = -662459654.6908865,
tmp)));
- assertEquals(0, x -= x);
- assertEquals(0, x %= ((tmp = 2723291421, tmp)|(277246502.4027958)));
- assertEquals(0, x ^= (((-2936270162)>>>((((tmp = -2019015609.1648235,
tmp)|(47218153))*(-823685284))+x))&(x<<(x*(x|(((tmp = -941955398, tmp)^(tmp
= -2365238993.5300865, tmp))-(778674685)))))));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (-175235975.8858137));
- assertEquals(-2684493800.1062117, x += (tmp = -2684493800.1062117, tmp));
- assertEquals(-1290806265.6063132, x -= (-1393687534.4998984));
- assertEquals(-1290806265, x >>= (((x>>(tmp = -1710112056.4935386,
tmp))*(586227650.2860553))<<(tmp = -2918251533.6052856, tmp)));
- assertEquals(23470008, x >>>= x);
- assertEquals(1668734969, x |= ((-295560682.9663689)^(x|((((tmp =
-1183847364, tmp)&(3135327694))+(1679127747.1406744))-((-1895825528)%((tmp
= -3180115006, tmp)+((tmp = 2373812187, tmp)|x)))))));
- assertEquals(1744306169, x |= (1188503928.5009093));
- assertEquals(1744306169, x %= (tmp = -2723982401.4997177, tmp));
- assertEquals(3488612338, x += x);
- assertEquals(3488612337, x += (((x/(-325849204))>>x)|
(-1820624550.9149108)));
- assertEquals(-1511119305, x ^= (tmp = 1778506182.2952862, tmp));
- assertEquals(-12211415, x %= (x^(tmp = -54943035, tmp)));
- assertEquals(-12211415, x %= ((-1267051884)%(-643566443.0122576)));
- assertEquals(-30.84976063258681, x /=
(((1052047194)>>>x)&(1495698235.5117269)));
- assertEquals(-61.69952126517362, x += x);
- assertEquals(-244, x <<= (x^(x+(tmp = -2822258210.076373, tmp))));
- assertEquals(-6652, x &= ((tmp = 2593685093,
tmp)>>((((2047688852.4609032)<<((x*(-611076291))*x))^(-2665364024.817528))>>>(165267874))));
- assertEquals(0, x -= x);
- assertEquals(0, x /= (2454186758));
- assertEquals(0, x &= (tmp = -2226895206, tmp));
- assertEquals(0, x += x);
- assertEquals(-21390701, x += ((-1369004846.0816503)>>(tmp =
-2661552634.039692, tmp)));
- assertEquals(-0.012568536912921919, x /= (1701924507.856429));
- assertEquals(7.09517966608176e-11, x /= (tmp = -177141911.8955555, tmp));
- assertEquals(0, x >>= (tmp = 231535697, tmp));
- assertEquals(1383687797, x ^= (tmp = -2911279499.568808, tmp));
- assertEquals(1383687797, x %= (tmp = -2258636646.5294995, tmp));
- assertEquals(1319, x >>= ((tmp = -2549411892.8426056,
tmp)/(((((1532476676)^(153720871.82640445))+x)/(((2988190456.3206205)&(tmp
= -2920873674, tmp))-(((((tmp = -1044518167.0581458, tmp)>>x)-((((tmp =
-194701879.13505793, tmp)&(498352051))&((tmp = -2167339635.6529818,
tmp)^(((x>>(tmp = 700159851, tmp))*(tmp = 2874921158,
tmp))/x)))-((2856128689)|((-1876321441)>>>(2110732915)))))^((((tmp =
-193379494.18825436, tmp)/(-3055182489.533142))<<x)+((tmp = -2286109605,
tmp)>>(tmp = 698475484.3987849, tmp))))^(3182231653.500364))))|(((tmp =
-194670835,
tmp)>>>((786780139)%(((2114171416.2305853)^(1703145352.8143656))/x)))>>>((tmp
= -3029462067, tmp)>>((67647572.02624655)&(x*(-2394283060))))))));
- assertEquals(13903855, x |= ((tmp = -2515306586, tmp)>>>x));
- assertEquals(54311, x >>>= ((-2413722658)-((tmp = -2159787584, tmp)^(tmp
= 949937622.9744623, tmp))));
- assertEquals(108622, x += x);
- assertEquals(1250717187, x ^= ((tmp = 842692148,
tmp)+(((2649331689.694273)<<x)-(tmp = -2992181273, tmp))));
- assertEquals(4536777, x %= (tmp = 73304730, tmp));
- assertEquals(0, x -= x);
- assertEquals(-580081499, x ^= ((tmp = -580081499.0170684, tmp)^(x%(tmp =
-1542730817.88261, tmp))));
- assertEquals(-1382738784, x <<= x);
- assertEquals(-1382738784, x <<= x);
- assertEquals(2912228512, x >>>= (x*(x>>>x)));
- assertEquals(-1076374105, x |= (2589443367));
- assertEquals(-0.2818750938197037, x /= (((tmp = -1559525732.9603848,
tmp)|(-477068917.5483327))>>>((-688616257)*((((tmp = -1192490153.1226473,
tmp)*(-502280624.0265591))<<(-442688727.4881985))%(x+(((((tmp =
-2948836853.831935, tmp)-(tmp = -2850398330.910424,
tmp))>>>(x>>>(-1947835558)))^x)+(x*x)))))));
- assertEquals(2032826546, x |= (tmp = 2032826546.819327, tmp));
- assertEquals(3408404827.14316, x += (tmp = 1375578281.1431599, tmp));
- assertEquals(258183922.14315987, x %= (tmp = 350024545, tmp));
- assertEquals(479694848, x <<= (tmp = -481187157, tmp));
- assertEquals(-2147483648, x <<= (((tmp = -2956588045.472398,
tmp)>>>(((tmp = -1838455399.1775856, tmp)&(((((tmp = -637547,
tmp)/x)&(x^((-44876328.1767962)+(((-2059598286)-(1071496688))%(tmp =
-1492254402, tmp)))))-(x%x))*(x|x)))>>(1226250760)))<<x));
- assertEquals(-2288163338.9020815, x -= (140679690.9020816));
- assertEquals(4954833118513997000, x *= (-2165419327.4906025));
- assertEquals(1578331238, x ^= (-2410854298.2270393));
- assertEquals(-810627292, x += (-2388958530));
- assertEquals(-810627292, x ^= ((1495296640.4087524)/(tmp = 1561790291,
tmp)));
- assertEquals(657116606535253200, x *= x);
- assertEquals(0.675840332689047, x %= (((-1816548473)^(((tmp =
-151918689.19451094, tmp)|(1819911186.535233))/((((((1514297447)+(tmp =
856485190.9684253,
tmp))&(((1809369464.4363992)<<(493538496))*x))+((x*(x>>(x&(tmp = 222293461,
tmp))))>>>(((784519621)|x)^((-580766922)>>(tmp = -947264116,
tmp)))))>>>((((2794210354.22964)>>>(((2896952532.0183973)*((x+(tmp =
-1813175940, tmp))<<(tmp = -1302618293, tmp)))&x))>>(x-(((x|
((1456466890.1952953)*x))^(-169979758.19158387))-(x-x))))>>x))&(tmp =
2671604078.3026733, tmp))))/(-1701675745)));
- assertEquals(0.675840332689047, x %= ((tmp = 2421871143, tmp)^x));
- assertEquals(NaN, x %= ((((tmp = 1175526323.433271, tmp)+(tmp =
2813009575.952405, tmp))%((tmp = -3112133516.3303423,
tmp)&x))&((((((-424329392)^(tmp = 1430146361,
tmp))+x)-(1533557337.268306))%((tmp = -3117619446,
tmp)-(-3127129232)))>>>x)));
- assertEquals(NaN, x += x);
- assertEquals(0, x >>>= ((1710641057.7325037)%(104961723.56541145)));
- assertEquals(0, x <<= (tmp = -970072906, tmp));
- assertEquals(0, x *= (87768668));
- assertEquals(-1464968122, x ^= (tmp = -1464968122, tmp));
- assertEquals(-1467983895, x ^= ((tmp = -1204896021,
tmp)>>>(((91792661)&(x>>>(((-2364345606)>>>x)*x)))+x)));
- assertEquals(2.991581508270506, x /= (-490704963.5591147));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= ((tmp = 639854873, tmp)%(tmp = 743486160.3597239,
tmp)));
- assertEquals(0, x <<= (tmp = 1045577245.3403939, tmp));
- assertEquals(0, x >>= ((tmp = -1932462290, tmp)|(tmp = 1629217987,
tmp)));
- assertEquals(517617438, x ^= ((tmp = 2737789043, tmp)%(tmp =
-2220171604.135681, tmp)));
- assertEquals(126371, x >>>= ((tmp = 205210223.69909227, tmp)-(tmp =
598118404, tmp)));
- assertEquals(918548455, x |= ((918228734.8363427)+(x+x)));
- assertEquals(918548455, x |= ((tmp = 599828198, tmp)>>((tmp =
-851081330, tmp)|(tmp = -1152596996.8443217, tmp))));
- assertEquals(918548443.7739062, x -= ((tmp = 1497642976.2260938,
tmp)%(x>>(tmp = -548469702.5849569, tmp))));
- assertEquals(0.7739062309265137, x %= (x&x));
- assertEquals(2317939163.8239403, x *= (tmp = 2995116296, tmp));
- assertEquals(1014415360, x <<= (-279972114));
- assertEquals(0, x &= ((296810932)/(x*(tmp = -2750499950, tmp))));
- assertEquals(0, x *= (x%((126285451.05086231)>>>(x*(tmp = -2789790532,
tmp)))));
- assertEquals(0, x >>>= ((975695102.5771483)%(x-((-1011726540)-((tmp =
2223194882, tmp)/x)))));
- assertEquals(-1747794584, x |= (-1747794584.3839395));
- assertEquals(-543544679, x %= (tmp = -1204249905, tmp));
- assertEquals(-543544679, x %= (-881024001));
- assertEquals(1, x /= x);
- assertEquals(-1879376393, x |= ((tmp = 161643764, tmp)|(tmp =
2281346499.9084272, tmp)));
- assertEquals(1.321124264431369, x /= (-1422558379.7061746));
- assertEquals(1, x >>>= (x&(tmp = -963118950.4710281, tmp)));
- assertEquals(3, x ^= ((x+x)/x));
- assertEquals(1, x /= x);
- assertEquals(1, x &= (2090796073));
- assertEquals(-1284301873, x ^= (((-11041168.146357536)+(tmp =
-1273260707.8134556, tmp))+x));
- assertEquals(292559045, x &= (x&((-2401110739)^((tmp = 630802904,
tmp)^(((1012634447.0346229)+x)%((tmp = -1240091095,
tmp)%(x/(-1483936527))))))));
- assertEquals(0, x %= x);
- assertEquals(0, x /= (tmp = 613145428.3653506, tmp));
- assertEquals(0, x /= ((x-(tmp = 3116638456, tmp))*(-973300716)));
- assertEquals(0, x %= (tmp = -1794741286.0464535, tmp));
- assertEquals(0, x &= x);
- assertEquals(0, x >>= (-551370105.0746605));
- assertEquals(-1471996874, x ^= ((2822970422.2331414)-x));
- assertEquals(-277914313, x |= (tmp = -818980601.2544096, tmp));
- assertEquals(-34, x >>= x);
- assertEquals(305422768, x -= (-305422802));
- assertEquals(-2406146240, x += (tmp = -2711569008, tmp));
- assertEquals(1073745408, x &= (tmp = -3046625618, tmp));
- assertEquals(1073745408, x <<= ((-1234108306.7646303)<<((-233519302)|
x)));
- assertEquals(1073745408, x %= (tmp = 1898831268, tmp));
- assertEquals(1073745408, x <<= (((tmp = 3089406038,
tmp)/x)&(-2960027680)));
- assertEquals(65536, x >>>= (2858188366));
- assertEquals(128, x >>>= ((-2640257239.857275)%((tmp =
-3185405235.3177376, tmp)*x)));
- assertEquals(128, x >>>= x);
- assertEquals(128, x -= (x&(x-(tmp = -247588018, tmp))));
- assertEquals(81616906825.07776, x *= (tmp = 637632084.57092, tmp));
- assertEquals(78860097686.07776, x -=
(((1507215684)^((709254783)+(((x<<x)*((-2890828152.667641)%(2537817529.2041526)))^x)))+(3114024487)));
- assertEquals(-2920545695.721283, x += (((tmp = -2555437435,
tmp)>>>x)-((2920546109.72129)+x)));
- assertEquals(-2879412281.721283, x += ((-1662428756)>>>(tmp =
-1928491386.6926208, tmp)));
- assertEquals(67403845, x &= (tmp = 2921644117, tmp));
- assertEquals(16850961, x >>>= (((-1039328365)>>>(tmp = -768615112,
tmp))<<((1037261855)*(tmp = -2906902831.4797926, tmp))));
- assertEquals(0, x ^= x);
- assertEquals(0, x *=
((-2729056530)/((-1776175111)%(1493002300.4604707))));
- assertEquals(0, x *= (tmp = 370696035.22912216, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x |= ((((((tmp = -1541196993,
tmp)^x)/(854730380.1799632))/(2879117705.492209))+((((-2892068577)^(-2460614446.1044483))>>>((743413943)<<(-1285280084.4220598)))/(tmp
= -1719994579.5141463, tmp)))%(((((tmp = 2522797851.088227, tmp)<<(tmp =
2257160597.1538725, tmp))/(-680406007))&((x>>>(tmp = -260350730, tmp))^(tmp
= 1920522110.852598, tmp)))>>(-697620442))));
- assertEquals(0, x &= x);
- assertEquals(-591399642.958673, x += (x-(tmp = 591399642.958673, tmp)));
- assertEquals(27, x >>>= (tmp = -726721317.2109983, tmp));
- assertEquals(-2043736843, x -= (2043736870));
- assertEquals(-3991674, x >>= (tmp = 1098126089, tmp));
- assertEquals(-997919, x >>=
((x%(((x*(((-1497329257.1781685)%(2334511329.2690516))/(-3072526140.6635056)))+(-1843998852))-(tmp
= 240300314.34070587, tmp)))+(714080860.6032693)));
- assertEquals(-0, x %= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>= (tmp = 538348328.5363884, tmp));
- assertEquals(0, x *= (800317515));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (984205514));
- assertEquals(857282491, x += (tmp = 857282491, tmp));
- assertEquals(587792897, x &= (tmp = 2951307845.164059, tmp));
- assertEquals(595301269, x |= (tmp = 24285588.90314555, tmp));
- assertEquals(1190602538, x += x);
- assertEquals(0, x -= x);
- assertEquals(-442423060, x |= ((x^((x-(tmp = 2342497475.637024,
tmp))%(-1900074414.7678084)))|((tmp = 1932380130,
tmp)%(x%(2291727569.817062)))));
- assertEquals(-442423060, x %= (((tmp = 703479475.545413,
tmp)>>(x-x))<<(2435723056.753845)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= x);
- assertEquals(-1265317851, x |= (tmp = -1265317851, tmp));
- assertEquals(-2, x >>= (-2015895906.8256726));
- assertEquals(-0, x %= x);
- assertEquals(-0, x %= (((1219237746)+(284683029))*(((tmp = 2288119628,
tmp)|(-404658161.2563329))*(-265228691.74142504))));
- assertEquals(1039509109, x -= (-1039509109));
- assertEquals(2079018218, x += x);
- assertEquals(-1979.9362673719077, x /= ((3219723500)>>x));
- assertEquals(-62, x >>= ((x/(326466691))*(tmp = -607654070, tmp)));
- assertEquals(-45, x |= (tmp = -2954888429.549882, tmp));
- assertEquals(-1180929712, x &= (3114037588.570232));
- assertEquals(815550480, x &= (-2302684143.3378315));
- assertEquals(815550480, x %= (-2177479570));
- assertEquals(815550480, x %= (tmp = 2895822167, tmp));
- assertEquals(815550480, x %= (-1247621230.5438688));
- assertEquals(283929811, x -= ((tmp = 251831053.17096448, tmp)|((tmp =
1140463506.004994, tmp)+(tmp = -743224673.546309, tmp))));
- assertEquals(1825767424, x <<= (((tmp = 1732353599, tmp)^(tmp =
658726044, tmp))>>>((-2827889370.932477)%(tmp = 1950139204.3291233, tmp))));
- assertEquals(1828450414, x |= (tmp = 1618538606, tmp));
- assertEquals(0, x <<= (-2411670689.045702));
- assertEquals(0, x <<= (-27744888.428537607));
- assertEquals(-0, x /= (tmp = -1597552450, tmp));
- assertEquals(0, x >>>= (((2165722776.7220936)>>>(tmp = 1233069931,
tmp))>>>(-1120420811)));
- assertEquals(-0, x *= ((tmp = -1505252656,
tmp)>>((((3035637099.6156535)&((467761577.7669761)>>(-361034537)))^(tmp =
-2347994840.6541123, tmp))*(tmp = -2191739821, tmp))));
- assertEquals(0, x &= (795727404.0738752));
- assertEquals(-0, x *= (tmp = -3125944685.3991394, tmp));
- assertEquals(-0, x *= (x&x));
- assertEquals(0, x >>= ((tmp = -2045709233, tmp)^x));
- assertEquals(NaN, x /= (x>>(x/(3102894071))));
- assertEquals(NaN, x += ((tmp = 2149079756.8941655, tmp)-(tmp =
810121645.305179, tmp)));
- assertEquals(0, x >>>= (-859842989));
- assertEquals(0, x >>>= (tmp = 2530531143.9369526, tmp));
- assertEquals(0, x >>= (((-932981419.6254237)|(tmp = 1591591715,
tmp))>>>(x+((3149795006)>>>(tmp = 613352154, tmp)))));
- assertEquals(-4294967295, x -=
((((-2289331668)%(-282648480.0078714))>>(-1373720705.5142756))>>>((tmp =
15511563.517014384, tmp)/(360279080))));
- assertEquals(1, x &= x);
- assertEquals(0, x >>= (x^(-2791872557.5190563)));
- assertEquals(0, x &= ((tmp = 336466956.7847167,
tmp)>>((1235728252.053619)|(x<<((1828176636.13488)%x)))));
- assertEquals(-0, x *= (-364042830.8894656));
- assertEquals(0, x >>>= x);
- assertEquals(-1675298680, x |= ((2323049541.321387)+(296619075)));
- assertEquals(-0, x %= x);
- assertEquals(-1583048579.4420977, x += (-1583048579.4420977));
- assertEquals(0, x -= x);
- assertEquals(-2, x ^= ((603171992.0545617)/(((-271888695.718297)%(tmp =
-400159585, tmp))^((((tmp = 1536123971, tmp)-(tmp = -2310418666.6243773,
tmp))|((tmp = 2242779597.1219435, tmp)<<(tmp = 1758127684.4745512,
tmp)))/x))));
- assertEquals(-2, x &= (x&x));
- assertEquals(0, x &= ((tmp = -1098806007.4049063,
tmp)/(((2862384059.3229523)/((((tmp = -92960842, tmp)-(x>>(tmp =
1244068344.2269042, tmp)))&x)*(tmp = -1919148313, tmp)))<<(-2486665929))));
- assertEquals(0, x &= x);
- assertEquals(-1441272634.582818, x -= (1441272634.582818));
- assertEquals(-3, x >>= (tmp = 3186393693.7727594, tmp));
- assertEquals(-1206855850, x ^= (((tmp = 607979495.303539, tmp)-(tmp =
-2480131951, tmp))^(x*((tmp = 1324153477, tmp)/((1248126288)+(x|
(1917331780.0741704)))))));
- assertEquals(-1206855853, x ^= (x>>>(653288765.1749961)));
- assertEquals(-1206857725, x &= (3149461539.6019173));
- assertEquals(3088109571, x >>>= (x*(x<<(tmp = 1543540084, tmp))));
- assertEquals(536903680, x &= (tmp = 644851760, tmp));
- assertEquals(536903674.312194, x += (((-3183290076)-((tmp =
40738191.12097299, tmp)-x))/((x>>>(3151371851.9408646))^(tmp =
472698205.22445416, tmp))));
- assertEquals(2127424750.0506563, x -= (tmp = -1590521075.7384624, tmp));
- assertEquals(2127424750.0506563, x %= (tmp = 3027273433.361373, tmp));
- assertEquals(0, x >>= (x>>(1445204441.702043)));
- assertEquals(NaN, x %= (x<<x));
- assertEquals(0, x ^= ((tmp = -2903841152.136344, tmp)-(x%(2938662860))));
- assertEquals(0, x <<= (x<<x));
- assertEquals(0, x >>>= (tmp = -979481631.33442, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x &= (((x%((((((tmp = 1657446354.6820035,
tmp)>>(-1916527001.2992697))/x)>>(tmp = 1450467955,
tmp))&(277676820))+(x/(-945587805))))/((tmp = -690095354, tmp)^x))+(tmp =
-2651195021, tmp)));
- assertEquals(0, x <<= (752343428.2934296));
- assertEquals(0, x /= (tmp = 3022310299, tmp));
- assertEquals(0, x >>= (x%((388245402)>>>x)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= ((tmp = 1205123529.8649468,
tmp)>>>(-2848300932)));
- assertEquals(0, x >>= ((x>>>x)<<(tmp = 487841938, tmp)));
- assertEquals(0, x *= (((273436000.9463471)|(tmp = 141134074.27978027,
tmp))^(tmp = 1220326800.7885802, tmp)));
- assertEquals(1525600768, x |= (((x^(-2674777396))-(tmp =
1966360716.3434916, tmp))<<(794782595.9340223)));
- assertEquals(761927595, x %= (tmp = -763673173, tmp));
- assertEquals(1.1353588586934338, x /=
((x&((-1897159300.4789193)*(-348338328.0939896)))&(978680905.6470605)));
- assertEquals(8.631173314966319e-10, x /= (1315416592));
- assertEquals(0, x >>= ((tmp = -2581239435,
tmp)-((-628818404.1122074)<<x)));
- assertEquals(0, x -= x);
- assertEquals(0, x *= (2925158236));
- assertEquals(0, x /= (x+(tmp = 1405531594.0181243, tmp)));
- assertEquals(0, x *= (2712022631.230831));
- assertEquals(0, x >>= (tmp = 80518779.81608999, tmp));
- assertEquals(1953477932.8046472, x += (tmp = 1953477932.8046472, tmp));
- assertEquals(1953477932, x >>= (tmp = 3025539936, tmp));
- assertEquals(1953477932, x -=
((-2675119685.8812313)>>(x/(-1808264410.9754841))));
- assertEquals(1292620430, x += ((-660857502)%((((tmp = -698782819,
tmp)%(tmp = 2847304199, tmp))<<(-2423443217.1315413))+x)));
- assertEquals(78895, x >>>= x);
- assertEquals(2, x >>= x);
- assertEquals(2, x <<= (tmp = 1313641888.8301702, tmp));
- assertEquals(1857416935.2532766, x += (tmp = 1857416933.2532766, tmp));
- assertEquals(-1677721600, x <<= (tmp = -2482476902, tmp));
- assertEquals(309226853.62854385, x -= (tmp = -1986948453.6285439, tmp));
- assertEquals(33965156, x &= (2409088742));
- assertEquals(Infinity, x /= (x-(x<<((x/(tmp = -3106546671.536726,
tmp))/((tmp = 2695710176,
tmp)-((((-2102442864)&(857636911.7079853))/x)%(-65640292)))))));
- assertEquals(1270005091, x |= (tmp = 1270005091.0081215, tmp));
- assertEquals(1270005091, x %= (tmp = -1833876598.2761571, tmp));
- assertEquals(158750636, x >>>= x);
- assertEquals(-1000809106.0879555, x -= (tmp = 1159559742.0879555, tmp));
- assertEquals(72400936, x &= ((2448271389.3097963)%(tmp = 1517733861,
tmp)));
- assertEquals(282816, x >>= x);
- assertEquals(282816, x %= (tmp = 3192677386, tmp));
- assertEquals(0.00021521351827207216, x /= (1314118194.2040696));
- assertEquals(Infinity, x /= (((tmp = 2822091386.1977024, tmp)&x)%(tmp =
-3155658210, tmp)));
- assertEquals(NaN, x %= (-359319199));
- assertEquals(0, x >>>= (((tmp = -2651558483, tmp)-(x<<(tmp =
2537675226.941645, tmp)))<<(tmp = 667468049.0240343, tmp)));
- assertEquals(-0, x *= (tmp = -2827980482.12998, tmp));
- assertEquals(-0, x %= (((tmp = -689972329.3533998, tmp)>>>x)|(tmp =
-7488144, tmp)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x |= x);
- assertEquals(-2410373675.2262926, x -= (2410373675.2262926));
- assertEquals(1840423, x >>= ((-1081642113)^x));
- assertEquals(-4829451429403412, x *= (-2624098606.35485));
- assertEquals(-94552231, x %= (tmp = -97015883, tmp));
- assertEquals(-94433287, x ^= (((tmp = -2297735280, tmp)&(((tmp =
2261074987.7072973, tmp)%((((2565078998)^(-2573247878))|x)|(((tmp =
-2120919004.7239416, tmp)>>(tmp = -579224101, tmp))>>>(1905808441))))*(x|
(3149383322))))>>(542664972)));
- assertEquals(0, x ^= (x<<(tmp = -3112569312, tmp)));
- assertEquals(0, x <<= (-2141934818.7052917));
- assertEquals(0, x >>= (tmp = -2539525922, tmp));
- assertEquals(-434467613, x ^= (tmp = -434467613, tmp));
- assertEquals(-274792709, x |= (1233452601.462551));
- assertEquals(-274726917, x |= (-2130333750));
- assertEquals(-272629761, x |= (-1516071602.5622227));
- assertEquals(-272629761, x |= ((tmp = 3012131694, tmp)&((tmp =
-2595342375.8674774, tmp)-((tmp = -2710765792, tmp)>>>((x-(tmp =
2397845540, tmp))+(2496667307))))));
- assertEquals(-4194305, x |= (1343705633.165825));
- assertEquals(4190207, x >>>= ((tmp = 276587830, tmp)*((tmp =
-1517753936, tmp)>>x)));
- assertEquals(0, x >>= (x|((2247486919)-((-1664642412.4710495)*((((tmp =
-358185292.17083216, tmp)-(tmp = -1472193444, tmp))*(tmp = 2699733752,
tmp))&((x|(x<<(1137610148.1318119)))>>(((375089690.8764564)*x)&(tmp =
859788933.9560187, tmp))))))));
- assertEquals(0, x %= (3080673960));
- assertEquals(0, x >>>= (1328846190.1963305));
- assertEquals(1249447579, x |= (-3045519717.580775));
- assertEquals(-0.8743931060971377, x /= (-1428931187));
- assertEquals(1, x |= ((tmp = -1756877535.7557893,
tmp)/((-142900015.93200803)<<(1414557031.347334))));
- assertEquals(759627265, x ^= (759627264.0514802));
- assertEquals(741823, x >>= (1106391210));
- assertEquals(610451, x &= ((x>>>((919849416)+((tmp = -427708986,
tmp)^((x%x)|(tmp = -2853100288.932063, tmp)))))*x));
- assertEquals(372650423401, x *= x);
- assertEquals(410404493, x >>>=
((((-1425086765)>>>x)>>((2813118707.914771)>>(-424850240)))^x));
- assertEquals(120511585729013, x *= ((tmp = -1889454669, tmp)>>>x));
- assertEquals(120513295294304.22, x -= (tmp = -1709565291.2115698, tmp));
- assertEquals(6164, x >>>= ((2244715719.397763)^(tmp =
-741235818.6903033, tmp)));
- assertEquals(937572790.468221, x -= (tmp = -937566626.468221, tmp));
- assertEquals(937572790, x |= ((2129102867.156146)*(x%x)));
- assertEquals(32, x &=
((2700124055.3712993)>>>((1977241506)>>>(-2915605511))));
- assertEquals(32, x %= (tmp = -2513825862, tmp));
- assertEquals(0, x <<= (-1379604802));
- assertEquals(0, x >>>= (tmp = -1033248759, tmp));
- assertEquals(-1151517050, x ^= (3143450246));
- assertEquals(-180577, x |= ((738373819.4081701)^(-357134176)));
- assertEquals(-0, x %= x);
- assertEquals(-2086887759, x |= (tmp = 2208079537, tmp));
- assertEquals(-2, x >>= (1460216478.7305799));
- assertEquals(-2, x %= ((-1979700249.0593133)^(-3156454032.4790583)));
- assertEquals(-256, x <<= ((1810316926)>>>(tmp = 414362256, tmp)));
- assertEquals(-1, x >>= (((((((-1616428585.595561)*((tmp =
2574896242.9045777, tmp)|(86659152.37838173)))>>(((tmp = 2476869361,
tmp)&((x+((tmp = -2445847462.1974697, tmp)>>(tmp = -1960643509.5255682,
tmp)))+(x|(((((2231574372.778028)|(tmp = 1824767560,
tmp))>>>((1108035230.2692142)|(tmp = 2354035815, tmp)))/((tmp =
-2602922032, tmp)>>(-925080304.7681987)))-x))))-(x>>x)))>>>((tmp =
751425805.8402164, tmp)|(tmp = 1165240270.3437088,
tmp)))-x)*(2870745939))-(x>>>((tmp = 2986532631.405425, tmp)>>>(((tmp =
2547448699,
tmp)+(((((x<<(((((-2756908638.4197435)>>>(3134770084))-(-1147872642.3756688))%(x*(tmp
= -282198341.6600039,
tmp)))+(-770969864.2055655)))+((-2725270341)^x))/(-3093925722))>>(x&x))>>((tmp
= -2705768192, tmp)>>>(((tmp = 577253091.6042917,
tmp)/(((x&(((((x+x)>>>(-1000588972))/(x&(717414336)))^(tmp =
428782104.21504414, tmp))>>>(1084724288.953223)))%(tmp =
-2130932217.4562194, tmp))&x))-(-286367389)))))+((x>>(tmp = 2001277117,
tmp))>>((tmp = 1028512592, tmp)^((tmp = 2055148650, tmp)+((tmp =
1490798399, tmp)/(tmp = -2077566434.2678986, tmp))))))))));
- assertEquals(-1, x |= (tmp = 1542129482, tmp));
- assertEquals(-671816743, x &= (tmp = -671816743.9111726, tmp));
- assertEquals(-1840333080, x -= (1168516337));
- assertEquals(-1755382023, x |= ((((tmp = 2625163636.0142937,
tmp)>>>((tmp = 1534304735, tmp)^x))-(tmp = -1959666777.9995313, tmp))%x));
- assertEquals(-1750421896, x += (x>>>(tmp = -1364828055.1003118, tmp)));
- assertEquals(-72864007, x %= (tmp = 239651127, tmp));
- assertEquals(-72863956, x -= (((tmp = -1103261657.626319, tmp)*((tmp =
2789506613, tmp)+((tmp = 2294239314, tmp)>>>(2588428607.5454817))))>>x));
- assertEquals(-170337477, x -= (tmp = 97473521, tmp));
- assertEquals(-170337477, x |= (((tmp = 246292300.58998203, tmp)/(((tmp =
-2664407492, tmp)|((-2416228818)^(tmp = 909802077, tmp)))%(tmp =
532643021.68109465, tmp)))/(tmp = 1015597843.8295637, tmp)));
- assertEquals(1, x >>>= (((tmp = -2247554641.7422867,
tmp)/(1186555294))%(tmp = -785511772.3124621, tmp)));
- assertEquals(1188939891.668705, x -= (tmp = -1188939890.668705, tmp));
- assertEquals(1188939891, x &= x);
- assertEquals(1188413555, x &= (((tmp = -372965330.5709038, tmp)%(((tmp =
3108909487, tmp)|
(x^(-1056955571.9951684)))^(-1549217484.009048)))/(x>>>(1403428437.9368362))));
- assertEquals(-0.7343692094664643, x /= (-1618278026.4758227));
- assertEquals(0, x -= x);
- assertEquals(0, x &= (-2701762139.7500515));
- assertEquals(0, x >>>= (((-1692761485.2299166)^x)+(tmp =
-1221349575.938864, tmp)));
- assertEquals(0, x <<= ((2148160230)<<x));
- assertEquals(0, x <<= (((x<<(-740907931.38363))&(tmp =
-930960051.6095045, tmp))>>(x/((tmp = -1921545150.1239789,
tmp)/(-3015379806)))));
- assertEquals(0, x <<= x);
- assertEquals(NaN, x /= (x|x));
- assertEquals(0, x >>= (tmp = -2265988773, tmp));
- assertEquals(-0, x *=
(((x<<(-928153614))<<(-989694208))^(2544757713.481016)));
- assertEquals(0, x >>= ((tmp = 578009959.5299993, tmp)>>x));
- assertEquals(0, x /= ((((tmp = 412689800.0431709,
tmp)&(1630886276))*(tmp = 2028783080.7296097, tmp))/x));
- assertEquals(0, x |= ((((x*(-2197198786))>>((2719887264.761987)<<(tmp =
2253246512, tmp)))-(tmp = -150703768.07045603,
tmp))/(((-3160098146)%(((((1486098047.843547)>>(((tmp = -593773744.1144242,
tmp)&(x<<(2651087978)))|((-680492758.930413)>>(tmp = 88363052.13662052,
tmp))))<<x)<<(tmp = 2232672341,
tmp))/((x<<x)&(((((348589117.64135563)<<(-1010050456.3097556))^(x/(tmp =
-2282328795, tmp)))-(tmp = 1653716293, tmp))-((3157124731)/((tmp =
3007369535.341745, tmp)%(tmp = -2246556917, tmp)))))))+x)));
- assertEquals(0, x >>= ((1935211663.5568764)>>(x-(tmp = 2116580032,
tmp))));
- assertEquals(-1725272693, x ^= (tmp = -1725272693, tmp));
- assertEquals(313683, x >>>= (-1782632531.2877684));
- assertEquals(0.009772287443565642, x /= (tmp = 32099240, tmp));
- assertEquals(-647945916.9902277, x += (-647945917));
- assertEquals(3647021380, x >>>=
((((((((2470411371.688199)<<x)>>x)-(x>>>((tmp = 1750747780,
tmp)/x)))-x)<<(tmp = -2666186351.695101, tmp))^(((tmp = 2749205312.6666174,
tmp)%x)&(2069802830.360536)))<<(tmp = 6051917.9244532585, tmp)));
- assertEquals(-647939220, x |= ((x>>>((tmp = -2980404582.794245,
tmp)>>>(-996846982)))^x));
- assertEquals(-572178450, x |= ((-800571300.3277931)+(tmp = 2084365671,
tmp)));
- assertEquals(1172311208, x &= (x&((tmp = -1207487657.8953774, tmp)^x)));
- assertEquals(12176516458994, x += ((((tmp = -1534997221,
tmp)%(412142731))*((tmp = 2958726303,
tmp)>>(1489169839)))+(((-574726407.2051775)>>>(((1772885017)<<(947804536.9958035))>>(-2406844737)))>>x)));
- assertEquals(-1480065024, x <<= x);
- assertEquals(-1736999042.227129, x += (tmp = -256934018.22712898, tmp));
- assertEquals(-1338699394, x ^= ((((((x%(((tmp = -2551168455.222048, tmp)|
(3213507293.930222))/((-1559278033)>>((tmp = 3107774495.3698573,
tmp)-(2456375180.8660913)))))*((x*(tmp = 1088820004.8562922, tmp))+((tmp =
1850986704.9836102, tmp)%(tmp = -1226590364,
tmp))))*(1786192008))&(((2193303940.310299)%(tmp = 1041726867.0602217,
tmp))|((2210722848)/((-1293401295.6714435)&((tmp = 3052430315, tmp)|
x)))))>>>(tmp = -2028014470.1524236,
tmp))+(((1695818039.0383925)<<((1669068145)*(-2746592133.899276)))<<(tmp =
519092169, tmp))));
- assertEquals(-334674849, x >>= (1170377794));
- assertEquals(-10214, x >>= ((tmp = 1074704264.3712895, tmp)>>>((tmp =
-1200860192, tmp)^((tmp = 539325023.4101218, tmp)*((tmp = -588989295, tmp)|
x)))));
- assertEquals(1384169472, x &= (1384171140));
- assertEquals(1384169472, x >>>= ((tmp = -2161405973.830981, tmp)*(tmp =
2054628644, tmp)));
- assertEquals(1610140972, x |= (527961388));
- assertEquals(1073273198, x += ((tmp = -259650225.71344328, tmp)&(tmp =
-344359694, tmp)));
- assertEquals(65507, x >>= ((x<<((tmp = 2925070713.5245204, tmp)%(x+((tmp
= -1229447799, tmp)/(((x/(x|(((-2337139694)|
((((((2996268529.7965417)&x)%(((tmp = -1088587413,
tmp)>>(-1384104418.90339))>>((tmp = -1643984822.3946526,
tmp)+x)))%(((1118125268.4540217)-((((-1975051668.6652594)-(-704573232))+((tmp
= 1674952373, tmp)/(tmp = 1321895696.0062659, tmp)))*(tmp =
1820002533.2021284, tmp)))>>>(tmp = -583960746.9993203, tmp)))|((tmp =
-2577675508.550925, tmp)&x))/(tmp = 1459790066,
tmp)))/(((((1051712301.7804044)&(tmp = -2726396354, tmp))^(tmp =
263937254.18934345, tmp))+(((x^x)*(((tmp = -2289491571,
tmp)+x)%(-2239181148)))&x))>>(tmp = -1743418186.3030887, tmp)))))/(tmp =
1475718622, tmp))<<x)))))|(x&((((tmp = -2934707420,
tmp)<<x)/x)^(1022527598.7386684)))));
- assertEquals(2047, x >>= (x-(tmp = 2300626270, tmp)));
- assertEquals(8384512, x <<= (tmp = -1917680820, tmp));
- assertEquals(0, x <<= (2393691134));
- assertEquals(0, x >>= x);
- assertEquals(649995936.5853252, x -= (tmp = -649995936.5853252, tmp));
- assertEquals(649995936, x &= x);
- assertEquals(-0.33672017582945424, x /= (tmp = -1930374188, tmp));
- assertEquals(-0.33672017582945424, x +=
(x&((1208055031)^(-2761287670.968586))));
- assertEquals(0, x |= x);
- assertEquals(0, x <<= ((-2038368978)/x));
- assertEquals(0, x >>= (x&((tmp = 2481378057.738218,
tmp)&(x+(1172701643)))));
- assertEquals(0, x <<= ((x*(((((((tmp = 70690601.3046323,
tmp)&(((((((((((x+(x+(x^(3118107461))))<<(264682213.41888392))&(tmp =
-709415381.8623683, tmp))%(((((-1840054964)>>>(tmp = -405893120.89603686,
tmp))|((-625507229)^(3128979265)))>>(x>>((tmp = -2480442390, tmp)*((x>>(tmp
= -421414980.88330936, tmp))>>>((tmp = 1850868592,
tmp)&(-2948543832.879225))))))|((2986545185)&((tmp = -1947550706,
tmp)%(((tmp = 2590238422.1414256, tmp)/(((tmp = -361038812, tmp)>>x)|(((tmp
= 1798444068, tmp)|((x&((tmp = -3104542069, tmp)-x))*((tmp = -1158658918,
tmp)+((tmp = 2777031040.5552707,
tmp)<<(-2816019335.9008327)))))<<x)))/(((2287795988.231702)/x)/(((-2588712925)>>>(2521189250))*((tmp
= -2533527920, tmp)+(tmp = 1762281307.2162101, tmp)))))))))/x)/(tmp =
1047121955.5357032, tmp))|(((-121292251)<<(x^(x-(tmp = 1420006180,
tmp))))%((-2278606219)>>>(((tmp = -1412487726, tmp)&(((((tmp =
253596554.16016424, tmp)/(tmp = 2083376247.0079951,
tmp))^(x^((1549116789.8449988)>>>((((-1844170084)^(tmp = 1886066422,
tmp))&x)<<(34918329)))))^(tmp = -440805555.3369155,
tmp))-x))%(-1936512969)))))+(2911511178.4035435))|(1012059391))|(x>>>(tmp =
-2551794626.158037, tmp)))+((2926596072.210515)/(tmp = -280299595.0450909,
tmp))))&((tmp = 1501086971, tmp)^(tmp = 2114076983,
tmp)))-((-1679390574.1466925)-(941349044)))-((x>>x)>>((-2600539474.2033434)+(tmp
= 2567056503.9079475, tmp))))*(tmp = 1285896052, tmp))%(((tmp =
1191465410.7595167, tmp)>>((tmp = -2857472754, tmp)%x))>>>(((tmp =
1960819627.6552541, tmp)&(-2651207221.127376))*((((-687312743)+((x>>x)<<x))|
((((((1549588195)*((tmp = 2733091019, tmp)^((527322540)<<(x>>x))))%(tmp =
-2063962943, tmp))*x)*(734060600))&(-3049417708)))+(((((1084267726)+((x|
x)^((tmp = -1917070472.4858549, tmp)%((690016078.9375831)*x))))%((((((tmp =
-2091172769, tmp)%(2532365378))>>>(-871354260))/(tmp = 254167019.07825458,
tmp))&(1330216175.9871218))>>(tmp = 1931099207,
tmp)))^(-1116448185.2618852))>>((961660080.8135855)/x)))))))>>>(-1486048007.7053368)));
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (tmp = -1202200444.6506357, tmp));
- assertEquals(-0, x *= (-527500796.4145117));
- assertEquals(0, x >>= (tmp = -2082822707, tmp));
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/test/mjsunit/numops-fuzz-part3.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,1178 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = 131071;
- var tmp = 0;
- assertEquals(1117196836, x -= (-1117065765));
- assertEquals(3092236000.7125187, x -= (-1975039164.7125185));
- assertEquals(1, x /= x);
- assertEquals(-1599945863, x ^= (tmp = 2695021432.453696, tmp));
- assertEquals(940543782, x ^= (tmp = 2561494111, tmp));
- assertEquals(891400321673221800, x *= (tmp = 947749949.2662871, tmp));
- assertEquals(-1509927296, x >>= ((tmp = 1113290009, tmp)-x));
- assertEquals(-23, x >>= (tmp = 3216989626.7370152, tmp));
- assertEquals(-0, x %= x);
- assertEquals(0, x <<= (431687857.15246475));
- assertEquals(-0, x /= (tmp = -1924652745.081665, tmp));
- assertEquals(0, x <<= (1312950547.2179976));
- assertEquals(0, x %= ((tmp = 2110842937.8580878, tmp)|(x<<x)));
- assertEquals(0, x >>>= ((((-386879000)-((tmp = -2334036143.9396124,
tmp)/((tmp = 965101904.2841234, tmp)<<(((3029227182.8426695)<<((tmp =
-464466927, tmp)>>((((((tmp = 849594477.4111787,
tmp)^(x&((513950657.6663146)%(x>>>x))))-((2898589263)|x))+(tmp =
2842171258.621288, tmp))>>>(tmp = -3158746843, tmp))<<(tmp = -2891369879,
tmp))))-(x-(x&(tmp = -1707413686.2706504,
tmp)))))))-(-2860419051))*(-1708418923)));
- assertEquals(-328055783, x += ((((2857010474.8010874)|((tmp =
-1415997622.320347, tmp)-(-1706423374)))%(tmp = 824357977.1339042,
tmp))^(x>>(x|x))));
- assertEquals(-168539902503779140, x *= ((tmp = -1057687018,
tmp)<<((1408752963)-(2030056734))));
- assertEquals(-Infinity, x /= ((x-(2232683614.320658))*(((tmp =
195551174, tmp)*((((739595970)>>>(tmp = -2218890946.8788786, tmp))>>>(((tmp
= -240716255.22407627, tmp)&(((((1598029916.3478878)|((tmp = -881749732,
tmp)+(x>>x)))^(4443059))<<(((tmp = 2453020763, tmp)+((x>>>(tmp =
-1904203813, tmp))&(-355424604.49235344)))<<(tmp = 2814696070, tmp)))%((tmp
= -250266444, tmp)>>>(((((2710614972)&(((tmp = 910572052.6994087, tmp)^(tmp
= -1028443184.3220406, tmp))/((-2718010521)^(tmp = 676361106, tmp))))|
x)^(-1326539884))>>(-1573782639.7129154)))))/(tmp = 1923172768,
tmp)))>>>(tmp = -2858780232.4886074,
tmp)))/((((((-2060319376.353397)%x)>>(tmp = -3122570085.9065285, tmp))/(tmp
= -1499018723.8064275, tmp))*((-655257391)<<x))>>x))));
- assertEquals(NaN, x += ((3059633304)%((((tmp = 2538190083, tmp)*((tmp =
-2386800763.356364, tmp)/x))&(1341370996))%(-2929765076.078223))));
- assertEquals(NaN, x %= ((x&(347774821))>>>(462318570.2578629)));
- assertEquals(NaN, x *= ((2829810152.071517)*(tmp = 768565684.6892327,
tmp)));
- assertEquals(NaN, x -= x);
- assertEquals(0, x >>>= (x&(tmp = 1786182552, tmp)));
- assertEquals(973967377, x ^= ((tmp = 2115869489.836838,
tmp)&(994956497)));
- assertEquals(985246427.4230617, x += (11279050.423061728));
- assertEquals(985246427, x &= x);
- assertEquals(0, x >>= ((tmp = 1090502660.1867907,
tmp)>>((-1599370623.5747645)-(tmp = -1321550958, tmp))));
- assertEquals(0, x %= (tmp = -2386531950.018572, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>>= (tmp = -1535987507.682257, tmp));
- assertEquals(-0, x /= (-2570639987));
- assertEquals(-542895632, x |= (tmp = -542895632, tmp));
- assertEquals(-33930977, x >>= (tmp = -861198108.1147206, tmp));
- assertEquals(-0, x %= x);
- assertEquals(0, x ^= (x*(-608154714.1872904)));
- assertEquals(-140011520, x |= ((tmp = 377418995,
tmp)<<((1989575902)>>(tmp = -2558458031.066773, tmp))));
- assertEquals(-140026048, x -= ((((tmp = 1465272774.7540011,
tmp)<<((2164701398)<<(tmp = -818119264, tmp)))>>((tmp = -1490486001,
tmp)>>(664410099.6412607)))>>(x>>>(((tmp = -2438272073.2205153, tmp)%(tmp =
2142162105.4572072, tmp))-(tmp = 2259040711.6543813, tmp)))));
- assertEquals(39214588236996610, x *= (x<<(-401696127.06632423)));
- assertEquals(1, x /= x);
- assertEquals(0, x %= x);
- assertEquals(0, x *= ((tmp = -1709874807.176726, tmp)&(-2786424611)));
- assertEquals(-1320474063.3408537, x += (tmp = -1320474063.3408537, tmp));
- assertEquals(88, x >>>= (tmp = -3179247911.7094674, tmp));
- assertEquals(1606348131, x += ((tmp = 1555621121.5726175, tmp)|
(-3026277110.9493155)));
- assertEquals(200793516, x >>>= x);
- assertEquals(-2952688672.1074514, x -= (tmp = 3153482188.1074514, tmp));
- assertEquals(1342278624, x >>>= ((x>>>((tmp = 1264475713,
tmp)-(-913041544)))>>>((tmp = 2008379930, tmp)%(tmp = 3105129336, tmp))));
- assertEquals(0, x ^= x);
- assertEquals(0, x /= (tmp = 788363717, tmp));
- assertEquals(430466213, x -= (tmp = -430466213, tmp));
- assertEquals(164757385222499550, x *= (tmp = 382741735, tmp));
- assertEquals(164757385222499550, x %= (((tmp = 1974063648,
tmp)%((806015603)>>>x))*((tmp = 2836795324, tmp)<<(tmp = -1785878767,
tmp))));
- assertEquals(-190957725.86956096, x /= (x^((-2939333300.066044)-(x|
(-2085991826)))));
- assertEquals(-190957725.86956096, x %= (tmp = -948386352, tmp));
- assertEquals(0.6457336106922105, x /= (-295722141));
- assertEquals(0, x |= ((415991250)&((x>>(tmp = -3188277823,
tmp))<<(511898664.1008285))));
- assertEquals(0, x &= ((793238922)|x));
- assertEquals(-1576701979, x ^= (2718265317));
- assertEquals(-49271937, x >>= x);
- assertEquals(-49271937, x |= x);
- assertEquals(-49271937, x &= x);
- assertEquals(775316382, x -= (-824588319));
- assertEquals(912498176, x <<= (tmp = -2223542776.836312, tmp));
- assertEquals(0, x -= (x&((tmp = 1999412385.1074471,
tmp)/(-1628205254))));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (-768730139.7749677));
- assertEquals(-1861304245, x |= (((5128483)^(((tmp = -1768372004,
tmp)/(x^(tmp = 1310002444.757094, tmp)))*((tmp = 188242683.09898067,
tmp)^(tmp = -2263757432, tmp))))^((tmp = 2223246327, tmp)*((tmp =
-2360528979, tmp)-((tmp = 2442334308, tmp)>>(458302081))))));
- assertEquals(1, x /= x);
- assertEquals(2, x += x);
- assertEquals(1, x /= x);
- assertEquals(0, x ^= x);
- assertEquals(-0, x *= (-1852374359.3930533));
- assertEquals(0, x <<= (tmp = 1223645195.148961, tmp));
- assertEquals(1789655087, x |= ((-2505312209.770559)>>x));
- assertEquals(-65568768, x <<= x);
- assertEquals(4229398528, x >>>= x);
- assertEquals(-8408187, x |= (-3029781627));
- assertEquals(-8408187, x |= (((2322165037)-((tmp = -1424506897.362995,
tmp)%x))&x));
- assertEquals(-7884926, x += (x>>>(x|(2738095820))));
- assertEquals(-7884926, x %= (576507013));
- assertEquals(751801768, x ^= (tmp = -750241238, tmp));
- assertEquals(-1986010067668600800, x *= (tmp = -2641667195, tmp));
- assertEquals(1921196240, x ^= (x%(-1954178308)));
- assertEquals(847388880, x ^= ((tmp = 1632856124, tmp)&((tmp =
-1536309755, tmp)<<(tmp = -3158362800, tmp))));
- assertEquals(-469662000.6651099, x += (tmp = -1317050880.6651099, tmp));
- assertEquals(-812358332, x ^= ((-2832480471)>>>(2016495937)));
- assertEquals(21, x ^= (((tmp = 1815603134.2513008, tmp)/((tmp =
147415927, tmp)%(-1059701742)))+x));
- assertEquals(-2844409139.792712, x += (tmp = -2844409160.792712, tmp));
- assertEquals(177070, x >>>= x);
- assertEquals(0, x %= x);
- assertEquals(0, x >>= x);
- assertEquals(1459126376, x ^= (tmp = -2835840920, tmp));
- assertEquals(1459126376, x %= (-1462864282));
- assertEquals(0, x >>>= (tmp = 2922724319, tmp));
- assertEquals(338995506, x ^= (338995506.6411549));
- assertEquals(336896258, x &= (2635904967));
- assertEquals(336634112, x -= (x&(tmp = 1659656287, tmp)));
- assertEquals(NaN, x %= (x-x));
- assertEquals(NaN, x /= (tmp = -674606200, tmp));
- assertEquals(NaN, x %= ((x|(2788108542))/(x+(tmp = 600941473, tmp))));
- assertEquals(0, x >>>= ((-1858251597.3970242)>>>x));
- assertEquals(1951294747, x |= (tmp = 1951294747, tmp));
- assertEquals(1951294747, x &= x);
- assertEquals(-153190625, x |= (-1500095737));
- assertEquals(23467367587890624, x *= x);
- assertEquals(346531290.1813514, x /= (((((-513617734.11148167)|x)/((tmp
= -2042982150.1170752,
tmp)%((x%((x%x)>>>(((-1369980151)&(((922678983)%(x&(tmp = -855337708,
tmp)))-((tmp = -2717183760, tmp)>>>((1939904985.4701347)%(((tmp =
-2473316858, tmp)&((tmp = -599556221.9046664, tmp)>>((tmp = -6352213,
tmp)/x)))&x)))))%x)))/((tmp = -1842773812.8648412, tmp)>>>(((x>>>(tmp =
499774063, tmp))<<(((tmp = -1353532660.5755146,
tmp)*(-3070956509))>>(((-905883994.0188017)>>(tmp = -16637173, tmp))<<((tmp
= 471668537, tmp)*((tmp = -232036004.26637793, tmp)/x)))))&(tmp = 85227224,
tmp))))))>>>(x|(-2528471983)))-((tmp = 1531574803,
tmp)+((x>>>x)-(2889291290.158888)))));
- assertEquals(-94.42225749399837, x /= (((tmp = 2381634642.1432824,
tmp)>>(tmp = -2637618935, tmp))|(2307200473)));
- assertEquals(-47, x >>= (1524333345.141235));
- assertEquals(-2.8699253616435082e-8, x /= (1637673252));
- assertEquals(0, x |= x);
- assertEquals(1083427040, x += ((-2012055268)<<(tmp =
-2192382589.6911573, tmp)));
- assertEquals(1083427040, x %= (x*x));
- assertEquals(2694039776, x +=
((((-1740065704.9004602)<<(-736392934))%(2781638048.424092))>>>(x&x)));
- assertEquals(-1600927520, x |= ((tmp = 2904430054.869525,
tmp)*(((1054051883.4751332)*x)*((-939020743)-(tmp = 1636935481.1834455,
tmp)))));
- assertEquals(-1600927520, x -= (x%x));
- assertEquals(3037584978216498700, x *= (tmp = -1897390694, tmp));
- assertEquals(372598954.1823988, x %= (tmp = 1553763703.5082102, tmp));
- assertEquals(-1476395008, x <<= ((x>>((tmp = 282496335.49494267,
tmp)^((-1948623419.6947453)|((((((tmp = -1203306995,
tmp)-(-5554612.355098486))>>>(1867254951.4836824))>>x)|
(-695777865))/((-59122652.19377303)<<(-609999229.7448442))))))>>(x/(tmp =
-1207010654.9993455, tmp))));
- assertEquals(-2.2540185787941605, x /= (((tmp = 1364159859.9199843,
tmp)*x)>>x));
- assertEquals(-2, x |= x);
- assertEquals(2241824008, x *=
((3174055292.962967)>>(((-2379151623.602476)>>(tmp = -1423760236,
tmp))>>(tmp = -522536019.2225733, tmp))));
- assertEquals(-2138158385, x ^=
((x>>((((1316131966.9180691)-((x*x)>>x))>>>x)>>((-2712430284)|
(((((x<<(-616185937.6090865))-(((x-(tmp = 2957048661, tmp))<<(tmp =
617564839.888214, tmp))/(x%((tmp = -447175647.9393475,
tmp)<<(2203298493.460617)))))-((x&((x<<(914944265))^(((-1294901094)*((tmp =
2512344795, tmp)+((((tmp = -1227572518, tmp)%(1831277766.4920158))*((x|
x)^(tmp = 2515415182.6718826, tmp)))*x)))-(961485129))))>>>(tmp =
2079018304, tmp)))>>(tmp = 734028202, tmp))^(554858721.6149715)))))-((tmp =
1312985279.5114603, tmp)^(tmp = 2450817476.179955, tmp))));
- assertEquals(2.759030298237921, x /= (x|(tmp = -775901745.3688724,
tmp)));
- assertEquals(8, x <<= x);
- assertEquals(NaN, x %=
(((x&((1792031228.831834)>>(-1174912501)))%(((-2351757750)+(tmp =
-2610099430, tmp))*(-2811655968)))*(x&(tmp = -1881632878, tmp))));
- assertEquals(0, x &= ((x*(616116645.7508612))^(2789436828.536846)));
- assertEquals(0, x *= x);
- assertEquals(35097452, x ^= ((tmp = 1023684579, tmp)%(((x|((tmp =
-757953041, tmp)+(772988909)))+(tmp = -2934577578, tmp))>>>((tmp =
-1973224283, tmp)>>>((x*(2244818063.270375))|(x-(-716709285)))))));
- assertEquals(0.015207441433418992, x /= (2307913014.4056892));
- assertEquals(-5865042.942076175, x -= (5865042.957283616));
- assertEquals(-67719.94207617454, x %=
(((1464126615.2493973)+(398302030.0108756))>>>x));
- assertEquals(4294899577, x >>>= (x<<x));
- assertEquals(-1, x >>= (tmp = 607447902, tmp));
- assertEquals(-1, x >>= (3081219749.9119744));
- assertEquals(6.53694303504065e-10, x /= (tmp = -1529767040.4034374,
tmp));
- assertEquals(6.53694303504065e-10, x %= ((tmp = 899070650.7190754,
tmp)&(tmp = -1101166301, tmp)));
- assertEquals(6.53694303504065e-10, x %= (tmp = -2207346460, tmp));
- assertEquals(NaN, x %= (((x&x)>>x)%(((-10980184)+x)&(tmp =
-1473044870.4729445, tmp))));
- assertEquals(NaN, x -= x);
- assertEquals(-1755985426, x ^= (tmp = 2538981870, tmp));
- assertEquals(-13842, x %=
((((-2258237411.3816605)+(-1325704332.0531585))<<((tmp =
-877665450.1877053,
tmp)>>(((((2420989037)+(2084279990.6278818))*(-327869571.9348242))+x)^x)))>>>x));
- assertEquals(1, x /= x);
- assertEquals(1, x >>= ((2241312290)^(2859250114)));
- assertEquals(0, x >>= x);
- assertEquals(-1615631756, x |= (-1615631756.1469975));
- assertEquals(-1615631756, x |= x);
- assertEquals(-627245056, x <<= ((x*(tmp = -1308330685.5971081, tmp))|
(tmp = 1479586158, tmp)));
- assertEquals(-627245056, x |= x);
- assertEquals(1786953888, x ^= (-1340096352.1839824));
- assertEquals(1668014353, x -= (tmp = 118939535, tmp));
- assertEquals(1, x /= x);
- assertEquals(-645681, x ^= ((-1322356629)>>(tmp = 1829870283, tmp)));
- assertEquals(-1322354688, x <<= (-794779253));
- assertEquals(-4310084378.672725, x += (-2987729690.6727247));
- assertEquals(-8620168757.34545, x += x);
- assertEquals(-8720421, x |= (tmp = -748107877.6417065, tmp));
- assertEquals(-1508858270, x ^= (1500137913));
- assertEquals(-0.825735756765112, x /= (1827289490.1767085));
- assertEquals(1253449509.1742642, x += (((tmp = 1253449509.9576545,
tmp)-(((tmp = 2860243975,
tmp)+(367947569.85976696))>>(((((530960315)>>>((((x%(tmp = -2203199228,
tmp))<<(x*(((tmp = -117302283, tmp)/(x-((2579576936)%(-1225024012))))&(tmp
= -2857767500.1967726, tmp))))/((x/((tmp = -166066119, tmp)<<x))|x))>>>x))|
(((2771852372)>>(((tmp = -3103692094.1463976, tmp)-(tmp =
2867208546.069278, tmp))>>>(702718610.1963737)))|(tmp = 2680447361,
tmp)))>>x)>>(-2006613979.051014))))^((-1665626277.9339101)/(x<<(tmp =
342268763, tmp)))));
- assertEquals(1693336701.1742642, x += (tmp = 439887192, tmp));
- assertEquals(0.8479581831275719, x /=
((1171383583)+(((x&x)>>>(51482548.618915915))-(tmp = -825572595.1031849,
tmp))));
- assertEquals(28, x |= ((tmp = -2355932919.6737213, tmp)>>(tmp =
-2395605638, tmp)));
- assertEquals(0, x %= x);
- assertEquals(0, x -= x);
- assertEquals(0, x <<= (x^((tmp = 2793423893.484949,
tmp)*(1585074754.3250475))));
- assertEquals(0, x >>= (x/(x-((957719861.9175875)&(1288527195)))));
- assertEquals(0, x >>>= ((-1429196921.4432657)/x));
- assertEquals(-852424225.734199, x -= (tmp = 852424225.734199, tmp));
- assertEquals(-46674433, x |= ((tmp = -2335242963,
tmp)*((2135206646.2614377)>>(tmp = 505649511.8292929, tmp))));
- assertEquals(2944662357, x += (tmp = 2991336790, tmp));
- assertEquals(1404, x >>>= (849155189.1503456));
- assertEquals(-846755170, x ^= (tmp = -846753822.4471285, tmp));
- assertEquals(52615, x >>>= ((-517068110)+x));
- assertEquals(1475021859.9916897, x += (tmp = 1474969244.9916897, tmp));
- assertEquals(0, x %= x);
- assertEquals(0, x %= ((539583595.8244679)*(tmp = 1469751690.9193692,
tmp)));
- assertEquals(0, x &= (807524227.2057163));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (x^((tmp = -362481588, tmp)%(2611296227))));
- assertEquals(NaN, x *= x);
- assertEquals(0, x >>= ((-2519875630.999908)<<x));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x += (((tmp = 2485209575, tmp)>>(tmp = 2326979823,
tmp))%(x-(((-1296334640.7476478)&x)<<x))));
- assertEquals(0, x >>= (((tmp = 1370704131, tmp)^((((tmp =
793217372.7587746, tmp)>>(((-1455696484.109328)|
(((((-2186284424.5379324)<<(tmp = 3052914152.254852, tmp))-(x>>(tmp =
3121403408, tmp)))+((778194280)-(((((tmp = 2398957652,
tmp)-(x+(((-2592019996.937958)>>((tmp = 1648537981,
tmp)>>x))<<(-677436594))))<<(39366669.09012544))|((tmp =
3133808408.9582872, tmp)-(-2987527245.010673)))*x)))|((tmp = -2178662629,
tmp)<<x)))^(((tmp = 909652440.3570575,
tmp)%(-2572839902.6852217))%(-1879408081))))*(tmp = -2910988598,
tmp))&(((x^x)>>(2822040993))|((x*x)^(((1072489842.6785052)|
(x-(((464054192.7390214)^x)<<(tmp = -2754448095, tmp))))*((tmp =
-1544182396, tmp)/(tmp = -3198554481, tmp)))))))^(tmp = 1946162396.9841106,
tmp)));
- assertEquals(371272192, x |= (((x^((x-(x/x))&(tmp = 2370429394,
tmp)))-(tmp = -403692829, tmp))*(tmp = 2808636109, tmp)));
- assertEquals(929786482, x |= ((729966239.8987448)^(x-((tmp = 120127779,
tmp)^((tmp = -3088531385, tmp)>>>((x+((tmp = 2364833601,
tmp)>>>(((599149090.6666714)>>(tmp = 2838821032, tmp))%(tmp = -662846011,
tmp))))-(tmp = 1168491221.1813436, tmp)))))));
- assertEquals(-681121542, x += ((-1610909505.998718)^((tmp = -957338882,
tmp)>>>(tmp = 1935594133.6531684, tmp))));
- assertEquals(-2147483648, x <<= ((tmp = 15161708, tmp)|(2453975670)));
- assertEquals(-2147483648, x >>= x);
- assertEquals(0, x <<= (2080486058));
- assertEquals(0, x &= (((x&(tmp = -767821326, tmp))/((tmp = 1877040536,
tmp)>>>(tmp = 2378603217.75597, tmp)))*(-1601799835)));
- assertEquals(0, x %= (-1820240383));
- assertEquals(1621233920, x ^= ((tmp = 820230232, tmp)*(1727283900)));
- assertEquals(1621233920, x |= (x>>>x));
- assertEquals(1621233931, x += ((tmp = 794966194.9011587, tmp)>>(tmp =
-597737830.5450518, tmp)));
- assertEquals(1621276543, x |= (((x^((2354444886)+(tmp =
685142845.4708651, tmp)))-(tmp = 790204976.9120214, tmp))>>>((((tmp =
-2792921939, tmp)/(((((tmp = -80705524, tmp)<<x)-(((((((tmp =
1951577216.379527, tmp)>>>x)%((-529882150)>>>(tmp = -1682409624,
tmp)))<<((-42043756.29025769)-(-1803729173.6855814)))/(2937202170.118023))*(tmp
= -1998098798.5722106, tmp))*(tmp = -2996229463.904228,
tmp)))&x)>>>(-301330643)))/(-2858859382.0050273))-(tmp =
1571854256.0740635, tmp))));
- assertEquals(810638271, x >>>= (x/(1553632833)));
- assertEquals(810638271, x <<= (tmp = -1467397440, tmp));
- assertEquals(-2147483648, x <<= x);
- assertEquals(871068871, x ^= (tmp = 3018552519, tmp));
- assertEquals(-1073743881, x |= ((tmp = 2294122324.020989, tmp)|(tmp =
-1799706842.4493146, tmp)));
- assertEquals(-77816868, x += (((-2225296403)&x)>>(tmp =
-2667103424.445239, tmp)));
- assertEquals(-1215889, x >>= (tmp = 1876107590.8391647, tmp));
- assertEquals(-2431778, x += x);
- assertEquals(4292535518, x >>>= (((x>>(-1825580683))/x)%x));
- assertEquals(4292802560, x -= (x|(1492864090)));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (tmp = 2173121205, tmp));
- assertEquals(0, x *= (x>>x));
- assertEquals(1565261471, x |= ((1565261471.323931)>>>x));
- assertEquals(0, x -= x);
- assertEquals(-86980804, x |= (-86980804));
- assertEquals(-698956484, x -=
(((((2754713793.1746016)*(((((-1514587465.0698888)>>(tmp = -1307050817,
tmp))/(tmp = 2368054667.438519,
tmp))*(-1908125943.5714772))<<(x>>>(-357164827.4932244))))+(1257487617))<<(2954979945))&(612330472)));
- assertEquals(-1073741824, x <<= x);
- assertEquals(54497747, x ^= (-1019244077.098908));
- assertEquals(54501375, x |= (((tmp = 1944912427, tmp)>>>x)%x));
- assertEquals(0, x -= x);
- assertEquals(0, x -= x);
- assertEquals(-0, x *= (-1748215388));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (((tmp = 988769112, tmp)%(tmp = -3133658477,
tmp))<<x));
- assertEquals(0, x %= (1685221089.2950323));
- assertEquals(0, x >>>= (x+((793467168)-(tmp = 135877882, tmp))));
- assertEquals(0, x %= ((tmp = -2406801984, tmp)%(tmp = -987618172, tmp)));
- assertEquals(0, x *= ((-2943444887.953456)|(tmp = -2327469738.4544783,
tmp)));
- assertEquals(0, x >>= x);
- assertEquals(-145484729.70167828, x += (tmp = -145484729.70167828, tmp));
- assertEquals(1140855872, x &= (x^(tmp = 3151437967.965556, tmp)));
- assertEquals(1486808408, x += (tmp = 345952536, tmp));
- assertEquals(107846582.36594129, x %= (-1378961825.6340587));
- assertEquals(-642031616, x <<= (x+x));
- assertEquals(151747770.95108718, x *= (x/(tmp = 2716379907, tmp)));
- assertEquals(192723456, x <<= (tmp = -1731167384, tmp));
- assertEquals(2151208003, x -= ((-2151208003)+x));
- assertEquals(1, x /= x);
- assertEquals(1, x |= x);
- assertEquals(1996766603, x |= (1996766602));
- assertEquals(895606123, x ^= (tmp = 1113972960.966081, tmp));
- assertEquals(-1500036886, x ^= (tmp = 2482412929, tmp));
- assertEquals(-1542644247, x ^= (x>>>((tmp = 51449105,
tmp)>>>(((-2057313176)*x)/(-1768119916)))));
- assertEquals(-1496074063273093600, x *= ((tmp = 786152274,
tmp)^(387292498)));
- assertEquals(-794329073, x %= (((tmp = -2314637675.617696,
tmp)*((((x*(411053423.29070306))-(2889448433.4240828))/((-970630131)/(tmp =
-2886607600.7423067, tmp)))<<(tmp = 1263617112.9362245, tmp)))|
(2816980223.8209996)));
- assertEquals(2468008436047106600, x *= (tmp = -3107035257.725115, tmp));
- assertEquals(3040956928, x >>>= ((tmp = 1514372119.1787262,
tmp)*(3169809008)));
- assertEquals(-19, x >>= (tmp = -266966022.10604453, tmp));
- assertEquals(-1.6505580654964654e-8, x /= ((-3143841480)>>(x-x)));
- assertEquals(-2.2420284729165577e-7, x *= (x*((((703414102.2523813)%(tmp
= 2989948152, tmp))-((-1583401827.2949386)^((tmp = -1916731338,
tmp)%((331500653.3566053)|(((tmp = 29865940, tmp)+((tmp =
-2294889418.6764183, tmp)<<(tmp = -1558629267.255229,
tmp)))>>>(x*(x+x)))))))|((988977957)&(-2986790281)))));
- assertEquals(0, x ^= (x/(tmp = 781117823.345541, tmp)));
- assertEquals(NaN, x *= (((x^((((tmp = -2969290335, tmp)+(((((tmp =
-175387021, tmp)&(tmp = -1080807973, tmp))<<(tmp = -2395571076.6876855,
tmp))|((tmp = -1775289899.4106793, tmp)^x))|(-2963463918)))*(tmp =
-1761443911, tmp))^(tmp = 847135725, tmp)))<<((146689636)<<x))%x));
- assertEquals(0, x ^= x);
- assertEquals(1720182184, x -= (((tmp = 3184020508, tmp)|
((-489485703)+(tmp = -2644503573, tmp)))&(tmp = 2575055579.6375213, tmp)));
- assertEquals(1720182184, x >>= (x<<(-45408034)));
- assertEquals(5.759243187540471e+27, x *=
(((x&(1456298805))+(x<<(106573181)))*((566861317.2877743)+(2262937360.3733215))));
- assertEquals(5.759243187540471e+27, x -= (tmp = -1365873935, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= (1960073319.3465362));
- assertEquals(0, x <<= x);
- assertEquals(560463904, x += ((tmp = 1844076589.9286406,
tmp)&((((((-691675777.5800121)|(-745631201))|x)+(tmp = 1504458593.2843904,
tmp))-x)<<x)));
- assertEquals(-513210271, x -= (x|(1052702623.7761713)));
- assertEquals(3781757025, x >>>= ((-1346666404.362477)*(tmp = 2798191459,
tmp)));
- assertEquals(1080100929, x &= (1122097879.882534));
- assertEquals(1276833905.8093092, x *= ((1276833905.8093092)/x));
- assertEquals(1276833905.8093092, x %= (1796226525.7152414));
- assertEquals(1276833905, x <<= (((tmp = -491205007.83412814, tmp)*(tmp =
1496201476.496839, tmp))>>(x+((tmp = -854043282.114594, tmp)-((x|(tmp =
-807842056, tmp))*x)))));
- assertEquals(1276833905, x %= (((-1870099318)>>>(((tmp = -2689717222,
tmp)/(248095232))/(tmp = 1036728800.5566598, tmp)))&(((((857866837)>>(tmp =
3034825801.740485, tmp))|
(-1676371984))>>>(x<<x))%((-3035366571.0221004)*(1578324367.8819473)))));
- assertEquals(1, x /= x);
- assertEquals(2819223656.189109, x += (2819223655.189109));
- assertEquals(-1475743640, x >>= (((tmp = 2586723314.38089, tmp)/(x&(tmp
= -697978283.9961061, tmp)))<<(x%((-1167534676)>>(x^((tmp = -284763535,
tmp)*((x%x)&((((tmp = 2916973220.726839, tmp)%x)/(tmp =
-1338421209.0621986, tmp))|((tmp = -834710536.803335, tmp)%x)))))))));
- assertEquals(-3267683406, x -= (tmp = 1791939766, tmp));
- assertEquals(-2090420900700614100, x *= (639725653));
- assertEquals(-1540353536, x %= ((-1800269105)<<((((x&(((tmp =
1135087416.3945065, tmp)^(613708290))>>x))>>(tmp = -1234604858.7683473,
tmp))^(2404822882.7666225))>>>((tmp = -287205516,
tmp)-((1648853730.1462333)^((x+(x%((tmp = 359176339,
tmp)%((2856479172)<<(tmp = -1995209313, tmp)))))^(((tmp =
2857919171.839304, tmp)>>>(tmp = 2779498870, tmp))>>x)))))));
- assertEquals(-2093767030, x ^= (654554250.498078));
- assertEquals(1, x >>>= ((tmp = -166296226.12181997, tmp)^(x/x)));
- assertEquals(-1487427474, x -= ((x<<x)|(1487427475.4063978)));
- assertEquals(-1487427470.562726, x += ((-1226399959.8267038)/((tmp =
2172365551, tmp)<<x)));
- assertEquals(-3457859227618939400, x *= (tmp = 2324724597.3686075, tmp));
- assertEquals(396221312, x >>= (-1354035390));
- assertEquals(0, x %= x);
- assertEquals(0, x &= (tmp = 2733387603, tmp));
- assertEquals(1485905453, x |= ((((tmp = -1321532329.304437, tmp)&((((tmp
= 1817382709.4180388, tmp)%(((tmp = 2089156555.7749293, tmp)-(-1555460267))|
(tmp = 717392475.9986715, tmp)))%(tmp = 1976713214, tmp))^x))>>>x)+(tmp =
-2812404197.002721, tmp)));
- assertEquals(1485905453, x |= x);
- assertEquals(-997658264, x <<= (-1409757949.6038744));
- assertEquals(-997657290, x -= ((-2041106361)>>(tmp = -2014750507, tmp)));
- assertEquals(-2138512124, x &= (tmp = 2565597060, tmp));
- assertEquals(8422400, x &= ((-2819342693.5172367)*(tmp = 1441722560,
tmp)));
- assertEquals(111816531.81703067, x -= (-103394131.81703067));
- assertEquals(59606682.673836395, x *= ((tmp = -1451690098,
tmp)/(x-(2835050651.717734))));
- assertEquals(-119213365.34767279, x *= (x|
((-2656365050)/((-66180492)+(tmp = 284225706.32323086, tmp)))));
- assertEquals(-232839, x >>= (1694344809.435083));
- assertEquals(-1, x >>= x);
- assertEquals(1, x *= x);
- assertEquals(1, x |= x);
- assertEquals(0, x >>= (tmp = 397239268, tmp));
- assertEquals(-1525784563, x -= (tmp = 1525784563, tmp));
- assertEquals(-153.62740888512675, x /= (((tmp = -2040622579.5354173,
tmp)*(tmp = -1149025861.549324, tmp))%(((tmp = 2981701364.0073133,
tmp)*(tmp = 2993366361, tmp))|(x|(tmp = 1800299979, tmp)))));
- assertEquals(-1671795135, x &= (-1671795135.6173766));
- assertEquals(-4253, x |= ((((x*((1533721762.8796673)<<((tmp =
1026164775.0081646, tmp)<<x)))<<(((x-((((x>>((((((tmp = -481536070.7067797,
tmp)&(tmp = 1663121016, tmp))>>>(-2974733313.5449667))+(tmp = -493019653,
tmp))>>x)&(tmp = 879307404.8600142, tmp)))>>>x)%(x-(tmp =
-1806412445.788453, tmp)))%x))<<(x<<(x+x)))+x))>>((tmp =
-332473688.28477216, tmp)<<((tmp = 1701065928, tmp)+(((((tmp = -2407330783,
tmp)+x)-((tmp = 584100783, tmp)%(tmp = -3077106506, tmp)))^x)>>x))))<<x));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>>= (1578470476.6074834));
- assertEquals(0, x >>>= (974609751));
- assertEquals(-120, x += (x-((tmp = -245718438.0842378, tmp)>>>(tmp =
-1870354951, tmp))));
- assertEquals(-6.134465505515781e-8, x /= (1956160645));
- assertEquals(-0, x %= x);
- assertEquals(0, x *= (tmp = -399718472.70049024, tmp));
- assertEquals(-1803198769.8413258, x += (-1803198769.8413258));
- assertEquals(988624943, x ^= ((((tmp = 320776739.5608537, tmp)*(((tmp =
-983452570.3150327, tmp)^x)&(tmp = -3181597938, tmp)))-(tmp =
-1367913740.9036021, tmp))/(((tmp = -535854933.2943456,
tmp)-(717666905.8122432))>>>(((((x^(tmp = 380453258.60062766, tmp))^(tmp =
-1242333929, tmp))/((tmp = 1072416261, tmp)+(((2090466933)*(x*(tmp =
-386283072, tmp)))|((tmp = 789259942, tmp)<<(tmp = -1475723636.1901488,
tmp)))))>>>x)%((x>>(tmp = -1243048658.3818703, tmp))|((((((tmp =
-619553509, tmp)|x)/(878117279.285609))|((x<<(x>>>(tmp =
-749568437.7390883, tmp)))*x))/(tmp = 1674804407, tmp))-(x*(tmp =
1528620873, tmp))))))));
- assertEquals(988625135, x |= (x>>>(tmp = 2402222006, tmp)));
- assertEquals(988625135, x %= (-2691094165.990094));
- assertEquals(0, x %= x);
- assertEquals(-0, x *= (tmp = -1409904262, tmp));
- assertEquals(-0, x /= ((1176483512.8626208)<<x));
- assertEquals(0, x &= ((((1677892713.6240005)^(tmp = 2575724881,
tmp))^(tmp = -2935655281.208194, tmp))*(216675668)));
- assertEquals(0, x >>= (tmp = -1296960457, tmp));
- assertEquals(0, x |= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x <<= (x>>(-3127984289.9112387)));
- assertEquals(0, x %= ((tmp = 190018725.45957255, tmp)<<((x>>>x)/x)));
- assertEquals(0, x /= (1185681972));
- assertEquals(0, x &= ((tmp = -1285574617, tmp)>>x));
- assertEquals(0, x >>>= ((tmp = 2498246277.2054763, tmp)+(((tmp =
924534435, tmp)&x)>>(tmp = 1379755429, tmp))));
- assertEquals(0, x -= x);
- assertEquals(0, x /= (3093439341));
- assertEquals(0, x *= (x>>>x));
- assertEquals(0, x &= (tmp = 551328367, tmp));
- assertEquals(-0, x /= (-3153411714.834353));
- assertEquals(1217585288, x ^= (tmp = -3077382008.637764, tmp));
- assertEquals(-639702017, x |= ((tmp = -640922633, tmp)%(tmp =
-879654762, tmp)));
- assertEquals(-1645297680, x <<= (tmp = 1418982820.8182912, tmp));
- assertEquals(-1.4059558868398736, x /= (1170234212.4674253));
- assertEquals(-2650856935.66554, x *= (1885448157));
- assertEquals(1326259953.26931, x *= (((x>>(x|
(-496195134.78045774)))+((2029515886)%(tmp = 1148955580, tmp)))/(tmp =
-1760016519, tmp)));
- assertEquals(0, x &= (((((-273334205)+(tmp = 797224093.682485,
tmp))/x)>>>((((tmp = -887577414, tmp)/x)+x)%(tmp = 720417467,
tmp)))^(((x-(tmp = -309071035, tmp))>>(-3123114729.33889))/x)));
- assertEquals(0, x ^= x);
- assertEquals(0, x %= ((tmp = -2243857462,
tmp)/((((((2642220700.6673346)&x)*(tmp = 1454878837, tmp))|
((-25825087.30002737)%(851535616.3479034)))<<(tmp = -697581582, tmp))%(tmp
= 2248990486, tmp))));
- assertEquals(0, x >>= (((x|(((tmp = -220437911,
tmp)&((((255690498)*(((2993252642)>>>(tmp = 300426048.0338713,
tmp))>>x))&((-364232989)+(x<<(-1824069275))))%(x+(tmp = 2696406059.026349,
tmp))))+((tmp = 2911683270, tmp)/(tmp = 2718991915, tmp))))*(x/(((tmp =
-982851060.0744538,
tmp)^((-2903383954)<<((-85365803.80553412)^x)))%(1489258330.5730634))))>>>x));
- assertEquals(0.7805921633088815, x +=
(((-1886920875)/(-2417294156.5304217))%(tmp = -1176793645.8923106, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(-2215008905, x -= (2215008905));
- assertEquals(1931542900, x &= (-215923724.72133207));
- assertEquals(907191462, x ^= (-3133954606.357727));
- assertEquals(453595731, x >>>= (((tmp = 2726241550, tmp)/(tmp =
-332682163, tmp))*((((tmp = 2500467531, tmp)>>>(((x<<(tmp =
-1847200310.4863105, tmp))/x)^x))+x)<<(191688342.22953415))));
- assertEquals(-0.21671182880645923, x /=
((((-1169180683.1316955)%x)>>>(1650525418))^((2198033206.797462)&((-6913973.910871983)%(1758398541.8440342)))));
- assertEquals(-375102237.1603561, x += (tmp = -375102236.9436443, tmp));
- assertEquals(1, x &= (((84374105.89811504)|((tmp = -2480295008.926951,
tmp)>>((605043461)>>(tmp = -2495122811, tmp))))>>(-2129266088)));
- assertEquals(1, x |= x);
- assertEquals(0.0000024171579540208214, x /=
(((-2600416098)>>(-2076954196))^x));
- assertEquals(0.0000024171579540208214, x %= (tmp = -2632420148.815531,
tmp));
- assertEquals(1809220936.0126908, x -= (-1809220936.0126884));
- assertEquals(1682452118.2686126, x += (((2358977542)<<(x/(tmp =
-2862107929, tmp)))+(x+(x%((-3101674407)/(((x*((x>>(tmp =
630458691.3736696, tmp))>>>(tmp = -852137742,
tmp)))/x)-((-1875892391.1022017)&(tmp = -1027359748.9533749, tmp))))))));
- assertEquals(1682452118, x <<= (((tmp = -80832958.07816291,
tmp)>>x)%(x-((x^(x<<(tmp = -156565345, tmp)))|((tmp = -1208807363.727137,
tmp)/(tmp = 2614737513.304538, tmp))))));
- assertEquals(6572078, x >>= (-1573364824));
- assertEquals(13144156, x += x);
- assertEquals(1731678184, x ^= ((tmp = 593370804.9985657, tmp)|
(-3124896848.53273)));
- assertEquals(845545, x >>>= (tmp = -605637621.2299933, tmp));
- assertEquals(-1383361088, x ^= (tmp = -1383632087, tmp));
- assertEquals(-82545896480031520, x += ((x+(1023183845.7316296))*((((tmp
= 576673669,
tmp)>>(((-584800080.1625061)/(2388147521.9174623))+((((x>>>(-905032341.5830328))^(tmp
= -2170356357, tmp))-x)+((136459319)+(-1799824119.689473)))))|x)&(tmp =
-2688743506.0257063, tmp))));
- assertEquals(-895206176, x |= x);
- assertEquals(-0, x %= x);
- assertEquals(1791306023, x ^= ((tmp = -3219480856, tmp)+(tmp =
715819582.0181161, tmp)));
- assertEquals(1791306023, x &= x);
- assertEquals(2725167636753240600, x *= (1521330025));
- assertEquals(-281190679, x |= (tmp = -1422045975.798171, tmp));
- assertEquals(-281190679, x += (x%x));
- assertEquals(-2342097426.906673, x -= (tmp = 2060906747.906673, tmp));
- assertEquals(-4651462701.906673, x -= (2309365275));
- assertEquals(1878, x >>>= (2544974549.345834));
- assertEquals(1964, x += (x&((1067649861)>>(182139255.7513579))));
- assertEquals(2209, x += (x>>(tmp = -1775039165, tmp)));
- assertEquals(0, x -= x);
- assertEquals(-0, x /= (tmp = -1634697185, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>>= ((tmp = 3075747652, tmp)&(tmp = 819236484, tmp)));
- assertEquals(0, x /= ((1276203810.476657)%(-2434960500.784484)));
- assertEquals(0, x >>>= (tmp = -503633649, tmp));
- assertEquals(-982731931, x |= (-982731931));
- assertEquals(-1965463862, x += x);
- assertEquals(-0.221469672913716, x %= ((tmp = -1742292120, tmp)/x));
- assertEquals(-0.221469672913716, x %= (-2021391941.1839576));
- assertEquals(0, x <<= (((((tmp = -2802447851,
tmp)>>((2534456072.6518855)&x))%(tmp = 2841162496.610816,
tmp))<<((89341820)/(2565367990.0552235)))>>(tmp = 2700250984.4830647,
tmp)));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>= ((tmp = -636189745, tmp)>>>(x/(((tmp = 2634252476,
tmp)%(2026595795))>>(tmp = -2048078394.743723, tmp)))));
- assertEquals(NaN, x %= ((x%((((x%((tmp = -2583207106, tmp)&x))|
(190357769))<<(tmp = 595856931.2599536,
tmp))%x))*((-2433186614.6715775)<<((2856869562.1088696)^(tmp = 1112328003,
tmp)))));
- assertEquals(1621713910, x |= (tmp = 1621713910.0282416, tmp));
- assertEquals(3243427820, x += x);
- assertEquals(0, x *= (x&(x-x)));
- assertEquals(0, x >>>= (((2871235439)<<((x+((tmp = -1319445828.9659343,
tmp)+(tmp = 1595655077.959171, tmp)))>>(tmp = -86333903,
tmp)))-(x/(2907174373.268768))));
- assertEquals(0, x >>= (-1091774077.2173789));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x *= (tmp = 1976023677.7015994, tmp));
- assertEquals(NaN, x -= (-3013707698));
- assertEquals(NaN, x += ((x+(((tmp = -3119865782.9691515,
tmp)<<(1327383504.0158405))^(((-143382411.7239611)>>>((-2157016781)+(((-335815848)/x)<<(tmp
= 1953515427, tmp))))&(-2715729178))))/(413738158.2334299)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x += (-845480493));
- assertEquals(-789816013, x |= (tmp = -789816013.129916, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= (3032573320));
- assertEquals(47630, x ^= ((1086705488)%((x^(tmp = -1610832418,
tmp))>>>(tmp = 1136352558, tmp))));
- assertEquals(47630, x >>= (tmp = 1035320352.4269229, tmp));
- assertEquals(47630, x >>= ((((x^x)<<(x*((((x&((-1657468419)*((tmp =
-674435523, tmp)&((tmp = 2992300334, tmp)|x))))*((tmp =
-489509378.31950426, tmp)*(tmp = 2276316053, tmp)))>>>x)<<x)))%(tmp =
-1209988989, tmp))/(tmp = -2080515253.3541622, tmp)));
- assertEquals(3192518951.8129544, x += (3192471321.8129544));
- assertEquals(648116457.8129544, x %= (-2544402494));
- assertEquals(0, x -= x);
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x *= (tmp = 30051865, tmp));
- assertEquals(0, x ^= ((x&(((x&x)>>>(((((((x+(2319551861.0414495))>>>(tmp
= -3099624461, tmp))^((((tmp = 1574312763, tmp)|x)>>>((-2723797246)&(tmp =
-1993956152, tmp)))|(-1830179045)))|
(((((((-2545698704.3662167)>>>x)-(((-79478653)|x)%(x+(x>>((tmp =
2386405508.2180576,
tmp)/x)))))>>((((-1947911815.2808042)*((x+(368522081.2884482))-(tmp =
2452991210, tmp)))>>(343556643.1123545))>>((((tmp = 1869261547.537739,
tmp)>>(3193214755))|
x)&(x*(2027025120)))))<<((-1149196187)>>>(814378291.8374172)))+((((((((-160721403)/(2079201480.2186408))+((x|
((((tmp = -299595483.16805863, tmp)>>>((x|
((x+x)/(-2359032023.9366207)))<<(tmp = -3095108545, tmp)))>>((tmp =
-1547963617.9087071, tmp)*(x>>x)))&((tmp = -1568186648.7499216,
tmp)+(((2646528453)^(-2004832723.0506048))>>>(tmp = -3188715603.921877,
tmp)))))+(tmp = 1578824724, tmp)))^x)^x)/(tmp = -985331362, tmp))|(tmp =
445135036, tmp))<<(tmp = -73386074.43413758,
tmp)))+(((-1674995105.9837937)-(tmp = 1392915573, tmp))>>x)))%(tmp =
1215953864, tmp))&((tmp = -439264643.5238693, tmp)>>>x))+(((tmp =
2311895902, tmp)|(1604405793.6399229))&(tmp = -565192829,
tmp))))-x))>>(-2455985321)));
- assertEquals(0, x %= ((1177798817)>>(tmp = 2081394163.5420477, tmp)));
- assertEquals(0, x >>>= ((x^(tmp = -41947528.33954811, tmp))>>(x>>>((tmp
= 1367644771, tmp)+x))));
- assertEquals(0, x %= ((x+((tmp = 163275724, tmp)<<((tmp =
-514460883.3040788, tmp)+x)))|(tmp = -287112073.2482593, tmp)));
- assertEquals(0, x &= (3067975906));
- assertEquals(201342051, x |= (tmp = 201342051, tmp));
- assertEquals(0, x %= (((((-2580351108.8990865)<<(tmp = 2675329316,
tmp))&((1338398946)%((-1548041558)+((x>>(-1568233868.7366815))|((x>>((tmp =
-1064582207, tmp)/(-1062237014)))>>(tmp = 854123209,
tmp))))))<<(((989032887)*(1842748656))%(tmp = -1566983130, tmp)))-x));
- assertEquals(-0, x /= (tmp = -828519512.617768, tmp));
- assertEquals(0, x &= ((((1449608518)+(-1829731972))*(1828894311))*(((tmp
= -1121326205.614264, tmp)^(-2057547855))<<(tmp = -2758835896, tmp))));
- assertEquals(NaN, x %= ((tmp = -2138671333, tmp)%x));
- assertEquals(0, x &= x);
- assertEquals(665568613.0328879, x += (665568613.0328879));
- assertEquals(317, x >>= (2627267349.735873));
- assertEquals(0, x -= x);
- assertEquals(0, x &= (((tmp = 3030611035, tmp)*(((tmp =
476143340.933007, tmp)>>(x-(2238302130.2331467)))|(x|x)))%(tmp = 320526262,
tmp)));
- assertEquals(0, x <<= (tmp = 729401206, tmp));
- assertEquals(0, x >>>= (1721412276));
- assertEquals(217629949.3530736, x += ((tmp = 217629949.3530736,
tmp)%((-931931100.601475)%(x^(tmp = -2149340123.548764, tmp)))));
- assertEquals(217629949.3530736, x %= (tmp = 2275384959.4243402, tmp));
- assertEquals(0, x >>>= (1112677437.5524077));
- assertEquals(0, x *= (500256656.7476063));
- assertEquals(0, x >>>= x);
- assertEquals(0, x -= x);
- assertEquals(0, x -= x);
- assertEquals(0, x &= (-1076968794));
- assertEquals(0, x /= (tmp = 1774420931.0082943, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (-2978890122.943079));
- assertEquals(-0, x /= (tmp = -2954608787, tmp));
- assertEquals(-800048201, x ^= ((tmp = -800048201.7227018,
tmp)>>>((-2016227566.1480863)/(tmp = -2263395521, tmp))));
- assertEquals(3333, x >>>= (-2038839052));
- assertEquals(487957736.625432, x += (487954403.625432));
- assertEquals(-1650983426, x |= (2643918270));
- assertEquals(-1861867448, x &= (tmp = -251254199.12813115, tmp));
- assertEquals(-7.934314690172143e-18, x %=
((((x^(-703896560.6519544))>>(tmp = -1853262409, tmp))/(tmp =
-1168012152.177894, tmp))/(tmp = 837616075.1097361, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (tmp = -2328150260.5399947, tmp));
- assertEquals(-1954860020, x |= (tmp = 2340107276, tmp));
- assertEquals(-1954860020, x >>= ((tmp = 159177341,
tmp)*(x&(-705832619))));
- assertEquals(-1954895727, x -= (x>>>((-1443742544.7183702)^((((tmp =
869581714.0137681, tmp)+x)^((x%(tmp = -1036566362.5189383,
tmp))^(x%x)))>>x))));
- assertEquals(1.0241361338078498, x /= (tmp = -1908824093.2692068, tmp));
- assertEquals(16777216, x <<= (x*(((-1925197281)^(tmp =
-1392300089.4750946, tmp))|x)));
- assertEquals(-225882765524992, x *= (tmp = -13463662, tmp));
- assertEquals(-1845493760, x |= x);
- assertEquals(-1845493760, x %= (tmp = 3181618519.786825, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= (x>>>x));
- assertEquals(NaN, x %= (((((tmp = -521176477, tmp)>>(((tmp = 370693623,
tmp)/(((tmp = -1181033022.4136918, tmp)>>(x|(x*(2601660441))))+(tmp =
-1696992780, tmp)))|(x|
(-1197454193.198036))))>>>(((2512453418.3855605)+((((((tmp = 799501914,
tmp)&(((1788580469.7069902)*(((((1476778529.5109258)<<(tmp =
-1873387738.3541565, tmp))-((tmp = -521988584.7945764,
tmp)*(-1598785351.3914914)))&(-1899161721.8061454))&((x/x)*(690506460))))>>>((tmp
= 2255896398.840741, tmp)>>((tmp = -1331486014.6180065,
tmp)+(-1159698058.534132)))))*((1112115365.2633948)&((x>>((x>>(-784426389.4693215))&(-492064338.97227573)))>>x)))^((x-((tmp
= 2986028023, tmp)>>(tmp = 2347380320.00517, tmp)))*(tmp = -1463851121,
tmp)))*(tmp = -1059437133, tmp))%(x-(tmp = 1238739493.7636225,
tmp))))^(2029235174)))*(-1923899530))>>>x));
- assertEquals(0, x >>>= (2848792983.510682));
- assertEquals(0, x >>= (((tmp = 3042817032.705198, tmp)>>>x)&((((tmp =
-829389221, tmp)-((2669682285.8576303)+(tmp = 1812236814.3082042,
tmp)))^x)%((tmp = -2401726554, tmp)^((tmp = 2464685683, tmp)|
(-2685039620.224061))))));
- assertEquals(2069649722, x |= (2069649722.311271));
- assertEquals(NaN, x %=
(((((-68757739.39282179)&(-1382816369))/(3122326124))<<(x-(-507995800.3369653)))<<(((-1962768567.343907)+((tmp
= 1357057125, tmp)/x))^(tmp = 1997617124, tmp))));
- assertEquals(NaN, x += x);
- assertEquals(0, x >>= (26895919));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= (tmp = 1092448030, tmp));
- assertEquals(0, x <<= (tmp = -477672441.46258235, tmp));
- assertEquals(0, x /= (2113701907));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= x);
- assertEquals(1341078673, x |= (-2953888623));
- assertEquals(1341078673, x &= x);
- assertEquals(0, x %= x);
- assertEquals(414817852.151006, x -= (-414817852.151006));
- assertEquals(1006632960, x <<=
((((((126465614.8316778)+(x-(2511803375)))+(tmp = 1620717148.352402,
tmp))*x)/(tmp = -3013745105.5275207, tmp))-((tmp = -418034061.6865432,
tmp)/(-300492911))));
- assertEquals(1055624813, x |= (tmp = 921407085, tmp));
- assertEquals(-3, x |= ((((tmp = 1382397819.7507677, tmp)+(tmp =
-111851147.7289567, tmp))+x)/((tmp = 247980405.7238742, tmp)^(tmp =
-592156399.8577058, tmp))));
- assertEquals(35161, x &= (((((((-2973570544.725141)*(tmp = -1244715638,
tmp))+x)<<(x/((x>>>(-2143371615.073137))/(226072236))))%((x-(tmp =
1971392936, tmp))^(tmp = 2653103658, tmp)))%((tmp = 2828319571.7066674,
tmp)>>((1528970502)^((tmp = -55869558, tmp)%x))))>>(889380585.6738582)));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= (2749718750));
- assertEquals(0, x >>>= ((((-1633495402.6252813)*(tmp =
2943656739.1108646, tmp))+(tmp = 977432165, tmp))&((tmp = -2338132019,
tmp)*(408176349.8061733))));
- assertEquals(-1778794752, x -= (((tmp = -1391412154.5199084,
tmp)-((-3172342474)|x))&(1854366052)));
- assertEquals(-1778794752, x %= (tmp = 2024807296.6901965, tmp));
- assertEquals(-1114410.466337204, x %= ((tmp = -240344444.24487805,
tmp)%(-47661164)));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>= (x>>x));
- assertEquals(0, x *= x);
- assertEquals(0, x /= ((-3134902611)|(tmp = -3131158951, tmp)));
- assertEquals(-0, x /= (((tmp = 1430247610.634234, tmp)&x)+((tmp =
-2047191110.8623483, tmp)-((((x%((((x/(tmp = -2599234213, tmp))|(tmp =
2650380060, tmp))|x)+x))>>>x)&(-1961373866))<<x))));
- assertEquals(-718394682, x -= ((x|(tmp = 1764417670.8577194,
tmp))%(1046022988)));
- assertEquals(3576572614, x >>>= (((tmp = 2480472883.078992,
tmp)<<x)>>((2035208402.8039393)&(tmp = 492980449, tmp))));
- assertEquals(434034142, x %= (x&((x>>>(311110449.48751545))|
(-243530647))));
- assertEquals(524703439.3065736, x += (((tmp = 1392771723.3065736,
tmp)%(x&x))%(tmp = -2199704930, tmp)));
- assertEquals(373686272, x &= (x<<((tmp = 2103372351.9456532, tmp)%(tmp =
-1367109519, tmp))));
- assertEquals(373686272, x >>= x);
- assertEquals(-0.12245430020241108, x /= (tmp = -3051638622.5907507,
tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x %= (3095983855));
- assertEquals(-1454736871, x ^= (x*(tmp = -1454736872, tmp)));
- assertEquals(-1454736866, x ^= (((724989405.7338341)|(tmp =
-2834298786.384371, tmp))>>>(tmp = -2029602148.1758833, tmp)));
- assertEquals(-1454736866, x &= x);
- assertEquals(-197394432, x <<= (tmp = -1562128975, tmp));
- assertEquals(251658240, x <<= (tmp = 2126510950, tmp));
- assertEquals(3295700610.703306, x -= (tmp = -3044042370.703306, tmp));
- assertEquals(-51152917, x |= ((949179883.1784958)|(((tmp = -2046168220,
tmp)>>(x/x))/(((835064313)*(tmp = 2197600689, tmp))^(((tmp = 2717104216,
tmp)&x)<<(-1402661995.3845913))))));
- assertEquals(-1549204421, x ^= ((((tmp = -481013711, tmp)>>>((tmp =
119589341.80209589, tmp)%(-995489985.2905662)))-(635717011))^(x+(x*x))));
- assertEquals(-1078356672.3999934, x += (470847748.6000067));
- assertEquals(1484987268.4638166, x += (tmp = 2563343940.86381, tmp));
- assertEquals(277020804, x &= (tmp = 2532819117, tmp));
- assertEquals(-2097118208, x <<= (x>>>x));
- assertEquals(-2147483648, x <<= (tmp = 761285045, tmp));
- assertEquals(2147483648, x >>>= x);
- assertEquals(-935909870282997800, x *= ((-2583300643)|x));
- assertEquals(-370753566.54721737, x %= (-1084543510.4524941));
- assertEquals(-177, x >>= (-946264747.6588805));
- assertEquals(-416077682, x ^= (tmp = 416077761, tmp));
- assertEquals(NaN, x %= ((((tmp = 779607408, tmp)*(((tmp = -3007128117,
tmp)*(851442866.6153773))+x))&(1283388806))/(-876363553)));
- assertEquals(NaN, x %= (x/(tmp = -1668413939.652408, tmp)));
- assertEquals(-1726405921, x ^= (tmp = -1726405921, tmp));
- assertEquals(-1, x >>= ((3031008213.807012)>>x));
- assertEquals(4294967295, x >>>= ((x>>>x)&(tmp = 2788082290, tmp)));
- assertEquals(8544111670008449000, x *= (tmp = 1989331020.0417833, tmp));
- assertEquals(268435456, x <<= (tmp = 3121736017.2098465, tmp));
- assertEquals(-2.1011176170964474e+26, x -= (((tmp = 1392503299,
tmp)*(tmp = 1446108825.1572113, tmp))*(x^(tmp = 372776014.213725, tmp))));
- assertEquals(0, x |= x);
- assertEquals(0, x >>= ((-112413907.70074797)*(-702798603)));
- assertEquals(1829518838, x |= (tmp = -2465448458, tmp));
- assertEquals(57172463, x >>= ((tmp = 2979642955.241792, tmp)%(tmp =
-2464398693.291434, tmp)));
- assertEquals(114344926, x += x);
- assertEquals(113279134, x &= (2397742238.6877637));
- assertEquals(54, x >>= (1908522709.6377516));
- assertEquals(-2.966982919573829e-7, x /= (tmp = -182003070, tmp));
- assertEquals(0, x <<= (-1078417156));
- assertEquals(-147831390, x ^= (((-147831390)>>>x)+x));
- assertEquals(0, x -= x);
- assertEquals(-242221450.44696307, x -= (tmp = 242221450.44696307, tmp));
- assertEquals(-484442900, x <<= (((tmp = -2033947265.088614,
tmp)&x)/(x^(tmp = -2893953848, tmp))));
- assertEquals(-3227648, x <<= (x<<((tmp = -193993010, tmp)*((983187830)|
(3146465242.2783365)))));
- assertEquals(-6455296, x += x);
- assertEquals(-1771542585, x -= (x^(tmp = -1767335879, tmp)));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= ((((tmp = -1612864670.4532743, tmp)*(tmp =
786265765.210487, tmp))*((((tmp = -893735877.3250401, tmp)*((x^(tmp =
-2804782464.233885, tmp))<<x))&(x-x))^x))<<x));
- assertEquals(0, x -= (x>>>(-1648118674.380736)));
- assertEquals(0, x >>= ((tmp = -2706058813.0028524, tmp)>>(2745047169)));
- assertEquals(0, x += x);
- assertEquals(0, x %= (-898267735.137356));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= ((265527509)/((tmp = 2190845136.7048635,
tmp)+((x>>x)>>>((x%(x-x))&((((-2080184609.8989801)&((-327231633)>>>((tmp =
864849136, tmp)%(((-524363239)*(((((tmp = 2245852565.3713694,
tmp)&(1918365.8978698254))>>>(tmp = -2463081769,
tmp))-(((2438244059.471446)|
((((-135303645.38470244)*(-861663832.2253196))%(tmp = 1273185196.0261836,
tmp))|((2261539338.832875)%((320267076.2363237)+x))))>>(tmp = -2731398821,
tmp)))/(tmp = -1947938611, tmp)))^x))))>>(tmp = 833666235, tmp))|x))))));
- assertEquals(-1116704570, x ^= (-1116704570));
- assertEquals(1379561710, x ^= (tmp = -280362968.19654894, tmp));
- assertEquals(-1673822208, x <<= x);
- assertEquals(-1673822208, x |= (x<<(tmp = 1389479193.9038138, tmp)));
- assertEquals(2559712, x >>>= (-2703763734.0354066));
- assertEquals(2593499, x ^= (x>>>((tmp = 148668150.03291285, tmp)^(tmp =
-1580360304, tmp))));
- assertEquals(2070393855, x |= (tmp = -2227002907, tmp));
- assertEquals(304197770, x &= (tmp = 2453257354, tmp));
- assertEquals(304197770, x <<= ((-669331453.8814087)-(x^(x^(tmp =
33804899.98928583, tmp)))));
- assertEquals(297068, x >>= x);
- assertEquals(Infinity, x /= (x-x));
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x %= ((tmp = 1723087085, tmp)%(2859382131.304421)));
- assertEquals(0, x %= (((tmp = 2935439763,
tmp)<<(-3163992768.637094))%(tmp = 67176733, tmp)));
- assertEquals(0, x &= (tmp = 2480771277, tmp));
- assertEquals(0, x >>>= (x+(tmp = -3168690063, tmp)));
- assertEquals(0, x *= ((tmp = -1915275449.1806245, tmp)>>>((tmp =
-1644482094.1822858, tmp)/(tmp = -432927173, tmp))));
- assertEquals(0, x +=
(((2766509428.071809)/(x/((942453848.5423365)/(((tmp = -1284574492,
tmp)&((tmp = 760186450.7301528, tmp)-(2464974117.358138)))/((x/(x|
(672536969)))*(x>>(-1272232579)))))))>>(x*(-3175565978))));
- assertEquals(-1277710521, x -= (1277710521));
- assertEquals(-1277710521, x >>= (((tmp = -2349135858, tmp)-x)-x));
- assertEquals(-1277710521, x >>= ((tmp = 2135645051, tmp)*(tmp =
-2468555366, tmp)));
- assertEquals(-155971, x >>= (-1294859507));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= (((861078292.6597499)|
(-268063679))-(((((-221864206.9494424)-(-3186868203.2201176))&(tmp =
1287132927, tmp))<<(((tmp = 1964887915, tmp)<<((25908382)^(tmp =
-688293519.875164,
tmp)))*(2075946055)))&(x-((x>>x)&(1395338223.7954774))))));
- assertEquals(788002218, x -= (-788002218));
- assertEquals(716399906, x &= (-1145868506));
- assertEquals(145776674, x &= (-1661931477.360386));
- assertEquals(145776674, x |= x);
- assertEquals(-0.05255700469257692, x /= (tmp = -2773686873, tmp));
- assertEquals(-660918434, x |= (-660918434.2915542));
- assertEquals(1223537346, x ^= (tmp = -1871274596, tmp));
- assertEquals(305884336, x >>= (x&x));
- assertEquals(-1.1123775647978218e-8, x *= ((tmp = -793393031.4229445,
tmp)/((tmp = -503919284, tmp)*(((((tmp = 429810625,
tmp)>>>x)-((2091544148.870375)<<(((((x^x)%x)|x)/(-260773261))<<((tmp =
-1323834653,
tmp)&x))))*((-1231800099.3724015)+x))*((x+((-559726167)^x))>>>((-549148877)<<((((tmp
= 1196115201, tmp)/((tmp = -2654658968.390111, tmp)%(tmp = -1044419580,
tmp)))*(((((x>>>(733571228))+(2919762692.511447))/(-2718451983.570547))^x)+((2891533060.1804514)^((tmp
= -2514488663, tmp)&x))))<<(tmp = -2526139641.6733007, tmp))))))));
- assertEquals(0, x >>>= x);
- assertEquals(0, x *= x);
- assertEquals(0, x |= x);
- assertEquals(3076984066.336236, x -= ((tmp = -3076984066.336236,
tmp)+((tmp = -446575828.5155368, tmp)&x)));
- assertEquals(1, x /= x);
- assertEquals(1513281647.839972, x *= (1513281647.839972));
- assertEquals(1251138155, x ^= ((tmp = 2124481052,
tmp)&(2431937351.4392214)));
- assertEquals(1, x /= x);
- assertEquals(0, x &= (tmp = 627050040, tmp));
- assertEquals(497153016, x ^= (497153016));
- assertEquals(-1112801283, x |= (tmp = 2752196557, tmp));
- assertEquals(0.5735447276296568, x /= ((((tmp = -500878794, tmp)%(tmp =
-2559962372.2930336, tmp))%(2661010102))+(tmp = -1439338297, tmp)));
- assertEquals(1.0244795995097235e-9, x /= (559840067));
- assertEquals(0.43468811912309857, x *= (424301391));
- assertEquals(-1972757928, x ^= (tmp = -1972757928.9227014, tmp));
- assertEquals(-606757265, x ^= (tmp = -2923461577.264596, tmp));
- assertEquals(-37, x >>= (((-2736561559.7474318)%(tmp =
-27668972.662741184, tmp))*(2774711606)));
- assertEquals(-1923785671, x += ((-1923785597)+x));
- assertEquals(-3877639176, x += (tmp = -1953853505, tmp));
- assertEquals(-4688259242, x -=
((810620066.4394455)>>(((-1474285107.459875)>>x)/(((((-570672326.4007359)>>(tmp
= -3086802075, tmp))%x)>>>(((tmp = 286938819.28193486,
tmp)>>>((1712478502)>>(tmp = 3045149117.796816, tmp)))<<(tmp =
750463263.292952, tmp)))&(tmp = 2055350255.5669963, tmp)))));
- assertEquals(-0, x %= x);
- assertEquals(0, x <<= (1037856162.5105649));
- assertEquals(0, x *= x);
- assertEquals(0, x &= (997845077.4917375));
- assertEquals(0, x *= x);
- assertEquals(0, x *= x);
- assertEquals(0, x <<= (((x<<x)&(57691805))>>(786927663)));
- assertEquals(0, x ^= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= (-2131910624.1429484));
- assertEquals(0, x >>>= (-43787814));
- assertEquals(-2415062021, x += (tmp = -2415062021, tmp));
- assertEquals(-4830124042, x += x);
- assertEquals(-186683401, x |= (tmp = 1960135383, tmp));
- assertEquals(NaN, x *= ((tmp = -1674740173.9864025,
tmp)%(((((((-432895485.7261934)-x)^x)>>>(((-1627743078.3383338)>>(179992151))<<((tmp
= 911484278.0555259, tmp)|(((tmp = -3042492703,
tmp)>>(((-663866035.302746)>>(((x-((440661929.50030375)>>>(tmp = 263692082,
tmp)))*x)+x))/((1546004407)^(((tmp = 2023662889.1594632, tmp)*(tmp =
-2456602312, tmp))+(tmp = 755602286.1810379, tmp)))))%((tmp = -336449961,
tmp)|(tmp = 206780145, tmp))))))/(1068005219.1508512))<<(tmp =
-474008862.6864624, tmp))/(((((((1518711056.5437899)>>>(tmp =
287418286.63085747, tmp))<<(tmp = 2823048707,
tmp))^(((x<<(x^(-1600970311)))&(x>>(((tmp = 157300110.7636031, tmp)*(tmp =
-3047000529, tmp))&(1743024951.3535223))))>>x))-(tmp = -2895435807,
tmp))*((tmp = -314120704, tmp)&(tmp = 1759205369, tmp)))>>(tmp =
1833555960.046526, tmp)))));
- assertEquals(NaN, x -= (tmp = 694955369, tmp));
- assertEquals(NaN, x *= (x%x));
- assertEquals(0, x |= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x &= x);
- assertEquals(NaN, x /= (x+x));
- assertEquals(NaN, x %= ((tmp = -1595988845,
tmp)*((1754043345)>>>(-601631332))));
- assertEquals(0, x >>>= (tmp = 862768754.5445609, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (tmp = -1774545519, tmp));
- assertEquals(0, x >>>= (tmp = -2492937784, tmp));
- assertEquals(0, x %= ((((x<<(-1657262788.2028513))&((x^(tmp =
-671811451,
tmp))<<(-2984124996)))^(1455422699.7504625))-((-340550620)>>x)));
- assertEquals(918278025, x ^= ((tmp = -918278027, tmp)^((tmp =
2889422870, tmp)/(tmp = -657306935.7725658, tmp))));
- assertEquals(918278025, x %= (2603186571.0582614));
- assertEquals(107034679.32509923, x %= (tmp = -811243345.6749008, tmp));
- assertEquals(53517339, x >>= (x%((((x*((tmp = -983766424,
tmp)^(-1881545357.8686862)))|(tmp = -1429937087, tmp))>>((x<<x)>>((((tmp =
-2347470476, tmp)&x)+((x&x)<<(396061331.6476157)))*(tmp =
-3136296453.209073, tmp))))>>>(((tmp = 908427836, tmp)|(tmp = 207737064,
tmp))|(((1253036041)-(tmp = 2705074182, tmp))+(-431215157.82083917))))));
- assertEquals(53477378, x &=
((((-1128036654.165636)*x)+x)>>(x>>(3080099059))));
- assertEquals(0, x >>= (-590692293));
- assertEquals(0, x %= (-2395850570.9700127));
- assertEquals(0, x *= ((tmp = 1377485272, tmp)&(1129370608)));
- assertEquals(0, x += (x>>>(x%(((((tmp = -1746827236, tmp)+((tmp =
-326913490, tmp)&((-58256967)&x)))*(tmp = -1176487022.001651,
tmp))>>>(-2089147643))-x))));
- assertEquals(0, x <<= (tmp = 1073298160.2914447, tmp));
- assertEquals(-837811832, x ^= (-837811832));
- assertEquals(102760448, x <<= (tmp = 2833582450.4544373, tmp));
- assertEquals(0, x &= (((((((tmp = 2595641175, tmp)*x)+(tmp =
-2049260172.1025927, tmp))%((2986747823)>>(tmp = -2120598518, tmp)))&((tmp
= -2742408622, tmp)&x))>>x)*((1043474247.9601482)&(tmp =
1686365779.9885998, tmp))));
- assertEquals(0, x >>= ((tmp = 1717862848, tmp)-(tmp =
1077024446.4160957, tmp)));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= (-1669429787.975099));
- assertEquals(NaN, x -= (-2299895633.4807186));
- assertEquals(138173970, x ^= (138173970.56627905));
- assertEquals(-2084183776, x <<= (3073345316));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>= (-3080556066.068573));
- assertEquals(0, x &= ((tmp = -2587514820,
tmp)*(x-((x^(1995672257))*(1125326747.2339358)))));
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>= (tmp = 2139186585, tmp));
- assertEquals(-1904096640, x |= ((-602301360.1919911)*(-1270444810)));
- assertEquals(1073741824, x <<= (tmp = -1069467849, tmp));
- assertEquals(1073741824, x ^= (x-x));
- assertEquals(536870912, x >>>= (-1579466367.160293));
- assertEquals(512, x >>= (972402804.3890183));
- assertEquals(512, x &= (tmp = 2664796831, tmp));
- assertEquals(16777216, x <<= (-2738292561));
- assertEquals(0, x >>>= ((((1397663615.3889246)|
(1117420260.6730964))-(-1173734560))<<((tmp = 1007006104.0172879,
tmp)<<((tmp = -623002097, tmp)%(tmp = -35829654.379403114, tmp)))));
- assertEquals(1200191544, x ^= (tmp = -3094775752, tmp));
- assertEquals(71, x >>>= x);
- assertEquals(71, x |= x);
- assertEquals(1394763772, x += (1394763701));
- assertEquals(-1.492717171027427, x /= ((x&(tmp = 1243787435,
tmp))-(2043911970.26752)));
- assertEquals(-1.1002448961224718e-8, x /= ((((835185744)*(((tmp =
2165818437, tmp)^(tmp = 2567417009.1166553,
tmp))/x))/x)/(((63485842.39971793)^(2668248282.597389))/x)));
- assertEquals(0, x <<= (tmp = 1598238578.637568, tmp));
- assertEquals(0, x |= (x&((tmp = -1812945547.5373957, tmp)>>>x)));
- assertEquals(0, x >>>= (x+(-1969679729.7299538)));
- assertEquals(1582033662, x += (tmp = 1582033662, tmp));
- assertEquals(1, x >>>= x);
- assertEquals(-550748739, x += ((tmp = -550748740,
tmp)/(x&((2537822642.235506)^((-2167656297)%(tmp = 1161201210, tmp))))));
- assertEquals(-268921, x >>= (tmp = 1916069547.7381654, tmp));
- assertEquals(-0.00021776939364231114, x /= (tmp = 1234888868, tmp));
- assertEquals(0, x <<= (-1036375023));
- assertEquals(0, x &= ((((x/(2398886792.27443))&(x|
((-1813057854.1797302)-x)))&(x/(((tmp = 3091133731.4967556, tmp)|
(3013139691.823039))<<x)))>>>(2542784636.963599)));
- assertEquals(0, x += ((x*x)/(tmp = 347079383, tmp)));
- assertEquals(788347904, x |=
((1462257124.6374629)*((3180592147.4065146)-(x&(1922244678)))));
- assertEquals(2130672735, x |= (tmp = -2846986145, tmp));
- assertEquals(-1331327970, x ^= ((656251304)-(tmp = 1489152359, tmp)));
- assertEquals(-0.14377179742889856, x %=
(((2889747597.813753)-(1730428996))/(((tmp = -1378710998, tmp)&x)|x)));
- assertEquals(-1754612583.143772, x +=
((-1754725729)^((-2285838408)>>>(1434074349))));
- assertEquals(-0, x %= x);
- assertEquals(0, x &= (tmp = -1031961332, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= (3059476325));
- assertEquals(NaN, x *= ((x*((((tmp = 13529540.462185979,
tmp)&x)^((x<<(-1312696238.1628869))&(-2029766712.3852897)))>>x))/x));
- assertEquals(1657339940, x ^= ((tmp = -488956817.1491232, tmp)&(tmp =
-2352413900.1983714, tmp)));
- assertEquals(-530683621952432200, x *= (tmp = -320202035.2882054, tmp));
- assertEquals(229226258, x ^= ((tmp = -1263410990.026416,
tmp)+(((-808046349)&(tmp = -1294442506, tmp))&((tmp = 1147437219,
tmp)<<((tmp = -820299900, tmp)-(tmp = -1947748943.3443851, tmp))))));
- assertEquals(7163320, x >>= (-2631307131));
- assertEquals(-68, x |= (((-1271721343)>>x)%x));
- assertEquals(-39956523818.38862, x *= (587595938.505715));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= ((x^(x+x))<<(tmp = 265212367, tmp)));
- assertEquals(0, x |= (((x>>((tmp = 2294761023,
tmp)/(x>>(2125624288))))&((-2125650113)|(tmp = 1014409884, tmp)))%(tmp =
-527324757, tmp)));
- assertEquals(0, x >>= ((tmp = 2267075595, tmp)*(-1681569641.8304193)));
- assertEquals(0, x >>>= x);
- assertEquals(0.5738410949707031, x -= ((tmp = -1846572645.573841,
tmp)%((((((x^(((-156613905.64173532)/x)<<x))+((x|
((2405109060)>>>x))^x))/(570585894.8542807))+(x&(-2544708558)))^((((tmp =
-2539082152.490635, tmp)+((((-657138283)/(2204743293))-((tmp =
-1422552246.565012, tmp)+x))<<(x-x)))>>(x/(x>>>(tmp = -3027022305.484394,
tmp))))<<x))&((-2066650303.3258202)/(tmp = -1666842593.0050385, tmp)))));
- assertEquals(0, x >>>= ((((tmp = 2473451837.613817,
tmp)>>((2526373359.1434193)>>(x<<x)))+((tmp = -579162065, tmp)+((tmp =
-3115798169.551487, tmp)-(tmp = 933004398.9618305, tmp))))&(tmp =
131167062, tmp)));
- assertEquals(-2067675316, x ^= (-2067675316.6300585));
- assertEquals(543772, x >>>= x);
- assertEquals(-1073741824, x <<= x);
- assertEquals(3221225472, x >>>= ((x*(1478586441.081221))&(tmp =
-3050416829.2279186, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= x);
- assertEquals(-1017771903.0298333, x -= (1017771903.0298333));
- assertEquals(0.6404112721149928, x /= ((tmp = -144667370,
tmp)^(-2849599562)));
- assertEquals(-2410517638773644000, x -= (((tmp = 1759631550,
tmp)*x)*((((tmp = -2949481475, tmp)>>>x)*x)|(tmp = -2977983804, tmp))));
- assertEquals(-0, x %= (x+((((tmp = -1307866327.7569134, tmp)<<((x&((tmp
= -2380043169.8405933, tmp)|x))>>(472992789.7639668)))|(((((x<<(tmp =
-1416427232.7298179, tmp))%(-1404989679.409946))*((x/(tmp = -992416608,
tmp))/(tmp = 524646495, tmp)))-(tmp = 734405570,
tmp))>>x))/(1079256317.7325506))));
- assertEquals(0, x <<= (tmp = 2459834668, tmp));
- assertEquals(-0, x /= (tmp = -1892164840.5719755, tmp));
- assertEquals(0, x >>= (x|(((1299844244)>>>(((tmp = -2422924469.9824634,
tmp)|x)-((((1914590293.2194016)+(-3033885853.8243046))-((tmp = -1720088308,
tmp)%x))<<(tmp = 2210817619, tmp))))<<x)));
- assertEquals(0, x <<= (((tmp = 3192483902.841396,
tmp)>>>(((x^(2944537154))|(tmp = -1334426566,
tmp))*(((((((-2705218389)&x)+(1987320749))+(tmp = -111851605, tmp))|
(2894234323))-(265580345))&x)))%(((tmp = 1431928204.6987057, tmp)&(tmp =
914901046, tmp))&(x>>>x))));
- assertEquals(0, x >>>= (tmp = 1941940941, tmp));
- assertEquals(0, x %= (3089014384));
- assertEquals(0, x += ((tmp = 2948646615, tmp)*x));
- assertEquals(-0, x /= (tmp = -1480146895, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x %= (-2995257724.158043));
- assertEquals(NaN, x %= (tmp = 2714835455, tmp));
- assertEquals(NaN, x /= (tmp = -311440765.98078775, tmp));
- assertEquals(NaN, x -= (-1600234513.697098));
- assertEquals(0, x <<= x);
- assertEquals(0, x <<= (-1499045929));
- assertEquals(-0, x *= (-2491783113));
- assertEquals(0, x ^=
(x%((x>>(((1234398704.3681123)>>>x)%(x+x)))>>(402257223.4673699))));
- assertEquals(-643225204, x ^=
(((-55960194.698637486)+((((721411198)-(((tmp = 1308676208.7953796,
tmp)%(2242904895))-x))>>((((tmp = 332791012, tmp)&((tmp = -2094787948,
tmp)/((x/(2427791092))^(2444944499.6414557))))%(((x+(1253986263.5049214))+(((((3135584075.248715)+((tmp
= -2569819028.5414333,
tmp)%(440908176.1619092)))>>>(x<<((3061615025)-x)))%x)%(x+((2369612016)*((((tmp
= 1173615806,
tmp)*(-1910894327))&(2428053015.077821))*(-55668334.70082307))))))<<(tmp =
-2129259989.0307562,
tmp)))+(1579400360)))%((-3053590451.8996153)>>x)))+(x>>(x%(x^((-1772493876)^x))))));
- assertEquals(413738663060841600, x *= x);
- assertEquals(1581062538.4501781, x %= ((tmp = -1298397672.0300272,
tmp)-((2237197923)+(tmp = -1385478459, tmp))));
- assertEquals(755644566.8709538, x %= (tmp = -825417971.5792243, tmp));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= ((89330582)%(-1012731642.4855506)));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x %= ((x>>>((x/(tmp = -1848848941.2352903,
tmp))>>>(tmp = -71862893, tmp)))&(-2385996598.2015553)));
- assertEquals(NaN, x += (-2292484503.318904));
- assertEquals(NaN, x *= (2961064461));
- assertEquals(NaN, x += (x<<((2076798243.6442)/((tmp =
-81541044.75366282, tmp)^((3041366498.551101)+((2126874365)/(tmp =
-177610359, tmp)))))));
- assertEquals(NaN, x %= ((x/((x/x)+x))>>>x));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (1171761980.678));
- assertEquals(NaN, x += ((2355675823)<<(-390497521)));
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (tmp = -658428225.56619, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= (1643310725.5713737));
- assertEquals(0, x <<= x);
- assertEquals(0, x <<= (-397005335.3712895));
- assertEquals(0, x >>>= (tmp = -2804713458.166788, tmp));
- assertEquals(0, x <<= (((((((tmp = 1879988501,
tmp)%(1528081313.9360204))+(1376936736))*((((x>>>((1736268617.339198)>>>(-2598735297.4277673)))<<((((((((-2742982036)/(231867353.4549594))-(875335564))<<x)|
((2241386341.742653)<<((-22024910.828409433)&(x<<x))))*(-756987803.5693252))+x)^(tmp
= 1084498737, tmp)))<<(1920373881.8464394))&(2370827451.82652)))&(x^(tmp =
-891503574, tmp)))<<x)>>>((-1519588625.2332087)^(483024636.2600144))));
- assertEquals(52193878.40997505, x -= ((tmp = -341753803.40997505,
tmp)%(tmp = -96519975, tmp)));
- assertEquals(-1665844168.938803, x -= (1718038047.348778));
- assertEquals(3.6962232549405003e-19, x /=
(((((-809583468.5507183)>>>((tmp = 286797763,
tmp)%((1579183142.7321532)/(1853824036.001172))))<<x)>>(((x|x)^((tmp =
-2641304815,
tmp)<<(x<<x)))>>(((((268338128.8300134)&(-1778318362.8509881))*(751081373.346478))<<(((525066612)>>(-1139761212))*(2949167563.299916)))<<x)))+((tmp
= 664905121, tmp)*((-2208280205)*(3069462420)))));
- assertEquals(4710721795.110161, x +=
(((217604832)+((1307891481.781326)-x))+(tmp = 3185225481.328835, tmp)));
- assertEquals(0, x %= x);
- assertEquals(0, x -= (((x>>>(x/(tmp = 46977522.46204984,
tmp)))>>(-2466993199.615269))&(tmp = 14524430.287991166, tmp)));
- assertEquals(0, x >>= x);
- assertEquals(0, x /= (tmp = 578120637, tmp));
- assertEquals(-17267104, x -= (((tmp = 1515285919.495792, tmp)+(((tmp =
-1364790286.7057304,
tmp)+((954599071)>>((897770243.1509961)*x)))^x))>>>(566027942.1732262)));
- assertEquals(-17267104, x &= x);
- assertEquals(189138241, x ^= ((tmp = 1565742675.9503145, tmp)-((tmp =
1737806643, tmp)|((x*(tmp = -1382435297.5955122,
tmp))*(-2820516692.153056)))));
- assertEquals(189138241, x %= (x*(tmp = -1670678493, tmp)));
- assertEquals(1693, x %= ((-2328713314)>>>(1623637325)));
- assertEquals(1693, x %= ((-1019394014)*(x|x)));
- assertEquals(3386, x += x);
- assertEquals(9268970871604, x *= (2737439714));
- assertEquals(-4720.120483643183, x /= (tmp = -1963714889, tmp));
- assertEquals(-1, x >>= ((x^(((-2404688047.455056)|
((1439590234.6203847)<<(tmp = -2496557617, tmp)))/((x<<((tmp =
1865549512.282249, tmp)/(((360384191.55661833)>>(tmp = -1225297117.344188,
tmp))>>>(2703264010.4122753))))*(1521960888.0071676))))%(tmp =
2834001448.0508294, tmp)));
- assertEquals(63, x >>>= (x&(-3079339174.6490154)));
- assertEquals(0, x >>>= (1039770956.6196513));
- assertEquals(0, x >>>= (-1074820214));
- assertEquals(0, x >>>= (x/x));
- assertEquals(0, x >>= ((tmp = -449117604.2811785, tmp)&x));
- assertEquals(-0, x /= (tmp = -118266935.1241343, tmp));
- assertEquals(2226140134, x += (tmp = 2226140134, tmp));
- assertEquals(2068827161, x ^= ((tmp = -1950744808.846384,
tmp)>>((2258661151)^((tmp = -1118176421.8650177, tmp)<<(2828634014)))));
- assertEquals(123, x >>>= (-1779624840.0515127));
- assertEquals(0, x >>>= (x|((tmp = -239082904, tmp)<<(tmp = 1404827607,
tmp))));
- assertEquals(0, x >>>= x);
- assertEquals(1793109749, x ^= (tmp = -2501857547.710491, tmp));
- assertEquals(855, x >>>= x);
- assertEquals(0, x >>>= (-847289833));
- assertEquals(0, x %= (-2271241045));
- assertEquals(169648072, x ^= (((tmp = 169648072.66759944, tmp)^x)|x));
- assertEquals(176025927479164930, x *= ((tmp = 1111997198.8803885,
tmp)<<(tmp = 2913623691, tmp)));
- assertEquals(176025926613281700, x += ((tmp = -865883245,
tmp)<<(x+(-2624661650))));
- assertEquals(3406506912, x >>>= ((x|(tmp = 2436016535, tmp))*(((tmp =
-1222337225, tmp)<<((1765930268)&x))*(tmp = 1600702938, tmp))));
- assertEquals(1.694694170868292, x %= (x/(-1597121830.794548)));
- assertEquals(0, x >>= (tmp = -2443203089, tmp));
- assertEquals(0, x >>>= (1323174858.2229874));
- assertEquals(0, x &= ((tmp = 846556929.2764134, tmp)|
(((1483000635.0020065)|(-3151225553))|(tmp = -229028309, tmp))));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>= ((((((-2677334787)>>>x)>>((tmp = 496077992,
tmp)&((((x<<(x*(tmp = 1095163344.2352686,
tmp)))+(-952017952))%((x<<((x*x)/(tmp = 2983152477, tmp)))^((tmp =
-939521852.1514642, tmp)^(tmp = 143967625.83755958, tmp))))*((tmp =
551827709.8366535,
tmp)>>>x))))^((-1552681253.69869)-(-1874069995)))>>>(x>>(x%(tmp =
-2554673215, tmp))))|(tmp = -190693051.77664518, tmp)));
- assertEquals(0, x /= (tmp = 427402761.37668264, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x |=
(x>>>(((((-543326164.0673618)>>>(-2344090136.707964))>>>((((-563350246.6026886)/x)/(1525481037.3332934))&(tmp
= -2917983401.88958, tmp)))^(-1094667845.1208413))^x)));
- assertEquals(0, x &= (1080322749.897747));
- assertEquals(0, x %= (tmp = -1572157280, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= ((377280936)|x));
- assertEquals(708335912, x -= (tmp = -708335912, tmp));
- assertEquals(2766937, x >>>= x);
- assertEquals(547342779, x += (tmp = 544575842, tmp));
- assertEquals(546273751, x -= ((x>>>(472833385.9560914))|((tmp =
-1164832103.9970903, tmp)/(3147856452.1699758))));
- assertEquals(546273751, x &= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x >>>= (tmp = -3181805175, tmp));
- assertEquals(-375546685, x |= (-375546685.08261824));
- assertEquals(1089992785780217200, x *= (tmp = -2902416209, tmp));
- assertEquals(0, x %= x);
- assertEquals(-1854981526, x -= ((x-x)-(-1854981526)));
- assertEquals(-3709963052, x += x);
- assertEquals(-316772482, x %= (tmp = -1696595285, tmp));
- assertEquals(-316772482, x |= x);
- assertEquals(1, x /= x);
- assertEquals(0, x -= x);
- assertEquals(-1418375842, x ^= (-1418375842));
- assertEquals(-2, x >>= x);
- assertEquals(-4, x += x);
- assertEquals(-8388608, x &= (x<<(-350555339.30086184)));
- assertEquals(-16777216, x += x);
- assertEquals(-0, x %= x);
- assertEquals(1083355129, x += (tmp = 1083355129, tmp));
- assertEquals(0, x &= (((tmp = 389729053, tmp)-(tmp = 2944192190.0939536,
tmp))/(x-(2081712461.2657034))));
- assertEquals(0, x += x);
- assertEquals(-3, x +=
((3147270119.5831738)>>((2455837253.1801558)%((-2100649096)>>(((290236808.01408327)|
(x&((2661741230.3235292)|((tmp = 1686874589.4690177, tmp)<<x))))*(x+(tmp =
2327674670, tmp)))))));
- assertEquals(-3, x %= ((x>>(((-2962686431)%x)>>((((2438370783)-(tmp =
2667305770.4839745, tmp))>>>x)>>>x)))<<((x&(tmp = 1428498616, tmp))|((tmp =
2621728539.102742, tmp)/(-204559901)))));
- assertEquals(2, x ^= (x|((((tmp = 1751230118.6865973,
tmp)/(-867465831.207304))>>((-808143600.0912395)+(-2882191493.0506454)))^x)));
- assertEquals(2, x %= (-2015954220.2250996));
- assertEquals(0, x >>>= (tmp = 401373999, tmp));
- assertEquals(0, x >>= (2371830723));
- assertEquals(0, x >>>= ((((tmp = 2765919396,
tmp)-x)-(530310269.7131671))|(tmp = -615761207.9006102, tmp)));
- assertEquals(-145389011, x ^= (tmp = -145389011, tmp));
- assertEquals(-145389011, x |= x);
- assertEquals(1632929832, x &= (-2518898392));
- assertEquals(4190540017.751949, x += (tmp = 2557610185.751949, tmp));
- assertEquals(4980024282.153588, x += ((1841304364.1177452)%(tmp =
1051820099.7161053, tmp)));
- assertEquals(0, x >>>= (((((1379314342.4233718)>>((-2782805860)^((x%(tmp
= 1328845288, tmp))>>>(tmp = 901403219.858733, tmp))))+(x/((tmp =
-3078904299, tmp)/x)))/x)|(x|(1399702815))));
- assertEquals(-1820494882, x ^= (tmp = -1820494882.407127, tmp));
- assertEquals(-305870376, x %= (tmp = -757312253, tmp));
- assertEquals(-577530443, x += (x|(tmp = -1958083619.6653333, tmp)));
- assertEquals(333541412591776260, x *= x);
- assertEquals(-949341696, x >>= ((((1550069663)<<((x>>>(tmp =
2406565178.902887, tmp))>>>((1844746612.632984)/((tmp = 2233757197,
tmp)*((-1524891464.1028347)>>(tmp = 2498623474.5616803,
tmp))))))&x)<<(x&(tmp = -370379833.3884752, tmp))));
- assertEquals(-277202090, x |= ((-762200848.8405354)-(tmp = 1749136282,
tmp)));
- assertEquals(0.13704539927239265, x /= (tmp = -2022702633.373563, tmp));
- assertEquals(0, x -= x);
- assertEquals(0, x %=
((132951580.19304836)-((427623236.27544415)-(1212242858))));
- assertEquals(0, x &= ((449148576)&(-1609588210.249217)));
- assertEquals(0, x >>= x);
- assertEquals(0, x -= x);
- assertEquals(-0, x /= (tmp = -1640777090.9694843, tmp));
- assertEquals(0, x &= (((tmp = -1923412153, tmp)>>>((x>>(tmp =
3027958119.0651507, tmp))+(60243350)))>>(tmp = -2610106062, tmp)));
- assertEquals(0, x ^= (((-186998676)/(tmp = 2697937056, tmp))-x));
- assertEquals(-1147950080, x |= ((2425449461)*(tmp = -2525854833, tmp)));
- assertEquals(457688198, x ^= (2698274950.660941));
- assertEquals(8724, x %=
((1174351031)>>>((371599047.36048746)+(3025292010))));
- assertEquals(0, x <<= (tmp = -710011617, tmp));
- assertEquals(0, x >>>= (1693410026));
- assertEquals(1443005362, x ^= ((tmp = -2851961934, tmp)+((((x%x)-(tmp =
547622400, tmp))<<(((tmp = 722396486.5553623, tmp)|x)>>>((((tmp =
-542268973.5080287, tmp)<<(tmp = 1347854903.771954, tmp))>>>(tmp =
-889664427.7115686, tmp))&((tmp = 1549560114, tmp)*(tmp = 964918035,
tmp)))))&(-2422502602.920377))));
- assertEquals(3986573462, x -= (-2543568100));
- assertEquals(7973146924, x += x);
- assertEquals(-1, x >>= (-75987297));
- assertEquals(-12, x += ((2940824338.64834)>>(tmp = 3061467355, tmp)));
- assertEquals(-3.8229398525977614e-8, x /= (313894554));
- assertEquals(-2.890709270374084e-17, x /= (tmp = 1322491989, tmp));
- assertEquals(0, x |= (x-x));
- assertEquals(0, x >>>= (tmp = -1205300664, tmp));
- assertEquals(-0, x /= (((2869505187.6914144)>>(tmp = 1541407065,
tmp))/(((-571132581)>>>(x>>x))/((x^(170373762.8793683))>>>((((tmp =
-363073421.05897164, tmp)|(((tmp = -1591421637,
tmp)>>(1095719702.8838692))&(636687681.9145031)))^x)^(x|x))))));
- assertEquals(-1487828433, x ^= (-1487828433.3462324));
- assertEquals(-0, x %= x);
- assertEquals(1716342498, x -= ((tmp = 2578624798, tmp)^x));
- assertEquals(1636, x >>= ((264194540)>>>(-801900756)));
- assertEquals(0, x >>>= ((tmp = 2502688876, tmp)+((x<<(x|
((-628272226.0338528)|((x<<(-2083074091))>>>(tmp = 1692123246.8418589,
tmp)))))>>(1594759826.990993))));
- assertEquals(0, x <<= (tmp = -904399643, tmp));
- assertEquals(NaN, x /= ((x^(x-x))%((tmp = 1744962024.4882128, tmp)%x)));
- assertEquals(NaN, x /= (-1013142883.1845908));
- assertEquals(NaN, x /= ((tmp = 793633198, tmp)^(-2993598490.8659954)));
- assertEquals(0, x &= (x>>((tmp = 1200937851, tmp)<<(((tmp = -2807378465,
tmp)&(tmp = -143778237, tmp))|(tmp = -1200772223, tmp)))));
- assertEquals(0, x <<= x);
- assertEquals(88144, x |= (((((tmp = 3002723937.8560686, tmp)*(tmp =
-3171720774.2612267, tmp))%(((tmp = -2586705978.7271833,
tmp)%((x+(-1553704278))&(2405085526.501994)))>>((-240842053)>>>(((((tmp =
-1886367228.4794896, tmp)>>>x)^(tmp = 2604098316, tmp))^(tmp = 1362808529,
tmp))<<((tmp = -1062263918, tmp)|((-172718753)%(tmp = -1910172365.4882073,
tmp)))))))^((1444153362)>>((x&((-1205465523.2604182)^(tmp = -2062463383,
tmp)))>>(tmp = 956712476,
tmp))))>>((((-1004215312)^((((-1707378612.5424936)^(tmp = 2372161553,
tmp))/((tmp = 1802586581, tmp)*((2082257.1896460056)&((tmp = -1270773477,
tmp)^(tmp = 942517360.3447798, tmp)))))+x))%((((666494127)^(x^x))>>>(tmp =
-2592829775, tmp))+((-1601528223)+((x+(tmp = -2417034771.7409983,
tmp))>>>((tmp = -730673817, tmp)*x)))))>>x)));
- assertEquals(-2603179111.7557006, x -=
((2603267255.755627)+(x/(1200979191.2823262))));
- assertEquals(1691788185, x >>= (tmp = 3088840032, tmp));
- assertEquals(-168382533, x |= (tmp = -780750941.4590135, tmp));
- assertEquals(-168382533, x >>= (60741120.48285198));
- assertEquals(-134287365, x |= (x*(tmp = 834637940.7151251, tmp)));
- assertEquals(-1481917089, x -= (tmp = 1347629724, tmp));
- assertEquals(1, x >>>= x);
- assertEquals(262144, x <<= (2680216914));
- assertEquals(1075132032, x ^= (x-((tmp = 3220359552.3398685,
tmp)^(((-434474746.6039338)|((((((((tmp = 1945689314.9683735,
tmp)>>(1300022273))>>>(333705550))&x)%(588357521))-(x+(x^(((tmp =
-134560382,
tmp)+x)-((((994246147.7195556)-(-1506599689.7383268))%(x<<x))>>((1256426985.5269494)+(tmp
= 1860295952.8232574, tmp)))))))^(((tmp = 917333220.2226384,
tmp)>>x)>>>(tmp = 865898066, tmp)))%((x|(x%((tmp = -2660580370, tmp)&(tmp =
2966426022, tmp))))*x)))/(((tmp = 682585452, tmp)&(-3219368609))+((tmp =
-1330253964, tmp)+((x&(2857161427))/x)))))));
- assertEquals(274944, x &= ((2606953028.1319966)-(-1707165702)));
- assertEquals(266752, x &=
((x<<((x+(x+(x^(-1570175484))))^x))^(x+(x<<(tmp = 90330700.84649956,
tmp)))));
- assertEquals(266752, x &= ((((x*(tmp = 2033225408, tmp))-(x-((tmp =
1507658653, tmp)/(-3016036094))))>>>((1497480588)>>(2784070758)))|(tmp =
-3025904401.93921, tmp)));
- assertEquals(-1680442631, x |= ((x/(445284843))|((tmp =
2614520057.2723284, tmp)<<x)));
- assertEquals(40851947, x >>>= (tmp = -1577031386.938616, tmp));
- assertEquals(2493, x >>= ((3044630989.3662357)-(-2670572992.8580284)));
- assertEquals(-0.0000017317105653562252, x /= (-1439617017.9207587));
- assertEquals(0, x &= (2359806567));
- assertEquals(623768541, x ^= (623768541));
- assertEquals(1028567149.0716183, x += (((tmp = 1307794561,
tmp)%(x>>x))-(-404798608.0716183)));
- assertEquals(-1.2971762489811298, x /= (tmp = -792927830.6471529, tmp));
- assertEquals(-1.2971762489811298, x %=
((-2426421701.2490773)/(-689566815.3393874)));
- assertEquals(-2147483648, x <<= x);
- assertEquals(-2147483648, x &= (tmp = -869991477, tmp));
- assertEquals(-268435456, x >>= (1383186659));
- assertEquals(0, x -= x);
- assertEquals(-2009742037, x |= (-2009742037.5389993));
- assertEquals(-1386630820, x ^= (627864695));
- assertEquals(-1033479103975173600, x *= (tmp = 745316697.9046186, tmp));
- assertEquals(-1628048487, x |= (2662654361));
- assertEquals(325551, x >>>= (340874477));
- assertEquals(-1235730537, x ^= (tmp = 3059533880.0725217, tmp));
- assertEquals(-1235730537, x %= (2247137328));
- assertEquals(-220200960, x <<= ((x>>x)-x));
- assertEquals(0, x <<= ((tmp = 337220439.90653336, tmp)|(tmp =
2901619168.375105, tmp)));
- assertEquals(0, x >>>= ((-2114406183)/x));
- assertEquals(0, x %= ((1425828626.3896675)/x));
- assertEquals(0, x >>>= ((3213757494)>>>(2595550834.3436537)));
- assertEquals(0, x <<= x);
- assertEquals(-0, x /= ((1544519069.5634403)/((tmp = -1332146306,
tmp)&(-762835430.0022461))));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (x|((((x*((-786272700)+x))<<x)+((tmp =
-1868484904, tmp)-(tmp = -1692200376, tmp)))+(-1010450257.6674457))));
- assertEquals(0, x -= x);
- assertEquals(0, x ^= (x>>>(706010741)));
- assertEquals(-964928697, x |= (-964928697));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= ((((tmp = 1778003555.3780043, tmp)>>(x%((tmp =
-766158535, tmp)^((-2681449292.8257303)%((x-(x|(tmp = 1966478387.2443752,
tmp)))^(((tmp = -1848398085, tmp)&x)>>>(tmp = -2860470842, tmp)))))))%(tmp
= 2315077030, tmp))^x));
- assertEquals(0, x ^= x);
- assertEquals(-288007757, x ^= ((tmp = 183607156.1803962, tmp)-(tmp =
471614914, tmp)));
- assertEquals(-270573581, x |= (tmp = -849475741.9424644, tmp));
- assertEquals(-2129929, x |= (((((1942852445)&(tmp = 1280372312,
tmp))*(x*(tmp = -1601900291, tmp)))^((509080002.81080174)-(tmp =
2699498226.9164257, tmp)))>>(((-335361221)>>(tmp = 843134832,
tmp))%(-35532542))));
- assertEquals(-232622355, x ^= ((-3060885134.5375547)-(((tmp =
1965966723, tmp)-((tmp = 1248630129.6970558, tmp)<<(tmp =
1859637857.5027392, tmp)))*x)));
- assertEquals(-52149658093200070, x *= (224181627.31264615));
- assertEquals(-697122968, x ^= (x-(x+(tmp = 2747211186.407712, tmp))));
- assertEquals(-2146269688, x &= ((tmp = -1466710519,
tmp)^(x/(1419998975))));
- assertEquals(-536567422, x >>= (((((tmp = -1760701688.999274,
tmp)>>(-1821976334))/(((tmp = -1660849531, tmp)>>>x)-((x+((tmp =
-2489545009.4327965, tmp)>>>((tmp = -267360771.39148235,
tmp)^x)))*(((-1453528661)%x)>>>(((243967010.3118453)/((((((2977476024)>>>((-1630798246)<<x))&(591563895.2506002))*(((2668543723.9720144)>>>x)|
(1600638279)))^x)>>(x<<(tmp = -152589389, tmp))))>>>(x|
(2821305924.9225664)))))))+(618968002.8307843))%(tmp = -1005408074.368274,
tmp)));
- assertEquals(40962, x &= (114403906));
- assertEquals(19741977727890, x *=
((-2367133915.963945)>>>(-3119344126)));
- assertEquals(1313341440, x <<= x);
- assertEquals(626, x >>>= ((((-333992843)%(tmp = -2742280618.6046286,
tmp))>>>x)|x));
- assertEquals(0, x <<= (2598188575));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= (x%((2507288229.3233204)&(tmp =
-1714553169.9276752, tmp))));
- assertEquals(0, x /= ((633436914.3859445)>>>(tmp = 1579804050.6442273,
tmp)));
- assertEquals(0, x *= ((tmp = 1172218326, tmp)<<((tmp =
-2491306095.8456626, tmp)*(((tmp = 1305371897.9753594,
tmp)>>((x^(((3077992060)*x)<<(492815553.904796)))>>((652151523)|x)))%x))));
- assertEquals(0, x <<= x);
- assertEquals(0, x %= (1118131711));
- assertEquals(0, x &= ((tmp = 2734673884, tmp)|(x-((tmp =
2694578672.8975897,
tmp)*(((x>>(2350811280.974167))*(1052548515))&(x^(x*(tmp =
-1336287059.0982835, tmp))))))));
- assertEquals(-2632782867.1256156, x += ((tmp = -2743992725.1256156,
tmp)+(tmp = 111209858, tmp)));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= (((tmp = -2050519887,
tmp)^(106865302.74529803))>>(1642851915.2909596)));
- assertEquals(-171964826, x |= (tmp = -171964826.6087358, tmp));
- assertEquals(-2.113405951193522, x /= (tmp = 81368572.80206144, tmp));
- assertEquals(3, x >>>= x);
- assertEquals(0, x %= x);
- assertEquals(-1717345907.837667, x += (-1717345907.837667));
- assertEquals(-100964883, x |= (tmp = -109574931.80629134, tmp));
- assertEquals(-33849857, x |= (-974111718.2433801));
- assertEquals(1, x >>>= (tmp = -2556222849.005595, tmp));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= (-1796630999.4739401));
- assertEquals(0, x >>>= x);
- assertEquals(2031695758, x += (((x/(((tmp = -2364918403, tmp)%(x^((tmp =
277767803.6375599, tmp)>>((((tmp = 540036080, tmp)/(x|(2665298931)))/(x|
((x>>(-2035456216.6165116))<<(2143184420.5651584))))^x))))&(tmp =
927798419.8784283, tmp)))-(-2031695758))>>>x));
- assertEquals(2031695758, x |= x);
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/test/mjsunit/numops-fuzz-part4.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,1177 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = 0;
- var tmp = 0;
- assertEquals(-890607324, x ^= ((tmp = -890607324,
tmp)>>((((-2876826295)>>x)<<((tmp = 2351495148.117994, tmp)>>(tmp =
1368611893.274765, tmp)))*(tmp = 1531795251, tmp))));
- assertEquals(-729075363, x += (x+(tmp = 1052139285, tmp)));
- assertEquals(531550884933581760, x *= x);
- assertEquals(1980836332, x ^=
((-746269795.2320724)-((2400458512)>>((1290672548)>>>((((1536843439.5629003)&(3185059975.158061))*(tmp
= -1339249276.2667086, tmp))&x)))));
- assertEquals(941373096, x %= ((x+(-451098412))^(tmp = 1725497732, tmp)));
- assertEquals(-1766019323, x += (tmp = -2707392419, tmp));
- assertEquals(2528947973, x >>>= (x^(-896237435.3809054)));
- assertEquals(-263192576, x <<= (-866361580));
- assertEquals(-2008, x >>= (-2608071791));
- assertEquals(-88, x %= (((-1076807218.4792447)&((tmp = 601044863,
tmp)>>((tmp = 1228976729, tmp)+((((-2711426325)*x)|x)|
(x%(-2700007330.3266068))))))&(tmp = 3147972836.778858, tmp)));
- assertEquals(1762886843, x ^= (tmp = 2532080403, tmp));
- assertEquals(1762886843, x %= ((((((tmp = -2059247788,
tmp)>>x)/x)+(x<<x))^x)>>>(-1969283040.3683646)));
- assertEquals(4812334726.587896, x += (tmp = 3049447883.587897, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x *= x);
- assertEquals(-2150507334, x -= ((tmp = 1578221999, tmp)+(tmp =
572285336, tmp)));
- assertEquals(-4546475858941548500, x *= ((tmp = -931533139.5546813,
tmp)^(tmp = 3061503275, tmp)));
- assertEquals(-269064192, x |= ((207217276.91936445)<<(tmp =
-957353678.4997551, tmp)));
- assertEquals(1, x /= x);
- assertEquals(1, x <<= (((1463856021.8616743)%(x*(tmp = -2286419102,
tmp)))/(-2852887593)));
- assertEquals(2223868564.8383617, x *= (tmp = 2223868564.8383617, tmp));
- assertEquals(918797189.9033995, x -=
((1305071374.9349623)%(x+(2211992629))));
- assertEquals(-2212004787.4668465, x -= (tmp = 3130801977.370246, tmp));
- assertEquals(31783, x >>= (2951958960));
- assertEquals(31783, x ^= ((((tmp = -2441511566, tmp)&((tmp =
91427553.90168321, tmp)+((tmp = 3001737720.327718,
tmp)%x)))>>>(-2263859841))>>>((2109161329)>>(tmp = -2816295136.7443414,
tmp))));
- assertEquals(4068224, x <<= (x%((tmp = -682576250.4464607,
tmp)*(x/(((x-x)>>>(x&((((x<<(x<<x))>>>((((2243036981.528562)/(((-1839328916.9411087)>>(-1907748022.162144))<<(x+x)))+((tmp
= 2362574171, tmp)<<(tmp = 1987834539, tmp)))|(-444329240)))|
(399451601.1717081))>>x)))&(968363335.6089249))))));
- assertEquals(0.0030991932898194294, x /= ((tmp = 1067316540.5529796,
tmp)^(-2388640366)));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (tmp = -393433349.1636851, tmp));
- assertEquals(0, x *=
(((x^(((1806955787.471396)<<x)^((517668047.55566347)>>>(x%(x<<(tmp =
-276586733.4844558, tmp))))))%(1661242196.1472542))|x));
- assertEquals(0, x |= (x>>x));
- assertEquals(-155236210, x |= (tmp = -155236210.19366312, tmp));
- assertEquals(-606392, x >>= ((tmp = -1533446042.97781, tmp)^x));
- assertEquals(-1, x >>= (936126810));
- assertEquals(2325115611, x -= (-2325115612));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (tmp = -354826623, tmp));
- assertEquals(-0, x *= (-1232528947.7321298));
- assertEquals(0, x |= x);
- assertEquals(0, x <<= (((tmp = 187758893.4254812, tmp)&(x-(tmp =
648201576, tmp)))&(385106597)));
- assertEquals(0, x >>= (tmp = 2554891961, tmp));
- assertEquals(-1311492611.2970417, x += (-1311492611.2970417));
- assertEquals(-688179220.3221785, x += (623313390.9748632));
- assertEquals(1416835528, x &= (tmp = 1953739224, tmp));
- assertEquals(-11.04719252755072, x /= (-128252995));
- assertEquals(-6.287413042114223e-9, x /= (tmp = 1757033052.1558928,
tmp));
- assertEquals(-4231171, x |=
(((((2022730885.7773404)*((-2495777565.221855)|(tmp = 274627292,
tmp)))<<(-3072596920.4902725))>>>((-2215057529)+(-1134713759.4247034)))^((tmp
= -1888181788, tmp)/(572025985.2748461))));
- assertEquals(-4194305, x |= ((tmp = 167328318.038759,
tmp)>>>(153800904.34551537)));
- assertEquals(-1316525687, x -= (1312331382));
- assertEquals(1448723245.7863903, x += (2765248932.7863903));
- assertEquals(1.7219707102205526, x /= (tmp = 841317008, tmp));
- assertEquals(1872027792.5217001, x *= (x|(tmp = 1087142645.6665378,
tmp)));
- assertEquals(3504488055973669400, x *= x);
- assertEquals(-1075254784, x |= x);
- assertEquals(-5, x >>= (((844461331.8957539)-((x&x)<<((tmp = 1443904777,
tmp)+(tmp = 736164505.3670597, tmp))))-(((tmp = 1348422110, tmp)>>((tmp =
-2878252514, tmp)/(-1175443113)))|((-2138724317)%(2057081133)))));
- assertEquals(-3.038875804165675e-9, x /= (1645345292.8698258));
- assertEquals(1.25204541454491e-18, x /= (-2427129055.274914));
- assertEquals(-1.7151576137235622e-9, x *= (-1369884505.6247284));
- assertEquals(1590804618, x ^= (1590804618.4910607));
- assertEquals(5061318665300252000, x *= (x+x));
- assertEquals(5061318665300252000, x %= ((tmp = 1102144242, tmp)*x));
- assertEquals(-7, x >>= (2772167516.624264));
- assertEquals(16383, x >>>= (-2979259214.5855684));
- assertEquals(47108415435, x *=
((2944456517.839616)>>>(1041288554.5330646)));
- assertEquals(61, x >>>= (x^(((-1305163705)<<((948566605)-x))-x)));
- assertEquals(0, x %= x);
- assertEquals(0, x ^= (((tmp = 1918861879.3521824, tmp)/((x%(tmp =
945292773.7188392, tmp))%(x|x)))>>x));
- assertEquals(-0, x *= ((((x|((2810775287)|(tmp = 1265530406,
tmp)))^((tmp = 3198912504.175658, tmp)-(((tmp = 1422607729.281712,
tmp)<<(tmp = 2969836271.8682737, tmp))&x)))<<((tmp = 844656612,
tmp)*(((((tmp = -828311659, tmp)%(((-2083870654)>>>(x^(((((933133782)-(tmp
= 1033670745,
tmp))-(629026895.4391923))%((-605095673.8097742)*((((-227510375.38460112)*x)+x)&(((((tmp
= 472873752.68609154, tmp)^(tmp = 2815407038.712165, tmp))+((x>>>((tmp =
-1331030665.3510115, tmp)>>>(2281234581)))-(x>>>x)))&(tmp =
-2160840573.325921, tmp))&x))))<<(tmp = 1411888595, tmp))))|(((tmp =
-915703839.0444739,
tmp)/((x+(418836101.8158506))%(-1112605325.4404268)))&((-3098311830.6721926)-x))))-((49446671.477988124)*(-2522433127)))+((tmp
= 443068797, tmp)>>(tmp = 418030554.97275746, tmp)))*((tmp =
38931296.738208175, tmp)+(1842742215.3282685)))))-((tmp =
1325672181.205841, tmp)^(tmp = 669284428, tmp))));
- assertEquals(-0, x *= (tmp = 93843030, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= (x%((((((tmp = -107458601, tmp)>>(x*((x|((tmp =
2117286494, tmp)>>((x^(tmp = 114214295.42048478, tmp))>>>(tmp = 1032826615,
tmp))))&((x*x)&(-225386977.67686415)))))^((-780566702.5911419)+(-1113319771)))|
(((x^x)<<(1288064444))>>(-2292704291.619477)))>>(365125945))-((tmp =
-1986270727.235776, tmp)/x))));
- assertEquals(-0, x *= (((-18925517.67125845)|((((-1975220517)+(tmp =
-1250070128.296064, tmp))+(1085931410.5895243))<<(((x|(((x*(tmp =
160207581.50536323, tmp))|(tmp = 1798744469.7958293,
tmp))-x))>>>(((x+((x%x)&((((x^x)<<((tmp = 2538012074.623554,
tmp)^x))*x)&x)))/(x+(tmp = -2563837407, tmp)))/(tmp = 2189564730,
tmp)))/(((-1703793330.5770798)<<((176432492)|
x))<<(1347017755.345185)))))<<(((tmp = -577100582.7258489,
tmp)&x)/(-31246973))));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x %= ((x*(tmp = 1167625971, tmp))&(((tmp = -770445060,
tmp)>>((339248786)^((2058689781.2387645)-((-2381162024)*(660448066)))))&x)));
- assertEquals(NaN, x += ((3088519732.515986)-(-267270786.06493092)));
- assertEquals(0, x &= (tmp = 2748768426.3393354, tmp));
- assertEquals(-1109969306, x ^= ((-1109969306)>>>x));
- assertEquals(-1109969306, x %= (tmp = 1150376563.581773, tmp));
- assertEquals(-2058145178, x &= (-2057586057));
- assertEquals(-850185626, x |= ((x^(tmp = 1223093422,
tmp))&((-589909669)<<(2299786170))));
- assertEquals(1489215443, x += (2339401069));
- assertEquals(-23592960, x <<= x);
- assertEquals(2063937322, x ^= (-2053296342.2317986));
- assertEquals(12922122, x %= (x^((-2259987830)>>(x*(((tmp =
-799867804.7716949, tmp)&(tmp = -1068744142,
tmp))*(((((1091932754.8596292)-((tmp = -1778727010, tmp)>>(((tmp =
1207737073.2689717, tmp)-(x-(tmp = -1191958946,
tmp)))+(-631801383.7488799))))-(-618332177))>>>(-156558558))>>>(3032101547.6262517)))))));
- assertEquals(12922122, x &= x);
- assertEquals(Infinity, x /= (x%x));
- assertEquals(0, x &= (x*(-227800722.62070823)));
- assertEquals(-865648691, x ^= (-865648691));
- assertEquals(1, x /= (x%(tmp = 1524739353.8907173, tmp)));
- assertEquals(16, x <<= (x<<(2335214658.789205)));
- assertEquals(0, x &= ((tmp = 570332368.1239192, tmp)^(-2278439501)));
- assertEquals(1881145344, x -= (((-569715735.8853142)+(2093355159))<<(tmp
= 2788920949, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x -= ((tmp = -1427789954,
tmp)%((((((411038329.49866784)-x)-(x<<((-1330832247)+x)))/x)^((x*(845763550.2134092))>>(tmp
= 1427987604.5938706, tmp)))>>>(1857667535))));
- assertEquals(NaN, x /= (-313793473));
- assertEquals(0, x >>>= (x/x));
- assertEquals(1869358566, x -= (-1869358566));
- assertEquals(-1901664519209545200, x += ((tmp = 944729941.3936644,
tmp)*(-2012918653)));
- assertEquals(-1901664519209545200, x += ((tmp = 1348246793, tmp)/(x&x)));
- assertEquals(-1576791552, x &= (tmp = 2719250966.739456, tmp));
- assertEquals(-305087899, x ^= (-2955630491.030272));
- assertEquals(0, x ^= (x%(1575252839.559443)));
- assertEquals(4184604407, x += ((((tmp = -244720076.17657042, tmp)|
(2819320515))^((((tmp = 1222623743.9184055,
tmp)*(-95662379.577173))/(x/(x+(((x-(tmp = -3024718107.6310973,
tmp))^(-1494390781))&(tmp = 2284054218.8323536, tmp)))))>>>(tmp =
2090069761, tmp)))>>>(x%x)));
- assertEquals(3148907440, x -= (((tmp = -332379100.7695112,
tmp)-(-1145399547))^(((((((tmp = 3133792677.785844,
tmp)+x)<<(2306999139.5799255))>>((tmp = -2051266106,
tmp)*(((((x+(((-728654312.8954825)>>(x>>>(((x%x)&(-1587152364))|
(((((-2114138294)&x)&(1547554688))^x)-(-1856094268)))))*(((-1135018784)&((x+(tmp
= -1444020289, tmp))|
x))+x)))>>x)&x)/(2449005489))<<((131073798.64314616)%(x>>>((-2592101383.2205048)^(tmp
= -757096673.0381112,
tmp)))))))^(2766467316.8307915))-(-2465892914.515834))-((((tmp = 234064056,
tmp)^((x>>>(1622627548.7944543))+(-1750474146)))|
(-1959662039.4687617))^((-1222880974)&(-2794536175.906498))))));
- assertEquals(-1157627488, x &= (-1156639323));
- assertEquals(-1342170624, x <<= ((x/((((1829945345.0613894)/(x*((tmp =
1278865203.0854595, tmp)/(((tmp = -2298274086.519347, tmp)+(tmp =
-545203761, tmp))-(tmp = 2712195820, tmp)))))>>>((tmp = 240870798.9384452,
tmp)-(tmp = -3188865300.4768195, tmp)))>>>(x%((648799266)>>>(tmp =
24460403.864815235, tmp)))))|((tmp = 232533924, tmp)|x)));
- assertEquals(-2684341248, x += x);
- assertEquals(1073755136, x &= (((-662718514.9245079)>>(tmp =
-1915462105, tmp))+(tmp = 1478850441.8689613, tmp)));
- assertEquals(-1073755136, x /= (x|((tmp = -1767915185, tmp)|
((325827419.1430224)|(((-1343423676)|(tmp = -1929549501, tmp))|
(-866933068.9585254))))));
- assertEquals(-1073755136, x %= ((tmp = 547342356, tmp)-((tmp =
2213249646.7047653, tmp)-((((((-2463314705)^(tmp = -993331620,
tmp))^(((x%x)>>(tmp = 1798026491.3658786, tmp))-(((1024072781)/(tmp =
-2407354455, tmp))%(1973295010))))<<(-1966787233))^x)|(-1787730004)))));
- assertEquals(-1073754452, x |= (tmp = 3099823788.077907, tmp));
- assertEquals(-1540683096, x &= (-1540674632.7013893));
- assertEquals(-1540683052, x ^= ((tmp = -126183090,
tmp)>>>((-622437575.5788481)|((((tmp = -2947914022, tmp)%(((tmp =
2512586745, tmp)>>x)>>>((27238232.23677671)/(tmp = 3203958551, tmp))))/(tmp
= 2906005721.402535, tmp))^((((tmp = 1763897860.737334,
tmp)^(1445562340.2485332))/x)+(-2393501217.716533))))));
- assertEquals(-1258599433, x |= (tmp = 351291767.59661686, tmp));
- assertEquals(-1241560065, x |= (626346046.5083935));
- assertEquals(-1241560065, x ^= ((2263372092)/((tmp = -2868907862,
tmp)>>>x)));
- assertEquals(-893685228, x -= (tmp = -347874837, tmp));
- assertEquals(3401282068, x >>>= (x*x));
- assertEquals(0, x %= x);
- assertEquals(0, x >>>= x);
- assertEquals(-2079237393, x ^= (tmp = 2215729903, tmp));
- assertEquals(NaN, x %= ((((tmp = 3203450436,
tmp)/(2867575150.6528325))&(1864945829))&((x&((((tmp = -1927086741.3438427,
tmp)|x)|(-1783290909.3240588))*((-1074778499.0697656)*(x-((tmp =
-848983542.8456669, tmp)^(tmp = -1324673961, tmp))))))>>(tmp =
-2144580304.245896, tmp))));
- assertEquals(-43334009, x |= (x^(-43334009.72683525)));
- assertEquals(-43334009, x &= x);
- assertEquals(-43334009, x %= (tmp = 1252450645.060542, tmp));
- assertEquals(-43334009, x |= (((((((tmp = 968062202, tmp)/(x|(tmp =
2766801984, tmp)))*((2173353793.938968)>>(((tmp = -2459317247, tmp)<<(tmp =
-2333601397, tmp))>>>((tmp = -578254251.8969193, tmp)*(tmp =
839964110.7893236, tmp)))))&(((1675305119)&(tmp = -929153707,
tmp))*((x*x)*x)))/x)|(x/(tmp = 384740559.43867135, tmp)))%(1657362591)));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (-1334758781.1087842));
- assertEquals(0, x -= x);
- assertEquals(-54, x += ((tmp = -1787151355.470972, tmp)>>((tmp =
237028977,
tmp)>>(((2829473542)<<(x>>>(((((((x-(-1950724753))*(((x>>>(2807353513.6283565))<<((-583810779.1155353)>>(x*x)))>>(-1068513265)))^(x^(-696263908.5131407)))%(((tmp
= -1325619399, tmp)<<((tmp = -1030194450,
tmp)-x))^x))+((-2852768585.3718724)>>(tmp = -3160022361,
tmp)))%(x&x))>>(tmp = 2667222702.5454206,
tmp))))+((804998368.8915854)<<x)))));
- assertEquals(-54, x %= (-1601267268.4306633));
- assertEquals(1, x >>>= (tmp = -543199585.579128, tmp));
- assertEquals(4.732914708226396e-10, x /= (tmp = 2112862922, tmp));
- assertEquals(-4266932650, x -= ((((x^((((tmp = 2784618443, tmp)^(tmp =
-2271260297.9010153, tmp))|((((tmp = -599752639.7516592,
tmp)*(2751967680.3680997))^(tmp = -1478450055.578217, tmp))*x))-x))&((tmp =
-520061982, tmp)-((tmp = 1400176711.9637299, tmp)^(((2100417541)|(x+(tmp =
-674592897.0420957, tmp)))>>x))))^(tmp = -365650686.7947228,
tmp))>>>((-2943521813)&(((tmp = -1888789582, tmp)>>(tmp = 700459655.488978,
tmp))+(tmp = -1725725703.655931, tmp)))));
- assertEquals(224277168, x <<= (tmp = 2885115011.8229475, tmp));
- assertEquals(224277168, x %= (tmp = -2655345206.442777, tmp));
- assertEquals(850395136, x <<= (x-(((((-769868538.1729524)/((tmp =
-298603579, tmp)%(x^x)))+((2691475692)|
(((x>>>(628995710.4745524))^(x<<(((tmp = -1046054749, tmp)|
(919868171))-x)))^((-1377678789.8170452)&((3065147797)%(tmp = 2638804433,
tmp))))))^(tmp = -2036295169, tmp))&(((tmp = -157844758.08476114, tmp)*(tmp
= -2819601496, tmp))&((((tmp = 78921441,
tmp)<<(653551762.5197772))/(1801316098))*(-1479268961.8276927))))));
- assertEquals(1645565728, x ^= (tmp = 1353013024, tmp));
- assertEquals(1645565728, x >>>= x);
- assertEquals(3020513544, x += (1374947816));
- assertEquals(0, x %= x);
- assertEquals(0, x %= ((((((tmp = -304228072.4115715,
tmp)>>>((-90523260.45975709)-(tmp = -3013349171.084838,
tmp)))%((-1640997281)*((tmp = -1600634553, tmp)%((tmp = 557387864,
tmp)<<((888796080.766409)|(x^((((x%(((((tmp = 1164377954.1041703, tmp)*x)|
(2742407432.192806))&((tmp = 1707928950, tmp)<<(1279554132.4481683)))+(tmp
= -2108725405.7752397, tmp)))%(tmp = -465060827, tmp))^((tmp = 2422773793,
tmp)+x))^((((((((tmp = -1755376249, tmp)^((-267446806)^x))/(((tmp =
-1808578662.4939392, tmp)+((tmp = -1997100217, tmp)+x))+(((tmp =
-2469853122.411479, tmp)/x)>>(tmp = 660624616.7956645,
tmp))))%((x<<((((((tmp = -1701946558, tmp)-(tmp = 133302235,
tmp))>>>x)/(738231394))<<(-1060468151.4959564))&(((((-1877380837.4678264)|
(tmp = 2366186363,
tmp))%x)>>>(-2382914822.1745577))>>((-1874291848.9775913)<<(tmp =
2522973186, tmp)))))<<(-2672141993)))|(tmp = 732379966,
tmp))%x)^x)^x))))))))%(tmp = 2385998902.7287374, tmp))*x)+(tmp =
-2195749866.017106, tmp)));
- assertEquals(401488, x ^= (((-320896627)>>>(tmp = 2812780333.9572906,
tmp))&(tmp = -2088849328, tmp)));
- assertEquals(-1661116571.0046256, x += (tmp = -1661518059.0046256, tmp));
- assertEquals(-1616122720, x <<= x);
- assertEquals(-1616122720, x >>= x);
- assertEquals(-390439413, x %= (tmp = -1225683307, tmp));
- assertEquals(-84189205, x |= ((x|(2054757858))^(((x<<(((x|x)|
(((x>>>((-2938303938.1397676)<<((2993545056)^((tmp = -643895708.5427527,
tmp)/((1371449825.5345795)-(1896270238.695752))))))-(tmp = 1061837650,
tmp))+(x+(tmp = 3072396681, tmp))))>>(x-((((tmp = -1877865355.1550744,
tmp)&x)%(-2766344937))>>>(2055121782)))))-((x<<x)|(tmp =
-2742351880.1974454, tmp)))<<((-2600270279.219802)>>(-1625612979)))));
- assertEquals(-168378410, x += x);
- assertEquals(-168378410, x &= x);
- assertEquals(-1534983792, x &= (-1501412943));
- assertEquals(-1821543761, x ^= (938439487));
- assertEquals(-1821543761, x &= (x^(((tmp = -4237854, tmp)>>x)/x)));
- assertEquals(2358, x >>>= (2954252724.620632));
- assertEquals(4716, x <<= ((-75522382.8757689)/((tmp = 1074334479, tmp)|
((tmp = -720387522, tmp)>>(x>>>(-3085295162.6877327))))));
- assertEquals(-1313079316, x |= (2981887904.020387));
- assertEquals(-1957790646, x -= (644711330));
- assertEquals(17831, x >>>= ((tmp = -2550108342, tmp)-(((tmp =
454671414.0146706, tmp)+(-661129693.9333956))>>(x>>>(((tmp =
1752959432.3473055, tmp)*(-2619510342.1812334))%(tmp = -456773274.2411971,
tmp))))));
- assertEquals(689287937.6879716, x -= ((tmp = -397126863.6879716,
tmp)-(((x>>x)^(x/(-1387467129.6278908)))|((x>>((tmp = -2361114214.8413954,
tmp)<<(tmp = -805670024.4717407, tmp)))<<(-2724018098)))));
- assertEquals(1378575875.3759432, x += x);
- assertEquals(84112428460187.8, x *= (((((2681425112.3513584)%(tmp =
-1757945333, tmp))|x)>>(-1793353713.0003397))%x));
- assertEquals(-3221, x >>= (-1976874128));
- assertEquals(-3221, x %= (((tmp = 2318583056.834932, tmp)|((tmp =
-1016115125, tmp)+((-472566636.32567954)+x)))|(tmp = 3135899138.065598,
tmp)));
- assertEquals(-6596608, x <<= x);
- assertEquals(-1249902592, x <<= (((tmp = -2025951709.5051148,
tmp)/((-465639441)<<(-2273423897.9682302)))*((tmp = -2408892408.0294642,
tmp)-(tmp = 1017739741, tmp))));
- assertEquals(73802092170444800, x *= (tmp = -59046275, tmp));
- assertEquals(-1619001344, x <<= x);
- assertEquals(0, x <<= (tmp = 1610670303, tmp));
- assertEquals(-0, x *= ((((x+(tmp = 2039867675, tmp))|(tmp = 399355061,
tmp))<<(1552355369.313559))^x));
- assertEquals(0, x *= x);
- assertEquals(0, x >>>= (((2875576018.0610805)>>x)%(tmp = -2600467554,
tmp)));
- assertEquals(2290405226.139538, x -= (-2290405226.139538));
- assertEquals(0, x %= x);
- assertEquals(0, x ^= (((tmp = 2542309844.485515,
tmp)-x)%((-2950029429.0027323)/(tmp = 2943628481, tmp))));
- assertEquals(0, x += x);
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (tmp = 2337330038, tmp));
- assertEquals(0, x += (x/(((292272669.0808271)&(tmp = 2923699026.224247,
tmp))^(tmp = 367745855, tmp))));
- assertEquals(0, x &= x);
- assertEquals(0, x %= ((tmp = 1565155613.3644123,
tmp)<<(-308403859.5844681)));
- assertEquals(-1845345399.3731332, x += (tmp = -1845345399.3731332, tmp));
- assertEquals(5158590659731951000, x *= (-2795460763.8680177));
- assertEquals(-364664, x >>= (1837745292.5701954));
- assertEquals(1, x /= x);
- assertEquals(-860616114.8182092, x += ((tmp = 2076961323.1817908,
tmp)+(-2937577439)));
- assertEquals(-860616115, x ^= ((x*(tmp = 2841422442.583121,
tmp))>>>((tmp = 1929082917.9039137, tmp)>>(-2602087246.7521305))));
- assertEquals(-38387843, x |= (3114677624));
- assertEquals(2927507837, x += (tmp = 2965895680, tmp));
- assertEquals(1, x /= x);
- assertEquals(-1792887531, x *= (-1792887531));
- assertEquals(-0, x %= ((x^x)+x));
- assertEquals(-0, x %= (tmp = 2800752702.562547, tmp));
- assertEquals(1384510548, x ^= (tmp = 1384510548, tmp));
- assertEquals(42251, x >>= (1645421551.363844));
- assertEquals(0, x >>>= (17537561));
- assertEquals(-2076742862, x ^= (tmp = 2218224434, tmp));
- assertEquals(-2.790313825067623, x /= (744268563.3934636));
- assertEquals(5313538, x &= (((((tmp = -2406579239.0691676,
tmp)+((-1470174628)+(((tmp = -783981599, tmp)<<(tmp = -1789801141.272646,
tmp))^(((((((tmp = -844643189.5616491, tmp)&(tmp = -252337862, tmp))&(x|
x))%((-3159642145.7728815)+(tmp = 2149920003.9525595,
tmp)))&(x>>(1737589807.9431858)))-((((((((1610161800)<<(497024994))>>x)<<x)/x)>>>x)&x)-(757420763.2141517)))-(tmp
= -3061016994.9596977, tmp)))))/(tmp = 1810041920.4089384, tmp))&(tmp =
5887654.786785364, tmp))&((tmp = 1626414403.2432103, tmp)+(x%x))));
- assertEquals(-2147483648, x <<= (tmp = 1304102366.8011155, tmp));
- assertEquals(-208418816, x %=
(((((-2850404799)*(x+(3158771063.226051)))*(-2017465205))/(x>>x))>>(x%(tmp
= 2760203322, tmp))));
- assertEquals(-2189223477, x -= (1980804661));
- assertEquals(-859239912, x ^= (tmp = 2974421971.3544703, tmp));
- assertEquals(-1599850415, x ^= (tmp = -2475871671.140151, tmp));
- assertEquals(-1600636847, x += ((((tmp = -1311002944, tmp)<<((tmp =
-1137871342, tmp)<<(tmp = 115719116,
tmp)))/(413107255.6242596))<<(x>>((((-1908022173)&(((-1519897333)^((x>>(x*(tmp
= -2886087774.426503, tmp)))*(tmp = 530910975,
tmp)))+(-2579617265.889692)))+((2518127437.127563)>>>((tmp =
481642471.56441486, tmp)>>>(792447239))))^(x<<(248857393.6819017))))));
- assertEquals(-191, x >>= (-1591265193));
- assertEquals(-192.27421813247196, x += ((tmp = 2627329028.207775,
tmp)/(tmp = -2061914644.9523563, tmp)));
- assertEquals(1230613220, x ^= (tmp = 3064354212.307105, tmp));
- assertEquals(1230613220, x &= x);
- assertEquals(1230613220, x %= (1833479205.1064768));
- assertEquals(1230613220, x >>>= ((((1559450742.1425748)|
((2151905260.956583)*(1213275165)))%(514723483.12764716))>>>x));
- assertEquals(1230613493, x |= ((((3004939197.578903)*(tmp = -576274956,
tmp))+((tmp = 1037832416.2243971, tmp)^x))>>>(tmp = 2273969109.7735467,
tmp)));
- assertEquals(2461226986, x += x);
- assertEquals(-27981, x >>= ((692831755.8048055)^((tmp = -1593598757,
tmp)%(x-((((-1470536513.882593)|((tmp = -2716394020.466401, tmp)|(tmp =
2399097686, tmp)))&x)%x)))));
- assertEquals(-1.4660454948034359e+23, x *= (((x>>>((((((tmp =
-3056016696, tmp)<<(-2882888332))*(2041143608.321916))&(((tmp = -634710040,
tmp)|(tmp = -2559412457,
tmp))>>(1916553549.7552106)))%((-2150969350.3643866)*x))<<((x*(tmp =
2657960438.247278, tmp))|x)))%((tmp = 526041379, tmp)*(tmp =
2514771352.4509397, tmp)))*(1219908294.8107886)));
- assertEquals(-1.4660454948034359e+23, x -= ((1709004428)>>(((x|
(-422745730.626189))%x)>>x)));
- assertEquals(-2247766068, x %= (-3105435508));
- assertEquals(-386845856.0649812, x -= (-1860920211.9350188));
- assertEquals(-386846803.0649812, x -= ((((-3214465921)|((tmp =
-1326329034, tmp)+(((tmp = -1203188938.9833462,
tmp)%((((((-1318276502)+(x+x))^((x<<x)%(x>>>x)))+(tmp = -439689881,
tmp))+((-1455448168.695214)^(x-((-388589993)>>((((940252202)^(-2218777278))|
x)/(tmp = -1007511556,
tmp))))))&(-140407706.28176737)))-(x/((888903270.7746506)-((tmp =
-2885938478.632409, tmp)<<(((((tmp = -1750518830.270917, tmp)>>(((((((tmp =
868557365.7908674, tmp)/(tmp = -2805687195.5172157, tmp))*x)|
((((((-1342484550)-((tmp = 1089284576, tmp)^(tmp = 120651272, tmp)))<<(tmp
= 2230578669.4642825, tmp))-(x*x))%(x^(((tmp = -3177941534,
tmp)+(x>>(-1595660968)))/(-1738933247))))>>>(tmp = 2860175623,
tmp)))-(((2392690115.8475947)>>>(tmp = -1754609670.2068992, tmp))>>>(tmp =
2615573062, tmp)))-(tmp = 2590387730, tmp))^((x+((((x-(tmp =
-2823664112.4548965, tmp))*(200070977))>>>(((x|((((tmp = 1361398,
tmp)>>((tmp = 1649209268, tmp)%x))+x)+(x>>>(tmp = -2379989262.1245675,
tmp))))|(x^((tmp = -647953298.7526417, tmp)-x)))&(tmp =
-1881232501.1945808, tmp)))>>>x))%(x^(tmp = -1737853471.005935,
tmp)))))>>>(427363558))>>>((tmp = -3076726422.0846386,
tmp)^(-1518782569.1853383)))/x)))))))|x)>>>(1854299126)));
- assertEquals(-386846803.0649812, x -= (x%x));
- assertEquals(238532, x >>>= (-448890706.10774803));
- assertEquals(232, x >>>= (-791593878));
- assertEquals(232, x <<= (((x^((x-x)&(tmp = 1219114201, tmp)))/(tmp =
-427332955, tmp))%(tmp = 1076283154, tmp)));
- assertEquals(210, x ^= (x>>>((2975097430)>>>x)));
- assertEquals(1, x /= x);
- assertEquals(2317899531, x *= (2317899531));
- assertEquals(1131786, x >>>= x);
- assertEquals(2301667519.6379366, x += ((tmp = 193109669.63793683,
tmp)+(tmp = 2107426064, tmp)));
- assertEquals(3842614963.6379366, x += (((-1676516834)>>>(tmp =
-1817478916.5658965, tmp))^(((tmp = 1122659711, tmp)>>>(tmp = -2190796437,
tmp))|(tmp = -2754023244, tmp))));
- assertEquals(-452352333, x &= x);
- assertEquals(-863, x >>= x);
- assertEquals(-3.777863669459606e-7, x /= (2284359827.424491));
- assertEquals(-3.777863669459606e-7, x %= ((tmp = -2509759238, tmp)>>>x));
- assertEquals(0, x <<= (-814314066.6614306));
- assertEquals(0, x %= (tmp = 190720260, tmp));
- assertEquals(2301702913, x += (2301702913));
- assertEquals(-249158048, x >>= (tmp = -2392013853.302008, tmp));
- assertEquals(-249158048, x >>= x);
- assertEquals(-498316096, x += x);
- assertEquals(-498316096, x %= (tmp = 2981330372.914731, tmp));
- assertEquals(106616.2199211318, x *= (((((tmp = 1020104482.2766557,
tmp)^((tmp = -416114189.96786, tmp)>>>(1844055704)))|(tmp = 1665418123,
tmp))>>(1826111980.6564898))/(-2446724367)));
- assertEquals(106616, x |= x);
- assertEquals(1094927345, x -= (((-1229759420)|(741260479.7854375))-x));
- assertEquals(8353, x >>= x);
- assertEquals(0, x >>>= (tmp = -327942828, tmp));
- assertEquals(-953397616.8888416, x += (tmp = -953397616.8888416, tmp));
- assertEquals(-1906641240.7776833, x += (x+((-3033450184.9106326)>>>(tmp
= 2090901325.5617187, tmp))));
- assertEquals(-1906641240.7776833, x %= (tmp = 2584965124.3953505, tmp));
- assertEquals(-1098907671, x |= (tmp = -1272590495, tmp));
- assertEquals(-1.8305258600334393, x /= (600323489));
- assertEquals(-1, x &= x);
- assertEquals(-1, x |= ((x+x)-x));
- assertEquals(1, x *= x);
- assertEquals(867473898, x ^= (tmp = 867473899.0274491, tmp));
- assertEquals(6, x >>>= (tmp = 1174763611.341228, tmp));
- assertEquals(0, x >>= ((689882795)^(2250084531)));
- assertEquals(0, x /= (tmp = 2545625607, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x += x);
- assertEquals(0, x -= (x*(-1098372339.5157008)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (tmp = -1797344676.375759, tmp));
- assertEquals(1121476698, x |= (tmp = 1121476698, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x &= (-191233693));
- assertEquals(330137888.92595553, x += (330137887.92595553));
- assertEquals(-1792236714, x ^= (tmp = 2256609910, tmp));
- assertEquals(269000724, x &= (316405813.62093115));
- assertEquals(256, x >>= x);
- assertEquals(256, x %= ((2556320341.54669)|(1066176021.2344948)));
- assertEquals(256, x |= x);
- assertEquals(131072, x <<= ((-1650561175.8467631)|x));
- assertEquals(-286761951, x -= ((tmp = 287024095, tmp)-((-2293511421)&(x|
x))));
- assertEquals(-1561852927, x &= (3002663949.0989227));
- assertEquals(-460778761, x %= (tmp = -550537083, tmp));
- assertEquals(-3023749308.0492287, x += (tmp = -2562970547.0492287, tmp));
- assertEquals(-481313332.04922867, x %= ((x|((tmp = -855929299,
tmp)%((2181641323)%(x|(220607471.33018696)))))&x));
- assertEquals(17510668, x &= (tmp = 363557663, tmp));
- assertEquals(12552, x &= (3020225307));
- assertEquals(1814655896, x |=
((x<<(((-1475967464)*(-3122830185))*x))+(x^(-2480340864.2661023))));
- assertEquals(-3209124403525266400, x -= ((1146847590)*(tmp = 2798213497,
tmp)));
- assertEquals(-6418248807050533000, x += x);
- assertEquals(1.1856589432073933e+28, x *= (-1847324681.313275));
- assertEquals(-1238853292, x ^= (-1238853292));
- assertEquals(-77428331, x >>=
(x&((((2043976651.8514216)>>>x)^(x>>>(((tmp = -1785122464.9720652,
tmp)%x)<<(1570073474.271266))))*x)));
- assertEquals(2011, x >>>= x);
- assertEquals(2011, x &= x);
- assertEquals(0, x >>= (-2682377538));
- assertEquals(-1.1367252770299785, x -= (((tmp = 2704334195.566802,
tmp)/(2379056972))%((((-1764065164)*((((468315142.8822602)>>((x%(((tmp =
2537190513.506641, tmp)+((x&(x|((tmp = -947458639,
tmp)^(2653736677.417406))))*((x<<((1243371170.1759553)>>>(((tmp =
1572208816, tmp)<<((tmp = 963855806.1090456,
tmp)>>>x))%((-3078281718.7743487)*x))))^(-1154518374))))^(-2839738226.6314087)))^((-2865141241.190915)*(-2400659423.8207664))))>>((tmp
= 32940590, tmp)/(tmp = 2917024064.570817, tmp)))+(((27601850)/(tmp =
3168834986, tmp))>>x)))+(tmp = 2528181032.600125, tmp))/(3162473952))));
- assertEquals(-1697395408.7948515, x -= (1697395407.6581264));
- assertEquals(1536992607912062500, x *= (tmp = -905500627.5781817, tmp));
- assertEquals(102759872, x >>= (tmp = -707887133.4484048, tmp));
- assertEquals(102759872, x %= (tmp = -1764067619.7913327, tmp));
- assertEquals(12543, x >>>= (-144142995.1469829));
- assertEquals(-2059555229.2592103, x += ((-2059555229.2592103)-x));
- assertEquals(-537022593, x |= (tmp = -2770761410.407701, tmp));
- assertEquals(23777505, x ^= (-560496738.6854918));
- assertEquals(-64329014115772310, x *= ((tmp = -2729234369.198843,
tmp)+x));
- assertEquals(189083830, x ^= (tmp = 933619934, tmp));
- assertEquals(189083830, x %= ((tmp = -2918083254, tmp)-(x|
(x^(-2481479224.0329475)))));
- assertEquals(378167660, x += x);
- assertEquals(-0.45833387791900504, x /= ((tmp = 2727991875.241294,
tmp)<<(tmp = 2570034571.9084663, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(-0, x /= (tmp = -67528553.30662966, tmp));
- assertEquals(0, x <<= (938440044.3983492));
- assertEquals(-945479171, x ^= (tmp = -945479171, tmp));
- assertEquals(-225632619284361200, x *= (238643670.00884593));
- assertEquals(-0, x %= x);
- assertEquals(-585826304, x ^= ((-1256265560)<<(tmp = 1144713549, tmp)));
- assertEquals(-671583855, x ^= (183333265.1468178));
- assertEquals(-484311040, x <<= x);
- assertEquals(-3969762.62295082, x /= ((((tmp = -1164308668.931008,
tmp)-x)%x)>>>(((397816647)>>(-1605343671.4070785))<<x)));
- assertEquals(758097879, x ^= ((tmp = -2871307491,
tmp)^(-2043176492.646442)));
- assertEquals(0, x *= ((x>>(tmp = 1983292927, tmp))&(tmp =
-860505131.4484091, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(0, x &= x);
- assertEquals(0, x %= ((3132981707)-(-2832016477)));
- assertEquals(0, x >>= (x<<((1830195133.0342631)>>>(tmp = -1003969250,
tmp))));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x += (tmp = 273271019.87603223, tmp));
- assertEquals(NaN, x += (625749326.1155348));
- assertEquals(0, x >>= (tmp = -531039433.3702333, tmp));
- assertEquals(0, x -= (((tmp = 2029464099, tmp)-(x-(tmp =
-329058111.411458, tmp)))*(x<<x)));
- assertEquals(-0, x *= ((-1112957170.5613296)|((tmp = 847344494,
tmp)>>>(tmp = 2735119927, tmp))));
- assertEquals(-0, x /= (tmp = 544636506, tmp));
- assertEquals(0, x >>>= (x^(545093699)));
- assertEquals(0, x %= (((tmp = -2208409647.5052004,
tmp)+(3083455385.374988))+(((-482178732.7077277)*x)>>>((2661060565)*(-2125201239)))));
- assertEquals(0, x >>>= (-212334007.34016395));
- assertEquals(0.7004300865203454, x -=
((2032883941)/(-2902336693.0154715)));
- assertEquals(0, x <<= (x<<((265868133.50175047)>>>(1162631094))));
- assertEquals(604920272.4394834, x -= (-604920272.4394834));
- assertEquals(604920272, x &= x);
- assertEquals(0, x <<= (((-1961880051.1127694)%(tmp = 1715021796, tmp))|
((tmp = 2474759639.4587016, tmp)|(243416152.55635))));
- assertEquals(-46419074, x |= (((tmp = -518945938.5238774, tmp)%((x+(tmp
= 242636408, tmp))+(-1974062910)))|(1546269242.0259726)));
- assertEquals(-46419074, x += ((-629802130)*((tmp = -658144149,
tmp)%((-905005358.5370393)>>>x))));
- assertEquals(-46419074, x |= (x%(-1103652494)));
- assertEquals(7892881050983985, x *= (-170035297.36469936));
- assertEquals(1105701997.4273424, x %= ((((-490612260.0023911)>>>(tmp =
1803426906, tmp))^(x%(2725270344.2568116)))-(1010563167.8934317)));
- assertEquals(1088619532, x &= (-2232199650));
- assertEquals(1073807364, x &= (-888024506.5008001));
- assertEquals(1153062254980628500, x *= x);
- assertEquals(1153062255703627000, x -= (tmp = -722998613.897227, tmp));
- assertEquals(-1141418584, x |= (3017232552.4814596));
- assertEquals(-373464140, x ^= (-2914372068));
- assertEquals(994050048, x <<= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (tmp = -3166402389, tmp));
- assertEquals(0, x &= ((-1760842506.337213)|(tmp = 2538748127.795164,
tmp)));
- assertEquals(-0, x /= (-2635127769.808626));
- assertEquals(0, x &= ((((tmp = 1414701581,
tmp)^(((2425608769)/((x<<x)^(x-x)))^((tmp = -2641946468.737288, tmp)|(tmp =
-313564549.1754241, tmp))))*(tmp = -2126027460, tmp))|(-2255015479)));
- assertEquals(225482894, x ^= (225482894.8767246));
- assertEquals(0, x ^= x);
- assertEquals(306216231, x += (tmp = 306216231, tmp));
- assertEquals(306216231, x -=
((-465875275.19848967)&((-806775661.4260025)/((((-184966089.49763203)>>>((x>>x)+((tmp
= -1951107532, tmp)|x)))%x)*((2704859526.4047284)%((x*x)>>x))))));
- assertEquals(30754, x &= (1706162402.033193));
- assertEquals(30454.010307602264, x -= (((590456519)>>>(tmp =
2713582726.8181214, tmp))/x));
- assertEquals(8419062, x |= ((2848886788)<<(tmp = 2993383029.402275,
tmp)));
- assertEquals(16, x >>= (tmp = -1651287021, tmp));
- assertEquals(1, x /= x);
- assertEquals(-1407643485, x ^= (-1407643486));
- assertEquals(2, x >>>= (-1126004674));
- assertEquals(470812081, x ^= ((-2411718964)>>>x));
- assertEquals(550443688.6407901, x += (tmp = 79631607.6407901, tmp));
- assertEquals(3669092443.64079, x -= (-3118648755));
- assertEquals(-625874853, x <<= (((tmp = -1640437346,
tmp)/(((x*x)>>>x)<<x))/x));
- assertEquals(-1431439050363516700, x *= (2287101077));
- assertEquals(-1921660672, x |=
((((((((-1912249689.9978154)&(-1676922742.5343294))*(2625527768))<<((820676465)^(((x+(tmp
= -852743692, tmp))&((x-((((1361714551)/(311531668))>>>(tmp =
-1330495518.8175917, tmp))<<(((tmp = 1369938417.8760853,
tmp)*(-1217947853.8942266))<<(-2048029668))))-(-513455284)))>>>(tmp =
1980267333.6201067, tmp))))<<(((1503464217.2901971)>>(tmp = 2258265389,
tmp))>>>(1868451148)))&(x-(x^(tmp = -1565209787, tmp))))*x)<<(tmp =
-2426550685, tmp)));
- assertEquals(-1921660672, x %= (((tmp = 523950472.3315773,
tmp)+(((2971865706)^x)-x))&(-1773969177)));
- assertEquals(420176973.1169958, x += (2341837645.116996));
- assertEquals(420176973, x >>>= (((tmp = -2485489141, tmp)<<((tmp =
-2520928568.360244, tmp)+x))&(543950045.0932506)));
- assertEquals(50, x ^= (x|((tmp = 2001660699.5898843, tmp)>>>(tmp =
1209151128, tmp))));
- assertEquals(138212770720.96973, x *= (2764255414.4193945));
- assertEquals(-28683, x |= (((-535647551)|
x)>>((((2065261509)>>(-354214733))*x)+(-3218217378.2592907))));
- assertEquals(1627048838, x ^= (tmp = -1627044749, tmp));
- assertEquals(-839408795, x ^= (2903337187.480303));
- assertEquals(-1000652427, x += (tmp = -161243632, tmp));
- assertEquals(740237908.4196916, x += ((tmp = 1587000348, tmp)+(tmp =
153889987.41969144, tmp)));
- assertEquals(Infinity, x /=
(((((-615607376.1012697)&(57343184.023578644))+((-1967741575)|
(-3082318496)))<<(((tmp = -958212971.99792, tmp)>>(tmp =
2962656321.3519197, tmp))-(x|(x*(969365195)))))<<(tmp = -1739470562.344624,
tmp)));
- assertEquals(-Infinity, x /= ((tmp = -1736849852, tmp)%x));
- assertEquals(0, x <<= x);
- assertEquals(0, x %= (tmp = -226505646, tmp));
- assertEquals(1982856549, x -=
(((x+(-1982856549))%(-2274946222))>>(x%(((tmp = -1289577208.9097936,
tmp)>>x)^(778147661)))));
- assertEquals(1648018703, x ^= ((3085618856)+((tmp = 1546283467,
tmp)&(((x|((-2376306530)*(((((((tmp = -2807616416, tmp)%(((((tmp =
347097983.1491085, tmp)<<x)|(((((1135380667)/(x>>>(tmp = 1679395106,
tmp)))^((1277761947)<<((tmp = -1614841203.5244312, tmp)>>x)))%((tmp =
1552249234.2065845, tmp)>>>x))>>>(tmp = -1677859287,
tmp)))>>>(2605907565))/(tmp = 2291657422.221277, tmp)))%(((tmp =
425501732.6666014, tmp)>>>(1327403879.455553))+x))>>((tmp =
-3075752653.2474413, tmp)&(x-(tmp = -71834630, tmp))))|
((((2532199449.6500597)*(-842197612.4577162))%x)>>x))*(((1220047194.5100307)<<((tmp
= 1642962251, tmp)<<((-662340)>>>((tmp = -1672316631.3251066, tmp)<<((tmp =
1762690952.542441, tmp)-(x/(1904755683.3277364)))))))>>x))|(((((tmp =
1625817700.7052522, tmp)%(tmp = -2990984460, tmp))|
(2395645662))-((2619930607.550086)>>x))^(tmp = 130618712,
tmp)))))&((-3142462204.4628367)/(1078126534.8819227)))%(((tmp =
-256343715.2267704, tmp)+x)^(tmp = 2009243755, tmp))))));
- assertEquals(1937698223, x |= (((tmp = 866354374.7435778, tmp)+(tmp =
2751925259.3264275, tmp))%(-2252220455)));
- assertEquals(0, x -= x);
- assertEquals(-823946290.6515498, x -= (tmp = 823946290.6515498, tmp));
- assertEquals(706970324, x ^= (-457174758));
- assertEquals(32916, x &= (25740724));
- assertEquals(0, x >>>= ((-1658933418.6445677)|(tmp = -846929510.4794133,
tmp)));
- assertEquals(0, x ^= ((-834208600)/((-1256752740)&(tmp =
1973248337.8973258, tmp))));
- assertEquals(-1639195806, x += (-1639195806));
- assertEquals(-1559416478, x ^= ((tmp = 1349893449.0193534, tmp)*(tmp =
2044785568.1713037, tmp)));
- assertEquals(0, x &= ((x>>(tmp = 1720833612,
tmp))/((x+(-1305879952.5854573))^x)));
- assertEquals(-0, x *= (tmp = -1713182743, tmp));
- assertEquals(0, x >>= x);
- assertEquals(NaN, x /=
(((x%((x>>>(((-1515761763.5499895)^(-3076528507.626539))<<(tmp =
1293944457.8983147, tmp)))<<(tmp = 276867491.8483894, tmp)))>>(tmp =
-2831726496.6887417, tmp))%((((tmp = 1780632637.3666987,
tmp)^x)%((208921173.18897665)>>(tmp = 633138136, tmp)))+x)));
- assertEquals(0, x >>= (tmp = -2755513767.0561147, tmp));
- assertEquals(0, x |= x);
- assertEquals(840992300.0324914, x -= ((-840992300.0324914)+x));
- assertEquals(840992300, x &= x);
- assertEquals(-1094140277, x ^= (2364029095));
- assertEquals(-Infinity, x /=
((((((1257084956)<<(2009241695))>>(x+x))*x)>>>x)>>>(205318919.85870552)));
- assertEquals(-Infinity, x -= (((x>>>(tmp = 3037168809.20163,
tmp))&x)*(x&(((806151109)*x)-(tmp = -1741679480.58333, tmp)))));
- assertEquals(400659949, x ^= (tmp = 400659949, tmp));
- assertEquals(5, x >>= (tmp = 1175519290, tmp));
- assertEquals(5, x |= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x >>= ((1317772443)&(x<<x)));
- assertEquals(-1123981819, x ^= (tmp = 3170985477, tmp));
- assertEquals(1123864651, x ^= ((x%(((x&x)&(-2606227299.7590737))<<((tmp
= -2018123078.1859496, tmp)*x)))|
(x+(((((1935939774.8139446)/((-1303958190)/(2802816697.32639)))<<((2880056582)*x))+x)+x))));
- assertEquals(1543368927, x |= (-2795691884));
- assertEquals(NaN, x /= (x%((tmp = -1129915114, tmp)<<x)));
- assertEquals(NaN, x += (tmp = -3045743135, tmp));
- assertEquals(NaN, x -= (tmp = -2849555731.8207827, tmp));
- assertEquals(NaN, x /= (((((2127485827)>>>((((tmp = 363239924, tmp)>>x)|
((((tmp = -1419142286.0523334, tmp)-(x<<x))^(tmp = -1990365089.8283136,
tmp))*((tmp = 2780242444.0739098, tmp)>>>(((-2336511023.342298)&x)/(tmp =
2296926221.402897, tmp)))))>>((tmp = 1378982475.6839466, tmp)>>(tmp =
-816522530, tmp))))&(x^(tmp = -1668642255.0586753, tmp)))%(((tmp =
921249300.1500335, tmp)^x)*(tmp = -2228816905, tmp)))>>x));
- assertEquals(-1460685191, x |= (tmp = 2834282105, tmp));
- assertEquals(-1463439264, x &= (tmp = 2881860064.146755, tmp));
- assertEquals(20.98100714963762, x /=
(((3017150580.7875347)^((250499372.5339837)<<(tmp = -42767556.30788112,
tmp)))|(x%(-2829281526))));
- assertEquals(1, x /= x);
- assertEquals(2, x += x);
- assertEquals(8, x <<= x);
- assertEquals(0, x >>>= ((730174750)>>>x));
- assertEquals(0, x ^= x);
- assertEquals(-1459637373, x ^= (2835329923.456409));
- assertEquals(-1233115861, x ^= (511678120));
- assertEquals(95682857, x >>>= ((tmp = 1534570885, tmp)|(tmp =
-414425499.3786578, tmp)));
- assertEquals(70254633, x &= (-1502067585));
- assertEquals(51384749748909710, x *= (tmp = 731407276, tmp));
- assertEquals(9390482.873469353, x %= (tmp = -592576964.7982686, tmp));
- assertEquals(4695241, x >>>= (tmp = -1879898431.5395758, tmp));
- assertEquals(-3129811912538149000, x +=
(((-727481809)^((3106908604)%x))*((((tmp = -1218123690,
tmp)^(x>>((-942923806)^x)))/(x+x))>>>(-1508881888.969373))));
- assertEquals(1596870236, x ^= (-1135673764.9721224));
- assertEquals(0, x ^= x);
- assertEquals(2133782410, x |= (((-2202469371)>>((tmp =
1327588406.183342, tmp)/(tmp = 253581265.7246865, tmp)))-((tmp =
2226575446.838795, tmp)^x)));
- assertEquals(-81895217.83608055, x -= (tmp = 2215677627.8360806, tmp));
- assertEquals(812089344, x <<= ((tmp = 882824005, tmp)/(((x>>((((((((tmp
= 1211145185, tmp)/((-137817273)-(((tmp = 2165480503.1144185,
tmp)-(-1840859887.1288517))*((155886014.8393339)>>((-1984526598)<<(tmp =
1331249058.3246582, tmp))))))>>(x*x))%(2830324652))%(933701061))|
(1346496215))^(tmp = -988800810, tmp))+x))>>>x)<<(-2372088384))));
- assertEquals(812089344, x <<= x);
- assertEquals(8472, x %= ((((x|(((x%(tmp = 2772099481.664402,
tmp))+(2894690616))-x))&(x&(((-715790638.6454093)>>(tmp = -1447931029,
tmp))-(tmp = 1761027889, tmp))))^x)%(((tmp = 830969811, tmp)|x)|
((-1102267929)-(3193018687)))));
- assertEquals(-0.0000028559857417864914, x /= (-2966401364));
- assertEquals(0, x >>= x);
- assertEquals(-701800392, x += (tmp = -701800392, tmp));
- assertEquals(2034756873, x -= (tmp = -2736557265, tmp));
- assertEquals(-0.9475075048394501, x /= (((((82879340.27231383)+((tmp =
-2876678920.653639, tmp)*(-2801097850)))<<x)>>>((x<<(((((x|x)&(tmp =
-1572694766, tmp))>>(x+(x/((x-(((tmp = 1435301275, tmp)|(tmp =
983577854.212041, tmp))>>(tmp = 632633852.1644179, tmp)))+x))))>>>x)|
(-850932021)))>>x))<<(-821983991)));
- assertEquals(0, x >>= (x>>(2424003553.0883207)));
- assertEquals(2599386349, x -= (-2599386349));
- assertEquals(-68157441, x |= (((tmp = -1170343454.9327996, tmp)+((((tmp
= 448468098, tmp)|
(x>>(x>>(((x>>(((x/(x&(x<<x)))<<(2436876051.2588806))^(3010167261)))%((tmp
= 2577616315.7538686, tmp)>>>(-2953152591.015912)))%((tmp = -1304628613,
tmp)/(x&((x|((-2000952119)%((691146914)/((tmp = 1480966978.7766845,
tmp)<<((tmp = 2644449477.392441, tmp)|(-2143869305.871568))))))+(tmp =
-315254308, tmp))))))))&(-2060205555))|
((-604140518.8186448)^(x*x))))%(x*((tmp = 1383244000.2807684,
tmp)/(3195793656)))));
- assertEquals(-68157441, x |= x);
- assertEquals(-1, x >>= x);
- assertEquals(-2147483648, x <<= x);
- assertEquals(-1.5257198286933313, x /= (tmp = 1407521622, tmp));
- assertEquals(1149084989.47428, x += (((tmp = 1149084991.9004865,
tmp)&x)^((((((2797053000)/(x^x))*(-2829253694))>>>((tmp = -610924351,
tmp)>>x))>>>(tmp = -675681012, tmp))<<(2812852729))));
- assertEquals(0, x %= x);
- assertEquals(0, x <<= ((tmp = -584069073, tmp)*(-2953140326)));
- assertEquals(0, x <<= (tmp = -481515023.6404002, tmp));
- assertEquals(-1441535370, x ^= (2853431926));
- assertEquals(2853431926, x >>>= (((((((tmp = 2215663525.9620194,
tmp)%((-1102832735.9274108)/x))>>x)&(3220898702.76322))&(((2077584946)*((x>>x)<<((tmp
= 1845701049, tmp)-x)))/(tmp = 1947184202.5737212, tmp)))|(((tmp =
2976351488,
tmp)^(-42517339))%((2648230244.410125)^(1520051731.31089))))/(1761635964)));
- assertEquals(43539, x >>>= (tmp = 1361671184.7432632, tmp));
- assertEquals(21769, x >>= ((tmp = -804932298.9572575, tmp)>>((((tmp =
1749006993.253409, tmp)+(276536978))^x)|(2698166994))));
- assertEquals(1103025563, x |= (tmp = 1103007891, tmp));
- assertEquals(1327594607, x += (tmp = 224569044, tmp));
- assertEquals(1327594607, x |= x);
- assertEquals(-478674944, x <<= (((672378508)&x)^(((-2070209708.6470091)|
x)|(x>>>x))));
- assertEquals(-478674943, x ^= ((-1832457698.6345716)>>>((tmp =
-3077714019, tmp)/(1809383028))));
- assertEquals(229129701056053250, x *= x);
- assertEquals(1, x /= x);
- assertEquals(2, x <<= (-1522529727));
- assertEquals(2, x &= x);
- assertEquals(-2016989182, x |= ((((tmp = -1267845511,
tmp)*(1225350332))+((tmp = -1397690831.5717893, tmp)>>>(tmp = -2575382994,
tmp)))+x));
- assertEquals(-241, x >>= (tmp = 931869591, tmp));
- assertEquals(-1048087547, x &= (tmp = -1048087403.1163051, tmp));
- assertEquals(-4004486369.844599, x += (tmp = -2956398822.844599, tmp));
- assertEquals(-4004486368.844599, x -= (((2701878498)>>x)|(x|
(-1079354967))));
- assertEquals(1, x >>= (tmp = -1583689092, tmp));
- assertEquals(1, x *= (x>>(x%x)));
- assertEquals(0, x %= x);
- assertEquals(-0, x *= (-120818969));
- assertEquals(0, x >>= ((tmp = 1794099660, tmp)/(((x&(((-321906091)^(tmp
= -3009885933.8449526, tmp))&((tmp = -140917780, tmp)|
(2037803173.4075825))))&x)&(tmp = -745357154, tmp))));
- assertEquals(0, x <<= (563984257.3493614));
- assertEquals(NaN, x %= ((((x>>(tmp = -2190891392.320677,
tmp))-x)<<(462714956))<<((tmp = -84413570, tmp)|((x|(-2787022855))-((tmp =
2028532622, tmp)|(tmp = 1103757073.9178817, tmp))))));
- assertEquals(NaN, x *= ((2137674085.3142445)|((tmp =
-1054749859.2353804, tmp)%x)));
- assertEquals(NaN, x /= (x>>>(((((tmp = 597103360.9069608,
tmp)>>>(-2850217714.1866236))-((tmp = 1125150527, tmp)*x))%(tmp =
-982662312, tmp))|
((x/(((968656808.6069037)*(((128484784.15362918)>>x)^x))&((((x/((((tmp =
748775979, tmp)*((x-(((tmp = 709571811.9883962, tmp)%(-2083567026))%(x/(tmp
= -680467505, tmp))))/((tmp = -167543858, tmp)/(tmp = -3113588783,
tmp))))/x)<<(-2605415230)))>>>(tmp = 3133054172, tmp))%(tmp = -1904650393,
tmp))*((x|(-1193709562))*(tmp = -1731312795.718104, tmp)))))/((tmp =
-672386301, tmp)/(tmp = 808898833.4163612, tmp))))));
- assertEquals(-9, x |= (((((tmp = 150377964.57195818, tmp)/(tmp =
2161910879.0514045,
tmp))-(-2381625849))>>(-2715928517))/(((452113643)^(-2502232011))/((-3076471740)^(((tmp
= 1664851172, tmp)*(((-1460011714)>>>x)<<((-2870606437)%x)))*((tmp =
-2836565755.609597, tmp)-((x/(tmp = -871461415, tmp))-(2278867564))))))));
- assertEquals(-1, x >>= x);
- assertEquals(-1, x |= ((-1319927272)>>>(-2866709980)));
- assertEquals(-1, x >>= ((2345179803.155703)&(-978025218.2243443)));
- assertEquals(1, x /= x);
- assertEquals(-260730973, x |= (tmp = -260730973, tmp));
- assertEquals(1174405120, x <<= (2681054073));
- assertEquals(1174405120, x &= x);
- assertEquals(1073741824, x &= (tmp = 2017166572.7622075, tmp));
- assertEquals(1073741824, x |= x);
- assertEquals(168806102, x %= ((((tmp = -2939969193.950067, tmp)|
((-2325174027.614815)/(-2329212715)))*(x/(((((-2927776738)/(x|x))+(x%(tmp =
-3007347037.698492, tmp)))<<(-1898633380))>>(tmp = 204338085.45241892,
tmp))))^x));
- assertEquals(168806102, x %= ((-832849739.5197744)&(tmp = -141908598,
tmp)));
- assertEquals(-401033205.05225074, x -= (tmp = 569839307.0522507, tmp));
- assertEquals(-401033205, x &= x);
- assertEquals(-401130402, x ^= ((x*(tmp = 311418759.22436893, tmp))>>x));
- assertEquals(793533469, x ^= (-950312893.5201888));
- assertEquals(756, x >>>= (-1096189516));
- assertEquals(711, x += ((tmp = -753105189, tmp)>>(599823192.5381484)));
- assertEquals(0, x >>>= ((tmp = -2859668634.4641137,
tmp)+(-1160392986.1521513)));
- assertEquals(2427599726.176195, x -= (-2427599726.176195));
- assertEquals(1942312465.2523103, x -= (485287260.92388475));
- assertEquals(0, x >>>= ((tmp = -1740656456, tmp)/(tmp =
1339746799.9335847, tmp)));
- assertEquals(0, x <<= ((-7017077.38786912)*((-699490904.4551768)^x)));
- assertEquals(0, x <<= (tmp = 715662384, tmp));
- assertEquals(0, x *= (x>>>(2149735450.0758677)));
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>= ((397078885)*((851639692.8982519)-x)));
- assertEquals(0, x &= (-2526654445));
- assertEquals(0, x %= (-1204924598));
- assertEquals(251639720, x ^= (x|(tmp = 251639720, tmp)));
- assertEquals(695433573, x ^= (663539405));
- assertEquals(-1038050104, x -= (1733483677));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (392107269));
- assertEquals(0, x %= (-3084908458.241551));
- assertEquals(0, x ^= x);
- assertEquals(-2121660509, x ^= (tmp = -2121660509.7861986, tmp));
- assertEquals(2285041855588855800, x *= (x|(3209046634)));
- assertEquals(54915072, x >>>= (x%(((((x%((((tmp = -1429433339.5078833,
tmp)|(tmp = 2906845137,
tmp))^(3207260333))&(-848438650)))-(-2721099735))&(141851917.19978714))+x)/x)));
- assertEquals(54915072, x &= x);
- assertEquals(54915072, x %= (x+(1855489160)));
- assertEquals(70078753, x ^= ((((((-1648661736)+(x%((-1421237596)+(tmp =
2053180992.3857927, tmp))))+(tmp = 38606889,
tmp))<<((-241334284)%((x>>(215316122))*(tmp = 396488307, tmp))))+((tmp =
-2900704565, tmp)^x))^(((1103481003.1111188)^x)-(tmp = 1304113534, tmp))));
- assertEquals(1149501440, x <<= ((x>>(tmp = 3203172843, tmp))*(tmp =
-192535531, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= ((tmp = 2751499787, tmp)&((tmp = 2217654798,
tmp)*(tmp = -2798728014, tmp))));
- assertEquals(NaN, x /=
((((-2019592425)>>>((((-1571930240.741224)>>>((-183952981)/((((1990518443.672842)>>(((((2051371284)%(685322833.6793983))>>>(2662885938))<<(-1212029669.6675105))|
((-2790877875)<<(1546643473))))<<x)-(tmp = 804296674.4579233, tmp))))-(tmp
= -417759051.68770766, tmp))/((-621859758)>>>x)))&x)<<(tmp =
-48558935.55320549, tmp)));
- assertEquals(0, x <<= (x&x));
- assertEquals(0, x *= (x%(tmp = 301196068, tmp)));
- assertEquals(398290944, x |= (((tmp = 1904146839,
tmp)+(1521017178))*(-3174245888.562067)));
- assertEquals(1256401076, x ^= (1566464180));
- assertEquals(149620758, x %= ((tmp = 532626355, tmp)^(tmp = -382971203,
tmp)));
- assertEquals(149620791, x |= (x>>x));
- assertEquals(-0.07034576194938641, x /= ((tmp = -1977313182.7573922,
tmp)-x));
- assertEquals(0, x <<= x);
- assertEquals(0, x &= x);
- assertEquals(0, x /= ((2182424851.139966)%(((-2768516150)+x)>>>x)));
- assertEquals(0, x %= (-504299638.53962016));
- assertEquals(-0, x *= (-2915134629.6909094));
- assertEquals(0, x <<= ((tmp = 952692723.402582,
tmp)%(2146335996.785011)));
- assertEquals(230457472, x |= ((tmp = -574776101.8681948,
tmp)*(683185125)));
- assertEquals(933795934, x ^= (tmp = 974395614, tmp));
- assertEquals(933801974, x ^= (x>>>((-148683729)*(((tmp =
2912596991.415531, tmp)^(-2883672328))/x))));
- assertEquals(222, x >>= (-3060224682));
- assertEquals(27, x >>>= (1429156099.1338701));
- assertEquals(754519106, x ^= (tmp = 754519129.7281355, tmp));
- assertEquals(188629776, x >>>= ((x>>>((1247267193)<<(tmp = -936228622,
tmp)))%((tmp = 978604324.8236886, tmp)*((tmp = -3018953108, tmp)^(((tmp =
259650195, tmp)>>>(tmp = 2762928902.7901163, tmp))*(x>>((tmp =
787444263.5542864, tmp)/(x>>>(((-2039193776)<<(tmp = -1408159169,
tmp))-(1238893783))))))))));
- assertEquals(188629775.33987066, x += ((tmp = 1040520414,
tmp)/((-1576237184)|((tmp = -970083705, tmp)&(((tmp = -312062761.12228274,
tmp)|(1171754278.2968853))<<(-2069846597.7723892))))));
- assertEquals(1473670, x >>>= ((tmp = 202409672, tmp)^x));
- assertEquals(2171703268900, x *= (x>>(((tmp = 840468550,
tmp)&(-3208057101.2136793))/x)));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= (x&((tmp = 2569871408.2405066, tmp)|((tmp =
-3149374622, tmp)<<(x-(x|((tmp = -821239139.1626894, tmp)>>>x)))))));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x %= (tmp = 1926106354, tmp));
- assertEquals(0, x >>= ((x/(-2848416))/(tmp = 2484293767, tmp)));
- assertEquals(0, x <<= ((tmp = -2484137114, tmp)>>>(tmp =
-887083772.8318355, tmp)));
- assertEquals(0, x >>= (tmp = -2651389432, tmp));
- assertEquals(0, x ^= x);
- assertEquals(1041871201, x += ((tmp = 1041871201.9272791, tmp)|
(x<<(-1136959830))));
- assertEquals(651390879501530900, x *= ((tmp = 1250424964.0346212,
tmp)>>x));
- assertEquals(1965815296.245636, x %=
((2650603245.655831)+((-1610821947.8640454)>>>(((878987151.6917406)*((((784630543)%(((1448720244)>>(((tmp
= 3036767847, tmp)+((tmp = 1012548422,
tmp)<<(1957000200)))-x))/(x>>x)))<<((tmp = 914710268,
tmp)*(((x^(1559603121))<<(tmp = 3181816736, tmp))|
((-1964115655)+x))))-(-1055603890)))&(946797797.0616649)))));
- assertEquals(1965815296.245636, x %= (tmp = -2601038357.593118, tmp));
- assertEquals(-769384440.872302, x += (-2735199737.117938));
- assertEquals(-769384440.872302, x %= (2193123162));
- assertEquals(1, x /= x);
- assertEquals(1, x -= (((x>>>(-1968465925))*((tmp = 563037904,
tmp)>>((tmp = 3009534415.769578, tmp)>>((-2567240601.7038674)<<(tmp =
-1258402723.4150183, tmp)))))%(3112239470.276867)));
- assertEquals(1, x |= x);
- assertEquals(1505461527, x ^= (tmp = 1505461526.5858076, tmp));
- assertEquals(406553877, x &= (tmp = 2558242293, tmp));
- assertEquals(406553877, x |= x);
- assertEquals(-574902339, x |= ((-709809495)%(tmp = -2880884811.410611,
tmp)));
- assertEquals(-20281777.349363208, x %= (22184822.46602547));
- assertEquals(1, x /= x);
- assertEquals(-4360732, x ^= ((x|(tmp = 3178620274,
tmp))>>(((2686286888)&(((-1107223053.8716578)/(((-2955575332.3675404)+(-2770518721))|
(-2705016953.640522)))-x))^((1473641110.4633303)*((((-1466496401)<<x)+x)%(1805868749.082736))))));
- assertEquals(-1158545408, x <<=
((((x/((-2710098221.691819)-(-2421462965.788145)))/(((((x>>>(tmp =
1994541591.1032422, tmp))+(tmp = -1276676679.9747126, tmp))&((tmp =
1764029634.2493339, tmp)+((x|(tmp = -3050446156, tmp))-((tmp = -9441859,
tmp)/(((-2072420232)&x)*(-1003199889))))))+(tmp = -2443230628,
tmp))*x))*((x&((((x|(747566933))*(((2039741506)>>>((tmp = -2456000554,
tmp)>>>(-1566360933.7788877)))^((tmp = 960600745,
tmp)/x)))&(x^(((-2649310348.777452)^((2224282875)-(tmp =
-2129141087.3182096, tmp)))<<((x<<x)+((-1307892509.3874407)-(x|(tmp =
-2831643528.9720087, tmp)))))))/(((tmp = -35502946, tmp)<<((tmp =
1091279222, tmp)>>(((-2686069468.8930416)-x)+(tmp = 367442353.2904701,
tmp))))%(1218262628))))/x))^(-919079153.7857773)));
- assertEquals(747, x >>>= (1229157974));
- assertEquals(747, x |= x);
- assertEquals(NaN, x %=
(((3086718766.4715977)*((7912648.497568846)*((-2713828337.1659327)*(-176492425.4011252))))<<(tmp
= -1074475173, tmp)));
- assertEquals(0, x >>>=
((((444923201)<<x)>>>(-883391420.2142565))*((((617245412)<<x)>>>x)*(-913086143.2793813))));
- assertEquals(1941802406, x ^= (tmp = -2353164890, tmp));
- assertEquals(14, x >>>= (-1600311077.4571416));
- assertEquals(-18229482703.7246, x +=
(((x+(-993157139.7880647))%x)*(1862419512.1781366)));
- assertEquals(-14.531388114858734, x /= ((tmp = -1649072797.951641,
tmp)<<x));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= ((x/x)^x));
- assertEquals(2, x ^= ((-1597416259)/(-738770020)));
- assertEquals(0, x >>= (tmp = -387850072.74833393, tmp));
- assertEquals(0, x >>>= ((2491085477.186817)>>(x*(((tmp = -1592498533,
tmp)+(tmp = 2086841852, tmp))&(-3174019330.8288536)))));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (tmp = -3045348659.45243, tmp));
- assertEquals(-1208573479, x |= ((3086393817)-x));
- assertEquals(1460649854142163500, x *= x);
- assertEquals(1588199424, x <<= (-1902076952));
- assertEquals(1586102272, x &= (tmp = 2139876091.9142454, tmp));
- assertEquals(-460908552.5528109, x -= (tmp = 2047010824.552811, tmp));
- assertEquals(-460908552.5528109, x %= (tmp = 507904117.09368753, tmp));
- assertEquals(-460908552.5528109, x %= (2749577642.527038));
- assertEquals(234012, x >>>= (-340465746.91275));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= (tmp = -2601875531, tmp));
- assertEquals(0, x %= (x|(tmp = 650979981.1158671, tmp)));
- assertEquals(0, x %= (tmp = -2286020987, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x &= (x|((tmp = 2568101411, tmp)-(-1438002403))));
- assertEquals(0, x >>>= (1399248574));
- assertEquals(0, x %= (-1906670287.2043698));
- assertEquals(0, x >>= (1019286379.6962404));
- assertEquals(0, x |= (x/(tmp = -82583591.62643051, tmp)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (x^(1874776436)));
- assertEquals(NaN, x -= ((-1238826797)-(-2971588236.7228813)));
- assertEquals(0, x <<= (2064632559));
- assertEquals(-0.5967273958864694, x += (((tmp = 1502995019,
tmp)>>x)/(-2518729707)));
- assertEquals(0, x >>>= x);
- assertEquals(-0, x /= (-1923030890));
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>= (tmp = 1081732779.9449487, tmp));
- assertEquals(-820183066, x |= ((tmp = -3169007292.4721155, tmp)|
(-1912588318)));
- assertEquals(0, x -= x);
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x /= (tmp = 287181840, tmp));
- assertEquals(0, x &= (x/((tmp = -1139766051, tmp)<<(x&(tmp = 2779004578,
tmp)))));
- assertEquals(0, x >>= (((tmp = -1816938028,
tmp)+(-224851993.3139863))*(-2933829524)));
- assertEquals(0, x |= ((((tmp = 305077929.1808746, tmp)&((x-(((((tmp =
2122810346.7475111, tmp)<<(717271979))*(tmp = 256854043.72633624,
tmp))%((x+(tmp = -318657223.9992106,
tmp))*((1993144830)<<(2594890698.603228))))^((((tmp = 257370667,
tmp)>>>((((x^(3160746820))>>>(2049640466.8116226))>>>(2543930504.7117066))^(x-x)))^(x%(964838975)))^x)))%(x*x)))>>>x)*(tmp
= -46861540, tmp)));
- assertEquals(747575633, x ^= ((-2406502427)-(-3154078060.3794584)));
- assertEquals(0, x *= (x%x));
- assertEquals(0, x <<= (1313773705.3087234));
- assertEquals(0, x >>>= ((x+x)>>>(3068164056)));
- assertEquals(-0, x *= (tmp = -1771797797, tmp));
- assertEquals(1784146970, x ^= (tmp = 1784146970, tmp));
- assertEquals(1784146970, x >>>= (tmp = -2219972320.7195597, tmp));
- assertEquals(1744830464, x <<= ((((-2769476584)-(((1798431604)>>(tmp =
1337687914.799577, tmp))>>>((-2802941943.15014)>>x)))>>>(tmp = 646033678,
tmp))-x));
- assertEquals(3044433348102455300, x *= x);
- assertEquals(0, x >>= ((tmp = 1592076570.1900845,
tmp)-((645774223.6317859)>>x)));
- assertEquals(0, x >>= (x>>>(-3045822290.1536255)));
- assertEquals(-0, x *= (tmp = -2450298800.986624, tmp));
- assertEquals(0, x >>= (tmp = 1379605393, tmp));
- assertEquals(0, x &= (((x-((((tmp = 837939461.6683749,
tmp)+((((-813261853.3247359)|(x&(((-2565113940)*(tmp = -2725085381.240134,
tmp))|x)))%(-1457259320))-(x+((tmp = -273947066,
tmp)%((1164825698.879649)>>(1653138880.3434052))))))>>>(2823967606.411492))>>>((((((((1189235604.9646997)/(tmp
= -2875620103.4002438, tmp))-(tmp = -801261493,
tmp))<<(((1832556579.5095325)<<x)|((tmp = -2740330665, tmp)>>(tmp =
-2352814025, tmp))))-(tmp = -1445043552.99499,
tmp))&(x<<(((((445325471)*(1293047043.1808558))>>>(((1901837408.5910044)-(tmp
= -2349093446.5313253, tmp))>>>(tmp = 1000847053.1861948,
tmp)))*(x>>>(1771853406.6567078)))>>x)))>>>x)>>>(x^((tmp = 2813422715,
tmp)-(x+(-342599947)))))))&(x>>>x))*x));
- assertEquals(NaN, x %= ((tmp = -3027713526,
tmp)-((((x%(((((x/((2711155710)^(((((x>>>x)%((1098599291.155015)^(((((tmp =
1855724377.8987885, tmp)/(x|
x))*((-1963179786)*((x-((-1634717702)%x))<<x)))>>(2008859507))>>((tmp =
2635024299.7983694, tmp)^(tmp = -602049246, tmp)))))*(x>>x))&(tmp =
-1925103609, tmp))*((tmp = 2106913531.2828505, tmp)%((tmp = -200970069,
tmp)*(-2809001910.951446))))))%x)*((1990098169)>>((x<<(2303347904.2601404))%x)))|
(2767962065.9846206))+(201589933.301661)))>>(((tmp = 1921071149.5140274,
tmp)>>(1054558799.1731887))|x))*(x/((((-2833879637.345674)>>>(tmp =
2849099601, tmp))%x)+(x%(x%(((tmp = 1983018049, tmp)^(tmp = -2659637454,
tmp))>>((-1335497229.6945198)-(x+(((((tmp = 1136612609.848967,
tmp)%(2471741030.01762))<<(x|(((tmp = 1644081190.1972675,
tmp)&(-1422527338))^(2379264356.265957))))/(tmp = 2979299484.1884174,
tmp))/x)))))))))*((tmp = 1858298882, tmp)^((tmp = -547417134.9651439,
tmp)*x)))));
- assertEquals(-7664, x |= ((2286000258.825538)>>(1716389170)));
- assertEquals(-1, x >>= x);
- assertEquals(-1231640486.3023372, x += ((tmp = 1231640485.3023372,
tmp)*x));
- assertEquals(-2463280972.6046743, x += x);
- assertEquals(1746, x >>>= x);
- assertEquals(1746, x >>>= (((tmp = -562546488.0669937,
tmp)*((-2475357745.8508205)&((x%(821425388.8633704))%((((-2315481592.687686)&(((tmp
= 3130530521.7453523, tmp)+x)-x))^(-973033390.1773088))/x))))<<x));
- assertEquals(1746, x %= (-1544973951.076033));
- assertEquals(27936, x <<= (-525441532.33816123));
- assertEquals(27936, x %= (x*((tmp = 344991423.5336287,
tmp)+(-2267207281))));
- assertEquals(27, x >>>= (tmp = 1249792906, tmp));
- assertEquals(0, x >>>= (tmp = -1068989615, tmp));
- assertEquals(0, x >>>= (tmp = 347969658.92579734, tmp));
- assertEquals(-2656611892, x -= (2656611892));
- assertEquals(1944539596, x |= (((tmp = 3000889963, tmp)-x)<<((tmp =
2917390580.5323124, tmp)^(-996041439))));
- assertEquals(1944539596, x |= x);
- assertEquals(-739740167.0752468, x -= ((1712009965.0752468)+(x>>((tmp =
-740611560.99014, tmp)>>>((tmp = -1033267419.6253037,
tmp)&(862184116.3583733))))));
- assertEquals(-1479480334.1504936, x += x);
- assertEquals(-4294967296.150494, x -=
(x>>>((1219235492.3661718)&(3138970355.0665245))));
- assertEquals(0, x >>= (x*x));
- assertEquals(-0, x *= ((-2202530054.6558375)-(-676578695)));
- assertEquals(-0, x %= (1336025846));
- assertEquals(0, x &= x);
- assertEquals(0, x /= (1759366510));
- assertEquals(630007622, x |= (630007622));
- assertEquals(-0.22460286863455903, x /= (tmp = -2804984753, tmp));
- assertEquals(1102410276.775397, x -= (-1102410277));
- assertEquals(1102410276.775397, x %= ((((-2569525203)&x)*(x|
(-1932675298)))/((-2376634450)>>>(x>>>(tmp = 936937604.9491489, tmp)))));
- assertEquals(33642, x >>= (3028252527));
- assertEquals(2181106522.688034, x -= (-2181072880.688034));
- assertEquals(-2113861630, x &= (2523921542));
- assertEquals(-2147483646, x &= (-1996601566.9370148));
- assertEquals(-2147483648, x &= (tmp = -665669175.1968856, tmp));
- assertEquals(-2858673260.1367273, x -= (tmp = 711189612.1367272, tmp));
- assertEquals(350657, x >>= (tmp = -170243892.25474262, tmp));
- assertEquals(-0.0001405571562140975, x /= (-2494764474.7868776));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= ((x&(-2041236879))*((tmp = -2182530229,
tmp)^((1274197078)*x))));
- assertEquals(0, x |= (x&(x-(1794950303))));
- assertEquals(1222105379, x |= (tmp = 1222105379, tmp));
- assertEquals(729884484, x ^= (tmp = 1666645607.6907792, tmp));
- assertEquals(729884484, x %= (tmp = -2896922082, tmp));
- assertEquals(8768, x &= ((tmp = 358940932, tmp)>>>(3159687631.3308897)));
- assertEquals(1892384495, x |= (-2402591569));
- assertEquals(1892470533, x += ((((x^(-2266612043))>>>(tmp = -531009952,
tmp))<<(x>>>((-1365315963.5698428)>>>((x+((-3168207800.184341)-(tmp =
1776222157.609917, tmp)))+(-1588857469.3596382)))))>>>x));
- assertEquals(143587205, x += (tmp = -1748883328, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (tmp = 2334880462.3195543, tmp));
- assertEquals(0, x &= ((tmp = 1819359625.4396145, tmp)|(tmp =
-1323513565, tmp)));
- assertEquals(-1102259874, x ^= (3192707422));
- assertEquals(2567457772588852700, x *= (-2329267202));
- assertEquals(-16783687, x |=
((-2212476227.060922)^(378973700.78452563)));
- assertEquals(4278183609, x >>>= ((((((((tmp = 1766363150.197206,
tmp)*(-2774552871))%x)>>>((3071429820)&((((((tmp = 351068445.27642524,
tmp)<<(tmp = 2646575765,
tmp))^(806452682))<<((x>>>(-2217968415.505327))<<(1564726716)))|x)-(tmp =
-3110814468.9023848, tmp))))+x)^x)>>>(tmp = -617705282.0788529, tmp))>>>x));
- assertEquals(4314933530, x -= ((1032195469.789219)|(tmp =
-448053861.9531791, tmp)));
- assertEquals(9709850, x %= (((tmp = -3056286252.5853324, tmp)*x)&x));
- assertEquals(9709850, x %= (tmp = -2596800940, tmp));
- assertEquals(2655489828.9461126, x -= (tmp = -2645779978.9461126, tmp));
- assertEquals(369266212, x &= (((335712316.24874604)|(tmp = 33648215,
tmp))-((x/(2639848695))<<((-499681175)<<(-2490554556)))));
- assertEquals(-2147483648, x <<= (-834465507));
- assertEquals(1073741824, x >>>= (((tmp = 3018385473.1824775,
tmp)>>(x*(-2574502558.216812)))|(((tmp = -1742844828,
tmp)*(1698724455))&x)));
- assertEquals(-270818218, x += (-1344560042));
- assertEquals(360710144, x <<= x);
- assertEquals(0, x <<= (tmp = 612718075, tmp));
- assertEquals(0, x <<= x);
- assertEquals(-0, x /= (tmp = -1922423684, tmp));
- assertEquals(-0, x *= ((((tmp = 741806213.3264687,
tmp)%(-711184803.2022421))+((tmp = -3209040938,
tmp)&(525355849.044886)))&(x<<(tmp = -698610297, tmp))));
- assertEquals(0, x <<= (-482471790));
- assertEquals(0, x &= ((-921538707)/(tmp = -482498765.988616, tmp)));
- assertEquals(0, x ^= (x^x));
- assertEquals(-351721702, x ^= (-351721702.8850286));
- assertEquals(726242219625599900, x -= ((2064820612)*x));
- assertEquals(1452484439251199700, x += x);
- assertEquals(2.52318299412847e-15, x %=
((((x<<((2508143285)+x))>>(-2493225905.011774))%(1867009511.0792103))/((((x<<(2542171236))>>((x|
x)&(tmp = -384528563, tmp)))+((-1168755343)*(1731980691.6745195)))+(tmp =
-1608066022.71164, tmp))));
- assertEquals(79905008, x += ((((-2702081714.590131)&(x+(tmp =
-1254725471.2121565, tmp)))*(3088309981))%(((tmp = 1476844981.1453142, tmp)|
((((tmp = -1243556934.7291331, tmp)%x)^(-1302096154))+((660489180)/(tmp =
-681535480.8642154, tmp))))^(tmp = -8410710, tmp))));
- assertEquals(1215822204, x ^= ((-3008054900)>>>(tmp =
-1990206464.460693, tmp)));
- assertEquals(-394790532, x |= ((((-1334779133.2038574)+(tmp =
-1407958866.832946,
tmp))<<(1699208315))-(((x^(x%x))<<(3216443))>>(x+((((2576716374.3081336)|
((tmp = 2316167191.348064, tmp)&((51086351.20208645)&((x|(tmp = -357261999,
tmp))^(x/x)))))*(-45901631.10155654))*(((-439588079)>>>((-2358959768.7634916)|
(1613636894.9373643)))+(((-908627176)<<x)%(x%((-1669567978)>>>((x>>(1289400876))+(tmp
= 2726174270, tmp)))))))))));
- assertEquals(-0.17717467607696327, x /= (2228255982.974148));
- assertEquals(-1905616474, x ^= (tmp = 2389350822.851587, tmp));
- assertEquals(-0, x %= x);
- assertEquals(2818124981.508915, x -= (-2818124981.508915));
- assertEquals(-1476842315, x |= x);
- assertEquals(73408564, x &= (-3147390604.3453345));
- assertEquals(70, x >>>= x);
- assertEquals(1, x >>= x);
- assertEquals(3086527319.899181, x *= (3086527319.899181));
- assertEquals(-145, x >>= x);
- assertEquals(-145, x %= (tmp = -2500421077.3982406, tmp));
- assertEquals(-1, x >>= (tmp = -2970678326.712191, tmp));
- assertEquals(-1, x %= ((tmp = -535932632.4668834,
tmp)+(((-1226598339.347982)<<((tmp = 616949449, tmp)/(tmp = 2779464046,
tmp)))/(214578501.67984307))));
- assertEquals(1, x *= x);
- assertEquals(1, x >>= ((tmp = 11080208, tmp)<<(460763913)));
- assertEquals(-1.8406600706723492e-19, x /= ((tmp = -2334126306.1720915,
tmp)*(tmp = 2327566272.5901165, tmp)));
- assertEquals(856681434186007200, x -= ((tmp = -2286974992.8133907,
tmp)*(374591518)));
- assertEquals(3126084224, x >>>= x);
- assertEquals(-1160460669, x |= (tmp = 181716099, tmp));
- assertEquals(873988096, x <<= (tmp = 406702419, tmp));
- assertEquals(0, x <<= ((tmp = 802107965.4672925, tmp)-((tmp =
1644174603, tmp)>>((tmp = 604679952, tmp)+(tmp = -515450096.51425123,
tmp)))));
- assertEquals(NaN, x %= ((x>>(tmp = 2245570378, tmp))*(tmp = 1547616585,
tmp)));
- assertEquals(NaN, x /= ((tmp = -776657947.0382309, tmp)&(tmp =
163929332.28270507, tmp)));
- assertEquals(NaN, x *= (tmp = 243725679.78916526, tmp));
- assertEquals(NaN, x /= (x>>x));
- assertEquals(0, x <<= ((tmp = -1293291295.5735884,
tmp)%(((((63309078)>>>x)&(x&(-2835108260.025297)))+x)>>>(-1317213424))));
- assertEquals(0, x *= ((((tmp = -1140319441.0068483, tmp)*(tmp =
2102496185, tmp))&(-2326380427))<<(tmp = -2765904696, tmp)));
- assertEquals(0, x /= (tmp = 2709618593, tmp));
- assertEquals(0, x >>= (-1753085095.7670164));
- assertEquals(1766381484, x |= (-2528585812));
- assertEquals(1766381484, x %= (2735943476.6363373));
- assertEquals(1766381484, x %= (x*(tmp = 2701354268, tmp)));
- assertEquals(-2147483648, x <<= (-323840707.4949653));
- assertEquals(4611686018427388000, x *= (x<<x));
- assertEquals(0, x <<= (3066735113));
- assertEquals(0, x ^= ((((x*x)^(tmp = -2182795086.39927, tmp))<<(x^(tmp =
1661144992.4371827, tmp)))<<((((-2885512572.176741)*(tmp = 609919485, tmp))|
(tmp = 929399391.0790694,
tmp))>>>((((((((((399048996)>>((-107976581.61751771)>>>x))|
(((-1502100015)<<(tmp = -1108852531.9494338, tmp))&(x/(tmp =
-3198795871.7239237,
tmp))))+((-2627653357)>>x))>>>x)*(1066736757.2718519))%(tmp =
1326732482.201604, tmp))/(tmp = 2513496019.814191,
tmp))>>>((1694891519)>>>(-2860217254.378931)))<<(tmp = 31345503, tmp)))));
- assertEquals(0, x ^=
(x/((-2556481161)>>>(x/(x%(x&(1302923615.7148068)))))));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (tmp = 846522031, tmp));
- assertEquals(0, x >>= (x+(-1420249556.419045)));
- assertEquals(0, x ^= (((x%(-1807673170))&x)-x));
- assertEquals(-3484.311990686845, x -=
((((((-510347602.0068991)>>>x)<<((tmp = 1647999950,
tmp)&(((305407727)>>((1781066601.791009)&x))<<((tmp = -998795238,
tmp)%(((x/x)+x)<<(((2586995491.434947)<<x)-((((tmp = 545715607.9395425,
tmp)*x)>>>x)>>>(((((2332534960.4595165)^(-3159493972.3695474))<<(tmp =
867030294, tmp))|(2950723135.753855))^(((3150916666)<<x)>>((tmp =
414988690, tmp)|((tmp = -1879594606, tmp)/(tmp = 1485647336.933429,
tmp))))))))))))>>(tmp = -2676293177, tmp))%(617312699.1995015))/((((tmp =
-1742121185, tmp)^((((x&x)<<(tmp = 698266916,
tmp))/(-1860886248))+((-213304430)%((((((-2508973021.1333447)+(tmp =
2678876318.4903, tmp))&(tmp = -43584540,
tmp))-x)^(-2251323850.4611115))-x))))>>>(tmp = 2555971284, tmp))%((((tmp =
16925106, tmp)^x)&x)|((x/((x|(tmp = -2787677257.125139,
tmp))<<(-853699567)))+(tmp = -1721553520, tmp))))));
- assertEquals(-447873933.26863855, x += (-447870448.9566479));
- assertEquals(200591060101520900, x *= x);
- assertEquals(200591062202483420, x -= (-2100962536));
- assertEquals(-5.261023346568228e+24, x *= ((tmp = -419641692.6377077,
tmp)>>(tmp = -224703100, tmp)));
- assertEquals(1269498660, x |= (195756836));
- assertEquals(1269498660, x |= x);
- assertEquals(1269498660, x |= x);
- assertEquals(-37.75978948486164, x /= (((tmp = -595793780, tmp)+((tmp =
2384365752, tmp)>>>(1597707155)))|((968887032)^(tmp = 2417905313.4337964,
tmp))));
- assertEquals(-37.75978948486164, x %= (tmp = -1846958365.291661, tmp));
- assertEquals(1102319266.6421175, x += (1102319304.401907));
- assertEquals(-1664202255175155200, x -= ((x^(tmp = 407408729, tmp))*x));
- assertEquals(-752874653, x ^= (tmp = 314673507, tmp));
- assertEquals(-72474761, x |= (tmp = -2538726025.8884344, tmp));
- assertEquals(-72474761, x |= x);
- assertEquals(-122849418, x += ((tmp = -2332080457, tmp)|
(((((30496388.145492196)*(((-1654329438.451212)|(-2205923896))&(x>>(tmp =
-1179784444.957002, tmp))))&(tmp = 319312118, tmp))*(651650825))|
(((-2305190283)|x)>>>(-428229803)))));
- assertEquals(994, x >>>= x);
- assertEquals(614292, x *= (((((2565736877)/((tmp = 649009094,
tmp)>>>(((x>>>(2208471260))>>(x>>>x))%x)))&(tmp = 357846438, tmp))<<(tmp =
-2175355851, tmp))%x));
- assertEquals(1792008118, x |= (tmp = 1791924774.5121183, tmp));
- assertEquals(1246238208, x &= (tmp = 1264064009.9569638, tmp));
- assertEquals(-88877082, x ^= (2969289190.285704));
- assertEquals(0.044923746573582474, x /= ((tmp = -3057438043,
tmp)^(-1009304907)));
- assertEquals(0, x <<= ((-828383918)-((((x>>(734512101))*(tmp =
-3108890379, tmp))-(x|((tmp = 3081370585.3127823,
tmp)^((-271087194)-(x/(tmp = -2777995324.4073873, tmp))))))%x)));
- assertEquals(1604111507.3365753, x -= (-1604111507.3365753));
- assertEquals(-1721314970, x ^= (tmp = -956686859, tmp));
- assertEquals(-102247425, x |= (tmp = -2535095555, tmp));
- assertEquals(-102247425, x %= (-955423877));
- assertEquals(1053144489850425, x *= (((tmp = 1583243590.9550207,
tmp)&(1356978114.8592746))|(tmp = -10299961.622774363, tmp)));
- assertEquals(-0.0043728190668037336, x /=
((-1196259252.435701)*(((-689529982)|(tmp = -1698518652.4373918,
tmp))<<x)));
- assertEquals(-2, x ^= (((x+(tmp = 2961627388, tmp))>>(tmp =
231666110.84104693, tmp))|x));
- assertEquals(-1, x >>= (tmp = -83214419.92958307, tmp));
- assertEquals(-1, x %= (-1303878209.6288595));
- assertEquals(2944850457.5213213, x -= (tmp = -2944850458.5213213, tmp));
- assertEquals(-1.6607884436053055, x /= (-1773164107));
- assertEquals(-0.6607884436053055, x %= ((x>>(1240245489.8629928))%(tmp =
-3044136221, tmp)));
- assertEquals(-0, x *= ((x*x)>>>((1069542313.7656753)+x)));
- assertEquals(0, x >>>= (tmp = -202931587.00212693, tmp));
- assertEquals(-0, x *= (-375274420));
- assertEquals(0, x |= ((x/(((tmp = -876417141,
tmp)*(x>>>x))&(-2406962078)))<<x));
- assertEquals(0, x &= ((tmp = -650283599.0780096, tmp)*(tmp =
513255913.34108484, tmp)));
- assertEquals(3027255453.458466, x += (3027255453.458466));
- assertEquals(-12568623413253943000, x *= (((x-(198689694.92141533))|
x)-x));
- assertEquals(-12568623410285185000, x -= (tmp = -2968758030.3694654,
tmp));
- assertEquals(-2008903680, x &= (3111621747.7679076));
- assertEquals(-110045263.26583672, x += (tmp = 1898858416.7341633, tmp));
- assertEquals(15964, x >>>= (1141042034));
- assertEquals(31928, x += x);
- assertEquals(0, x ^= x);
- assertEquals(-1159866377, x |= (-1159866377));
- assertEquals(0, x ^= x);
- assertEquals(3072699529.4306993, x -= (tmp = -3072699529.4306993, tmp));
- assertEquals(1, x /= x);
- assertEquals(-1471195029, x |= (2823772267.429641));
- assertEquals(-4152937108, x += (-2681742079));
- assertEquals(142030188, x |= x);
- assertEquals(270, x >>= (tmp = 1013826483, tmp));
- assertEquals(0, x >>>= (529670686));
- assertEquals(-2912300367, x -= (2912300367));
- assertEquals(2213791134963007500, x *= (x<<((((-3214746140)>>(tmp =
-588929463, tmp))+((tmp = -3084290306, tmp)>>x))>>x)));
- assertEquals(2213791133466809900, x -= (tmp = 1496197641, tmp));
- assertEquals(69834416, x >>>= (x|(((2755815509.6323137)^(x%(((x*((((tmp
= 375453453, tmp)<<(x*x))>>(tmp = -973199642, tmp))*x))>>((tmp =
-356288629, tmp)>>(tmp = 2879464644,
tmp)))<<((((1353647167.9291127)>>>(x/x))<<((2919449101)/(2954998123.5529594)))^x))))&((-2317273650)>>>(tmp
= 34560010.71060455, tmp)))));
- assertEquals(69834416, x >>>= (x^(-2117657680.8646245)));
- assertEquals(2217318064, x -= ((tmp = 2035883891, tmp)<<(tmp =
-1884739265, tmp)));
- assertEquals(-1272875686, x ^= (tmp = 805889002.7165648, tmp));
- assertEquals(-1272875686, x >>= (x&(((1750455903)*x)>>((722098015)%((tmp
= 1605335626, tmp)>>(tmp = -565369634, tmp))))));
- assertEquals(-1274351316, x -= (x>>>((tmp = 2382002632, tmp)-((tmp =
-2355012843, tmp)+(1465018311.6735773)))));
- assertEquals(-2982908522.4418216, x -= ((tmp = 1635549038.4418216,
tmp)+(((1952167017.720186)&((tmp = -2284822073.1002254,
tmp)>>(-1403893917)))%(tmp = 655347757, tmp))));
- assertEquals(312, x >>>= x);
- assertEquals(1248, x <<= (2376583906));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= ((((tmp = 1914053541.881434, tmp)>>>(tmp =
1583032186, tmp))>>>(-2511688231))%(tmp = -2647173031, tmp)));
- assertEquals(0, x >>>= (tmp = -2320612994.2421227, tmp));
- assertEquals(0, x %= (((x+(tmp = -720216298.5403998,
tmp))<<(414712685))>>(tmp = 480416588, tmp)));
- assertEquals(0, x >>=
((((3039442014.271272)<<x)%(-2402430612.9724464))&((-2141451461.3664773)%((x>>(1361764256))/((tmp
= -1723952801.9320493, tmp)%(477351810.2485285))))));
- assertEquals(-0, x /= (tmp = -1627035877, tmp));
- assertEquals(0, x >>>= (tmp = 1745193212, tmp));
- assertEquals(0, x >>>= (2309131575));
- assertEquals(NaN, x %= (((x*(tmp = -1730907131.6124666,
tmp))%((((1481750041)|(x>>((((x>>>(tmp = 3128156522.5936565, tmp))/(tmp =
-1277222645.9880452, tmp))^(tmp = -2327254789,
tmp))+x)))>>>(-1161176960))>>>(tmp = 3135906272.5466847,
tmp)))*(((((-2230902834.464362)^(1822893689.8183987))+(((tmp = 1597326356,
tmp)/(x&((tmp = -3044163063.587389, tmp)>>(tmp = 2844997555,
tmp))))%(x^x)))>>((x|x)/x))^(2634614167.2529745))));
- assertEquals(0, x &= (3081901595));
- assertEquals(0, x &= (-2453019214.8914948));
- assertEquals(0, x &= x);
- assertEquals(0, x >>>= (-596810618.3666217));
- assertEquals(0, x >>= (((908276623)|x)/x));
- assertEquals(0, x ^= x);
- assertEquals(958890056, x |= (tmp = 958890056.474458, tmp));
- assertEquals(1325436928, x <<= (tmp = -2474326583, tmp));
- assertEquals(711588532333838300, x *= ((-148161646.68183947)<<(tmp =
-1149179108.8049204, tmp)));
- assertEquals(0, x ^= (((2862565506)%x)/(tmp = -2865813112, tmp)));
- assertEquals(-2064806628, x += (((tmp = -2677361175.7317276,
tmp)/((817159440)>>>(tmp = 1895467706, tmp)))^(x|(tmp = -2309094859,
tmp))));
- assertEquals(-69806982479424, x *= ((x&(tmp = 2857559765.1909904,
tmp))&(-3166908966.754988)));
- assertEquals(-430255744, x %= ((((((-2968574724.119535)<<x)<<((tmp =
1603913671, tmp)%((-1495838556.661653)^(tmp = 1778219751,
tmp))))*(-400364265))<<((((1607866371.235576)-(1961740136))|
(1259754297))&(tmp = -1018024797.1352971, tmp)))^x));
- assertEquals(6.828637393208647e-7, x /= (x*(tmp = 1464421, tmp)));
- assertEquals(0, x &= x);
- assertEquals(-0, x *= (((tmp = -2510016276, tmp)-(2088209546))<<((tmp =
-1609442851.3789036, tmp)+(tmp = 1919930212, tmp))));
- assertEquals(-0, x %= (tmp = 1965117998, tmp));
- assertEquals(-290294792.53186846, x += ((tmp = -2361555894.5318685,
tmp)%(2071261102)));
- assertEquals(-70873, x >>= (tmp = 2206814124, tmp));
- assertEquals(-141746, x += x);
- assertEquals(-141733.9831459089, x -= (((tmp = -806523527, tmp)>>>(tmp =
1897214891, tmp))/x));
- assertEquals(-141733.9831459089, x %= ((tmp = 1996295696, tmp)<<(tmp =
3124244672, tmp)));
- assertEquals(141733.9831459089, x /= (x>>(2688555704.561076)));
- assertEquals(3196954517.3075542, x -= (tmp = -3196812783.3244085, tmp));
- assertEquals(-19929155, x |= (((x|x)+x)^((tmp = 391754876,
tmp)-(((((((tmp = -3051902902.5100636, tmp)*(x/(1546924993)))|(tmp =
1494375949, tmp))/((((-795378522)/(tmp = 509984856, tmp))>>>(tmp =
-106173186, tmp))+x))|x)|(1916921307))>>>x))));
- assertEquals(1279271449, x &= ((tmp = 1289446971, tmp)&(tmp =
1836102619, tmp)));
- assertEquals(17876992, x <<= (-207633461));
- assertEquals(0, x >>= (tmp = -903885218.9406946, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(-2999, x -= (((754533336.2183633)%(tmp = 557970276.0537136,
tmp))>>(tmp = -1171045520, tmp)));
- assertEquals(-0.000003020470363504361, x /= (tmp = 992891715.2229724,
tmp));
- assertEquals(1, x /= x);
- assertEquals(0.45768595820301217, x %= ((tmp = 673779031, tmp)/(tmp =
-1242414872.3263657, tmp)));
- assertEquals(-980843052.1872087, x += (tmp = -980843052.6448946, tmp));
- assertEquals(-Infinity, x /= ((((tmp = 317747175.8024508, tmp)&(x&(((tmp
= 1632953053, tmp)>>x)/x)))%x)/(3145184986)));
- assertEquals(0, x &= (x<<x));
- assertEquals(0, x ^= (x-((2969023660.5619783)/x)));
- assertEquals(0, x *= x);
- assertEquals(NaN, x %= (x/(((x-x)/((tmp = -1622970458.3812745,
tmp)-(1626134522)))&((((((tmp = 1384729039.4149384, tmp)^(x%(tmp =
-2736365959, tmp)))+((-1465172172)%x))>>(tmp = -1839184810.2603343,
tmp))^(((tmp = 1756918419, tmp)>>>(x+(x%(tmp = -2011122996.9794662,
tmp))))<<(-3026600748.902623)))*((tmp = -2040286580,
tmp)>>(-2899217430.655154))))));
- assertEquals(0, x >>>= (tmp = 2100066003.3046467, tmp));
- assertEquals(1362012169, x ^= (tmp = 1362012169, tmp));
- assertEquals(1476312683, x |= ((457898409)>>>(-3079768830.723079)));
- assertEquals(1441711, x >>>= (905040778.7770994));
- assertEquals(2078530607521, x *= x);
- assertEquals(-208193103, x |= ((tmp = -241750000, tmp)^x));
- assertEquals(745036378, x ^= (((tmp = -1737151062.4726632, tmp)<<x)|(tmp
= -1900321813, tmp)));
- assertEquals(1744830464, x <<= x);
- assertEquals(212992, x >>>=
((1210741037)-(x-(x>>>((x^(-1273817997.0036907))+((2401915056.5471)%(x<<(tmp
= 1696738364.277438, tmp))))))));
- assertEquals(0.0001604311565639742, x /= (1327622418));
- assertEquals(0, x <<= (tmp = 166631979.34529006, tmp));
- assertEquals(0, x *= ((((tmp = 657814984,
tmp)/(((-831055031)>>>(1531978379.1768064))|((tmp = 2470027754.302619,
tmp)^(-223467597))))/(tmp = 1678697269.468965, tmp))&(tmp =
-1756260071.4360774, tmp)));
- assertEquals(-2049375053, x ^= (tmp = -2049375053, tmp));
- assertEquals(-1879109889, x |= (tmp = -1963586818.0436726, tmp));
- assertEquals(718239919, x ^= (tmp = -1523550640.1925273, tmp));
- assertEquals(-1361085185, x |= (-1939964707));
- assertEquals(2, x >>>= (1864136030.7395325));
- assertEquals(0.794648722849246, x %=
((-668830999)*(((-2227700170.7193384)%(x^(x>>>x)))/(tmp = 399149892,
tmp))));
- assertEquals(0, x >>= x);
- assertEquals(0, x *= x);
- assertEquals(0, x &= ((tmp = -2389008496.5948563, tmp)|((((tmp =
-2635919193.905919,
tmp)*((-64464127)<<(2136112830.1317358)))>>((184057979)*(-1204959085.8362718)))>>>(-442946870.3341484))));
- assertEquals(-243793920, x -= ((tmp = 3002998032,
tmp)<<((537875759)<<x)));
- assertEquals(0, x -= x);
- assertEquals(0, x *=
((((66852616.82442963)/((((x^x)&(2975318321.223734))+(((tmp =
-1388210811.1249495, tmp)^((((-680567297.7620237)%(x-(tmp =
-672906716.4672911, tmp)))-x)*(tmp = -1452125821.0132627,
tmp)))*(((2770387154.5427895)%x)%x)))-x))<<((-1481832432.924325)>>(tmp =
3109693867, tmp)))>>>(x/(((((((tmp = 928294418, tmp)^(((-1018314535)/(tmp =
-3167523001, tmp))%((((((tmp = -1639338126, tmp)-(tmp = -2613558829,
tmp))&x)/x)%(tmp = 513624872, tmp))/((-520660667)&x))))*(2620452414))^((tmp
= 2337189239.5949326, tmp)*(3200887846.7954993)))>>>((tmp = 1173330667,
tmp)^x))<<x)>>(((tmp = -2475534594.982338, tmp)*x)|x)))));
- assertEquals(0, x /= (2520915286));
- assertEquals(0, x &= x);
- assertEquals(0, x >>= (-1908119327));
- assertEquals(0, x >>>= (tmp = 549007635, tmp));
- assertEquals(0, x >>= (-994747873.8117285));
- assertEquals(0, x <<= ((((x>>>((-3084793026.846681)%((1107295502)&(tmp =
-296613957.8133817,
tmp))))&((19637717.166736007)/(x+x)))+x)/(-2479724242)));
- assertEquals(-695401420, x += (-695401420));
- assertEquals(-695401394, x += (x>>>(tmp = 2340097307.6556053, tmp)));
- assertEquals(-555745552, x -= (x|(-483851950.68644)));
- assertEquals(-17825792, x <<= x);
- assertEquals(-17825792, x >>= x);
- assertEquals(-17, x %= ((tmp = 1799361095, tmp)|
((x>>(((-1201252592)<<((((543273288)+(-2859945716.606924))*x)<<((-3030193601)<<(3081129914.9217644))))|
((1471431587.981769)>>(-246180750))))|(((tmp = -2689251055.1605787,
tmp)>>x)&(((2131333169)^x)-((tmp = -951555489, tmp)/x))))));
- assertEquals(-8912896, x <<= (1146444211));
- assertEquals(2854567584, x += (tmp = 2863480480, tmp));
- assertEquals(426232502.24151134, x %= (1214167540.8792443));
- assertEquals(1806802048, x ^= (-2368317898));
- assertEquals(432537600, x <<= (tmp = 2831272652.589364, tmp));
- assertEquals(432537600, x %=
(((1713810619.3880467)-x)&((-2853023009.553296)&(tmp = -3158798098.3355417,
tmp))));
- assertEquals(-509804066, x += (tmp = -942341666, tmp));
- assertEquals(-509804066, x %= (-732349220));
- assertEquals(259900185710132350, x *= x);
- assertEquals(711598501.7021885, x %= ((tmp = 2020395586.2280731,
tmp)-(tmp = 3031459563.1386633, tmp)));
- assertEquals(711598503.0618857, x += ((tmp = 967558548.4141241, tmp)/x));
- assertEquals(711598503, x &= x);
- assertEquals(711598503, x ^= (((((1609355669.1963444)+((((tmp =
-2660082403.258437, tmp)+(tmp = -235367868,
tmp))&(x/x))*((-2595932186.69466)|((tmp = -3039202860,
tmp)<<x))))>>>(-951354869))-((tmp = -691482949.6335375, tmp)/(tmp =
-1735502400, tmp)))/(tmp = 798440377, tmp)));
- assertEquals(558262613882868500, x *= (784519095.4299527));
- assertEquals(558262611968479000, x -= ((((tmp = 1039039153.4026555,
tmp)/(-3138845051.6240187))*(tmp = 633557994, tmp))&(1981507217)));
- assertEquals(1170427648, x |= ((x>>((((-1086327124)%((tmp =
-1818798806.368613, tmp)^(tmp = 2183576654.9959817, tmp)))>>x)&((((((tmp =
1315985464.0330539, tmp)&(2774283689.333836))%x)*((2722693772.8994813)&(tmp
= -2720671984.945404, tmp)))^(tmp = -76808019, tmp))<<((tmp =
685037799.2336662, tmp)^((tmp = 1057250849, tmp)&(tmp = 1469205111.2989025,
tmp))))))+(x*(((tmp = 448288818.47173154,
tmp)-(-2527606231))-((8387088.402292728)>>x)))));
- assertEquals(558, x >>>= (tmp = 2732701109, tmp));
- assertEquals(558, x &= x);
- assertEquals(-0.00015855057024653912, x /= ((x+(((tmp = -1963815633,
tmp)-(x>>x))-((x|x)>>x)))/x));
- assertEquals(1.3458861596445712e-13, x /= (-1178038492.4116466));
- assertEquals(0, x <<= (-104550232));
- assertEquals(0, x >>>= (x>>(tmp = -255275244.12613606, tmp)));
- assertEquals(0, x >>= x);
- assertEquals(375, x |= ((1576819294.6991196)>>>(-2570246122)));
- assertEquals(96000, x <<= ((2252913843.0150948)>>>(-49239716)));
- assertEquals(6144000, x <<= ((((tmp = -2478967279, tmp)&((x%((tmp =
-1705332610.8018858, tmp)+(x+(tmp = 590766349, tmp))))<<(tmp = 1759375933,
tmp)))+(-2024465658.849834))&(1564539207.3650014)));
- assertEquals(-1149239296, x <<= (1862803657.7241006));
- assertEquals(-9, x >>= (((tmp = 463306384.05696774, tmp)^x)|
((x>>((((-2098070856.799663)<<((-2054870274.9012866)<<(((-2582579691)/(829257170.0266814))<<(((((tmp
= -1753535573.7074275, tmp)<<((x>>(-197886116))%((2487188445)%(tmp =
2465391564.873364, tmp))))&(((tmp = -500069832, tmp)&(tmp = 3016637032,
tmp))&((tmp = 2525942628, tmp)|((((-920996215)|x)^((((tmp =
-687548533.419106, tmp)&(1423222636.058937))<<((tmp = -1096532228,
tmp)>>((((tmp = -3124481449.2740726, tmp)^(tmp = 2724328271.808975,
tmp))>>x)*x)))+(-1661789589.5808442)))+(((x*(tmp = -1224371664.9549093,
tmp))^((tmp = 3202970043, tmp)^x))/(tmp = 131494054.58501709, tmp))))))|
(((tmp = -1654136720, tmp)<<x)>>((1652979932.362416)-(tmp = -863732721,
tmp))))^(-113307998)))))^(-90820449.91417909))*((tmp = 641519890,
tmp)-((((x<<(tmp = 2349936514.071881,
tmp))*(2324420443.587892))^x)%(x<<((tmp = -1838473742,
tmp)/(((-3154172718.4274178)-x)+x)))))))|(x>>>((tmp = 2096024376.4308293,
tmp)<<x)))));
- assertEquals(81, x *= x);
- assertEquals(81, x &= x);
- assertEquals(81, x %= (tmp = 2223962994, tmp));
- assertEquals(81, x ^= ((x/(((-1606183420.099584)|(-1242175583))&(((x|
((tmp = 828718431.3311573,
tmp)/(x>>x)))+(((-2207542725.4531174)^(x*x))*(tmp = 551575809.955105,
tmp)))/x)))&((x>>x)&x)));
- assertEquals(81, x %= (tmp = 279598358.6976975, tmp));
- assertEquals(101.72338484518858, x -= (((tmp = 2452584495.44003,
tmp)%((-1181192721)+(((x>>(((x&x)^x)+((x>>>((x+(-2472793823.57181))/(((2854104951)>>(-1208718359.6554642))>>>(1089411895.694705))))/(x|
(-2821482890.1780205)))))^(-1786654551))/(-29404242.70557475))))/(((-4352531)<<((-1227287545)<<x))%(-2558589438))));
- assertEquals(101.72338484518858, x %= (-943645643));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (-2440404084));
- assertEquals(0, x >>= (tmp = 1029680958.405923, tmp));
- assertEquals(0, x >>>= (1213820208.7204895));
- assertEquals(-0, x /= (tmp = -103093683, tmp));
- assertEquals(0, x >>>= (-2098144813));
- assertEquals(-0, x /= (((-3087283334)+(((tmp = -3129028112.6859293,
tmp)%(tmp = 2413829931.1605015, tmp))-(2578195237.8071446)))|x));
- assertEquals(-15, x |= ((((-178926550.92823577)>>>(-965071271))^((tmp =
-484633724.7237625, tmp)-(tmp = 473098919.1486404,
tmp)))>>((-2264998310.203265)%(tmp = -499034672, tmp))));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (((-3207915976.698118)<<(tmp = 2347058630, tmp))|
(tmp = -2396250098.559627, tmp)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (621843222));
- assertEquals(0, x >>= (((-2409032228.7238913)*x)-(tmp = -887793239,
tmp)));
- assertEquals(NaN, x /= x);
- assertEquals(1193017666, x ^= (tmp = 1193017666, tmp));
- assertEquals(3.5844761899682753, x /= (tmp = 332829011.206393, tmp));
- assertEquals(-888572929, x |= (((tmp = 1032409228, tmp)+(tmp =
-1920982163.7853453, tmp))+x));
- assertEquals(-1817051951333455600, x *= (((-1506265102)^(tmp =
-775881816, tmp))-(tmp = -32116372.59181881, tmp)));
- assertEquals(-1638479616, x |= x);
- assertEquals(-114489, x %= (((tmp = -247137297.37866855,
tmp)>>>((((((-322805409)-x)^x)>>((((((((x>>>(tmp = -900610424.7148039,
tmp))/(-1155208489.6240904))|((-2874045803)|(tmp = 3050499811,
tmp)))+(x/((tmp = -613902712, tmp)^((-982142626.2892077)*((((tmp =
-3201753245.6026397, tmp)|
((1739238762.0423079)^x))/(243217629.47237313))^((tmp =
-11944405.987132788, tmp)/(tmp = 2054031985.633406, tmp)))))))*(tmp =
2696108952.450961, tmp))*x)>>>(tmp = 3058430643.0660386,
tmp))>>(x<<x)))>>(-984468302.7450335))%((tmp = 1302320585.246251,
tmp)>>>x)))%(tmp = -2436842285.8208156, tmp)));
- assertEquals(2047, x >>>= (2380161237));
- assertEquals(0, x >>= x);
- assertEquals(0, x &= (tmp = 980821012.975836, tmp));
***The diff for this file has been truncated for email.***
=======================================
--- /trunk/test/mjsunit/regress/regress-2286.js Thu Sep 20 05:51:09 2012
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-assertThrows("f()", ReferenceError);
-assertThrows("%f()", TypeError);
-assertThrows("%_f()", SyntaxError);
=======================================
--- /trunk/test/mjsunit/regress/regress-2336.js Thu Sep 20 05:51:09 2012
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc
-
-// Check that we can cope with a debug listener that runs in the
-// GC epilogue and causes enough allocation to trigger a new GC during
-// the epilogue.
-
-var f = eval("(function f() { return 42; })");
-
-Debug = debug.Debug;
-
-var called = false;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.ScriptCollected) {
- if (!called) {
- called = true;
- gc();
- }
- }
-};
-
-Debug.scripts();
-Debug.setListener(listener);
-f = void 0;
-gc();
-assertTrue(called);
=======================================
--- /trunk/test/mjsunit/regress/regress-2339.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-/**
- * The possible optimization states of a function. Must be in sync with the
- * return values of Runtime_GetOptimizationStatus() in runtime.cc!
- */
-
-var OptimizationState = {
- YES: 1,
- NO: 2,
- ALWAYS: 3,
- NEVER: 4
-};
-
-function simple() {
- return simple_two_args(0, undefined);
-}
-
-function simple_two_args(always_zero, always_undefined) {
- var always_five = always_undefined || 5;
- return always_zero * always_five * .5;
-}
-
-
-simple();
-simple();
-%OptimizeFunctionOnNextCall(simple);
-simple();
-var raw_optimized = %GetOptimizationStatus(simple);
-assertFalse(raw_optimized == OptimizationState.NO);
-gc();
-
=======================================
--- /trunk/test/mjsunit/regress/regress-2346.js Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This file only tests very simple descriptors that always have
-// configurable, enumerable, and writable set to true.
-// A range of more elaborate tests are performed in
-// object-define-property.js
-
-// Flags: --stress-runs=5
-
-function get() { return x; }
-function set(x) { this.x = x; }
-
-var obj = {x: 1};
-obj.__defineGetter__("accessor", get);
-obj.__defineSetter__("accessor", set);
-var a = new Array();
-a[1] = 42;
-obj[1] = 42;
-
-var descIsData = Object.getOwnPropertyDescriptor(obj, 'x');
-assertTrue(descIsData.enumerable);
-assertTrue(descIsData.writable);
-assertTrue(descIsData.configurable);
-
-var descIsAccessor = Object.getOwnPropertyDescriptor(obj, 'accessor');
-assertTrue(descIsAccessor.enumerable);
-assertTrue(descIsAccessor.configurable);
-assertTrue(descIsAccessor.get == get);
-assertTrue(descIsAccessor.set == set);
-
-var descIsNotData = Object.getOwnPropertyDescriptor(obj, 'not-x');
-assertTrue(descIsNotData == undefined);
-
-var descIsNotAccessor =
Object.getOwnPropertyDescriptor(obj, 'not-accessor');
-assertTrue(descIsNotAccessor == undefined);
-
-var descArray = Object.getOwnPropertyDescriptor(a, '1');
-assertTrue(descArray.enumerable);
-assertTrue(descArray.configurable);
-assertTrue(descArray.writable);
-assertEquals(descArray.value, 42);
-
-var descObjectElement = Object.getOwnPropertyDescriptor(obj, '1');
-assertTrue(descObjectElement.enumerable);
-assertTrue(descObjectElement.configurable);
-assertTrue(descObjectElement.writable);
-assertEquals(descObjectElement.value, 42);
-
-// String objects.
-var a = new String('foobar');
-for (var i = 0; i < a.length; i++) {
- var descStringObject = Object.getOwnPropertyDescriptor(a, i);
- assertTrue(descStringObject.enumerable);
- assertFalse(descStringObject.configurable);
- assertFalse(descStringObject.writable);
- assertEquals(descStringObject.value, a.substring(i, i+1));
-}
-
-// Support for additional attributes on string objects.
-a.x = 42;
-a[10] = 'foo';
-var descStringProperty = Object.getOwnPropertyDescriptor(a, 'x');
-assertTrue(descStringProperty.enumerable);
-assertTrue(descStringProperty.configurable);
-assertTrue(descStringProperty.writable);
-assertEquals(descStringProperty.value, 42);
-
-var descStringElement = Object.getOwnPropertyDescriptor(a, '10');
-assertTrue(descStringElement.enumerable);
-assertTrue(descStringElement.configurable);
-assertTrue(descStringElement.writable);
-assertEquals(descStringElement.value, 'foo');
-
-// Test that elements in the prototype chain is not returned.
-var proto = {};
-proto[10] = 42;
-
-var objWithProto = new Array();
-objWithProto.prototype = proto;
-objWithProto[0] = 'bar';
-var descWithProto = Object.getOwnPropertyDescriptor(objWithProto, '10');
-assertEquals(undefined, descWithProto);
-
-// Test elements on global proxy object.
-var global = (function() { return this; })();
-
-global[42] = 42;
-
-function el_getter() { return 239; };
-function el_setter() {};
-Object.defineProperty(global, '239', {get: el_getter, set: el_setter});
-
-var descRegularElement = Object.getOwnPropertyDescriptor(global, '42');
-assertEquals(42, descRegularElement.value);
-
-var descAccessorElement = Object.getOwnPropertyDescriptor(global, '239');
-assertEquals(el_getter, descAccessorElement.get);
-assertEquals(el_setter, descAccessorElement.set);
=======================================
--- /trunk/test/mjsunit/regress/regress-cnlt-enum-indices.js Thu Sep 20
09:11:46 2012
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-var o = {};
-var o2 = {};
-
-o.a = 1;
-o2.a = 1;
-function f() { return 10; }
-// Adds a non-field enumerable property.
-Object.defineProperty(o, "b", { get: f, enumerable: true });
-Object.defineProperty(o2, "b", { get: f, enumerable: true });
-assertTrue(%HaveSameMap(o, o2));
-o.c = 2;
-
-for (var x in o) { }
-o = null;
-
-gc();
=======================================
--- /trunk/test/mjsunit/regress/regress-crbug-146910.js Thu Sep 20 05:51:09
2012
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = [];
-assertSame(0, x.length);
-assertSame(undefined, x[0]);
-
-Object.defineProperty(x, '0', { value: 7, configurable: false });
-assertSame(1, x.length);
-assertSame(7, x[0]);
-
-x.length = 0;
-assertSame(1, x.length);
-assertSame(7, x[0]);
=======================================
--- /trunk/test/mjsunit/regress/regress-crbug-150545.js Thu Sep 20 05:51:09
2012
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we do not generate OSR entry points that have an arguments
-// stack height different from zero. The OSR machinery cannot generate
-// frames for that.
-
-(function() {
- "use strict";
-
- var instantReturn = false;
- function inner() {
- if (instantReturn) return;
- assertSame(3, arguments.length);
- assertSame(1, arguments[0]);
- assertSame(2, arguments[1]);
- assertSame(3, arguments[2]);
- }
-
- function outer() {
- inner(1,2,3);
- // Trigger OSR.
- while (%GetOptimizationStatus(outer) == 2) {}
- }
-
- outer();
-})();
=======================================
--- /trunk/test/mjsunit/regress/regress-crbug-150729.js Thu Sep 20 05:51:09
2012
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var t = 0;
-function burn() {
- i = [t, 1];
- var M = [i[0], Math.cos(t) + i[7074959]];
- t += .05;
-}
-for (var j = 0; j < 5; j++) {
- if (j == 2) %OptimizeFunctionOnNextCall(burn);
- burn();
-}
=======================================
---
/trunk/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js
Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(v) {
- return [0.0, 0.1, 0.2, v];
-}
-
-assertEquals([0.0, 0.1, 0.2, NaN], f(NaN));
-assertEquals([0.0, 0.1, 0.2, NaN], f(NaN));
-%OptimizeFunctionOnNextCall(f);
-assertEquals([0.0, 0.1, 0.2, undefined], f(undefined));
=======================================
--- /trunk/tools/run-tests.py Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,355 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-import multiprocessing
-import optparse
-import os
-from os.path import join
-import subprocess
-import sys
-import time
-
-from testrunner.local import execution
-from testrunner.local import progress
-from testrunner.local import testsuite
-from testrunner.local import utils
-from testrunner.local import verbose
-from testrunner.network import network_execution
-from testrunner.objects import context
-
-
-ARCH_GUESS = utils.DefaultArch()
-DEFAULT_TESTS = ["mjsunit", "cctest", "message", "preparser"]
-TIMEOUT_DEFAULT = 60
-TIMEOUT_SCALEFACTOR = {"debug" : 4,
- "release" : 1 }
-
-# Use this to run several variants of the tests.
-VARIANT_FLAGS = [[],
- ["--stress-opt", "--always-opt"],
- ["--nocrankshaft"]]
-MODE_FLAGS = {
- "debug" : ["--nobreak-on-abort", "--enable-slow-asserts",
- "--debug-code", "--verify-heap"],
- "release" : ["--nobreak-on-abort"]}
-
-
-def BuildOptions():
- result = optparse.OptionParser()
- result.add_option("--arch",
- help=("The architecture to run tests for, "
- "'auto' or 'native' for auto-detect"),
- default="ia32,x64,arm")
- result.add_option("--arch-and-mode",
- help="Architecture and mode in the format 'arch.mode'",
- default=None)
- result.add_option("--buildbot",
- help="Adapt to path structure used on buildbots",
- default=False, action="store_true")
- result.add_option("--cat", help="Print the source of the tests",
- default=False, action="store_true")
- result.add_option("--command-prefix",
- help="Prepended to each shell command used to run a
test",
- default="")
- result.add_option("--download-data", help="Download missing test suite
data",
- default=False, action="store_true")
- result.add_option("--extra-flags",
- help="Additional flags to pass to each test command",
- default="")
- result.add_option("--isolates", help="Whether to test isolates",
- default=False, action="store_true")
- result.add_option("-j", help="The number of parallel tasks to run",
- default=0, type="int")
- result.add_option("-m", "--mode",
- help="The test modes in which to run
(comma-separated)",
- default="release,debug")
- result.add_option("--no-network", "--nonetwork",
- help="Don't distribute tests on the network",
- default=(utils.GuessOS() != "linux"),
- dest="no_network", action="store_true")
- result.add_option("--no-presubmit", "--nopresubmit",
- help='Skip presubmit checks',
- default=False, dest="no_presubmit",
action="store_true")
- result.add_option("--no-stress", "--nostress",
- help="Don't run crankshaft --always-opt --stress-op
test",
- default=False, dest="no_stress", action="store_true")
- result.add_option("--outdir", help="Base directory with compile output",
- default="out")
- result.add_option("-p", "--progress",
- help=("The style of progress indicator"
- " (verbose, dots, color, mono)"),
- choices=progress.PROGRESS_INDICATORS.keys(),
default="mono")
- result.add_option("--report", help="Print a summary of the tests to be
run",
- default=False, action="store_true")
- result.add_option("--shard-count",
- help="Split testsuites into this number of shards",
- default=1, type="int")
- result.add_option("--shard-run",
- help="Run this shard from the split up tests.",
- default=1, type="int")
- result.add_option("--shell", help="DEPRECATED! use --shell-dir",
default="")
- result.add_option("--shell-dir", help="Directory containing executables",
- default="")
- result.add_option("--stress-only",
- help="Only run tests with --always-opt --stress-opt",
- default=False, action="store_true")
- result.add_option("--time", help="Print timing information after
running",
- default=False, action="store_true")
- result.add_option("-t", "--timeout", help="Timeout in seconds",
- default= -1, type="int")
- result.add_option("-v", "--verbose", help="Verbose output",
- default=False, action="store_true")
- result.add_option("--valgrind", help="Run tests through valgrind",
- default=False, action="store_true")
- result.add_option("--warn-unused", help="Report unused rules",
- default=False, action="store_true")
- return result
-
-
-def ProcessOptions(options):
- global VARIANT_FLAGS
-
- # Architecture and mode related stuff.
- if options.arch_and_mode:
- tokens = options.arch_and_mode.split(".")
- options.arch = tokens[0]
- options.mode = tokens[1]
- options.mode = options.mode.split(",")
- for mode in options.mode:
- if not mode in ["debug", "release"]:
- print "Unknown mode %s" % mode
- return False
- if options.arch in ["auto", "native"]:
- options.arch = ARCH_GUESS
- options.arch = options.arch.split(",")
- for arch in options.arch:
- if not arch in ['ia32', 'x64', 'arm', 'mipsel']:
- print "Unknown architecture %s" % arch
- return False
-
- # Special processing of other options, sorted alphabetically.
-
- if options.buildbot:
- # Buildbots run presubmit tests as a separate step.
- options.no_presubmit = True
- options.no_network = True
- if options.command_prefix:
- print("Specifying --command-prefix disables network distribution, "
- "running tests locally.")
- options.no_network = True
- if options.j == 0:
- options.j = multiprocessing.cpu_count()
- if options.no_stress:
- VARIANT_FLAGS = [[], ["--nocrankshaft"]]
- if not options.shell_dir:
- if options.shell:
- print "Warning: --shell is deprecated, use --shell-dir instead."
- options.shell_dir = os.path.dirname(options.shell)
- if options.stress_only:
- VARIANT_FLAGS = [["--stress-opt", "--always-opt"]]
- # Simulators are slow, therefore allow a longer default timeout.
- if options.timeout == -1:
- if options.arch == "arm" or options.arch == "mipsel":
- options.timeout = 2 * TIMEOUT_DEFAULT;
- else:
- options.timeout = TIMEOUT_DEFAULT;
- if options.valgrind:
- run_valgrind = os.path.join("tools", "run-valgrind.py")
- # This is OK for distributed running, so we don't need to set
no_network.
- options.command_prefix = ("python -u " + run_valgrind +
- options.command_prefix)
- return True
-
-
-def ShardTests(tests, shard_count, shard_run):
- if shard_count < 2:
- return tests
- if shard_run < 1 or shard_run > shard_count:
- print "shard-run not a valid number, should be in [1:shard-count]"
- print "defaulting back to running all tests"
- return tests
- count = 0
- shard = []
- for test in tests:
- if count % shard_count == shard_run - 1:
- shard.append(test)
- count += 1
- return shard
-
-
-def Main():
- parser = BuildOptions()
- (options, args) = parser.parse_args()
- if not ProcessOptions(options):
- parser.print_help()
- return 1
-
- exit_code = 0
- workspace = os.path.abspath(join(os.path.dirname(sys.argv[0]), ".."))
- if not options.no_presubmit:
- print ">>> running presubmit tests"
- code = subprocess.call(
- [sys.executable, join(workspace, "tools", "presubmit.py")])
- exit_code = code
-
- suite_paths = utils.GetSuitePaths(join(workspace, "test"))
-
- if len(args) == 0:
- suite_paths = [ s for s in suite_paths if s in DEFAULT_TESTS ]
- else:
- args_suites = set()
- for arg in args:
- suite = arg.split(os.path.sep)[0]
- if not suite in args_suites:
- args_suites.add(suite)
- suite_paths = [ s for s in suite_paths if s in args_suites ]
-
- suites = []
- for root in suite_paths:
- suite = testsuite.TestSuite.LoadTestSuite(
- os.path.join(workspace, "test", root))
- if suite:
- suites.append(suite)
-
- if options.download_data:
- for s in suites:
- s.DownloadData()
-
- for mode in options.mode:
- for arch in options.arch:
- code = Execute(arch, mode, args, options, suites, workspace)
- exit_code = exit_code or code
- return exit_code
-
-
-def Execute(arch, mode, args, options, suites, workspace):
- print(">>> Running tests for %s.%s" % (arch, mode))
-
- shell_dir = options.shell_dir
- if not shell_dir:
- if options.buildbot:
- shell_dir = os.path.join(workspace, options.outdir, mode)
- mode = mode.lower()
- else:
- shell_dir = os.path.join(workspace, options.outdir,
- "%s.%s" % (arch, mode))
- shell_dir = os.path.relpath(shell_dir)
-
- # Populate context object.
- mode_flags = MODE_FLAGS[mode]
- options.timeout *= TIMEOUT_SCALEFACTOR[mode]
- ctx = context.Context(arch, mode, shell_dir,
- mode_flags, options.verbose,
- options.timeout, options.isolates,
- options.command_prefix,
- options.extra_flags)
-
- # Find available test suites and read test cases from them.
- variables = {
- "mode": mode,
- "arch": arch,
- "system": utils.GuessOS(),
- "isolates": options.isolates
- }
- all_tests = []
- num_tests = 0
- test_id = 0
- for s in suites:
- s.ReadStatusFile(variables)
- s.ReadTestCases(ctx)
- all_tests += s.tests
- if len(args) > 0:
- s.FilterTestCasesByArgs(args)
- s.FilterTestCasesByStatus(options.warn_unused)
- if options.cat:
- verbose.PrintTestSource(s.tests)
- continue
- variant_flags = s.VariantFlags() or VARIANT_FLAGS
- s.tests = [ t.CopyAddingFlags(v) for t in s.tests for v in
variant_flags ]
- s.tests = ShardTests(s.tests, options.shard_count, options.shard_run)
- num_tests += len(s.tests)
- for t in s.tests:
- t.id = test_id
- test_id += 1
-
- if options.cat:
- return 0 # We're done here.
-
- if options.report:
- verbose.PrintReport(all_tests)
-
- if num_tests == 0:
- print "No tests to run."
- return 0
-
- # Run the tests, either locally or distributed on the network.
- try:
- start_time = time.time()
- progress_indicator = progress.PROGRESS_INDICATORS[options.progress]()
-
- run_networked = not options.no_network
- if not run_networked:
- print("Network distribution disabled, running tests locally.")
- elif utils.GuessOS() != "linux":
- print("Network distribution is only supported on Linux, sorry!")
- run_networked = False
- peers = []
- if run_networked:
- peers = network_execution.GetPeers()
- if not peers:
- print("No connection to distribution server; running tests
locally.")
- run_networked = False
- elif len(peers) == 1:
- print("No other peers on the network; running tests locally.")
- run_networked = False
- elif num_tests <= 100:
- print("Less than 100 tests, running them locally.")
- run_networked = False
-
- if run_networked:
- runner = network_execution.NetworkedRunner(suites,
progress_indicator,
- ctx, peers, workspace)
- else:
- runner = execution.Runner(suites, progress_indicator, ctx)
-
- exit_code = runner.Run(options.j)
- if runner.terminate:
- return exit_code
- overall_duration = time.time() - start_time
- except KeyboardInterrupt:
- return 1
-
- if options.time:
- verbose.PrintTestDurations(suites, overall_duration)
- return exit_code
-
-
-if __name__ == "__main__":
- sys.exit(Main())
=======================================
--- /trunk/tools/status-file-converter.py Mon Oct 1 09:24:39 2012
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-import sys
-from testrunner.local import old_statusfile
-
-if len(sys.argv) != 2:
- print "Usage: %s foo.status" % sys.argv[0]
- print "Will read foo.status and print the converted version to stdout."
- sys.exit(1)
-
-print old_statusfile.ConvertNotation(sys.argv[1]).GetOutput()
=======================================
***Additional files exist in this changeset.***
Reply all
Reply to author
Forward
0 new messages