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