//-------------------------------------------------------------------------------------------------------
// 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(new Number(+0) * new Number(+0));
write(new Number(+0) * new Number(-0));
write(new Number(+0) * new Number(0));
write(new Number(+0) * new Number(0.0));
write(new Number(+0) * new Number(-0.0));
write(new Number(+0) * new Number(+0.0));
write(new Number(+0) * new Number(1));
write(new Number(+0) * new Number(10));
write(new Number(+0) * new Number(10.0));
write(new Number(+0) * new Number(10.1));
write(new Number(+0) * new Number(-1));
write(new Number(+0) * new Number(-10));
write(new Number(+0) * new Number(-10.0));
write(new Number(+0) * new Number(-10.1));
write(new Number(+0) * new Number(Number.MAX_VALUE));
write(new Number(+0) * new Number(Number.MIN_VALUE));
write(new Number(+0) * new Number(Number.NaN));
write(new Number(+0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(+0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(+0) * '');
write(new Number(+0) * 0xa);
write(new Number(+0) * 04);
write(new Number(+0) * 'hello');
write(new Number(+0) * 'hel' + 'lo');
write(new Number(+0) * String(''));
write(new Number(+0) * String('hello'));
write(new Number(+0) * String('h' + 'ello'));
write(new Number(+0) * new String(''));
write(new Number(+0) * new String('hello'));
write(new Number(+0) * new String('he' + 'llo'));
write(new Number(+0) * new Object());
write(new Number(+0) * new Object());
write(new Number(+0) * [1, 2, 3]);
write(new Number(+0) * [1 ,2 , 3]);
write(new Number(+0) * new Array(3));
write(new Number(+0) * Array(3));
write(new Number(+0) * new Array(1 ,2 ,3));
write(new Number(+0) * Array(1));
write(new Number(+0) * 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));
write(new Number(-0) * new Number(+0));
write(new Number(-0) * new Number(-0));
write(new Number(-0) * new Number(0));
write(new Number(-0) * new Number(0.0));
write(new Number(-0) * new Number(-0.0));
write(new Number(-0) * new Number(+0.0));
write(new Number(-0) * new Number(1));
write(new Number(-0) * new Number(10));
write(new Number(-0) * new Number(10.0));
write(new Number(-0) * new Number(10.1));
write(new Number(-0) * new Number(-1));
write(new Number(-0) * new Number(-10));
write(new Number(-0) * new Number(-10.0));
write(new Number(-0) * new Number(-10.1));
write(new Number(-0) * new Number(Number.MAX_VALUE));
write(new Number(-0) * new Number(Number.MIN_VALUE));
write(new Number(-0) * new Number(Number.NaN));
write(new Number(-0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(-0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(-0) * '');
write(new Number(-0) * 0xa);
write(new Number(-0) * 04);
write(new Number(-0) * 'hello');
write(new Number(-0) * 'hel' + 'lo');
write(new Number(-0) * String(''));
write(new Number(-0) * String('hello'));
write(new Number(-0) * String('h' + 'ello'));
write(new Number(-0) * new String(''));
write(new Number(-0) * new String('hello'));
write(new Number(-0) * new String('he' + 'llo'));
write(new Number(-0) * new Object());
write(new Number(-0) * new Object());
write(new Number(-0) * [1, 2, 3]);
write(new Number(-0) * [1 ,2 , 3]);
write(new Number(-0) * new Array(3));
write(new Number(-0) * Array(3));
write(new Number(-0) * new Array(1 ,2 ,3));
write(new Number(-0) * Array(1));
write(new Number(-0) * 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));
write(new Number(0) * new Number(+0));
write(new Number(0) * new Number(-0));
write(new Number(0) * new Number(0));
write(new Number(0) * new Number(0.0));
write(new Number(0) * new Number(-0.0));
write(new Number(0) * new Number(+0.0));
write(new Number(0) * new Number(1));
write(new Number(0) * new Number(10));
write(new Number(0) * new Number(10.0));
write(new Number(0) * new Number(10.1));
write(new Number(0) * new Number(-1));
write(new Number(0) * new Number(-10));
write(new Number(0) * new Number(-10.0));
write(new Number(0) * new Number(-10.1));
write(new Number(0) * new Number(Number.MAX_VALUE));
write(new Number(0) * new Number(Number.MIN_VALUE));
write(new Number(0) * new Number(Number.NaN));
write(new Number(0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(0) * '');
write(new Number(0) * 0xa);
write(new Number(0) * 04);
write(new Number(0) * 'hello');
write(new Number(0) * 'hel' + 'lo');
write(new Number(0) * String(''));
write(new Number(0) * String('hello'));
write(new Number(0) * String('h' + 'ello'));
write(new Number(0) * new String(''));
write(new Number(0) * new String('hello'));
write(new Number(0) * new String('he' + 'llo'));
write(new Number(0) * new Object());
write(new Number(0) * new Object());
write(new Number(0) * [1, 2, 3]);
write(new Number(0) * [1 ,2 , 3]);
write(new Number(0) * new Array(3));
write(new Number(0) * Array(3));
write(new Number(0) * new Array(1 ,2 ,3));
write(new Number(0) * Array(1));
write(new Number(0) * foo);
write(new Number(0.0) * undefined);
write(new Number(0.0) * null);
write(new Number(0.0) * true);
write(new Number(0.0) * false);
write(new Number(0.0) * Boolean(true));
write(new Number(0.0) * Boolean(false));
write(new Number(0.0) * new Boolean(true));
write(new Number(0.0) * new Boolean(false));
write(new Number(0.0) * NaN);
write(new Number(0.0) * +0);
write(new Number(0.0) * -0);
write(new Number(0.0) * 0);
write(new Number(0.0) * 0.0);
write(new Number(0.0) * -0.0);
write(new Number(0.0) * +0.0);
write(new Number(0.0) * 1);
write(new Number(0.0) * 10);
write(new Number(0.0) * 10.0);
write(new Number(0.0) * 10.1);
write(new Number(0.0) * -1);
write(new Number(0.0) * -10);
write(new Number(0.0) * -10.0);
write(new Number(0.0) * -10.1);
write(new Number(0.0) * Number.MAX_VALUE);
write(new Number(0.0) * Number.MIN_VALUE);
write(new Number(0.0) * Number.NaN);
write(new Number(0.0) * Number.POSITIVE_INFINITY);
write(new Number(0.0) * Number.NEGATIVE_INFINITY);
write(new Number(0.0) * new Number(NaN));
write(new Number(0.0) * new Number(+0));
write(new Number(0.0) * new Number(-0));
write(new Number(0.0) * new Number(0));
write(new Number(0.0) * new Number(0.0));
write(new Number(0.0) * new Number(-0.0));
write(new Number(0.0) * new Number(+0.0));
write(new Number(0.0) * new Number(1));
write(new Number(0.0) * new Number(10));
write(new Number(0.0) * new Number(10.0));
write(new Number(0.0) * new Number(10.1));
write(new Number(0.0) * new Number(-1));
write(new Number(0.0) * new Number(-10));
write(new Number(0.0) * new Number(-10.0));
write(new Number(0.0) * new Number(-10.1));
write(new Number(0.0) * new Number(Number.MAX_VALUE));
write(new Number(0.0) * new Number(Number.MIN_VALUE));
write(new Number(0.0) * new Number(Number.NaN));
write(new Number(0.0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(0.0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(0.0) * '');
write(new Number(0.0) * 0xa);
write(new Number(0.0) * 04);
write(new Number(0.0) * 'hello');
write(new Number(0.0) * 'hel' + 'lo');
write(new Number(0.0) * String(''));
write(new Number(0.0) * String('hello'));
write(new Number(0.0) * String('h' + 'ello'));
write(new Number(0.0) * new String(''));
write(new Number(0.0) * new String('hello'));
write(new Number(0.0) * new String('he' + 'llo'));
write(new Number(0.0) * new Object());
write(new Number(0.0) * new Object());
write(new Number(0.0) * [1, 2, 3]);
write(new Number(0.0) * [1 ,2 , 3]);
write(new Number(0.0) * new Array(3));
write(new Number(0.0) * Array(3));
write(new Number(0.0) * new Array(1 ,2 ,3));
write(new Number(0.0) * Array(1));
write(new Number(0.0) * foo);
write(new Number(-0.0) * undefined);
write(new Number(-0.0) * null);
write(new Number(-0.0) * true);
write(new Number(-0.0) * false);
write(new Number(-0.0) * Boolean(true));
write(new Number(-0.0) * Boolean(false));
write(new Number(-0.0) * new Boolean(true));
write(new Number(-0.0) * new Boolean(false));
write(new Number(-0.0) * NaN);
write(new Number(-0.0) * +0);
write(new Number(-0.0) * -0);
write(new Number(-0.0) * 0);
write(new Number(-0.0) * 0.0);
write(new Number(-0.0) * -0.0);
write(new Number(-0.0) * +0.0);
write(new Number(-0.0) * 1);
write(new Number(-0.0) * 10);
write(new Number(-0.0) * 10.0);
write(new Number(-0.0) * 10.1);
write(new Number(-0.0) * -1);
write(new Number(-0.0) * -10);
write(new Number(-0.0) * -10.0);
write(new Number(-0.0) * -10.1);
write(new Number(-0.0) * Number.MAX_VALUE);
write(new Number(-0.0) * Number.MIN_VALUE);
write(new Number(-0.0) * Number.NaN);
write(new Number(-0.0) * Number.POSITIVE_INFINITY);
write(new Number(-0.0) * Number.NEGATIVE_INFINITY);
write(new Number(-0.0) * new Number(NaN));
write(new Number(-0.0) * new Number(+0));
write(new Number(-0.0) * new Number(-0));
write(new Number(-0.0) * new Number(0));
write(new Number(-0.0) * new Number(0.0));
write(new Number(-0.0) * new Number(-0.0));
write(new Number(-0.0) * new Number(+0.0));
write(new Number(-0.0) * new Number(1));
write(new Number(-0.0) * new Number(10));
write(new Number(-0.0) * new Number(10.0));
write(new Number(-0.0) * new Number(10.1));
write(new Number(-0.0) * new Number(-1));
write(new Number(-0.0) * new Number(-10));
write(new Number(-0.0) * new Number(-10.0));
write(new Number(-0.0) * new Number(-10.1));
write(new Number(-0.0) * new Number(Number.MAX_VALUE));
write(new Number(-0.0) * new Number(Number.MIN_VALUE));
write(new Number(-0.0) * new Number(Number.NaN));
write(new Number(-0.0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(-0.0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(-0.0) * '');
write(new Number(-0.0) * 0xa);
write(new Number(-0.0) * 04);
write(new Number(-0.0) * 'hello');
write(new Number(-0.0) * 'hel' + 'lo');
write(new Number(-0.0) * String(''));
write(new Number(-0.0) * String('hello'));
write(new Number(-0.0) * String('h' + 'ello'));
write(new Number(-0.0) * new String(''));
write(new Number(-0.0) * new String('hello'));
write(new Number(-0.0) * new String('he' + 'llo'));
write(new Number(-0.0) * new Object());
write(new Number(-0.0) * new Object());
write(new Number(-0.0) * [1, 2, 3]);
write(new Number(-0.0) * [1 ,2 , 3]);
write(new Number(-0.0) * new Array(3));
write(new Number(-0.0) * Array(3));
write(new Number(-0.0) * new Array(1 ,2 ,3));
write(new Number(-0.0) * Array(1));
write(new Number(-0.0) * foo);
write(new Number(+0.0) * undefined);
write(new Number(+0.0) * null);
write(new Number(+0.0) * true);
write(new Number(+0.0) * false);
write(new Number(+0.0) * Boolean(true));
write(new Number(+0.0) * Boolean(false));
write(new Number(+0.0) * new Boolean(true));
write(new Number(+0.0) * new Boolean(false));
write(new Number(+0.0) * NaN);
write(new Number(+0.0) * +0);
write(new Number(+0.0) * -0);
write(new Number(+0.0) * 0);
write(new Number(+0.0) * 0.0);
write(new Number(+0.0) * -0.0);
write(new Number(+0.0) * +0.0);
write(new Number(+0.0) * 1);
write(new Number(+0.0) * 10);
write(new Number(+0.0) * 10.0);
write(new Number(+0.0) * 10.1);
write(new Number(+0.0) * -1);
write(new Number(+0.0) * -10);
write(new Number(+0.0) * -10.0);
write(new Number(+0.0) * -10.1);
write(new Number(+0.0) * Number.MAX_VALUE);
write(new Number(+0.0) * Number.MIN_VALUE);
write(new Number(+0.0) * Number.NaN);
write(new Number(+0.0) * Number.POSITIVE_INFINITY);
write(new Number(+0.0) * Number.NEGATIVE_INFINITY);
write(new Number(+0.0) * new Number(NaN));
write(new Number(+0.0) * new Number(+0));
write(new Number(+0.0) * new Number(-0));
write(new Number(+0.0) * new Number(0));
write(new Number(+0.0) * new Number(0.0));
write(new Number(+0.0) * new Number(-0.0));
write(new Number(+0.0) * new Number(+0.0));
write(new Number(+0.0) * new Number(1));
write(new Number(+0.0) * new Number(10));
write(new Number(+0.0) * new Number(10.0));
write(new Number(+0.0) * new Number(10.1));
write(new Number(+0.0) * new Number(-1));
write(new Number(+0.0) * new Number(-10));
write(new Number(+0.0) * new Number(-10.0));
write(new Number(+0.0) * new Number(-10.1));
write(new Number(+0.0) * new Number(Number.MAX_VALUE));
write(new Number(+0.0) * new Number(Number.MIN_VALUE));
write(new Number(+0.0) * new Number(Number.NaN));
write(new Number(+0.0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(+0.0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(+0.0) * '');
write(new Number(+0.0) * 0xa);
write(new Number(+0.0) * 04);
write(new Number(+0.0) * 'hello');
write(new Number(+0.0) * 'hel' + 'lo');
write(new Number(+0.0) * String(''));
write(new Number(+0.0) * String('hello'));
write(new Number(+0.0) * String('h' + 'ello'));
write(new Number(+0.0) * new String(''));
write(new Number(+0.0) * new String('hello'));
write(new Number(+0.0) * new String('he' + 'llo'));
write(new Number(+0.0) * new Object());
write(new Number(+0.0) * new Object());
write(new Number(+0.0) * [1, 2, 3]);
write(new Number(+0.0) * [1 ,2 , 3]);
write(new Number(+0.0) * new Array(3));
write(new Number(+0.0) * Array(3));
write(new Number(+0.0) * new Array(1 ,2 ,3));
write(new Number(+0.0) * Array(1));
write(new Number(+0.0) * foo);
write(new Number(1) * undefined);
write(new Number(1) * null);
write(new Number(1) * true);
write(new Number(1) * false);
write(new Number(1) * Boolean(true));
write(new Number(1) * Boolean(false));
write(new Number(1) * new Boolean(true));
write(new Number(1) * new Boolean(false));
write(new Number(1) * NaN);
write(new Number(1) * +0);
write(new Number(1) * -0);
write(new Number(1) * 0);
write(new Number(1) * 0.0);
write(new Number(1) * -0.0);
write(new Number(1) * +0.0);
write(new Number(1) * 1);
write(new Number(1) * 10);
write(new Number(1) * 10.0);
write(new Number(1) * 10.1);
write(new Number(1) * -1);
write(new Number(1) * -10);
write(new Number(1) * -10.0);
write(new Number(1) * -10.1);
write(new Number(1) * Number.MAX_VALUE);
write(new Number(1) * Number.MIN_VALUE);
write(new Number(1) * Number.NaN);
write(new Number(1) * Number.POSITIVE_INFINITY);
write(new Number(1) * Number.NEGATIVE_INFINITY);
write(new Number(1) * new Number(NaN));
write(new Number(1) * new Number(+0));
write(new Number(1) * new Number(-0));
write(new Number(1) * new Number(0));
write(new Number(1) * new Number(0.0));
write(new Number(1) * new Number(-0.0));
write(new Number(1) * new Number(+0.0));
write(new Number(1) * new Number(1));
write(new Number(1) * new Number(10));
write(new Number(1) * new Number(10.0));
write(new Number(1) * new Number(10.1));
write(new Number(1) * new Number(-1));
write(new Number(1) * new Number(-10));
write(new Number(1) * new Number(-10.0));
write(new Number(1) * new Number(-10.1));
write(new Number(1) * new Number(Number.MAX_VALUE));
write(new Number(1) * new Number(Number.MIN_VALUE));
write(new Number(1) * new Number(Number.NaN));
write(new Number(1) * new Number(Number.POSITIVE_INFINITY));
write(new Number(1) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(1) * '');
write(new Number(1) * 0xa);
write(new Number(1) * 04);
write(new Number(1) * 'hello');
write(new Number(1) * 'hel' + 'lo');
write(new Number(1) * String(''));
write(new Number(1) * String('hello'));
write(new Number(1) * String('h' + 'ello'));
write(new Number(1) * new String(''));
write(new Number(1) * new String('hello'));
write(new Number(1) * new String('he' + 'llo'));
write(new Number(1) * new Object());
write(new Number(1) * new Object());
write(new Number(1) * [1, 2, 3]);
write(new Number(1) * [1 ,2 , 3]);
write(new Number(1) * new Array(3));
write(new Number(1) * Array(3));
write(new Number(1) * new Array(1 ,2 ,3));
write(new Number(1) * Array(1));
write(new Number(1) * foo);
write(new Number(10) * undefined);
write(new Number(10) * null);
write(new Number(10) * true);
write(new Number(10) * false);
write(new Number(10) * Boolean(true));
write(new Number(10) * Boolean(false));
write(new Number(10) * new Boolean(true));
write(new Number(10) * new Boolean(false));
write(new Number(10) * NaN);
write(new Number(10) * +0);
write(new Number(10) * -0);
write(new Number(10) * 0);
write(new Number(10) * 0.0);
write(new Number(10) * -0.0);
write(new Number(10) * +0.0);
write(new Number(10) * 1);
write(new Number(10) * 10);
write(new Number(10) * 10.0);
write(new Number(10) * 10.1);
write(new Number(10) * -1);
write(new Number(10) * -10);
write(new Number(10) * -10.0);
write(new Number(10) * -10.1);
write(new Number(10) * Number.MAX_VALUE);
write(new Number(10) * Number.MIN_VALUE);
write(new Number(10) * Number.NaN);
write(new Number(10) * Number.POSITIVE_INFINITY);
write(new Number(10) * Number.NEGATIVE_INFINITY);
write(new Number(10) * new Number(NaN));
write(new Number(10) * new Number(+0));
write(new Number(10) * new Number(-0));
write(new Number(10) * new Number(0));
write(new Number(10) * new Number(0.0));
write(new Number(10) * new Number(-0.0));
write(new Number(10) * new Number(+0.0));
write(new Number(10) * new Number(1));
write(new Number(10) * new Number(10));
write(new Number(10) * new Number(10.0));
write(new Number(10) * new Number(10.1));
write(new Number(10) * new Number(-1));
write(new Number(10) * new Number(-10));
write(new Number(10) * new Number(-10.0));
write(new Number(10) * new Number(-10.1));
write(new Number(10) * new Number(Number.MAX_VALUE));
write(new Number(10) * new Number(Number.MIN_VALUE));
write(new Number(10) * new Number(Number.NaN));
write(new Number(10) * new Number(Number.POSITIVE_INFINITY));
write(new Number(10) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(10) * '');
write(new Number(10) * 0xa);
write(new Number(10) * 04);
write(new Number(10) * 'hello');
write(new Number(10) * 'hel' + 'lo');
write(new Number(10) * String(''));
write(new Number(10) * String('hello'));
write(new Number(10) * String('h' + 'ello'));
write(new Number(10) * new String(''));
write(new Number(10) * new String('hello'));
write(new Number(10) * new String('he' + 'llo'));
write(new Number(10) * new Object());
write(new Number(10) * new Object());
write(new Number(10) * [1, 2, 3]);
write(new Number(10) * [1 ,2 , 3]);
write(new Number(10) * new Array(3));
write(new Number(10) * Array(3));
write(new Number(10) * new Array(1 ,2 ,3));
write(new Number(10) * Array(1));
write(new Number(10) * foo);
write(new Number(10.0) * undefined);
write(new Number(10.0) * null);
write(new Number(10.0) * true);
write(new Number(10.0) * false);
write(new Number(10.0) * Boolean(true));
write(new Number(10.0) * Boolean(false));
write(new Number(10.0) * new Boolean(true));
write(new Number(10.0) * new Boolean(false));
write(new Number(10.0) * NaN);
write(new Number(10.0) * +0);
write(new Number(10.0) * -0);
write(new Number(10.0) * 0);
write(new Number(10.0) * 0.0);
write(new Number(10.0) * -0.0);
write(new Number(10.0) * +0.0);
write(new Number(10.0) * 1);
write(new Number(10.0) * 10);
write(new Number(10.0) * 10.0);
write(new Number(10.0) * 10.1);
write(new Number(10.0) * -1);
write(new Number(10.0) * -10);
write(new Number(10.0) * -10.0);
write(new Number(10.0) * -10.1);
write(new Number(10.0) * Number.MAX_VALUE);
write(new Number(10.0) * Number.MIN_VALUE);
write(new Number(10.0) * Number.NaN);
write(new Number(10.0) * Number.POSITIVE_INFINITY);
write(new Number(10.0) * Number.NEGATIVE_INFINITY);
write(new Number(10.0) * new Number(NaN));
write(new Number(10.0) * new Number(+0));
write(new Number(10.0) * new Number(-0));
write(new Number(10.0) * new Number(0));
write(new Number(10.0) * new Number(0.0));
write(new Number(10.0) * new Number(-0.0));
write(new Number(10.0) * new Number(+0.0));
write(new Number(10.0) * new Number(1));
write(new Number(10.0) * new Number(10));
write(new Number(10.0) * new Number(10.0));
write(new Number(10.0) * new Number(10.1));
write(new Number(10.0) * new Number(-1));
write(new Number(10.0) * new Number(-10));
write(new Number(10.0) * new Number(-10.0));
write(new Number(10.0) * new Number(-10.1));
write(new Number(10.0) * new Number(Number.MAX_VALUE));
write(new Number(10.0) * new Number(Number.MIN_VALUE));
write(new Number(10.0) * new Number(Number.NaN));
write(new Number(10.0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(10.0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(10.0) * '');
write(new Number(10.0) * 0xa);
write(new Number(10.0) * 04);
write(new Number(10.0) * 'hello');
write(new Number(10.0) * 'hel' + 'lo');
write(new Number(10.0) * String(''));
write(new Number(10.0) * String('hello'));
write(new Number(10.0) * String('h' + 'ello'));
write(new Number(10.0) * new String(''));
write(new Number(10.0) * new String('hello'));
write(new Number(10.0) * new String('he' + 'llo'));
write(new Number(10.0) * new Object());
write(new Number(10.0) * new Object());
write(new Number(10.0) * [1, 2, 3]);
write(new Number(10.0) * [1 ,2 , 3]);
write(new Number(10.0) * new Array(3));
write(new Number(10.0) * Array(3));
write(new Number(10.0) * new Array(1 ,2 ,3));
write(new Number(10.0) * Array(1));
write(new Number(10.0) * foo);
write(new Number(10.1) * undefined);
write(new Number(10.1) * null);
write(new Number(10.1) * true);
write(new Number(10.1) * false);
write(new Number(10.1) * Boolean(true));
write(new Number(10.1) * Boolean(false));
write(new Number(10.1) * new Boolean(true));
write(new Number(10.1) * new Boolean(false));
write(new Number(10.1) * NaN);
write(new Number(10.1) * +0);
write(new Number(10.1) * -0);
write(new Number(10.1) * 0);
write(new Number(10.1) * 0.0);
write(new Number(10.1) * -0.0);
write(new Number(10.1) * +0.0);
write(new Number(10.1) * 1);
write(new Number(10.1) * 10);
write(new Number(10.1) * 10.0);
write(new Number(10.1) * 10.1);
write(new Number(10.1) * -1);
write(new Number(10.1) * -10);
write(new Number(10.1) * -10.0);
write(new Number(10.1) * -10.1);
write(new Number(10.1) * Number.MAX_VALUE);
write(new Number(10.1) * Number.MIN_VALUE);
write(new Number(10.1) * Number.NaN);
write(new Number(10.1) * Number.POSITIVE_INFINITY);
write(new Number(10.1) * Number.NEGATIVE_INFINITY);
write(new Number(10.1) * new Number(NaN));
write(new Number(10.1) * new Number(+0));
write(new Number(10.1) * new Number(-0));
write(new Number(10.1) * new Number(0));
write(new Number(10.1) * new Number(0.0));
write(new Number(10.1) * new Number(-0.0));
write(new Number(10.1) * new Number(+0.0));
write(new Number(10.1) * new Number(1));
write(new Number(10.1) * new Number(10));
write(new Number(10.1) * new Number(10.0));
write(new Number(10.1) * new Number(10.1));
write(new Number(10.1) * new Number(-1));
write(new Number(10.1) * new Number(-10));
write(new Number(10.1) * new Number(-10.0));
write(new Number(10.1) * new Number(-10.1));
write(new Number(10.1) * new Number(Number.MAX_VALUE));
write(new Number(10.1) * new Number(Number.MIN_VALUE));
write(new Number(10.1) * new Number(Number.NaN));
write(new Number(10.1) * new Number(Number.POSITIVE_INFINITY));
write(new Number(10.1) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(10.1) * '');
write(new Number(10.1) * 0xa);
write(new Number(10.1) * 04);
write(new Number(10.1) * 'hello');
write(new Number(10.1) * 'hel' + 'lo');
write(new Number(10.1) * String(''));
write(new Number(10.1) * String('hello'));
write(new Number(10.1) * String('h' + 'ello'));
write(new Number(10.1) * new String(''));
write(new Number(10.1) * new String('hello'));
write(new Number(10.1) * new String('he' + 'llo'));
write(new Number(10.1) * new Object());
write(new Number(10.1) * new Object());
write(new Number(10.1) * [1, 2, 3]);
write(new Number(10.1) * [1 ,2 , 3]);
write(new Number(10.1) * new Array(3));
write(new Number(10.1) * Array(3));
write(new Number(10.1) * new Array(1 ,2 ,3));
write(new Number(10.1) * Array(1));
write(new Number(10.1) * foo);
write(new Number(-1) * undefined);
write(new Number(-1) * null);
write(new Number(-1) * true);
write(new Number(-1) * false);
write(new Number(-1) * Boolean(true));
write(new Number(-1) * Boolean(false));
write(new Number(-1) * new Boolean(true));
write(new Number(-1) * new Boolean(false));
write(new Number(-1) * NaN);
write(new Number(-1) * +0);
write(new Number(-1) * -0);
write(new Number(-1) * 0);
write(new Number(-1) * 0.0);
write(new Number(-1) * -0.0);
write(new Number(-1) * +0.0);
write(new Number(-1) * 1);
write(new Number(-1) * 10);
write(new Number(-1) * 10.0);
write(new Number(-1) * 10.1);
write(new Number(-1) * -1);
write(new Number(-1) * -10);
write(new Number(-1) * -10.0);
write(new Number(-1) * -10.1);
write(new Number(-1) * Number.MAX_VALUE);
write(new Number(-1) * Number.MIN_VALUE);
write(new Number(-1) * Number.NaN);
write(new Number(-1) * Number.POSITIVE_INFINITY);
write(new Number(-1) * Number.NEGATIVE_INFINITY);
write(new Number(-1) * new Number(NaN));
write(new Number(-1) * new Number(+0));
write(new Number(-1) * new Number(-0));
write(new Number(-1) * new Number(0));
write(new Number(-1) * new Number(0.0));
write(new Number(-1) * new Number(-0.0));
write(new Number(-1) * new Number(+0.0));
write(new Number(-1) * new Number(1));
write(new Number(-1) * new Number(10));
write(new Number(-1) * new Number(10.0));
write(new Number(-1) * new Number(10.1));
write(new Number(-1) * new Number(-1));
write(new Number(-1) * new Number(-10));
write(new Number(-1) * new Number(-10.0));
write(new Number(-1) * new Number(-10.1));
write(new Number(-1) * new Number(Number.MAX_VALUE));
write(new Number(-1) * new Number(Number.MIN_VALUE));
write(new Number(-1) * new Number(Number.NaN));
write(new Number(-1) * new Number(Number.POSITIVE_INFINITY));
write(new Number(-1) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(-1) * '');
write(new Number(-1) * 0xa);
write(new Number(-1) * 04);
write(new Number(-1) * 'hello');
write(new Number(-1) * 'hel' + 'lo');
write(new Number(-1) * String(''));
write(new Number(-1) * String('hello'));
write(new Number(-1) * String('h' + 'ello'));
write(new Number(-1) * new String(''));
write(new Number(-1) * new String('hello'));
write(new Number(-1) * new String('he' + 'llo'));
write(new Number(-1) * new Object());
write(new Number(-1) * new Object());
write(new Number(-1) * [1, 2, 3]);
write(new Number(-1) * [1 ,2 , 3]);
write(new Number(-1) * new Array(3));
write(new Number(-1) * Array(3));
write(new Number(-1) * new Array(1 ,2 ,3));
write(new Number(-1) * Array(1));
write(new Number(-1) * foo);
write(new Number(-10) * undefined);
write(new Number(-10) * null);
write(new Number(-10) * true);
write(new Number(-10) * false);
write(new Number(-10) * Boolean(true));
write(new Number(-10) * Boolean(false));
write(new Number(-10) * new Boolean(true));
write(new Number(-10) * new Boolean(false));
write(new Number(-10) * NaN);
write(new Number(-10) * +0);
write(new Number(-10) * -0);
write(new Number(-10) * 0);
write(new Number(-10) * 0.0);
write(new Number(-10) * -0.0);
write(new Number(-10) * +0.0);
write(new Number(-10) * 1);
write(new Number(-10) * 10);
write(new Number(-10) * 10.0);
write(new Number(-10) * 10.1);
write(new Number(-10) * -1);
write(new Number(-10) * -10);
write(new Number(-10) * -10.0);
write(new Number(-10) * -10.1);
write(new Number(-10) * Number.MAX_VALUE);
write(new Number(-10) * Number.MIN_VALUE);
write(new Number(-10) * Number.NaN);
write(new Number(-10) * Number.POSITIVE_INFINITY);
write(new Number(-10) * Number.NEGATIVE_INFINITY);
write(new Number(-10) * new Number(NaN));
write(new Number(-10) * new Number(+0));
write(new Number(-10) * new Number(-0));
write(new Number(-10) * new Number(0));
write(new Number(-10) * new Number(0.0));
write(new Number(-10) * new Number(-0.0));
write(new Number(-10) * new Number(+0.0));
write(new Number(-10) * new Number(1));
write(new Number(-10) * new Number(10));
write(new Number(-10) * new Number(10.0));
write(new Number(-10) * new Number(10.1));
write(new Number(-10) * new Number(-1));
write(new Number(-10) * new Number(-10));
write(new Number(-10) * new Number(-10.0));
write(new Number(-10) * new Number(-10.1));
write(new Number(-10) * new Number(Number.MAX_VALUE));
write(new Number(-10) * new Number(Number.MIN_VALUE));
write(new Number(-10) * new Number(Number.NaN));
write(new Number(-10) * new Number(Number.POSITIVE_INFINITY));
write(new Number(-10) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(-10) * '');
write(new Number(-10) * 0xa);
write(new Number(-10) * 04);
write(new Number(-10) * 'hello');
write(new Number(-10) * 'hel' + 'lo');
write(new Number(-10) * String(''));
write(new Number(-10) * String('hello'));
write(new Number(-10) * String('h' + 'ello'));
write(new Number(-10) * new String(''));
write(new Number(-10) * new String('hello'));
write(new Number(-10) * new String('he' + 'llo'));
write(new Number(-10) * new Object());
write(new Number(-10) * new Object());
write(new Number(-10) * [1, 2, 3]);
write(new Number(-10) * [1 ,2 , 3]);
write(new Number(-10) * new Array(3));
write(new Number(-10) * Array(3));
write(new Number(-10) * new Array(1 ,2 ,3));
write(new Number(-10) * Array(1));
write(new Number(-10) * foo);
write(new Number(-10.0) * undefined);
write(new Number(-10.0) * null);
write(new Number(-10.0) * true);
write(new Number(-10.0) * false);
write(new Number(-10.0) * Boolean(true));
write(new Number(-10.0) * Boolean(false));
write(new Number(-10.0) * new Boolean(true));
write(new Number(-10.0) * new Boolean(false));
write(new Number(-10.0) * NaN);
write(new Number(-10.0) * +0);
write(new Number(-10.0) * -0);
write(new Number(-10.0) * 0);
write(new Number(-10.0) * 0.0);
write(new Number(-10.0) * -0.0);
write(new Number(-10.0) * +0.0);
write(new Number(-10.0) * 1);
write(new Number(-10.0) * 10);
write(new Number(-10.0) * 10.0);
write(new Number(-10.0) * 10.1);
write(new Number(-10.0) * -1);
write(new Number(-10.0) * -10);
write(new Number(-10.0) * -10.0);
write(new Number(-10.0) * -10.1);
write(new Number(-10.0) * Number.MAX_VALUE);
write(new Number(-10.0) * Number.MIN_VALUE);
write(new Number(-10.0) * Number.NaN);
write(new Number(-10.0) * Number.POSITIVE_INFINITY);
write(new Number(-10.0) * Number.NEGATIVE_INFINITY);
write(new Number(-10.0) * new Number(NaN));
write(new Number(-10.0) * new Number(+0));
write(new Number(-10.0) * new Number(-0));
write(new Number(-10.0) * new Number(0));
write(new Number(-10.0) * new Number(0.0));
write(new Number(-10.0) * new Number(-0.0));
write(new Number(-10.0) * new Number(+0.0));
write(new Number(-10.0) * new Number(1));
write(new Number(-10.0) * new Number(10));
write(new Number(-10.0) * new Number(10.0));
write(new Number(-10.0) * new Number(10.1));
write(new Number(-10.0) * new Number(-1));
write(new Number(-10.0) * new Number(-10));
write(new Number(-10.0) * new Number(-10.0));
write(new Number(-10.0) * new Number(-10.1));
write(new Number(-10.0) * new Number(Number.MAX_VALUE));
write(new Number(-10.0) * new Number(Number.MIN_VALUE));
write(new Number(-10.0) * new Number(Number.NaN));
write(new Number(-10.0) * new Number(Number.POSITIVE_INFINITY));
write(new Number(-10.0) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(-10.0) * '');
write(new Number(-10.0) * 0xa);
write(new Number(-10.0) * 04);
write(new Number(-10.0) * 'hello');
write(new Number(-10.0) * 'hel' + 'lo');
write(new Number(-10.0) * String(''));
write(new Number(-10.0) * String('hello'));
write(new Number(-10.0) * String('h' + 'ello'));
write(new Number(-10.0) * new String(''));
write(new Number(-10.0) * new String('hello'));
write(new Number(-10.0) * new String('he' + 'llo'));
write(new Number(-10.0) * new Object());
write(new Number(-10.0) * new Object());
write(new Number(-10.0) * [1, 2, 3]);
write(new Number(-10.0) * [1 ,2 , 3]);
write(new Number(-10.0) * new Array(3));
write(new Number(-10.0) * Array(3));
write(new Number(-10.0) * new Array(1 ,2 ,3));
write(new Number(-10.0) * Array(1));
write(new Number(-10.0) * foo);
write(new Number(-10.1) * undefined);
write(new Number(-10.1) * null);
write(new Number(-10.1) * true);
write(new Number(-10.1) * false);
write(new Number(-10.1) * Boolean(true));
write(new Number(-10.1) * Boolean(false));
write(new Number(-10.1) * new Boolean(true));
write(new Number(-10.1) * new Boolean(false));
write(new Number(-10.1) * NaN);
write(new Number(-10.1) * +0);
write(new Number(-10.1) * -0);
write(new Number(-10.1) * 0);
write(new Number(-10.1) * 0.0);
write(new Number(-10.1) * -0.0);
write(new Number(-10.1) * +0.0);
write(new Number(-10.1) * 1);
write(new Number(-10.1) * 10);
write(new Number(-10.1) * 10.0);
write(new Number(-10.1) * 10.1);
write(new Number(-10.1) * -1);
write(new Number(-10.1) * -10);
write(new Number(-10.1) * -10.0);
write(new Number(-10.1) * -10.1);
write(new Number(-10.1) * Number.MAX_VALUE);
write(new Number(-10.1) * Number.MIN_VALUE);
write(new Number(-10.1) * Number.NaN);
write(new Number(-10.1) * Number.POSITIVE_INFINITY);
write(new Number(-10.1) * Number.NEGATIVE_INFINITY);
write(new Number(-10.1) * new Number(NaN));
write(new Number(-10.1) * new Number(+0));
write(new Number(-10.1) * new Number(-0));
write(new Number(-10.1) * new Number(0));
write(new Number(-10.1) * new Number(0.0));
write(new Number(-10.1) * new Number(-0.0));
write(new Number(-10.1) * new Number(+0.0));
write(new Number(-10.1) * new Number(1));
write(new Number(-10.1) * new Number(10));
write(new Number(-10.1) * new Number(10.0));
write(new Number(-10.1) * new Number(10.1));
write(new Number(-10.1) * new Number(-1));
write(new Number(-10.1) * new Number(-10));
write(new Number(-10.1) * new Number(-10.0));
write(new Number(-10.1) * new Number(-10.1));
write(new Number(-10.1) * new Number(Number.MAX_VALUE));
write(new Number(-10.1) * new Number(Number.MIN_VALUE));
write(new Number(-10.1) * new Number(Number.NaN));
write(new Number(-10.1) * new Number(Number.POSITIVE_INFINITY));
write(new Number(-10.1) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(-10.1) * '');
write(new Number(-10.1) * 0xa);
write(new Number(-10.1) * 04);
write(new Number(-10.1) * 'hello');
write(new Number(-10.1) * 'hel' + 'lo');
write(new Number(-10.1) * String(''));
write(new Number(-10.1) * String('hello'));
write(new Number(-10.1) * String('h' + 'ello'));
write(new Number(-10.1) * new String(''));
write(new Number(-10.1) * new String('hello'));
write(new Number(-10.1) * new String('he' + 'llo'));
write(new Number(-10.1) * new Object());
write(new Number(-10.1) * new Object());
write(new Number(-10.1) * [1, 2, 3]);
write(new Number(-10.1) * [1 ,2 , 3]);
write(new Number(-10.1) * new Array(3));
write(new Number(-10.1) * Array(3));
write(new Number(-10.1) * new Array(1 ,2 ,3));
write(new Number(-10.1) * Array(1));
write(new Number(-10.1) * foo);
write(new Number(Number.MAX_VALUE) * undefined);
write(new Number(Number.MAX_VALUE) * null);
write(new Number(Number.MAX_VALUE) * true);
write(new Number(Number.MAX_VALUE) * false);
write(new Number(Number.MAX_VALUE) * Boolean(true));
write(new Number(Number.MAX_VALUE) * Boolean(false));
write(new Number(Number.MAX_VALUE) * new Boolean(true));
write(new Number(Number.MAX_VALUE) * new Boolean(false));
write(new Number(Number.MAX_VALUE) * NaN);
write(new Number(Number.MAX_VALUE) * +0);
write(new Number(Number.MAX_VALUE) * -0);
write(new Number(Number.MAX_VALUE) * 0);
write(new Number(Number.MAX_VALUE) * 0.0);
write(new Number(Number.MAX_VALUE) * -0.0);
write(new Number(Number.MAX_VALUE) * +0.0);
write(new Number(Number.MAX_VALUE) * 1);
write(new Number(Number.MAX_VALUE) * 10);
write(new Number(Number.MAX_VALUE) * 10.0);
write(new Number(Number.MAX_VALUE) * 10.1);
write(new Number(Number.MAX_VALUE) * -1);
write(new Number(Number.MAX_VALUE) * -10);
write(new Number(Number.MAX_VALUE) * -10.0);
write(new Number(Number.MAX_VALUE) * -10.1);
write(new Number(Number.MAX_VALUE) * Number.MAX_VALUE);
write(new Number(Number.MAX_VALUE) * Number.MIN_VALUE);
write(new Number(Number.MAX_VALUE) * Number.NaN);
write(new Number(Number.MAX_VALUE) * Number.POSITIVE_INFINITY);
write(new Number(Number.MAX_VALUE) * Number.NEGATIVE_INFINITY);
write(new Number(Number.MAX_VALUE) * new Number(NaN));
write(new Number(Number.MAX_VALUE) * new Number(+0));
write(new Number(Number.MAX_VALUE) * new Number(-0));
write(new Number(Number.MAX_VALUE) * new Number(0));
write(new Number(Number.MAX_VALUE) * new Number(0.0));
write(new Number(Number.MAX_VALUE) * new Number(-0.0));
write(new Number(Number.MAX_VALUE) * new Number(+0.0));
write(new Number(Number.MAX_VALUE) * new Number(1));
write(new Number(Number.MAX_VALUE) * new Number(10));
write(new Number(Number.MAX_VALUE) * new Number(10.0));
write(new Number(Number.MAX_VALUE) * new Number(10.1));
write(new Number(Number.MAX_VALUE) * new Number(-1));
write(new Number(Number.MAX_VALUE) * new Number(-10));
write(new Number(Number.MAX_VALUE) * new Number(-10.0));
write(new Number(Number.MAX_VALUE) * new Number(-10.1));
write(new Number(Number.MAX_VALUE) * new Number(Number.MAX_VALUE));
write(new Number(Number.MAX_VALUE) * new Number(Number.MIN_VALUE));
write(new Number(Number.MAX_VALUE) * new Number(Number.NaN));
write(new Number(Number.MAX_VALUE) * new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.MAX_VALUE) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.MAX_VALUE) * '');
write(new Number(Number.MAX_VALUE) * 0xa);
write(new Number(Number.MAX_VALUE) * 04);
write(new Number(Number.MAX_VALUE) * 'hello');
write(new Number(Number.MAX_VALUE) * 'hel' + 'lo');
write(new Number(Number.MAX_VALUE) * String(''));
write(new Number(Number.MAX_VALUE) * String('hello'));
write(new Number(Number.MAX_VALUE) * String('h' + 'ello'));
write(new Number(Number.MAX_VALUE) * new String(''));
write(new Number(Number.MAX_VALUE) * new String('hello'));
write(new Number(Number.MAX_VALUE) * new String('he' + 'llo'));
write(new Number(Number.MAX_VALUE) * new Object());
write(new Number(Number.MAX_VALUE) * new Object());
write(new Number(Number.MAX_VALUE) * [1, 2, 3]);
write(new Number(Number.MAX_VALUE) * [1 ,2 , 3]);
write(new Number(Number.MAX_VALUE) * new Array(3));
write(new Number(Number.MAX_VALUE) * Array(3));
write(new Number(Number.MAX_VALUE) * new Array(1 ,2 ,3));
write(new Number(Number.MAX_VALUE) * Array(1));
write(new Number(Number.MAX_VALUE) * foo);
write(new Number(Number.MIN_VALUE) * undefined);
write(new Number(Number.MIN_VALUE) * null);
write(new Number(Number.MIN_VALUE) * true);
write(new Number(Number.MIN_VALUE) * false);
write(new Number(Number.MIN_VALUE) * Boolean(true));
write(new Number(Number.MIN_VALUE) * Boolean(false));
write(new Number(Number.MIN_VALUE) * new Boolean(true));
write(new Number(Number.MIN_VALUE) * new Boolean(false));
write(new Number(Number.MIN_VALUE) * NaN);
write(new Number(Number.MIN_VALUE) * +0);
