//-------------------------------------------------------------------------------------------------------
// 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));
