//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- function write(v) { WScript.Echo(v + ""); } function foo() {} write(+0.0 + ''); write(+0.0 + 0xa); write(+0.0 + 04); write(+0.0 + 'hello'); write(+0.0 + 'hel' + 'lo'); write(+0.0 + String('')); write(+0.0 + String('hello')); write(+0.0 + String('h' + 'ello')); write(+0.0 + new String('')); write(+0.0 + new String('hello')); write(+0.0 + new String('he' + 'llo')); write(+0.0 + new Object()); write(+0.0 + new Object()); write(+0.0 + [1, 2, 3]); write(+0.0 + [1 ,2 , 3]); write(+0.0 + new Array(3)); write(+0.0 + Array(3)); write(+0.0 + new Array(1 ,2 ,3)); write(+0.0 + Array(1)); write(+0.0 + foo); write(1 + undefined); write(1 + null); write(1 + true); write(1 + false); write(1 + Boolean(true)); write(1 + Boolean(false)); write(1 + new Boolean(true)); write(1 + new Boolean(false)); write(1 + NaN); write(1 + +0); write(1 + -0); write(1 + 0); write(1 + 0.0); write(1 + -0.0); write(1 + +0.0); write(1 + 1); write(1 + 10); write(1 + 10.0); write(1 + 10.1); write(1 + -1); write(1 + -10); write(1 + -10.0); write(1 + -10.1); write(1 + Number.MAX_VALUE); write(1 + Number.MIN_VALUE); write(1 + Number.NaN); write(1 + Number.POSITIVE_INFINITY); write(1 + Number.NEGATIVE_INFINITY); write(1 + new Number(NaN)); write(1 + new Number(+0)); write(1 + new Number(-0)); write(1 + new Number(0)); write(1 + new Number(0.0)); write(1 + new Number(-0.0)); write(1 + new Number(+0.0)); write(1 + new Number(1)); write(1 + new Number(10)); write(1 + new Number(10.0)); write(1 + new Number(10.1)); write(1 + new Number(-1)); write(1 + new Number(-10)); write(1 + new Number(-10.0)); write(1 + new Number(-10.1)); write(1 + new Number(Number.MAX_VALUE)); write(1 + new Number(Number.MIN_VALUE)); write(1 + new Number(Number.NaN)); write(1 + new Number(Number.POSITIVE_INFINITY)); write(1 + new Number(Number.NEGATIVE_INFINITY)); write(1 + ''); write(1 + 0xa); write(1 + 04); write(1 + 'hello'); write(1 + 'hel' + 'lo'); write(1 + String('')); write(1 + String('hello')); write(1 + String('h' + 'ello')); write(1 + new String('')); write(1 + new String('hello')); write(1 + new String('he' + 'llo')); write(1 + new Object()); write(1 + new Object()); write(1 + [1, 2, 3]); write(1 + [1 ,2 , 3]); write(1 + new Array(3)); write(1 + Array(3)); write(1 + new Array(1 ,2 ,3)); write(1 + Array(1)); write(1 + foo); write(10 + undefined); write(10 + null); write(10 + true); write(10 + false); write(10 + Boolean(true)); write(10 + Boolean(false)); write(10 + new Boolean(true)); write(10 + new Boolean(false)); write(10 + NaN); write(10 + +0); write(10 + -0); write(10 + 0); write(10 + 0.0); write(10 + -0.0); write(10 + +0.0); write(10 + 1); write(10 + 10); write(10 + 10.0); write(10 + 10.1); write(10 + -1); write(10 + -10); write(10 + -10.0); write(10 + -10.1); write(10 + Number.MAX_VALUE); write(10 + Number.MIN_VALUE); write(10 + Number.NaN); write(10 + Number.POSITIVE_INFINITY); write(10 + Number.NEGATIVE_INFINITY); write(10 + new Number(NaN)); write(10 + new Number(+0)); write(10 + new Number(-0)); write(10 + new Number(0)); write(10 + new Number(0.0)); write(10 + new Number(-0.0)); write(10 + new Number(+0.0)); write(10 + new Number(1)); write(10 + new Number(10)); write(10 + new Number(10.0)); write(10 + new Number(10.1)); write(10 + new Number(-1)); write(10 + new Number(-10)); write(10 + new Number(-10.0)); write(10 + new Number(-10.1)); write(10 + new Number(Number.MAX_VALUE)); write(10 + new Number(Number.MIN_VALUE)); write(10 + new Number(Number.NaN)); write(10 + new Number(Number.POSITIVE_INFINITY)); write(10 + new Number(Number.NEGATIVE_INFINITY)); write(10 + ''); write(10 + 0xa); write(10 + 04); write(10 + 'hello'); write(10 + 'hel' + 'lo'); write(10 + String('')); write(10 + String('hello')); write(10 + String('h' + 'ello')); write(10 + new String('')); write(10 + new String('hello')); write(10 + new String('he' + 'llo')); write(10 + new Object()); write(10 + new Object()); write(10 + [1, 2, 3]); write(10 + [1 ,2 , 3]); write(10 + new Array(3)); write(10 + Array(3)); write(10 + new Array(1 ,2 ,3)); write(10 + Array(1)); write(10 + foo); write(10.0 + undefined); write(10.0 + null); write(10.0 + true); write(10.0 + false); write(10.0 + Boolean(true)); write(10.0 + Boolean(false)); write(10.0 + new Boolean(true)); write(10.0 + new Boolean(false)); write(10.0 + NaN); write(10.0 + +0); write(10.0 + -0); write(10.0 + 0); write(10.0 + 0.0); write(10.0 + -0.0); write(10.0 + +0.0); write(10.0 + 1); write(10.0 + 10); write(10.0 + 10.0); write(10.0 + 10.1); write(10.0 + -1); write(10.0 + -10); write(10.0 + -10.0); write(10.0 + -10.1); write(10.0 + Number.MAX_VALUE); write(10.0 + Number.MIN_VALUE); write(10.0 + Number.NaN); write(10.0 + Number.POSITIVE_INFINITY); write(10.0 + Number.NEGATIVE_INFINITY); write(10.0 + new Number(NaN)); write(10.0 + new Number(+0)); write(10.0 + new Number(-0)); write(10.0 + new Number(0)); write(10.0 + new Number(0.0)); write(10.0 + new Number(-0.0)); write(10.0 + new Number(+0.0)); write(10.0 + new Number(1)); write(10.0 + new Number(10)); write(10.0 + new Number(10.0)); write(10.0 + new Number(10.1)); write(10.0 + new Number(-1)); write(10.0 + new Number(-10)); write(10.0 + new Number(-10.0)); write(10.0 + new Number(-10.1)); write(10.0 + new Number(Number.MAX_VALUE)); write(10.0 + new Number(Number.MIN_VALUE)); write(10.0 + new Number(Number.NaN)); write(10.0 + new Number(Number.POSITIVE_INFINITY)); write(10.0 + new Number(Number.NEGATIVE_INFINITY)); write(10.0 + ''); write(10.0 + 0xa); write(10.0 + 04); write(10.0 + 'hello'); write(10.0 + 'hel' + 'lo'); write(10.0 + String('')); write(10.0 + String('hello')); write(10.0 + String('h' + 'ello')); write(10.0 + new String('')); write(10.0 + new String('hello')); write(10.0 + new String('he' + 'llo')); write(10.0 + new Object()); write(10.0 + new Object()); write(10.0 + [1, 2, 3]); write(10.0 + [1 ,2 , 3]); write(10.0 + new Array(3)); write(10.0 + Array(3)); write(10.0 + new Array(1 ,2 ,3)); write(10.0 + Array(1)); write(10.0 + foo); write(10.1 + undefined); write(10.1 + null); write(10.1 + true); write(10.1 + false); write(10.1 + Boolean(true)); write(10.1 + Boolean(false)); write(10.1 + new Boolean(true)); write(10.1 + new Boolean(false)); write(10.1 + NaN); write(10.1 + +0); write(10.1 + -0); write(10.1 + 0); write(10.1 + 0.0); write(10.1 + -0.0); write(10.1 + +0.0); write(10.1 + 1); write(10.1 + 10); write(10.1 + 10.0); write(10.1 + 10.1); write(10.1 + -1); write(10.1 + -10); write(10.1 + -10.0); write(10.1 + -10.1); write(10.1 + Number.MAX_VALUE); write(10.1 + Number.MIN_VALUE); write(10.1 + Number.NaN); write(10.1 + Number.POSITIVE_INFINITY); write(10.1 + Number.NEGATIVE_INFINITY); write(10.1 + new Number(NaN)); write(10.1 + new Number(+0)); write(10.1 + new Number(-0)); write(10.1 + new Number(0)); write(10.1 + new Number(0.0)); write(10.1 + new Number(-0.0)); write(10.1 + new Number(+0.0)); write(10.1 + new Number(1)); write(10.1 + new Number(10)); write(10.1 + new Number(10.0)); write(10.1 + new Number(10.1)); write(10.1 + new Number(-1)); write(10.1 + new Number(-10)); write(10.1 + new Number(-10.0)); write(10.1 + new Number(-10.1)); write(10.1 + new Number(Number.MAX_VALUE)); write(10.1 + new Number(Number.MIN_VALUE)); write(10.1 + new Number(Number.NaN)); write(10.1 + new Number(Number.POSITIVE_INFINITY)); write(10.1 + new Number(Number.NEGATIVE_INFINITY)); write(10.1 + ''); write(10.1 + 0xa); write(10.1 + 04); write(10.1 + 'hello'); write(10.1 + 'hel' + 'lo'); write(10.1 + String('')); write(10.1 + String('hello')); write(10.1 + String('h' + 'ello')); write(10.1 + new String('')); write(10.1 + new String('hello')); write(10.1 + new String('he' + 'llo')); write(10.1 + new Object()); write(10.1 + new Object()); write(10.1 + [1, 2, 3]); write(10.1 + [1 ,2 , 3]); write(10.1 + new Array(3)); write(10.1 + Array(3)); write(10.1 + new Array(1 ,2 ,3)); write(10.1 + Array(1)); write(10.1 + foo); write(-1 + undefined); write(-1 + null); write(-1 + true); write(-1 + false); write(-1 + Boolean(true)); write(-1 + Boolean(false)); write(-1 + new Boolean(true)); write(-1 + new Boolean(false)); write(-1 + NaN); write(-1 + +0); write(-1 + -0); write(-1 + 0); write(-1 + 0.0); write(-1 + -0.0); write(-1 + +0.0); write(-1 + 1); write(-1 + 10); write(-1 + 10.0); write(-1 + 10.1); write(-1 + -1); write(-1 + -10); write(-1 + -10.0); write(-1 + -10.1); write(-1 + Number.MAX_VALUE); write(-1 + Number.MIN_VALUE); write(-1 + Number.NaN); write(-1 + Number.POSITIVE_INFINITY); write(-1 + Number.NEGATIVE_INFINITY); write(-1 + new Number(NaN)); write(-1 + new Number(+0)); write(-1 + new Number(-0)); write(-1 + new Number(0)); write(-1 + new Number(0.0)); write(-1 + new Number(-0.0)); write(-1 + new Number(+0.0)); write(-1 + new Number(1)); write(-1 + new Number(10)); write(-1 + new Number(10.0)); write(-1 + new Number(10.1)); write(-1 + new Number(-1)); write(-1 + new Number(-10)); write(-1 + new Number(-10.0)); write(-1 + new Number(-10.1)); write(-1 + new Number(Number.MAX_VALUE)); write(-1 + new Number(Number.MIN_VALUE)); write(-1 + new Number(Number.NaN)); write(-1 + new Number(Number.POSITIVE_INFINITY)); write(-1 + new Number(Number.NEGATIVE_INFINITY)); write(-1 + ''); write(-1 + 0xa); write(-1 + 04); write(-1 + 'hello'); write(-1 + 'hel' + 'lo'); write(-1 + String('')); write(-1 + String('hello')); write(-1 + String('h' + 'ello')); write(-1 + new String('')); write(-1 + new String('hello')); write(-1 + new String('he' + 'llo')); write(-1 + new Object()); write(-1 + new Object()); write(-1 + [1, 2, 3]); write(-1 + [1 ,2 , 3]); write(-1 + new Array(3)); write(-1 + Array(3)); write(-1 + new Array(1 ,2 ,3)); write(-1 + Array(1)); write(-1 + foo); write(-10 + undefined); write(-10 + null); write(-10 + true); write(-10 + false); write(-10 + Boolean(true)); write(-10 + Boolean(false)); write(-10 + new Boolean(true)); write(-10 + new Boolean(false)); write(-10 + NaN); write(-10 + +0); write(-10 + -0); write(-10 + 0); write(-10 + 0.0); write(-10 + -0.0); write(-10 + +0.0); write(-10 + 1); write(-10 + 10); write(-10 + 10.0); write(-10 + 10.1); write(-10 + -1); write(-10 + -10); write(-10 + -10.0); write(-10 + -10.1); write(-10 + Number.MAX_VALUE); write(-10 + Number.MIN_VALUE); write(-10 + Number.NaN); write(-10 + Number.POSITIVE_INFINITY); write(-10 + Number.NEGATIVE_INFINITY); write(-10 + new Number(NaN)); write(-10 + new Number(+0)); write(-10 + new Number(-0)); write(-10 + new Number(0)); write(-10 + new Number(0.0)); write(-10 + new Number(-0.0)); write(-10 + new Number(+0.0)); write(-10 + new Number(1)); write(-10 + new Number(10)); write(-10 + new Number(10.0)); write(-10 + new Number(10.1)); write(-10 + new Number(-1)); write(-10 + new Number(-10)); write(-10 + new Number(-10.0)); write(-10 + new Number(-10.1)); write(-10 + new Number(Number.MAX_VALUE)); write(-10 + new Number(Number.MIN_VALUE)); write(-10 + new Number(Number.NaN)); write(-10 + new Number(Number.POSITIVE_INFINITY)); write(-10 + new Number(Number.NEGATIVE_INFINITY)); write(-10 + ''); write(-10 + 0xa); write(-10 + 04); write(-10 + 'hello'); write(-10 + 'hel' + 'lo'); write(-10 + String('')); write(-10 + String('hello')); write(-10 + String('h' + 'ello')); write(-10 + new String('')); write(-10 + new String('hello')); write(-10 + new String('he' + 'llo')); write(-10 + new Object()); write(-10 + new Object()); write(-10 + [1, 2, 3]); write(-10 + [1 ,2 , 3]); write(-10 + new Array(3)); write(-10 + Array(3)); write(-10 + new Array(1 ,2 ,3)); write(-10 + Array(1)); write(-10 + foo); write(-10.0 + undefined); write(-10.0 + null); write(-10.0 + true); write(-10.0 + false); write(-10.0 + Boolean(true)); write(-10.0 + Boolean(false)); write(-10.0 + new Boolean(true)); write(-10.0 + new Boolean(false)); write(-10.0 + NaN); write(-10.0 + +0); write(-10.0 + -0); write(-10.0 + 0); write(-10.0 + 0.0); write(-10.0 + -0.0); write(-10.0 + +0.0); write(-10.0 + 1); write(-10.0 + 10); write(-10.0 + 10.0); write(-10.0 + 10.1); write(-10.0 + -1); write(-10.0 + -10); write(-10.0 + -10.0); write(-10.0 + -10.1); write(-10.0 + Number.MAX_VALUE); write(-10.0 + Number.MIN_VALUE); write(-10.0 + Number.NaN); write(-10.0 + Number.POSITIVE_INFINITY); write(-10.0 + Number.NEGATIVE_INFINITY); write(-10.0 + new Number(NaN)); write(-10.0 + new Number(+0)); write(-10.0 + new Number(-0)); write(-10.0 + new Number(0)); write(-10.0 + new Number(0.0)); write(-10.0 + new Number(-0.0)); write(-10.0 + new Number(+0.0)); write(-10.0 + new Number(1)); write(-10.0 + new Number(10)); write(-10.0 + new Number(10.0)); write(-10.0 + new Number(10.1)); write(-10.0 + new Number(-1)); write(-10.0 + new Number(-10)); write(-10.0 + new Number(-10.0)); write(-10.0 + new Number(-10.1)); write(-10.0 + new Number(Number.MAX_VALUE)); write(-10.0 + new Number(Number.MIN_VALUE)); write(-10.0 + new Number(Number.NaN)); write(-10.0 + new Number(Number.POSITIVE_INFINITY)); write(-10.0 + new Number(Number.NEGATIVE_INFINITY)); write(-10.0 + ''); write(-10.0 + 0xa); write(-10.0 + 04); write(-10.0 + 'hello'); write(-10.0 + 'hel' + 'lo'); write(-10.0 + String('')); write(-10.0 + String('hello')); write(-10.0 + String('h' + 'ello')); write(-10.0 + new String('')); write(-10.0 + new String('hello')); write(-10.0 + new String('he' + 'llo')); write(-10.0 + new Object()); write(-10.0 + new Object()); write(-10.0 + [1, 2, 3]); write(-10.0 + [1 ,2 , 3]); write(-10.0 + new Array(3)); write(-10.0 + Array(3)); write(-10.0 + new Array(1 ,2 ,3)); write(-10.0 + Array(1)); write(-10.0 + foo); write(-10.1 + undefined); write(-10.1 + null); write(-10.1 + true); write(-10.1 + false); write(-10.1 + Boolean(true)); write(-10.1 + Boolean(false)); write(-10.1 + new Boolean(true)); write(-10.1 + new Boolean(false)); write(-10.1 + NaN); write(-10.1 + +0); write(-10.1 + -0); write(-10.1 + 0); write(-10.1 + 0.0); write(-10.1 + -0.0); write(-10.1 + +0.0); write(-10.1 + 1); write(-10.1 + 10); write(-10.1 + 10.0); write(-10.1 + 10.1); write(-10.1 + -1); write(-10.1 + -10); write(-10.1 + -10.0); write(-10.1 + -10.1); write(-10.1 + Number.MAX_VALUE); write(-10.1 + Number.MIN_VALUE); write(-10.1 + Number.NaN); write(-10.1 + Number.POSITIVE_INFINITY); write(-10.1 + Number.NEGATIVE_INFINITY); write(-10.1 + new Number(NaN)); write(-10.1 + new Number(+0)); write(-10.1 + new Number(-0)); write(-10.1 + new Number(0)); write(-10.1 + new Number(0.0)); write(-10.1 + new Number(-0.0)); write(-10.1 + new Number(+0.0)); write(-10.1 + new Number(1)); write(-10.1 + new Number(10)); write(-10.1 + new Number(10.0)); write(-10.1 + new Number(10.1)); write(-10.1 + new Number(-1)); write(-10.1 + new Number(-10)); write(-10.1 + new Number(-10.0)); write(-10.1 + new Number(-10.1)); write(-10.1 + new Number(Number.MAX_VALUE)); write(-10.1 + new Number(Number.MIN_VALUE)); write(-10.1 + new Number(Number.NaN)); write(-10.1 + new Number(Number.POSITIVE_INFINITY)); write(-10.1 + new Number(Number.NEGATIVE_INFINITY)); write(-10.1 + ''); write(-10.1 + 0xa); write(-10.1 + 04); write(-10.1 + 'hello'); write(-10.1 + 'hel' + 'lo'); write(-10.1 + String('')); write(-10.1 + String('hello')); write(-10.1 + String('h' + 'ello')); write(-10.1 + new String('')); write(-10.1 + new String('hello')); write(-10.1 + new String('he' + 'llo')); write(-10.1 + new Object()); write(-10.1 + new Object()); write(-10.1 + [1, 2, 3]); write(-10.1 + [1 ,2 , 3]); write(-10.1 + new Array(3)); write(-10.1 + Array(3)); write(-10.1 + new Array(1 ,2 ,3)); write(-10.1 + Array(1)); write(-10.1 + foo); write(Number.MAX_VALUE + undefined); write(Number.MAX_VALUE + null); write(Number.MAX_VALUE + true); write(Number.MAX_VALUE + false); write(Number.MAX_VALUE + Boolean(true)); write(Number.MAX_VALUE + Boolean(false)); write(Number.MAX_VALUE + new Boolean(true)); write(Number.MAX_VALUE + new Boolean(false)); write(Number.MAX_VALUE + NaN); write(Number.MAX_VALUE + +0); write(Number.MAX_VALUE + -0); write(Number.MAX_VALUE + 0); write(Number.MAX_VALUE + 0.0); write(Number.MAX_VALUE + -0.0); write(Number.MAX_VALUE + +0.0); write(Number.MAX_VALUE + 1); write(Number.MAX_VALUE + 10); write(Number.MAX_VALUE + 10.0); write(Number.MAX_VALUE + 10.1); write(Number.MAX_VALUE + -1); write(Number.MAX_VALUE + -10); write(Number.MAX_VALUE + -10.0); write(Number.MAX_VALUE + -10.1); write(Number.MAX_VALUE + Number.MAX_VALUE); write(Number.MAX_VALUE + Number.MIN_VALUE); write(Number.MAX_VALUE + Number.NaN); write(Number.MAX_VALUE + Number.POSITIVE_INFINITY); write(Number.MAX_VALUE + Number.NEGATIVE_INFINITY); write(Number.MAX_VALUE + new Number(NaN)); write(Number.MAX_VALUE + new Number(+0)); write(Number.MAX_VALUE + new Number(-0)); write(Number.MAX_VALUE + new Number(0)); write(Number.MAX_VALUE + new Number(0.0)); write(Number.MAX_VALUE + new Number(-0.0)); write(Number.MAX_VALUE + new Number(+0.0)); write(Number.MAX_VALUE + new Number(1)); write(Number.MAX_VALUE + new Number(10)); write(Number.MAX_VALUE + new Number(10.0)); write(Number.MAX_VALUE + new Number(10.1)); write(Number.MAX_VALUE + new Number(-1)); write(Number.MAX_VALUE + new Number(-10)); write(Number.MAX_VALUE + new Number(-10.0)); write(Number.MAX_VALUE + new Number(-10.1)); write(Number.MAX_VALUE + new Number(Number.MAX_VALUE)); write(Number.MAX_VALUE + new Number(Number.MIN_VALUE)); write(Number.MAX_VALUE + new Number(Number.NaN)); write(Number.MAX_VALUE + new Number(Number.POSITIVE_INFINITY)); write(Number.MAX_VALUE + new Number(Number.NEGATIVE_INFINITY)); write(Number.MAX_VALUE + ''); write(Number.MAX_VALUE + 0xa); write(Number.MAX_VALUE + 04); write(Number.MAX_VALUE + 'hello'); write(Number.MAX_VALUE + 'hel' + 'lo'); write(Number.MAX_VALUE + String('')); write(Number.MAX_VALUE + String('hello')); write(Number.MAX_VALUE + String('h' + 'ello')); write(Number.MAX_VALUE + new String('')); write(Number.MAX_VALUE + new String('hello')); write(Number.MAX_VALUE + new String('he' + 'llo')); write(Number.MAX_VALUE + new Object()); write(Number.MAX_VALUE + new Object()); write(Number.MAX_VALUE + [1, 2, 3]); write(Number.MAX_VALUE + [1 ,2 , 3]); write(Number.MAX_VALUE + new Array(3)); write(Number.MAX_VALUE + Array(3)); write(Number.MAX_VALUE + new Array(1 ,2 ,3)); write(Number.MAX_VALUE + Array(1)); write(Number.MAX_VALUE + foo); write(Number.MIN_VALUE + undefined); write(Number.MIN_VALUE + null); write(Number.MIN_VALUE + true); write(Number.MIN_VALUE + false); write(Number.MIN_VALUE + Boolean(true)); write(Number.MIN_VALUE + Boolean(false)); write(Number.MIN_VALUE + new Boolean(true)); write(Number.MIN_VALUE + new Boolean(false)); write(Number.MIN_VALUE + NaN); write(Number.MIN_VALUE + +0); write(Number.MIN_VALUE + -0); write(Number.MIN_VALUE + 0); write(Number.MIN_VALUE + 0.0); write(Number.MIN_VALUE + -0.0); write(Number.MIN_VALUE + +0.0); write(Number.MIN_VALUE + 1); write(Number.MIN_VALUE + 10); write(Number.MIN_VALUE + 10.0); write(Number.MIN_VALUE + 10.1); write(Number.MIN_VALUE + -1); write(Number.MIN_VALUE + -10); write(Number.MIN_VALUE + -10.0); write(Number.MIN_VALUE + -10.1); write(Number.MIN_VALUE + Number.MAX_VALUE); write(Number.MIN_VALUE + Number.MIN_VALUE); write(Number.MIN_VALUE + Number.NaN); write(Number.MIN_VALUE + Number.POSITIVE_INFINITY); write(Number.MIN_VALUE + Number.NEGATIVE_INFINITY); write(Number.MIN_VALUE + new Number(NaN)); write(Number.MIN_VALUE + new Number(+0)); write(Number.MIN_VALUE + new Number(-0)); write(Number.MIN_VALUE + new Number(0)); write(Number.MIN_VALUE + new Number(0.0)); write(Number.MIN_VALUE + new Number(-0.0)); write(Number.MIN_VALUE + new Number(+0.0)); write(Number.MIN_VALUE + new Number(1)); write(Number.MIN_VALUE + new Number(10)); write(Number.MIN_VALUE + new Number(10.0)); write(Number.MIN_VALUE + new Number(10.1)); write(Number.MIN_VALUE + new Number(-1)); write(Number.MIN_VALUE + new Number(-10)); write(Number.MIN_VALUE + new Number(-10.0)); write(Number.MIN_VALUE + new Number(-10.1)); write(Number.MIN_VALUE + new Number(Number.MAX_VALUE)); write(Number.MIN_VALUE + new Number(Number.MIN_VALUE)); write(Number.MIN_VALUE + new Number(Number.NaN)); write(Number.MIN_VALUE + new Number(Number.POSITIVE_INFINITY)); write(Number.MIN_VALUE + new Number(Number.NEGATIVE_INFINITY)); write(Number.MIN_VALUE + ''); write(Number.MIN_VALUE + 0xa); write(Number.MIN_VALUE + 04); write(Number.MIN_VALUE + 'hello'); write(Number.MIN_VALUE + 'hel' + 'lo'); write(Number.MIN_VALUE + String('')); write(Number.MIN_VALUE + String('hello')); write(Number.MIN_VALUE + String('h' + 'ello')); write(Number.MIN_VALUE + new String('')); write(Number.MIN_VALUE + new String('hello')); write(Number.MIN_VALUE + new String('he' + 'llo')); write(Number.MIN_VALUE + new Object()); write(Number.MIN_VALUE + new Object()); write(Number.MIN_VALUE + [1, 2, 3]); write(Number.MIN_VALUE + [1 ,2 , 3]); write(Number.MIN_VALUE + new Array(3)); write(Number.MIN_VALUE + Array(3)); write(Number.MIN_VALUE + new Array(1 ,2 ,3)); write(Number.MIN_VALUE + Array(1)); write(Number.MIN_VALUE + foo); write(Number.NaN + undefined); write(Number.NaN + null); write(Number.NaN + true); write(Number.NaN + false); write(Number.NaN + Boolean(true)); write(Number.NaN + Boolean(false)); write(Number.NaN + new Boolean(true)); write(Number.NaN + new Boolean(false)); write(Number.NaN + NaN); write(Number.NaN + +0); write(Number.NaN + -0); write(Number.NaN + 0); write(Number.NaN + 0.0); write(Number.NaN + -0.0); write(Number.NaN + +0.0); write(Number.NaN + 1); write(Number.NaN + 10); write(Number.NaN + 10.0); write(Number.NaN + 10.1); write(Number.NaN + -1); write(Number.NaN + -10); write(Number.NaN + -10.0); write(Number.NaN + -10.1); write(Number.NaN + Number.MAX_VALUE); write(Number.NaN + Number.MIN_VALUE); write(Number.NaN + Number.NaN); write(Number.NaN + Number.POSITIVE_INFINITY); write(Number.NaN + Number.NEGATIVE_INFINITY); write(Number.NaN + new Number(NaN)); write(Number.NaN + new Number(+0)); write(Number.NaN + new Number(-0)); write(Number.NaN + new Number(0)); write(Number.NaN + new Number(0.0)); write(Number.NaN + new Number(-0.0)); write(Number.NaN + new Number(+0.0)); write(Number.NaN + new Number(1)); write(Number.NaN + new Number(10)); write(Number.NaN + new Number(10.0)); write(Number.NaN + new Number(10.1)); write(Number.NaN + new Number(-1)); write(Number.NaN + new Number(-10)); write(Number.NaN + new Number(-10.0)); write(Number.NaN + new Number(-10.1)); write(Number.NaN + new Number(Number.MAX_VALUE)); write(Number.NaN + new Number(Number.MIN_VALUE)); write(Number.NaN + new Number(Number.NaN)); write(Number.NaN + new Number(Number.POSITIVE_INFINITY)); write(Number.NaN + new Number(Number.NEGATIVE_INFINITY)); write(Number.NaN + ''); write(Number.NaN + 0xa); write(Number.NaN + 04); write(Number.NaN + 'hello'); write(Number.NaN + 'hel' + 'lo'); write(Number.NaN + String('')); write(Number.NaN + String('hello')); write(Number.NaN + String('h' + 'ello')); write(Number.NaN + new String('')); write(Number.NaN + new String('hello')); write(Number.NaN + new String('he' + 'llo')); write(Number.NaN + new Object()); write(Number.NaN + new Object()); write(Number.NaN + [1, 2, 3]); write(Number.NaN + [1 ,2 , 3]); write(Number.NaN + new Array(3)); write(Number.NaN + Array(3)); write(Number.NaN + new Array(1 ,2 ,3)); write(Number.NaN + Array(1)); write(Number.NaN + foo); write(Number.POSITIVE_INFINITY + undefined); write(Number.POSITIVE_INFINITY + null); write(Number.POSITIVE_INFINITY + true); write(Number.POSITIVE_INFINITY + false); write(Number.POSITIVE_INFINITY + Boolean(true)); write(Number.POSITIVE_INFINITY + Boolean(false)); write(Number.POSITIVE_INFINITY + new Boolean(true)); write(Number.POSITIVE_INFINITY + new Boolean(false)); write(Number.POSITIVE_INFINITY + NaN); write(Number.POSITIVE_INFINITY + +0); write(Number.POSITIVE_INFINITY + -0); write(Number.POSITIVE_INFINITY + 0); write(Number.POSITIVE_INFINITY + 0.0); write(Number.POSITIVE_INFINITY + -0.0); write(Number.POSITIVE_INFINITY + +0.0); write(Number.POSITIVE_INFINITY + 1); write(Number.POSITIVE_INFINITY + 10); write(Number.POSITIVE_INFINITY + 10.0); write(Number.POSITIVE_INFINITY + 10.1); write(Number.POSITIVE_INFINITY + -1); write(Number.POSITIVE_INFINITY + -10); write(Number.POSITIVE_INFINITY + -10.0); write(Number.POSITIVE_INFINITY + -10.1); write(Number.POSITIVE_INFINITY + Number.MAX_VALUE); write(Number.POSITIVE_INFINITY + Number.MIN_VALUE); write(Number.POSITIVE_INFINITY + Number.NaN); write(Number.POSITIVE_INFINITY + Number.POSITIVE_INFINITY); write(Number.POSITIVE_INFINITY + Number.NEGATIVE_INFINITY); write(Number.POSITIVE_INFINITY + new Number(NaN)); write(Number.POSITIVE_INFINITY + new Number(+0)); write(Number.POSITIVE_INFINITY + new Number(-0)); write(Number.POSITIVE_INFINITY + new Number(0)); write(Number.POSITIVE_INFINITY + new Number(0.0)); write(Number.POSITIVE_INFINITY + new Number(-0.0)); write(Number.POSITIVE_INFINITY + new Number(+0.0)); write(Number.POSITIVE_INFINITY + new Number(1)); write(Number.POSITIVE_INFINITY + new Number(10)); write(Number.POSITIVE_INFINITY + new Number(10.0)); write(Number.POSITIVE_INFINITY + new Number(10.1)); write(Number.POSITIVE_INFINITY + new Number(-1)); write(Number.POSITIVE_INFINITY + new Number(-10)); write(Number.POSITIVE_INFINITY + new Number(-10.0)); write(Number.POSITIVE_INFINITY + new Number(-10.1)); write(Number.POSITIVE_INFINITY + new Number(Number.MAX_VALUE)); write(Number.POSITIVE_INFINITY + new Number(Number.MIN_VALUE)); write(Number.POSITIVE_INFINITY + new Number(Number.NaN)); write(Number.POSITIVE_INFINITY + new Number(Number.POSITIVE_INFINITY)); write(Number.POSITIVE_INFINITY + new Number(Number.NEGATIVE_INFINITY)); write(Number.POSITIVE_INFINITY + ''); write(Number.POSITIVE_INFINITY + 0xa); write(Number.POSITIVE_INFINITY + 04); write(Number.POSITIVE_INFINITY + 'hello'); write(Number.POSITIVE_INFINITY + 'hel' + 'lo'); write(Number.POSITIVE_INFINITY + String('')); write(Number.POSITIVE_INFINITY + String('hello')); write(Number.POSITIVE_INFINITY + String('h' + 'ello')); write(Number.POSITIVE_INFINITY + new String('')); write(Number.POSITIVE_INFINITY + new String('hello')); write(Number.POSITIVE_INFINITY + new String('he' + 'llo')); write(Number.POSITIVE_INFINITY + new Object()); write(Number.POSITIVE_INFINITY + new Object()); write(Number.POSITIVE_INFINITY + [1, 2, 3]); write(Number.POSITIVE_INFINITY + [1 ,2 , 3]); write(Number.POSITIVE_INFINITY + new Array(3)); write(Number.POSITIVE_INFINITY + Array(3)); write(Number.POSITIVE_INFINITY + new Array(1 ,2 ,3)); write(Number.POSITIVE_INFINITY + Array(1)); write(Number.POSITIVE_INFINITY + foo); write(Number.NEGATIVE_INFINITY + undefined); write(Number.NEGATIVE_INFINITY + null); write(Number.NEGATIVE_INFINITY + true); write(Number.NEGATIVE_INFINITY + false); write(Number.NEGATIVE_INFINITY + Boolean(true)); write(Number.NEGATIVE_INFINITY + Boolean(false)); write(Number.NEGATIVE_INFINITY + new Boolean(true)); write(Number.NEGATIVE_INFINITY + new Boolean(false)); write(Number.NEGATIVE_INFINITY + NaN); write(Number.NEGATIVE_INFINITY + +0); write(Number.NEGATIVE_INFINITY + -0); write(Number.NEGATIVE_INFINITY + 0); write(Number.NEGATIVE_INFINITY + 0.0); write(Number.NEGATIVE_INFINITY + -0.0); write(Number.NEGATIVE_INFINITY + +0.0); write(Number.NEGATIVE_INFINITY + 1); write(Number.NEGATIVE_INFINITY + 10); write(Number.NEGATIVE_INFINITY + 10.0); write(Number.NEGATIVE_INFINITY + 10.1); write(Number.NEGATIVE_INFINITY + -1); write(Number.NEGATIVE_INFINITY + -10); write(Number.NEGATIVE_INFINITY + -10.0); write(Number.NEGATIVE_INFINITY + -10.1); write(Number.NEGATIVE_INFINITY + Number.MAX_VALUE); write(Number.NEGATIVE_INFINITY + Number.MIN_VALUE); write(Number.NEGATIVE_INFINITY + Number.NaN); write(Number.NEGATIVE_INFINITY + Number.POSITIVE_INFINITY); write(Number.NEGATIVE_INFINITY + Number.NEGATIVE_INFINITY); write(Number.NEGATIVE_INFINITY + new Number(NaN)); write(Number.NEGATIVE_INFINITY + new Number(+0)); write(Number.NEGATIVE_INFINITY + new Number(-0)); write(Number.NEGATIVE_INFINITY + new Number(0)); write(Number.NEGATIVE_INFINITY + new Number(0.0)); write(Number.NEGATIVE_INFINITY + new Number(-0.0)); write(Number.NEGATIVE_INFINITY + new Number(+0.0)); write(Number.NEGATIVE_INFINITY + new Number(1)); write(Number.NEGATIVE_INFINITY + new Number(10)); write(Number.NEGATIVE_INFINITY + new Number(10.0)); write(Number.NEGATIVE_INFINITY + new Number(10.1)); write(Number.NEGATIVE_INFINITY + new Number(-1)); write(Number.NEGATIVE_INFINITY + new Number(-10)); write(Number.NEGATIVE_INFINITY + new Number(-10.0)); write(Number.NEGATIVE_INFINITY + new Number(-10.1)); write(Number.NEGATIVE_INFINITY + new Number(Number.MAX_VALUE)); write(Number.NEGATIVE_INFINITY + new Number(Number.MIN_VALUE)); write(Number.NEGATIVE_INFINITY + new Number(Number.NaN)); write(Number.NEGATIVE_INFINITY + new Number(Number.POSITIVE_INFINITY)); write(Number.NEGATIVE_INFINITY + new Number(Number.NEGATIVE_INFINITY)); write(Number.NEGATIVE_INFINITY + ''); write(Number.NEGATIVE_INFINITY + 0xa); write(Number.NEGATIVE_INFINITY + 04); write(Number.NEGATIVE_INFINITY + 'hello'); write(Number.NEGATIVE_INFINITY + 'hel' + 'lo'); write(Number.NEGATIVE_INFINITY + String('')); write(Number.NEGATIVE_INFINITY + String('hello')); write(Number.NEGATIVE_INFINITY + String('h' + 'ello')); write(Number.NEGATIVE_INFINITY + new String('')); write(Number.NEGATIVE_INFINITY + new String('hello')); write(Number.NEGATIVE_INFINITY + new String('he' + 'llo')); write(Number.NEGATIVE_INFINITY + new Object()); write(Number.NEGATIVE_INFINITY + new Object()); write(Number.NEGATIVE_INFINITY + [1, 2, 3]); write(Number.NEGATIVE_INFINITY + [1 ,2 , 3]); write(Number.NEGATIVE_INFINITY + new Array(3)); write(Number.NEGATIVE_INFINITY + Array(3)); write(Number.NEGATIVE_INFINITY + new Array(1 ,2 ,3)); write(Number.NEGATIVE_INFINITY + Array(1)); write(Number.NEGATIVE_INFINITY + foo); write(new Number(NaN) + undefined); write(new Number(NaN) + null); write(new Number(NaN) + true); write(new Number(NaN) + false); write(new Number(NaN) + Boolean(true)); write(new Number(NaN) + Boolean(false)); write(new Number(NaN) + new Boolean(true)); write(new Number(NaN) + new Boolean(false)); write(new Number(NaN) + NaN); write(new Number(NaN) + +0); write(new Number(NaN) + -0); write(new Number(NaN) + 0); write(new Number(NaN) + 0.0); write(new Number(NaN) + -0.0); write(new Number(NaN) + +0.0); write(new Number(NaN) + 1); write(new Number(NaN) + 10); write(new Number(NaN) + 10.0); write(new Number(NaN) + 10.1); write(new Number(NaN) + -1); write(new Number(NaN) + -10); write(new Number(NaN) + -10.0); write(new Number(NaN) + -10.1); write(new Number(NaN) + Number.MAX_VALUE); write(new Number(NaN) + Number.MIN_VALUE); write(new Number(NaN) + Number.NaN); write(new Number(NaN) + Number.POSITIVE_INFINITY); write(new Number(NaN) + Number.NEGATIVE_INFINITY); write(new Number(NaN) + new Number(NaN)); write(new Number(NaN) + new Number(+0)); write(new Number(NaN) + new Number(-0)); write(new Number(NaN) + new Number(0)); write(new Number(NaN) + new Number(0.0)); write(new Number(NaN) + new Number(-0.0)); write(new Number(NaN) + new Number(+0.0)); write(new Number(NaN) + new Number(1)); write(new Number(NaN) + new Number(10)); write(new Number(NaN) + new Number(10.0)); write(new Number(NaN) + new Number(10.1)); write(new Number(NaN) + new Number(-1)); write(new Number(NaN) + new Number(-10)); write(new Number(NaN) + new Number(-10.0)); write(new Number(NaN) + new Number(-10.1)); write(new Number(NaN) + new Number(Number.MAX_VALUE)); write(new Number(NaN) + new Number(Number.MIN_VALUE)); write(new Number(NaN) + new Number(Number.NaN)); write(new Number(NaN) + new Number(Number.POSITIVE_INFINITY)); write(new Number(NaN) + new Number(Number.NEGATIVE_INFINITY)); write(new Number(NaN) + ''); write(new Number(NaN) + 0xa); write(new Number(NaN) + 04); write(new Number(NaN) + 'hello'); write(new Number(NaN) + 'hel' + 'lo'); write(new Number(NaN) + String('')); write(new Number(NaN) + String('hello')); write(new Number(NaN) + String('h' + 'ello')); write(new Number(NaN) + new String('')); write(new Number(NaN) + new String('hello')); write(new Number(NaN) + new String('he' + 'llo')); write(new Number(NaN) + new Object()); write(new Number(NaN) + new Object()); write(new Number(NaN) + [1, 2, 3]); write(new Number(NaN) + [1 ,2 , 3]); write(new Number(NaN) + new Array(3)); write(new Number(NaN) + Array(3)); write(new Number(NaN) + new Array(1 ,2 ,3)); write(new Number(NaN) + Array(1)); write(new Number(NaN) + foo); write(new Number(+0) + undefined); write(new Number(+0) + null); write(new Number(+0) + true); write(new Number(+0) + false); write(new Number(+0) + Boolean(true)); write(new Number(+0) + Boolean(false)); write(new Number(+0) + new Boolean(true)); write(new Number(+0) + new Boolean(false)); write(new Number(+0) + NaN); write(new Number(+0) + +0); write(new Number(+0) + -0); write(new Number(+0) + 0); write(new Number(+0) + 0.0); write(new Number(+0) + -0.0); write(new Number(+0) + +0.0); write(new Number(+0) + 1); write(new Number(+0) + 10); write(new Number(+0) + 10.0); write(new Number(+0) + 10.1); write(new Number(+0) + -1); write(new Number(+0) + -10); write(new Number(+0) + -10.0); write(new Number(+0) + -10.1); write(new Number(+0) + Number.MAX_VALUE); write(new Number(+0) + Number.MIN_VALUE); write(new Number(+0) + Number.NaN); write(new Number(+0) + Number.POSITIVE_INFINITY); write(new Number(+0) + Number.NEGATIVE_INFINITY); write(new Number(+0) + new Number(NaN));