//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

var test = 1; 
function fail(n, expected, result) { WScript.Echo("failure in test " + test + "; expected " + expected + ", got " + result); }
function test0() {
var x;
var y;
var result;
var check;
// Test 0: both arguments variables
x = 0;
y = 0;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1: both arguments constants
result = (0 >>> 0)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 2: LHS constant
y = 0;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 3: RHS constant
x = 0;
result = (x >>> 0)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 4: both arguments variables
x = 1;
y = 0;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 5: both arguments constants
result = (1 >>> 0)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 6: LHS constant
y = 0;
result = (1 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 7: RHS constant
x = 1;
result = (x >>> 0)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 8: both arguments variables
x = -1;
y = 0;
result = (x >>> y);
check = 4294967295;
if(result != check) { fail(test, check, result); } ++test; 

// Test 9: both arguments constants
result = (-1 >>> 0)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 10: LHS constant
y = 0;
result = (-1 >>> y)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 11: RHS constant
x = -1;
result = (x >>> 0)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 12: both arguments variables
x = 2;
y = 0;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 13: both arguments constants
result = (2 >>> 0)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 14: LHS constant
y = 0;
result = (2 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 15: RHS constant
x = 2;
result = (x >>> 0)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 16: both arguments variables
x = -2;
y = 0;
result = (x >>> y);
check = 4294967294;
if(result != check) { fail(test, check, result); } ++test; 

// Test 17: both arguments constants
result = (-2 >>> 0)
check = 4294967294
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 18: LHS constant
y = 0;
result = (-2 >>> y)
check = 4294967294
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 19: RHS constant
x = -2;
result = (x >>> 0)
check = 4294967294
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 20: both arguments variables
x = 3;
y = 0;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 21: both arguments constants
result = (3 >>> 0)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 22: LHS constant
y = 0;
result = (3 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 23: RHS constant
x = 3;
result = (x >>> 0)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 24: both arguments variables
x = -3;
y = 0;
result = (x >>> y);
check = 4294967293;
if(result != check) { fail(test, check, result); } ++test; 

// Test 25: both arguments constants
result = (-3 >>> 0)
check = 4294967293
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 26: LHS constant
y = 0;
result = (-3 >>> y)
check = 4294967293
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 27: RHS constant
x = -3;
result = (x >>> 0)
check = 4294967293
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 28: both arguments variables
x = 4;
y = 0;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 29: both arguments constants
result = (4 >>> 0)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 30: LHS constant
y = 0;
result = (4 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 31: RHS constant
x = 4;
result = (x >>> 0)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 32: both arguments variables
x = -4;
y = 0;
result = (x >>> y);
check = 4294967292;
if(result != check) { fail(test, check, result); } ++test; 

// Test 33: both arguments constants
result = (-4 >>> 0)
check = 4294967292
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 34: LHS constant
y = 0;
result = (-4 >>> y)
check = 4294967292
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 35: RHS constant
x = -4;
result = (x >>> 0)
check = 4294967292
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 36: both arguments variables
x = 8;
y = 0;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 37: both arguments constants
result = (8 >>> 0)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 38: LHS constant
y = 0;
result = (8 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 39: RHS constant
x = 8;
result = (x >>> 0)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 40: both arguments variables
x = -8;
y = 0;
result = (x >>> y);
check = 4294967288;
if(result != check) { fail(test, check, result); } ++test; 

// Test 41: both arguments constants
result = (-8 >>> 0)
check = 4294967288
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 42: LHS constant
y = 0;
result = (-8 >>> y)
check = 4294967288
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 43: RHS constant
x = -8;
result = (x >>> 0)
check = 4294967288
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 44: both arguments variables
x = 1073741822;
y = 0;
result = (x >>> y);
check = 1073741822;
if(result != check) { fail(test, check, result); } ++test; 

// Test 45: both arguments constants
result = (1073741822 >>> 0)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 46: LHS constant
y = 0;
result = (1073741822 >>> y)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 47: RHS constant
x = 1073741822;
result = (x >>> 0)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 48: both arguments variables
x = 1073741823;
y = 0;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 49: both arguments constants
result = (1073741823 >>> 0)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 50: LHS constant
y = 0;
result = (1073741823 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 51: RHS constant
x = 1073741823;
result = (x >>> 0)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 52: both arguments variables
x = 1073741824;
y = 0;
result = (x >>> y);
check = 1073741824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 53: both arguments constants
result = (1073741824 >>> 0)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 54: LHS constant
y = 0;
result = (1073741824 >>> y)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 55: RHS constant
x = 1073741824;
result = (x >>> 0)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 56: both arguments variables
x = 1073741825;
y = 0;
result = (x >>> y);
check = 1073741825;
if(result != check) { fail(test, check, result); } ++test; 

// Test 57: both arguments constants
result = (1073741825 >>> 0)
check = 1073741825
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 58: LHS constant
y = 0;
result = (1073741825 >>> y)
check = 1073741825
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 59: RHS constant
x = 1073741825;
result = (x >>> 0)
check = 1073741825
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 60: both arguments variables
x = -1073741823;
y = 0;
result = (x >>> y);
check = 3221225473;
if(result != check) { fail(test, check, result); } ++test; 

// Test 61: both arguments constants
result = (-1073741823 >>> 0)
check = 3221225473
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 62: LHS constant
y = 0;
result = (-1073741823 >>> y)
check = 3221225473
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 63: RHS constant
x = -1073741823;
result = (x >>> 0)
check = 3221225473
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 64: both arguments variables
x = (-0x3fffffff-1);
y = 0;
result = (x >>> y);
check = 3221225472;
if(result != check) { fail(test, check, result); } ++test; 

// Test 65: both arguments constants
result = ((-0x3fffffff-1) >>> 0)
check = 3221225472
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 66: LHS constant
y = 0;
result = ((-0x3fffffff-1) >>> y)
check = 3221225472
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 67: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 0)
check = 3221225472
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 68: both arguments variables
x = -1073741825;
y = 0;
result = (x >>> y);
check = 3221225471;
if(result != check) { fail(test, check, result); } ++test; 

// Test 69: both arguments constants
result = (-1073741825 >>> 0)
check = 3221225471
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 70: LHS constant
y = 0;
result = (-1073741825 >>> y)
check = 3221225471
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 71: RHS constant
x = -1073741825;
result = (x >>> 0)
check = 3221225471
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 72: both arguments variables
x = -1073741826;
y = 0;
result = (x >>> y);
check = 3221225470;
if(result != check) { fail(test, check, result); } ++test; 

// Test 73: both arguments constants
result = (-1073741826 >>> 0)
check = 3221225470
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 74: LHS constant
y = 0;
result = (-1073741826 >>> y)
check = 3221225470
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 75: RHS constant
x = -1073741826;
result = (x >>> 0)
check = 3221225470
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 76: both arguments variables
x = 2147483646;
y = 0;
result = (x >>> y);
check = 2147483646;
if(result != check) { fail(test, check, result); } ++test; 

// Test 77: both arguments constants
result = (2147483646 >>> 0)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 78: LHS constant
y = 0;
result = (2147483646 >>> y)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 79: RHS constant
x = 2147483646;
result = (x >>> 0)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 80: both arguments variables
x = 2147483647;
y = 0;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 81: both arguments constants
result = (2147483647 >>> 0)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 82: LHS constant
y = 0;
result = (2147483647 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 83: RHS constant
x = 2147483647;
result = (x >>> 0)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 84: both arguments variables
x = 2147483648;
y = 0;
result = (x >>> y);
check = 2147483648;
if(result != check) { fail(test, check, result); } ++test; 

// Test 85: both arguments constants
result = (2147483648 >>> 0)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 86: LHS constant
y = 0;
result = (2147483648 >>> y)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 87: RHS constant
x = 2147483648;
result = (x >>> 0)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 88: both arguments variables
x = 2147483649;
y = 0;
result = (x >>> y);
check = 2147483649;
if(result != check) { fail(test, check, result); } ++test; 

// Test 89: both arguments constants
result = (2147483649 >>> 0)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 90: LHS constant
y = 0;
result = (2147483649 >>> y)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 91: RHS constant
x = 2147483649;
result = (x >>> 0)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 92: both arguments variables
x = -2147483647;
y = 0;
result = (x >>> y);
check = 2147483649;
if(result != check) { fail(test, check, result); } ++test; 

// Test 93: both arguments constants
result = (-2147483647 >>> 0)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 94: LHS constant
y = 0;
result = (-2147483647 >>> y)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 95: RHS constant
x = -2147483647;
result = (x >>> 0)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 96: both arguments variables
x = -2147483648;
y = 0;
result = (x >>> y);
check = 2147483648;
if(result != check) { fail(test, check, result); } ++test; 

// Test 97: both arguments constants
result = (-2147483648 >>> 0)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 98: LHS constant
y = 0;
result = (-2147483648 >>> y)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 99: RHS constant
x = -2147483648;
result = (x >>> 0)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test1() {
var x;
var y;
var result;
var check;
// Test 100: both arguments variables
x = -2147483649;
y = 0;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 101: both arguments constants
result = (-2147483649 >>> 0)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 102: LHS constant
y = 0;
result = (-2147483649 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 103: RHS constant
x = -2147483649;
result = (x >>> 0)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 104: both arguments variables
x = -2147483650;
y = 0;
result = (x >>> y);
check = 2147483646;
if(result != check) { fail(test, check, result); } ++test; 

// Test 105: both arguments constants
result = (-2147483650 >>> 0)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 106: LHS constant
y = 0;
result = (-2147483650 >>> y)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 107: RHS constant
x = -2147483650;
result = (x >>> 0)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 108: both arguments variables
x = 4294967295;
y = 0;
result = (x >>> y);
check = 4294967295;
if(result != check) { fail(test, check, result); } ++test; 

// Test 109: both arguments constants
result = (4294967295 >>> 0)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 110: LHS constant
y = 0;
result = (4294967295 >>> y)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 111: RHS constant
x = 4294967295;
result = (x >>> 0)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 112: both arguments variables
x = 4294967296;
y = 0;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 113: both arguments constants
result = (4294967296 >>> 0)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 114: LHS constant
y = 0;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 115: RHS constant
x = 4294967296;
result = (x >>> 0)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 116: both arguments variables
x = -4294967295;
y = 0;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 117: both arguments constants
result = (-4294967295 >>> 0)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 118: LHS constant
y = 0;
result = (-4294967295 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 119: RHS constant
x = -4294967295;
result = (x >>> 0)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 120: both arguments variables
x = -4294967296;
y = 0;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 121: both arguments constants
result = (-4294967296 >>> 0)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 122: LHS constant
y = 0;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 123: RHS constant
x = -4294967296;
result = (x >>> 0)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 124: both arguments variables
x = 0;
y = 1;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 125: both arguments constants
result = (0 >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 126: LHS constant
y = 1;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 127: RHS constant
x = 0;
result = (x >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 128: both arguments variables
x = 1;
y = 1;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 129: both arguments constants
result = (1 >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 130: LHS constant
y = 1;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 131: RHS constant
x = 1;
result = (x >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 132: both arguments variables
x = -1;
y = 1;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 133: both arguments constants
result = (-1 >>> 1)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 134: LHS constant
y = 1;
result = (-1 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 135: RHS constant
x = -1;
result = (x >>> 1)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 136: both arguments variables
x = 2;
y = 1;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 137: both arguments constants
result = (2 >>> 1)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 138: LHS constant
y = 1;
result = (2 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 139: RHS constant
x = 2;
result = (x >>> 1)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 140: both arguments variables
x = -2;
y = 1;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 141: both arguments constants
result = (-2 >>> 1)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 142: LHS constant
y = 1;
result = (-2 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 143: RHS constant
x = -2;
result = (x >>> 1)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 144: both arguments variables
x = 3;
y = 1;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 145: both arguments constants
result = (3 >>> 1)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 146: LHS constant
y = 1;
result = (3 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 147: RHS constant
x = 3;
result = (x >>> 1)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 148: both arguments variables
x = -3;
y = 1;
result = (x >>> y);
check = 2147483646;
if(result != check) { fail(test, check, result); } ++test; 

// Test 149: both arguments constants
result = (-3 >>> 1)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 150: LHS constant
y = 1;
result = (-3 >>> y)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 151: RHS constant
x = -3;
result = (x >>> 1)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 152: both arguments variables
x = 4;
y = 1;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 153: both arguments constants
result = (4 >>> 1)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 154: LHS constant
y = 1;
result = (4 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 155: RHS constant
x = 4;
result = (x >>> 1)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 156: both arguments variables
x = -4;
y = 1;
result = (x >>> y);
check = 2147483646;
if(result != check) { fail(test, check, result); } ++test; 

// Test 157: both arguments constants
result = (-4 >>> 1)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 158: LHS constant
y = 1;
result = (-4 >>> y)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 159: RHS constant
x = -4;
result = (x >>> 1)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 160: both arguments variables
x = 8;
y = 1;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 161: both arguments constants
result = (8 >>> 1)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 162: LHS constant
y = 1;
result = (8 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 163: RHS constant
x = 8;
result = (x >>> 1)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 164: both arguments variables
x = -8;
y = 1;
result = (x >>> y);
check = 2147483644;
if(result != check) { fail(test, check, result); } ++test; 

// Test 165: both arguments constants
result = (-8 >>> 1)
check = 2147483644
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 166: LHS constant
y = 1;
result = (-8 >>> y)
check = 2147483644
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 167: RHS constant
x = -8;
result = (x >>> 1)
check = 2147483644
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 168: both arguments variables
x = 1073741822;
y = 1;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 169: both arguments constants
result = (1073741822 >>> 1)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 170: LHS constant
y = 1;
result = (1073741822 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 171: RHS constant
x = 1073741822;
result = (x >>> 1)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 172: both arguments variables
x = 1073741823;
y = 1;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 173: both arguments constants
result = (1073741823 >>> 1)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 174: LHS constant
y = 1;
result = (1073741823 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 175: RHS constant
x = 1073741823;
result = (x >>> 1)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 176: both arguments variables
x = 1073741824;
y = 1;
result = (x >>> y);
check = 536870912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 177: both arguments constants
result = (1073741824 >>> 1)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 178: LHS constant
y = 1;
result = (1073741824 >>> y)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 179: RHS constant
x = 1073741824;
result = (x >>> 1)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 180: both arguments variables
x = 1073741825;
y = 1;
result = (x >>> y);
check = 536870912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 181: both arguments constants
result = (1073741825 >>> 1)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 182: LHS constant
y = 1;
result = (1073741825 >>> y)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 183: RHS constant
x = 1073741825;
result = (x >>> 1)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 184: both arguments variables
x = -1073741823;
y = 1;
result = (x >>> y);
check = 1610612736;
if(result != check) { fail(test, check, result); } ++test; 

// Test 185: both arguments constants
result = (-1073741823 >>> 1)
check = 1610612736
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 186: LHS constant
y = 1;
result = (-1073741823 >>> y)
check = 1610612736
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 187: RHS constant
x = -1073741823;
result = (x >>> 1)
check = 1610612736
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 188: both arguments variables
x = (-0x3fffffff-1);
y = 1;
result = (x >>> y);
check = 1610612736;
if(result != check) { fail(test, check, result); } ++test; 

// Test 189: both arguments constants
result = ((-0x3fffffff-1) >>> 1)
check = 1610612736
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 190: LHS constant
y = 1;
result = ((-0x3fffffff-1) >>> y)
check = 1610612736
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 191: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 1)
check = 1610612736
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 192: both arguments variables
x = -1073741825;
y = 1;
result = (x >>> y);
check = 1610612735;
if(result != check) { fail(test, check, result); } ++test; 

// Test 193: both arguments constants
result = (-1073741825 >>> 1)
check = 1610612735
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 194: LHS constant
y = 1;
result = (-1073741825 >>> y)
check = 1610612735
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 195: RHS constant
x = -1073741825;
result = (x >>> 1)
check = 1610612735
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 196: both arguments variables
x = -1073741826;
y = 1;
result = (x >>> y);
check = 1610612735;
if(result != check) { fail(test, check, result); } ++test; 

// Test 197: both arguments constants
result = (-1073741826 >>> 1)
check = 1610612735
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 198: LHS constant
y = 1;
result = (-1073741826 >>> y)
check = 1610612735
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 199: RHS constant
x = -1073741826;
result = (x >>> 1)
check = 1610612735
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test2() {
var x;
var y;
var result;
var check;
// Test 200: both arguments variables
x = 2147483646;
y = 1;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 201: both arguments constants
result = (2147483646 >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 202: LHS constant
y = 1;
result = (2147483646 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 203: RHS constant
x = 2147483646;
result = (x >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 204: both arguments variables
x = 2147483647;
y = 1;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 205: both arguments constants
result = (2147483647 >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 206: LHS constant
y = 1;
result = (2147483647 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 207: RHS constant
x = 2147483647;
result = (x >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 208: both arguments variables
x = 2147483648;
y = 1;
result = (x >>> y);
check = 1073741824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 209: both arguments constants
result = (2147483648 >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 210: LHS constant
y = 1;
result = (2147483648 >>> y)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 211: RHS constant
x = 2147483648;
result = (x >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 212: both arguments variables
x = 2147483649;
y = 1;
result = (x >>> y);
check = 1073741824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 213: both arguments constants
result = (2147483649 >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 214: LHS constant
y = 1;
result = (2147483649 >>> y)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 215: RHS constant
x = 2147483649;
result = (x >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 216: both arguments variables
x = -2147483647;
y = 1;
result = (x >>> y);
check = 1073741824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 217: both arguments constants
result = (-2147483647 >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 218: LHS constant
y = 1;
result = (-2147483647 >>> y)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 219: RHS constant
x = -2147483647;
result = (x >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 220: both arguments variables
x = -2147483648;
y = 1;
result = (x >>> y);
check = 1073741824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 221: both arguments constants
result = (-2147483648 >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 222: LHS constant
y = 1;
result = (-2147483648 >>> y)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 223: RHS constant
x = -2147483648;
result = (x >>> 1)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 224: both arguments variables
x = -2147483649;
y = 1;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 225: both arguments constants
result = (-2147483649 >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 226: LHS constant
y = 1;
result = (-2147483649 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 227: RHS constant
x = -2147483649;
result = (x >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 228: both arguments variables
x = -2147483650;
y = 1;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 229: both arguments constants
result = (-2147483650 >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 230: LHS constant
y = 1;
result = (-2147483650 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 231: RHS constant
x = -2147483650;
result = (x >>> 1)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 232: both arguments variables
x = 4294967295;
y = 1;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 233: both arguments constants
result = (4294967295 >>> 1)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 234: LHS constant
y = 1;
result = (4294967295 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 235: RHS constant
x = 4294967295;
result = (x >>> 1)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 236: both arguments variables
x = 4294967296;
y = 1;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 237: both arguments constants
result = (4294967296 >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 238: LHS constant
y = 1;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 239: RHS constant
x = 4294967296;
result = (x >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 240: both arguments variables
x = -4294967295;
y = 1;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 241: both arguments constants
result = (-4294967295 >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 242: LHS constant
y = 1;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 243: RHS constant
x = -4294967295;
result = (x >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 244: both arguments variables
x = -4294967296;
y = 1;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 245: both arguments constants
result = (-4294967296 >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 246: LHS constant
y = 1;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 247: RHS constant
x = -4294967296;
result = (x >>> 1)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 248: both arguments variables
x = 0;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 249: both arguments constants
result = (0 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 250: LHS constant
y = 2;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 251: RHS constant
x = 0;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 252: both arguments variables
x = 1;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 253: both arguments constants
result = (1 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 254: LHS constant
y = 2;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 255: RHS constant
x = 1;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 256: both arguments variables
x = -1;
y = 2;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 257: both arguments constants
result = (-1 >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 258: LHS constant
y = 2;
result = (-1 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 259: RHS constant
x = -1;
result = (x >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 260: both arguments variables
x = 2;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 261: both arguments constants
result = (2 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 262: LHS constant
y = 2;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 263: RHS constant
x = 2;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 264: both arguments variables
x = -2;
y = 2;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 265: both arguments constants
result = (-2 >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 266: LHS constant
y = 2;
result = (-2 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 267: RHS constant
x = -2;
result = (x >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 268: both arguments variables
x = 3;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 269: both arguments constants
result = (3 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 270: LHS constant
y = 2;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 271: RHS constant
x = 3;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 272: both arguments variables
x = -3;
y = 2;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 273: both arguments constants
result = (-3 >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 274: LHS constant
y = 2;
result = (-3 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 275: RHS constant
x = -3;
result = (x >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 276: both arguments variables
x = 4;
y = 2;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 277: both arguments constants
result = (4 >>> 2)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 278: LHS constant
y = 2;
result = (4 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 279: RHS constant
x = 4;
result = (x >>> 2)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 280: both arguments variables
x = -4;
y = 2;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 281: both arguments constants
result = (-4 >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 282: LHS constant
y = 2;
result = (-4 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 283: RHS constant
x = -4;
result = (x >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 284: both arguments variables
x = 8;
y = 2;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 285: both arguments constants
result = (8 >>> 2)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 286: LHS constant
y = 2;
result = (8 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 287: RHS constant
x = 8;
result = (x >>> 2)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 288: both arguments variables
x = -8;
y = 2;
result = (x >>> y);
check = 1073741822;
if(result != check) { fail(test, check, result); } ++test; 

// Test 289: both arguments constants
result = (-8 >>> 2)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 290: LHS constant
y = 2;
result = (-8 >>> y)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 291: RHS constant
x = -8;
result = (x >>> 2)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 292: both arguments variables
x = 1073741822;
y = 2;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 293: both arguments constants
result = (1073741822 >>> 2)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 294: LHS constant
y = 2;
result = (1073741822 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 295: RHS constant
x = 1073741822;
result = (x >>> 2)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 296: both arguments variables
x = 1073741823;
y = 2;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 297: both arguments constants
result = (1073741823 >>> 2)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 298: LHS constant
y = 2;
result = (1073741823 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 299: RHS constant
x = 1073741823;
result = (x >>> 2)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test3() {
var x;
var y;
var result;
var check;
// Test 300: both arguments variables
x = 1073741824;
y = 2;
result = (x >>> y);
check = 268435456;
if(result != check) { fail(test, check, result); } ++test; 

// Test 301: both arguments constants
result = (1073741824 >>> 2)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 302: LHS constant
y = 2;
result = (1073741824 >>> y)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 303: RHS constant
x = 1073741824;
result = (x >>> 2)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 304: both arguments variables
x = 1073741825;
y = 2;
result = (x >>> y);
check = 268435456;
if(result != check) { fail(test, check, result); } ++test; 

// Test 305: both arguments constants
result = (1073741825 >>> 2)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 306: LHS constant
y = 2;
result = (1073741825 >>> y)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 307: RHS constant
x = 1073741825;
result = (x >>> 2)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 308: both arguments variables
x = -1073741823;
y = 2;
result = (x >>> y);
check = 805306368;
if(result != check) { fail(test, check, result); } ++test; 

// Test 309: both arguments constants
result = (-1073741823 >>> 2)
check = 805306368
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 310: LHS constant
y = 2;
result = (-1073741823 >>> y)
check = 805306368
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 311: RHS constant
x = -1073741823;
result = (x >>> 2)
check = 805306368
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 312: both arguments variables
x = (-0x3fffffff-1);
y = 2;
result = (x >>> y);
check = 805306368;
if(result != check) { fail(test, check, result); } ++test; 

// Test 313: both arguments constants
result = ((-0x3fffffff-1) >>> 2)
check = 805306368
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 314: LHS constant
y = 2;
result = ((-0x3fffffff-1) >>> y)
check = 805306368
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 315: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 2)
check = 805306368
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 316: both arguments variables
x = -1073741825;
y = 2;
result = (x >>> y);
check = 805306367;
if(result != check) { fail(test, check, result); } ++test; 

// Test 317: both arguments constants
result = (-1073741825 >>> 2)
check = 805306367
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 318: LHS constant
y = 2;
result = (-1073741825 >>> y)
check = 805306367
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 319: RHS constant
x = -1073741825;
result = (x >>> 2)
check = 805306367
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 320: both arguments variables
x = -1073741826;
y = 2;
result = (x >>> y);
check = 805306367;
if(result != check) { fail(test, check, result); } ++test; 

// Test 321: both arguments constants
result = (-1073741826 >>> 2)
check = 805306367
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 322: LHS constant
y = 2;
result = (-1073741826 >>> y)
check = 805306367
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 323: RHS constant
x = -1073741826;
result = (x >>> 2)
check = 805306367
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 324: both arguments variables
x = 2147483646;
y = 2;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 325: both arguments constants
result = (2147483646 >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 326: LHS constant
y = 2;
result = (2147483646 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 327: RHS constant
x = 2147483646;
result = (x >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 328: both arguments variables
x = 2147483647;
y = 2;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 329: both arguments constants
result = (2147483647 >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 330: LHS constant
y = 2;
result = (2147483647 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 331: RHS constant
x = 2147483647;
result = (x >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 332: both arguments variables
x = 2147483648;
y = 2;
result = (x >>> y);
check = 536870912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 333: both arguments constants
result = (2147483648 >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 334: LHS constant
y = 2;
result = (2147483648 >>> y)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 335: RHS constant
x = 2147483648;
result = (x >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 336: both arguments variables
x = 2147483649;
y = 2;
result = (x >>> y);
check = 536870912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 337: both arguments constants
result = (2147483649 >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 338: LHS constant
y = 2;
result = (2147483649 >>> y)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 339: RHS constant
x = 2147483649;
result = (x >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 340: both arguments variables
x = -2147483647;
y = 2;
result = (x >>> y);
check = 536870912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 341: both arguments constants
result = (-2147483647 >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 342: LHS constant
y = 2;
result = (-2147483647 >>> y)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 343: RHS constant
x = -2147483647;
result = (x >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 344: both arguments variables
x = -2147483648;
y = 2;
result = (x >>> y);
check = 536870912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 345: both arguments constants
result = (-2147483648 >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 346: LHS constant
y = 2;
result = (-2147483648 >>> y)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 347: RHS constant
x = -2147483648;
result = (x >>> 2)
check = 536870912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 348: both arguments variables
x = -2147483649;
y = 2;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 349: both arguments constants
result = (-2147483649 >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 350: LHS constant
y = 2;
result = (-2147483649 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 351: RHS constant
x = -2147483649;
result = (x >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 352: both arguments variables
x = -2147483650;
y = 2;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 353: both arguments constants
result = (-2147483650 >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 354: LHS constant
y = 2;
result = (-2147483650 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 355: RHS constant
x = -2147483650;
result = (x >>> 2)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 356: both arguments variables
x = 4294967295;
y = 2;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 357: both arguments constants
result = (4294967295 >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 358: LHS constant
y = 2;
result = (4294967295 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 359: RHS constant
x = 4294967295;
result = (x >>> 2)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 360: both arguments variables
x = 4294967296;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 361: both arguments constants
result = (4294967296 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 362: LHS constant
y = 2;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 363: RHS constant
x = 4294967296;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 364: both arguments variables
x = -4294967295;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 365: both arguments constants
result = (-4294967295 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 366: LHS constant
y = 2;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 367: RHS constant
x = -4294967295;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 368: both arguments variables
x = -4294967296;
y = 2;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 369: both arguments constants
result = (-4294967296 >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 370: LHS constant
y = 2;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 371: RHS constant
x = -4294967296;
result = (x >>> 2)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 372: both arguments variables
x = 0;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 373: both arguments constants
result = (0 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 374: LHS constant
y = 3;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 375: RHS constant
x = 0;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 376: both arguments variables
x = 1;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 377: both arguments constants
result = (1 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 378: LHS constant
y = 3;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 379: RHS constant
x = 1;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 380: both arguments variables
x = -1;
y = 3;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 381: both arguments constants
result = (-1 >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 382: LHS constant
y = 3;
result = (-1 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 383: RHS constant
x = -1;
result = (x >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 384: both arguments variables
x = 2;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 385: both arguments constants
result = (2 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 386: LHS constant
y = 3;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 387: RHS constant
x = 2;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 388: both arguments variables
x = -2;
y = 3;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 389: both arguments constants
result = (-2 >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 390: LHS constant
y = 3;
result = (-2 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 391: RHS constant
x = -2;
result = (x >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 392: both arguments variables
x = 3;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 393: both arguments constants
result = (3 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 394: LHS constant
y = 3;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 395: RHS constant
x = 3;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 396: both arguments variables
x = -3;
y = 3;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 397: both arguments constants
result = (-3 >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 398: LHS constant
y = 3;
result = (-3 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 399: RHS constant
x = -3;
result = (x >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test4() {
var x;
var y;
var result;
var check;
// Test 400: both arguments variables
x = 4;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 401: both arguments constants
result = (4 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 402: LHS constant
y = 3;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 403: RHS constant
x = 4;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 404: both arguments variables
x = -4;
y = 3;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 405: both arguments constants
result = (-4 >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 406: LHS constant
y = 3;
result = (-4 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 407: RHS constant
x = -4;
result = (x >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 408: both arguments variables
x = 8;
y = 3;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 409: both arguments constants
result = (8 >>> 3)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 410: LHS constant
y = 3;
result = (8 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 411: RHS constant
x = 8;
result = (x >>> 3)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 412: both arguments variables
x = -8;
y = 3;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 413: both arguments constants
result = (-8 >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 414: LHS constant
y = 3;
result = (-8 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 415: RHS constant
x = -8;
result = (x >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 416: both arguments variables
x = 1073741822;
y = 3;
result = (x >>> y);
check = 134217727;
if(result != check) { fail(test, check, result); } ++test; 

// Test 417: both arguments constants
result = (1073741822 >>> 3)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 418: LHS constant
y = 3;
result = (1073741822 >>> y)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 419: RHS constant
x = 1073741822;
result = (x >>> 3)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 420: both arguments variables
x = 1073741823;
y = 3;
result = (x >>> y);
check = 134217727;
if(result != check) { fail(test, check, result); } ++test; 

// Test 421: both arguments constants
result = (1073741823 >>> 3)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 422: LHS constant
y = 3;
result = (1073741823 >>> y)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 423: RHS constant
x = 1073741823;
result = (x >>> 3)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 424: both arguments variables
x = 1073741824;
y = 3;
result = (x >>> y);
check = 134217728;
if(result != check) { fail(test, check, result); } ++test; 

// Test 425: both arguments constants
result = (1073741824 >>> 3)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 426: LHS constant
y = 3;
result = (1073741824 >>> y)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 427: RHS constant
x = 1073741824;
result = (x >>> 3)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 428: both arguments variables
x = 1073741825;
y = 3;
result = (x >>> y);
check = 134217728;
if(result != check) { fail(test, check, result); } ++test; 

// Test 429: both arguments constants
result = (1073741825 >>> 3)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 430: LHS constant
y = 3;
result = (1073741825 >>> y)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 431: RHS constant
x = 1073741825;
result = (x >>> 3)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 432: both arguments variables
x = -1073741823;
y = 3;
result = (x >>> y);
check = 402653184;
if(result != check) { fail(test, check, result); } ++test; 

// Test 433: both arguments constants
result = (-1073741823 >>> 3)
check = 402653184
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 434: LHS constant
y = 3;
result = (-1073741823 >>> y)
check = 402653184
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 435: RHS constant
x = -1073741823;
result = (x >>> 3)
check = 402653184
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 436: both arguments variables
x = (-0x3fffffff-1);
y = 3;
result = (x >>> y);
check = 402653184;
if(result != check) { fail(test, check, result); } ++test; 

// Test 437: both arguments constants
result = ((-0x3fffffff-1) >>> 3)
check = 402653184
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 438: LHS constant
y = 3;
result = ((-0x3fffffff-1) >>> y)
check = 402653184
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 439: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 3)
check = 402653184
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 440: both arguments variables
x = -1073741825;
y = 3;
result = (x >>> y);
check = 402653183;
if(result != check) { fail(test, check, result); } ++test; 

// Test 441: both arguments constants
result = (-1073741825 >>> 3)
check = 402653183
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 442: LHS constant
y = 3;
result = (-1073741825 >>> y)
check = 402653183
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 443: RHS constant
x = -1073741825;
result = (x >>> 3)
check = 402653183
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 444: both arguments variables
x = -1073741826;
y = 3;
result = (x >>> y);
check = 402653183;
if(result != check) { fail(test, check, result); } ++test; 

// Test 445: both arguments constants
result = (-1073741826 >>> 3)
check = 402653183
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 446: LHS constant
y = 3;
result = (-1073741826 >>> y)
check = 402653183
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 447: RHS constant
x = -1073741826;
result = (x >>> 3)
check = 402653183
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 448: both arguments variables
x = 2147483646;
y = 3;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 449: both arguments constants
result = (2147483646 >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 450: LHS constant
y = 3;
result = (2147483646 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 451: RHS constant
x = 2147483646;
result = (x >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 452: both arguments variables
x = 2147483647;
y = 3;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 453: both arguments constants
result = (2147483647 >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 454: LHS constant
y = 3;
result = (2147483647 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 455: RHS constant
x = 2147483647;
result = (x >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 456: both arguments variables
x = 2147483648;
y = 3;
result = (x >>> y);
check = 268435456;
if(result != check) { fail(test, check, result); } ++test; 

// Test 457: both arguments constants
result = (2147483648 >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 458: LHS constant
y = 3;
result = (2147483648 >>> y)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 459: RHS constant
x = 2147483648;
result = (x >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 460: both arguments variables
x = 2147483649;
y = 3;
result = (x >>> y);
check = 268435456;
if(result != check) { fail(test, check, result); } ++test; 

// Test 461: both arguments constants
result = (2147483649 >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 462: LHS constant
y = 3;
result = (2147483649 >>> y)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 463: RHS constant
x = 2147483649;
result = (x >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 464: both arguments variables
x = -2147483647;
y = 3;
result = (x >>> y);
check = 268435456;
if(result != check) { fail(test, check, result); } ++test; 

// Test 465: both arguments constants
result = (-2147483647 >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 466: LHS constant
y = 3;
result = (-2147483647 >>> y)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 467: RHS constant
x = -2147483647;
result = (x >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 468: both arguments variables
x = -2147483648;
y = 3;
result = (x >>> y);
check = 268435456;
if(result != check) { fail(test, check, result); } ++test; 

// Test 469: both arguments constants
result = (-2147483648 >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 470: LHS constant
y = 3;
result = (-2147483648 >>> y)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 471: RHS constant
x = -2147483648;
result = (x >>> 3)
check = 268435456
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 472: both arguments variables
x = -2147483649;
y = 3;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 473: both arguments constants
result = (-2147483649 >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 474: LHS constant
y = 3;
result = (-2147483649 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 475: RHS constant
x = -2147483649;
result = (x >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 476: both arguments variables
x = -2147483650;
y = 3;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 477: both arguments constants
result = (-2147483650 >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 478: LHS constant
y = 3;
result = (-2147483650 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 479: RHS constant
x = -2147483650;
result = (x >>> 3)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 480: both arguments variables
x = 4294967295;
y = 3;
result = (x >>> y);
check = 536870911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 481: both arguments constants
result = (4294967295 >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 482: LHS constant
y = 3;
result = (4294967295 >>> y)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 483: RHS constant
x = 4294967295;
result = (x >>> 3)
check = 536870911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 484: both arguments variables
x = 4294967296;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 485: both arguments constants
result = (4294967296 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 486: LHS constant
y = 3;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 487: RHS constant
x = 4294967296;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 488: both arguments variables
x = -4294967295;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 489: both arguments constants
result = (-4294967295 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 490: LHS constant
y = 3;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 491: RHS constant
x = -4294967295;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 492: both arguments variables
x = -4294967296;
y = 3;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 493: both arguments constants
result = (-4294967296 >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 494: LHS constant
y = 3;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 495: RHS constant
x = -4294967296;
result = (x >>> 3)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 496: both arguments variables
x = 0;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 497: both arguments constants
result = (0 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 498: LHS constant
y = 4;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 499: RHS constant
x = 0;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test5() {
var x;
var y;
var result;
var check;
// Test 500: both arguments variables
x = 1;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 501: both arguments constants
result = (1 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 502: LHS constant
y = 4;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 503: RHS constant
x = 1;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 504: both arguments variables
x = -1;
y = 4;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 505: both arguments constants
result = (-1 >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 506: LHS constant
y = 4;
result = (-1 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 507: RHS constant
x = -1;
result = (x >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 508: both arguments variables
x = 2;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 509: both arguments constants
result = (2 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 510: LHS constant
y = 4;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 511: RHS constant
x = 2;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 512: both arguments variables
x = -2;
y = 4;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 513: both arguments constants
result = (-2 >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 514: LHS constant
y = 4;
result = (-2 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 515: RHS constant
x = -2;
result = (x >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 516: both arguments variables
x = 3;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 517: both arguments constants
result = (3 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 518: LHS constant
y = 4;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 519: RHS constant
x = 3;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 520: both arguments variables
x = -3;
y = 4;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 521: both arguments constants
result = (-3 >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 522: LHS constant
y = 4;
result = (-3 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 523: RHS constant
x = -3;
result = (x >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 524: both arguments variables
x = 4;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 525: both arguments constants
result = (4 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 526: LHS constant
y = 4;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 527: RHS constant
x = 4;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 528: both arguments variables
x = -4;
y = 4;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 529: both arguments constants
result = (-4 >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 530: LHS constant
y = 4;
result = (-4 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 531: RHS constant
x = -4;
result = (x >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 532: both arguments variables
x = 8;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 533: both arguments constants
result = (8 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 534: LHS constant
y = 4;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 535: RHS constant
x = 8;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 536: both arguments variables
x = -8;
y = 4;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 537: both arguments constants
result = (-8 >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 538: LHS constant
y = 4;
result = (-8 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 539: RHS constant
x = -8;
result = (x >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 540: both arguments variables
x = 1073741822;
y = 4;
result = (x >>> y);
check = 67108863;
if(result != check) { fail(test, check, result); } ++test; 

// Test 541: both arguments constants
result = (1073741822 >>> 4)
check = 67108863
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 542: LHS constant
y = 4;
result = (1073741822 >>> y)
check = 67108863
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 543: RHS constant
x = 1073741822;
result = (x >>> 4)
check = 67108863
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 544: both arguments variables
x = 1073741823;
y = 4;
result = (x >>> y);
check = 67108863;
if(result != check) { fail(test, check, result); } ++test; 

// Test 545: both arguments constants
result = (1073741823 >>> 4)
check = 67108863
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 546: LHS constant
y = 4;
result = (1073741823 >>> y)
check = 67108863
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 547: RHS constant
x = 1073741823;
result = (x >>> 4)
check = 67108863
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 548: both arguments variables
x = 1073741824;
y = 4;
result = (x >>> y);
check = 67108864;
if(result != check) { fail(test, check, result); } ++test; 

// Test 549: both arguments constants
result = (1073741824 >>> 4)
check = 67108864
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 550: LHS constant
y = 4;
result = (1073741824 >>> y)
check = 67108864
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 551: RHS constant
x = 1073741824;
result = (x >>> 4)
check = 67108864
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 552: both arguments variables
x = 1073741825;
y = 4;
result = (x >>> y);
check = 67108864;
if(result != check) { fail(test, check, result); } ++test; 

// Test 553: both arguments constants
result = (1073741825 >>> 4)
check = 67108864
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 554: LHS constant
y = 4;
result = (1073741825 >>> y)
check = 67108864
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 555: RHS constant
x = 1073741825;
result = (x >>> 4)
check = 67108864
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 556: both arguments variables
x = -1073741823;
y = 4;
result = (x >>> y);
check = 201326592;
if(result != check) { fail(test, check, result); } ++test; 

// Test 557: both arguments constants
result = (-1073741823 >>> 4)
check = 201326592
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 558: LHS constant
y = 4;
result = (-1073741823 >>> y)
check = 201326592
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 559: RHS constant
x = -1073741823;
result = (x >>> 4)
check = 201326592
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 560: both arguments variables
x = (-0x3fffffff-1);
y = 4;
result = (x >>> y);
check = 201326592;
if(result != check) { fail(test, check, result); } ++test; 

// Test 561: both arguments constants
result = ((-0x3fffffff-1) >>> 4)
check = 201326592
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 562: LHS constant
y = 4;
result = ((-0x3fffffff-1) >>> y)
check = 201326592
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 563: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 4)
check = 201326592
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 564: both arguments variables
x = -1073741825;
y = 4;
result = (x >>> y);
check = 201326591;
if(result != check) { fail(test, check, result); } ++test; 

// Test 565: both arguments constants
result = (-1073741825 >>> 4)
check = 201326591
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 566: LHS constant
y = 4;
result = (-1073741825 >>> y)
check = 201326591
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 567: RHS constant
x = -1073741825;
result = (x >>> 4)
check = 201326591
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 568: both arguments variables
x = -1073741826;
y = 4;
result = (x >>> y);
check = 201326591;
if(result != check) { fail(test, check, result); } ++test; 

// Test 569: both arguments constants
result = (-1073741826 >>> 4)
check = 201326591
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 570: LHS constant
y = 4;
result = (-1073741826 >>> y)
check = 201326591
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 571: RHS constant
x = -1073741826;
result = (x >>> 4)
check = 201326591
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 572: both arguments variables
x = 2147483646;
y = 4;
result = (x >>> y);
check = 134217727;
if(result != check) { fail(test, check, result); } ++test; 

// Test 573: both arguments constants
result = (2147483646 >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 574: LHS constant
y = 4;
result = (2147483646 >>> y)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 575: RHS constant
x = 2147483646;
result = (x >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 576: both arguments variables
x = 2147483647;
y = 4;
result = (x >>> y);
check = 134217727;
if(result != check) { fail(test, check, result); } ++test; 

// Test 577: both arguments constants
result = (2147483647 >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 578: LHS constant
y = 4;
result = (2147483647 >>> y)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 579: RHS constant
x = 2147483647;
result = (x >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 580: both arguments variables
x = 2147483648;
y = 4;
result = (x >>> y);
check = 134217728;
if(result != check) { fail(test, check, result); } ++test; 

// Test 581: both arguments constants
result = (2147483648 >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 582: LHS constant
y = 4;
result = (2147483648 >>> y)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 583: RHS constant
x = 2147483648;
result = (x >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 584: both arguments variables
x = 2147483649;
y = 4;
result = (x >>> y);
check = 134217728;
if(result != check) { fail(test, check, result); } ++test; 

// Test 585: both arguments constants
result = (2147483649 >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 586: LHS constant
y = 4;
result = (2147483649 >>> y)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 587: RHS constant
x = 2147483649;
result = (x >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 588: both arguments variables
x = -2147483647;
y = 4;
result = (x >>> y);
check = 134217728;
if(result != check) { fail(test, check, result); } ++test; 

// Test 589: both arguments constants
result = (-2147483647 >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 590: LHS constant
y = 4;
result = (-2147483647 >>> y)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 591: RHS constant
x = -2147483647;
result = (x >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 592: both arguments variables
x = -2147483648;
y = 4;
result = (x >>> y);
check = 134217728;
if(result != check) { fail(test, check, result); } ++test; 

// Test 593: both arguments constants
result = (-2147483648 >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 594: LHS constant
y = 4;
result = (-2147483648 >>> y)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 595: RHS constant
x = -2147483648;
result = (x >>> 4)
check = 134217728
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 596: both arguments variables
x = -2147483649;
y = 4;
result = (x >>> y);
check = 134217727;
if(result != check) { fail(test, check, result); } ++test; 

// Test 597: both arguments constants
result = (-2147483649 >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 598: LHS constant
y = 4;
result = (-2147483649 >>> y)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 599: RHS constant
x = -2147483649;
result = (x >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test6() {
var x;
var y;
var result;
var check;
// Test 600: both arguments variables
x = -2147483650;
y = 4;
result = (x >>> y);
check = 134217727;
if(result != check) { fail(test, check, result); } ++test; 

// Test 601: both arguments constants
result = (-2147483650 >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 602: LHS constant
y = 4;
result = (-2147483650 >>> y)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 603: RHS constant
x = -2147483650;
result = (x >>> 4)
check = 134217727
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 604: both arguments variables
x = 4294967295;
y = 4;
result = (x >>> y);
check = 268435455;
if(result != check) { fail(test, check, result); } ++test; 

// Test 605: both arguments constants
result = (4294967295 >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 606: LHS constant
y = 4;
result = (4294967295 >>> y)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 607: RHS constant
x = 4294967295;
result = (x >>> 4)
check = 268435455
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 608: both arguments variables
x = 4294967296;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 609: both arguments constants
result = (4294967296 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 610: LHS constant
y = 4;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 611: RHS constant
x = 4294967296;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 612: both arguments variables
x = -4294967295;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 613: both arguments constants
result = (-4294967295 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 614: LHS constant
y = 4;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 615: RHS constant
x = -4294967295;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 616: both arguments variables
x = -4294967296;
y = 4;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 617: both arguments constants
result = (-4294967296 >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 618: LHS constant
y = 4;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 619: RHS constant
x = -4294967296;
result = (x >>> 4)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 620: both arguments variables
x = 0;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 621: both arguments constants
result = (0 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 622: LHS constant
y = 7;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 623: RHS constant
x = 0;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 624: both arguments variables
x = 1;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 625: both arguments constants
result = (1 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 626: LHS constant
y = 7;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 627: RHS constant
x = 1;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 628: both arguments variables
x = -1;
y = 7;
result = (x >>> y);
check = 33554431;
if(result != check) { fail(test, check, result); } ++test; 

// Test 629: both arguments constants
result = (-1 >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 630: LHS constant
y = 7;
result = (-1 >>> y)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 631: RHS constant
x = -1;
result = (x >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 632: both arguments variables
x = 2;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 633: both arguments constants
result = (2 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 634: LHS constant
y = 7;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 635: RHS constant
x = 2;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 636: both arguments variables
x = -2;
y = 7;
result = (x >>> y);
check = 33554431;
if(result != check) { fail(test, check, result); } ++test; 

// Test 637: both arguments constants
result = (-2 >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 638: LHS constant
y = 7;
result = (-2 >>> y)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 639: RHS constant
x = -2;
result = (x >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 640: both arguments variables
x = 3;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 641: both arguments constants
result = (3 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 642: LHS constant
y = 7;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 643: RHS constant
x = 3;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 644: both arguments variables
x = -3;
y = 7;
result = (x >>> y);
check = 33554431;
if(result != check) { fail(test, check, result); } ++test; 

// Test 645: both arguments constants
result = (-3 >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 646: LHS constant
y = 7;
result = (-3 >>> y)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 647: RHS constant
x = -3;
result = (x >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 648: both arguments variables
x = 4;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 649: both arguments constants
result = (4 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 650: LHS constant
y = 7;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 651: RHS constant
x = 4;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 652: both arguments variables
x = -4;
y = 7;
result = (x >>> y);
check = 33554431;
if(result != check) { fail(test, check, result); } ++test; 

// Test 653: both arguments constants
result = (-4 >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 654: LHS constant
y = 7;
result = (-4 >>> y)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 655: RHS constant
x = -4;
result = (x >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 656: both arguments variables
x = 8;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 657: both arguments constants
result = (8 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 658: LHS constant
y = 7;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 659: RHS constant
x = 8;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 660: both arguments variables
x = -8;
y = 7;
result = (x >>> y);
check = 33554431;
if(result != check) { fail(test, check, result); } ++test; 

// Test 661: both arguments constants
result = (-8 >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 662: LHS constant
y = 7;
result = (-8 >>> y)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 663: RHS constant
x = -8;
result = (x >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 664: both arguments variables
x = 1073741822;
y = 7;
result = (x >>> y);
check = 8388607;
if(result != check) { fail(test, check, result); } ++test; 

// Test 665: both arguments constants
result = (1073741822 >>> 7)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 666: LHS constant
y = 7;
result = (1073741822 >>> y)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 667: RHS constant
x = 1073741822;
result = (x >>> 7)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 668: both arguments variables
x = 1073741823;
y = 7;
result = (x >>> y);
check = 8388607;
if(result != check) { fail(test, check, result); } ++test; 

// Test 669: both arguments constants
result = (1073741823 >>> 7)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 670: LHS constant
y = 7;
result = (1073741823 >>> y)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 671: RHS constant
x = 1073741823;
result = (x >>> 7)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 672: both arguments variables
x = 1073741824;
y = 7;
result = (x >>> y);
check = 8388608;
if(result != check) { fail(test, check, result); } ++test; 

// Test 673: both arguments constants
result = (1073741824 >>> 7)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 674: LHS constant
y = 7;
result = (1073741824 >>> y)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 675: RHS constant
x = 1073741824;
result = (x >>> 7)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 676: both arguments variables
x = 1073741825;
y = 7;
result = (x >>> y);
check = 8388608;
if(result != check) { fail(test, check, result); } ++test; 

// Test 677: both arguments constants
result = (1073741825 >>> 7)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 678: LHS constant
y = 7;
result = (1073741825 >>> y)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 679: RHS constant
x = 1073741825;
result = (x >>> 7)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 680: both arguments variables
x = -1073741823;
y = 7;
result = (x >>> y);
check = 25165824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 681: both arguments constants
result = (-1073741823 >>> 7)
check = 25165824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 682: LHS constant
y = 7;
result = (-1073741823 >>> y)
check = 25165824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 683: RHS constant
x = -1073741823;
result = (x >>> 7)
check = 25165824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 684: both arguments variables
x = (-0x3fffffff-1);
y = 7;
result = (x >>> y);
check = 25165824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 685: both arguments constants
result = ((-0x3fffffff-1) >>> 7)
check = 25165824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 686: LHS constant
y = 7;
result = ((-0x3fffffff-1) >>> y)
check = 25165824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 687: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 7)
check = 25165824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 688: both arguments variables
x = -1073741825;
y = 7;
result = (x >>> y);
check = 25165823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 689: both arguments constants
result = (-1073741825 >>> 7)
check = 25165823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 690: LHS constant
y = 7;
result = (-1073741825 >>> y)
check = 25165823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 691: RHS constant
x = -1073741825;
result = (x >>> 7)
check = 25165823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 692: both arguments variables
x = -1073741826;
y = 7;
result = (x >>> y);
check = 25165823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 693: both arguments constants
result = (-1073741826 >>> 7)
check = 25165823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 694: LHS constant
y = 7;
result = (-1073741826 >>> y)
check = 25165823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 695: RHS constant
x = -1073741826;
result = (x >>> 7)
check = 25165823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 696: both arguments variables
x = 2147483646;
y = 7;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 697: both arguments constants
result = (2147483646 >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 698: LHS constant
y = 7;
result = (2147483646 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 699: RHS constant
x = 2147483646;
result = (x >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test7() {
var x;
var y;
var result;
var check;
// Test 700: both arguments variables
x = 2147483647;
y = 7;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 701: both arguments constants
result = (2147483647 >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 702: LHS constant
y = 7;
result = (2147483647 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 703: RHS constant
x = 2147483647;
result = (x >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 704: both arguments variables
x = 2147483648;
y = 7;
result = (x >>> y);
check = 16777216;
if(result != check) { fail(test, check, result); } ++test; 

// Test 705: both arguments constants
result = (2147483648 >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 706: LHS constant
y = 7;
result = (2147483648 >>> y)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 707: RHS constant
x = 2147483648;
result = (x >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 708: both arguments variables
x = 2147483649;
y = 7;
result = (x >>> y);
check = 16777216;
if(result != check) { fail(test, check, result); } ++test; 

// Test 709: both arguments constants
result = (2147483649 >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 710: LHS constant
y = 7;
result = (2147483649 >>> y)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 711: RHS constant
x = 2147483649;
result = (x >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 712: both arguments variables
x = -2147483647;
y = 7;
result = (x >>> y);
check = 16777216;
if(result != check) { fail(test, check, result); } ++test; 

// Test 713: both arguments constants
result = (-2147483647 >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 714: LHS constant
y = 7;
result = (-2147483647 >>> y)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 715: RHS constant
x = -2147483647;
result = (x >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 716: both arguments variables
x = -2147483648;
y = 7;
result = (x >>> y);
check = 16777216;
if(result != check) { fail(test, check, result); } ++test; 

// Test 717: both arguments constants
result = (-2147483648 >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 718: LHS constant
y = 7;
result = (-2147483648 >>> y)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 719: RHS constant
x = -2147483648;
result = (x >>> 7)
check = 16777216
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 720: both arguments variables
x = -2147483649;
y = 7;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 721: both arguments constants
result = (-2147483649 >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 722: LHS constant
y = 7;
result = (-2147483649 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 723: RHS constant
x = -2147483649;
result = (x >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 724: both arguments variables
x = -2147483650;
y = 7;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 725: both arguments constants
result = (-2147483650 >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 726: LHS constant
y = 7;
result = (-2147483650 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 727: RHS constant
x = -2147483650;
result = (x >>> 7)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 728: both arguments variables
x = 4294967295;
y = 7;
result = (x >>> y);
check = 33554431;
if(result != check) { fail(test, check, result); } ++test; 

// Test 729: both arguments constants
result = (4294967295 >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 730: LHS constant
y = 7;
result = (4294967295 >>> y)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 731: RHS constant
x = 4294967295;
result = (x >>> 7)
check = 33554431
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 732: both arguments variables
x = 4294967296;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 733: both arguments constants
result = (4294967296 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 734: LHS constant
y = 7;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 735: RHS constant
x = 4294967296;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 736: both arguments variables
x = -4294967295;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 737: both arguments constants
result = (-4294967295 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 738: LHS constant
y = 7;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 739: RHS constant
x = -4294967295;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 740: both arguments variables
x = -4294967296;
y = 7;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 741: both arguments constants
result = (-4294967296 >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 742: LHS constant
y = 7;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 743: RHS constant
x = -4294967296;
result = (x >>> 7)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 744: both arguments variables
x = 0;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 745: both arguments constants
result = (0 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 746: LHS constant
y = 8;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 747: RHS constant
x = 0;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 748: both arguments variables
x = 1;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 749: both arguments constants
result = (1 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 750: LHS constant
y = 8;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 751: RHS constant
x = 1;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 752: both arguments variables
x = -1;
y = 8;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 753: both arguments constants
result = (-1 >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 754: LHS constant
y = 8;
result = (-1 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 755: RHS constant
x = -1;
result = (x >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 756: both arguments variables
x = 2;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 757: both arguments constants
result = (2 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 758: LHS constant
y = 8;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 759: RHS constant
x = 2;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 760: both arguments variables
x = -2;
y = 8;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 761: both arguments constants
result = (-2 >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 762: LHS constant
y = 8;
result = (-2 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 763: RHS constant
x = -2;
result = (x >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 764: both arguments variables
x = 3;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 765: both arguments constants
result = (3 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 766: LHS constant
y = 8;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 767: RHS constant
x = 3;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 768: both arguments variables
x = -3;
y = 8;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 769: both arguments constants
result = (-3 >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 770: LHS constant
y = 8;
result = (-3 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 771: RHS constant
x = -3;
result = (x >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 772: both arguments variables
x = 4;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 773: both arguments constants
result = (4 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 774: LHS constant
y = 8;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 775: RHS constant
x = 4;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 776: both arguments variables
x = -4;
y = 8;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 777: both arguments constants
result = (-4 >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 778: LHS constant
y = 8;
result = (-4 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 779: RHS constant
x = -4;
result = (x >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 780: both arguments variables
x = 8;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 781: both arguments constants
result = (8 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 782: LHS constant
y = 8;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 783: RHS constant
x = 8;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 784: both arguments variables
x = -8;
y = 8;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 785: both arguments constants
result = (-8 >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 786: LHS constant
y = 8;
result = (-8 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 787: RHS constant
x = -8;
result = (x >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 788: both arguments variables
x = 1073741822;
y = 8;
result = (x >>> y);
check = 4194303;
if(result != check) { fail(test, check, result); } ++test; 

// Test 789: both arguments constants
result = (1073741822 >>> 8)
check = 4194303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 790: LHS constant
y = 8;
result = (1073741822 >>> y)
check = 4194303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 791: RHS constant
x = 1073741822;
result = (x >>> 8)
check = 4194303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 792: both arguments variables
x = 1073741823;
y = 8;
result = (x >>> y);
check = 4194303;
if(result != check) { fail(test, check, result); } ++test; 

// Test 793: both arguments constants
result = (1073741823 >>> 8)
check = 4194303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 794: LHS constant
y = 8;
result = (1073741823 >>> y)
check = 4194303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 795: RHS constant
x = 1073741823;
result = (x >>> 8)
check = 4194303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 796: both arguments variables
x = 1073741824;
y = 8;
result = (x >>> y);
check = 4194304;
if(result != check) { fail(test, check, result); } ++test; 

// Test 797: both arguments constants
result = (1073741824 >>> 8)
check = 4194304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 798: LHS constant
y = 8;
result = (1073741824 >>> y)
check = 4194304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 799: RHS constant
x = 1073741824;
result = (x >>> 8)
check = 4194304
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test8() {
var x;
var y;
var result;
var check;
// Test 800: both arguments variables
x = 1073741825;
y = 8;
result = (x >>> y);
check = 4194304;
if(result != check) { fail(test, check, result); } ++test; 

// Test 801: both arguments constants
result = (1073741825 >>> 8)
check = 4194304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 802: LHS constant
y = 8;
result = (1073741825 >>> y)
check = 4194304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 803: RHS constant
x = 1073741825;
result = (x >>> 8)
check = 4194304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 804: both arguments variables
x = -1073741823;
y = 8;
result = (x >>> y);
check = 12582912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 805: both arguments constants
result = (-1073741823 >>> 8)
check = 12582912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 806: LHS constant
y = 8;
result = (-1073741823 >>> y)
check = 12582912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 807: RHS constant
x = -1073741823;
result = (x >>> 8)
check = 12582912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 808: both arguments variables
x = (-0x3fffffff-1);
y = 8;
result = (x >>> y);
check = 12582912;
if(result != check) { fail(test, check, result); } ++test; 

// Test 809: both arguments constants
result = ((-0x3fffffff-1) >>> 8)
check = 12582912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 810: LHS constant
y = 8;
result = ((-0x3fffffff-1) >>> y)
check = 12582912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 811: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 8)
check = 12582912
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 812: both arguments variables
x = -1073741825;
y = 8;
result = (x >>> y);
check = 12582911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 813: both arguments constants
result = (-1073741825 >>> 8)
check = 12582911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 814: LHS constant
y = 8;
result = (-1073741825 >>> y)
check = 12582911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 815: RHS constant
x = -1073741825;
result = (x >>> 8)
check = 12582911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 816: both arguments variables
x = -1073741826;
y = 8;
result = (x >>> y);
check = 12582911;
if(result != check) { fail(test, check, result); } ++test; 

// Test 817: both arguments constants
result = (-1073741826 >>> 8)
check = 12582911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 818: LHS constant
y = 8;
result = (-1073741826 >>> y)
check = 12582911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 819: RHS constant
x = -1073741826;
result = (x >>> 8)
check = 12582911
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 820: both arguments variables
x = 2147483646;
y = 8;
result = (x >>> y);
check = 8388607;
if(result != check) { fail(test, check, result); } ++test; 

// Test 821: both arguments constants
result = (2147483646 >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 822: LHS constant
y = 8;
result = (2147483646 >>> y)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 823: RHS constant
x = 2147483646;
result = (x >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 824: both arguments variables
x = 2147483647;
y = 8;
result = (x >>> y);
check = 8388607;
if(result != check) { fail(test, check, result); } ++test; 

// Test 825: both arguments constants
result = (2147483647 >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 826: LHS constant
y = 8;
result = (2147483647 >>> y)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 827: RHS constant
x = 2147483647;
result = (x >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 828: both arguments variables
x = 2147483648;
y = 8;
result = (x >>> y);
check = 8388608;
if(result != check) { fail(test, check, result); } ++test; 

// Test 829: both arguments constants
result = (2147483648 >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 830: LHS constant
y = 8;
result = (2147483648 >>> y)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 831: RHS constant
x = 2147483648;
result = (x >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 832: both arguments variables
x = 2147483649;
y = 8;
result = (x >>> y);
check = 8388608;
if(result != check) { fail(test, check, result); } ++test; 

// Test 833: both arguments constants
result = (2147483649 >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 834: LHS constant
y = 8;
result = (2147483649 >>> y)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 835: RHS constant
x = 2147483649;
result = (x >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 836: both arguments variables
x = -2147483647;
y = 8;
result = (x >>> y);
check = 8388608;
if(result != check) { fail(test, check, result); } ++test; 

// Test 837: both arguments constants
result = (-2147483647 >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 838: LHS constant
y = 8;
result = (-2147483647 >>> y)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 839: RHS constant
x = -2147483647;
result = (x >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 840: both arguments variables
x = -2147483648;
y = 8;
result = (x >>> y);
check = 8388608;
if(result != check) { fail(test, check, result); } ++test; 

// Test 841: both arguments constants
result = (-2147483648 >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 842: LHS constant
y = 8;
result = (-2147483648 >>> y)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 843: RHS constant
x = -2147483648;
result = (x >>> 8)
check = 8388608
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 844: both arguments variables
x = -2147483649;
y = 8;
result = (x >>> y);
check = 8388607;
if(result != check) { fail(test, check, result); } ++test; 

// Test 845: both arguments constants
result = (-2147483649 >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 846: LHS constant
y = 8;
result = (-2147483649 >>> y)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 847: RHS constant
x = -2147483649;
result = (x >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 848: both arguments variables
x = -2147483650;
y = 8;
result = (x >>> y);
check = 8388607;
if(result != check) { fail(test, check, result); } ++test; 

// Test 849: both arguments constants
result = (-2147483650 >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 850: LHS constant
y = 8;
result = (-2147483650 >>> y)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 851: RHS constant
x = -2147483650;
result = (x >>> 8)
check = 8388607
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 852: both arguments variables
x = 4294967295;
y = 8;
result = (x >>> y);
check = 16777215;
if(result != check) { fail(test, check, result); } ++test; 

// Test 853: both arguments constants
result = (4294967295 >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 854: LHS constant
y = 8;
result = (4294967295 >>> y)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 855: RHS constant
x = 4294967295;
result = (x >>> 8)
check = 16777215
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 856: both arguments variables
x = 4294967296;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 857: both arguments constants
result = (4294967296 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 858: LHS constant
y = 8;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 859: RHS constant
x = 4294967296;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 860: both arguments variables
x = -4294967295;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 861: both arguments constants
result = (-4294967295 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 862: LHS constant
y = 8;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 863: RHS constant
x = -4294967295;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 864: both arguments variables
x = -4294967296;
y = 8;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 865: both arguments constants
result = (-4294967296 >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 866: LHS constant
y = 8;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 867: RHS constant
x = -4294967296;
result = (x >>> 8)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 868: both arguments variables
x = 0;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 869: both arguments constants
result = (0 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 870: LHS constant
y = 15;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 871: RHS constant
x = 0;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 872: both arguments variables
x = 1;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 873: both arguments constants
result = (1 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 874: LHS constant
y = 15;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 875: RHS constant
x = 1;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 876: both arguments variables
x = -1;
y = 15;
result = (x >>> y);
check = 131071;
if(result != check) { fail(test, check, result); } ++test; 

// Test 877: both arguments constants
result = (-1 >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 878: LHS constant
y = 15;
result = (-1 >>> y)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 879: RHS constant
x = -1;
result = (x >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 880: both arguments variables
x = 2;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 881: both arguments constants
result = (2 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 882: LHS constant
y = 15;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 883: RHS constant
x = 2;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 884: both arguments variables
x = -2;
y = 15;
result = (x >>> y);
check = 131071;
if(result != check) { fail(test, check, result); } ++test; 

// Test 885: both arguments constants
result = (-2 >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 886: LHS constant
y = 15;
result = (-2 >>> y)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 887: RHS constant
x = -2;
result = (x >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 888: both arguments variables
x = 3;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 889: both arguments constants
result = (3 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 890: LHS constant
y = 15;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 891: RHS constant
x = 3;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 892: both arguments variables
x = -3;
y = 15;
result = (x >>> y);
check = 131071;
if(result != check) { fail(test, check, result); } ++test; 

// Test 893: both arguments constants
result = (-3 >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 894: LHS constant
y = 15;
result = (-3 >>> y)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 895: RHS constant
x = -3;
result = (x >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 896: both arguments variables
x = 4;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 897: both arguments constants
result = (4 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 898: LHS constant
y = 15;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 899: RHS constant
x = 4;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test9() {
var x;
var y;
var result;
var check;
// Test 900: both arguments variables
x = -4;
y = 15;
result = (x >>> y);
check = 131071;
if(result != check) { fail(test, check, result); } ++test; 

// Test 901: both arguments constants
result = (-4 >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 902: LHS constant
y = 15;
result = (-4 >>> y)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 903: RHS constant
x = -4;
result = (x >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 904: both arguments variables
x = 8;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 905: both arguments constants
result = (8 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 906: LHS constant
y = 15;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 907: RHS constant
x = 8;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 908: both arguments variables
x = -8;
y = 15;
result = (x >>> y);
check = 131071;
if(result != check) { fail(test, check, result); } ++test; 

// Test 909: both arguments constants
result = (-8 >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 910: LHS constant
y = 15;
result = (-8 >>> y)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 911: RHS constant
x = -8;
result = (x >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 912: both arguments variables
x = 1073741822;
y = 15;
result = (x >>> y);
check = 32767;
if(result != check) { fail(test, check, result); } ++test; 

// Test 913: both arguments constants
result = (1073741822 >>> 15)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 914: LHS constant
y = 15;
result = (1073741822 >>> y)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 915: RHS constant
x = 1073741822;
result = (x >>> 15)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 916: both arguments variables
x = 1073741823;
y = 15;
result = (x >>> y);
check = 32767;
if(result != check) { fail(test, check, result); } ++test; 

// Test 917: both arguments constants
result = (1073741823 >>> 15)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 918: LHS constant
y = 15;
result = (1073741823 >>> y)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 919: RHS constant
x = 1073741823;
result = (x >>> 15)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 920: both arguments variables
x = 1073741824;
y = 15;
result = (x >>> y);
check = 32768;
if(result != check) { fail(test, check, result); } ++test; 

// Test 921: both arguments constants
result = (1073741824 >>> 15)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 922: LHS constant
y = 15;
result = (1073741824 >>> y)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 923: RHS constant
x = 1073741824;
result = (x >>> 15)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 924: both arguments variables
x = 1073741825;
y = 15;
result = (x >>> y);
check = 32768;
if(result != check) { fail(test, check, result); } ++test; 

// Test 925: both arguments constants
result = (1073741825 >>> 15)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 926: LHS constant
y = 15;
result = (1073741825 >>> y)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 927: RHS constant
x = 1073741825;
result = (x >>> 15)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 928: both arguments variables
x = -1073741823;
y = 15;
result = (x >>> y);
check = 98304;
if(result != check) { fail(test, check, result); } ++test; 

// Test 929: both arguments constants
result = (-1073741823 >>> 15)
check = 98304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 930: LHS constant
y = 15;
result = (-1073741823 >>> y)
check = 98304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 931: RHS constant
x = -1073741823;
result = (x >>> 15)
check = 98304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 932: both arguments variables
x = (-0x3fffffff-1);
y = 15;
result = (x >>> y);
check = 98304;
if(result != check) { fail(test, check, result); } ++test; 

// Test 933: both arguments constants
result = ((-0x3fffffff-1) >>> 15)
check = 98304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 934: LHS constant
y = 15;
result = ((-0x3fffffff-1) >>> y)
check = 98304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 935: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 15)
check = 98304
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 936: both arguments variables
x = -1073741825;
y = 15;
result = (x >>> y);
check = 98303;
if(result != check) { fail(test, check, result); } ++test; 

// Test 937: both arguments constants
result = (-1073741825 >>> 15)
check = 98303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 938: LHS constant
y = 15;
result = (-1073741825 >>> y)
check = 98303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 939: RHS constant
x = -1073741825;
result = (x >>> 15)
check = 98303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 940: both arguments variables
x = -1073741826;
y = 15;
result = (x >>> y);
check = 98303;
if(result != check) { fail(test, check, result); } ++test; 

// Test 941: both arguments constants
result = (-1073741826 >>> 15)
check = 98303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 942: LHS constant
y = 15;
result = (-1073741826 >>> y)
check = 98303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 943: RHS constant
x = -1073741826;
result = (x >>> 15)
check = 98303
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 944: both arguments variables
x = 2147483646;
y = 15;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 945: both arguments constants
result = (2147483646 >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 946: LHS constant
y = 15;
result = (2147483646 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 947: RHS constant
x = 2147483646;
result = (x >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 948: both arguments variables
x = 2147483647;
y = 15;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 949: both arguments constants
result = (2147483647 >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 950: LHS constant
y = 15;
result = (2147483647 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 951: RHS constant
x = 2147483647;
result = (x >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 952: both arguments variables
x = 2147483648;
y = 15;
result = (x >>> y);
check = 65536;
if(result != check) { fail(test, check, result); } ++test; 

// Test 953: both arguments constants
result = (2147483648 >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 954: LHS constant
y = 15;
result = (2147483648 >>> y)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 955: RHS constant
x = 2147483648;
result = (x >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 956: both arguments variables
x = 2147483649;
y = 15;
result = (x >>> y);
check = 65536;
if(result != check) { fail(test, check, result); } ++test; 

// Test 957: both arguments constants
result = (2147483649 >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 958: LHS constant
y = 15;
result = (2147483649 >>> y)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 959: RHS constant
x = 2147483649;
result = (x >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 960: both arguments variables
x = -2147483647;
y = 15;
result = (x >>> y);
check = 65536;
if(result != check) { fail(test, check, result); } ++test; 

// Test 961: both arguments constants
result = (-2147483647 >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 962: LHS constant
y = 15;
result = (-2147483647 >>> y)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 963: RHS constant
x = -2147483647;
result = (x >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 964: both arguments variables
x = -2147483648;
y = 15;
result = (x >>> y);
check = 65536;
if(result != check) { fail(test, check, result); } ++test; 

// Test 965: both arguments constants
result = (-2147483648 >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 966: LHS constant
y = 15;
result = (-2147483648 >>> y)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 967: RHS constant
x = -2147483648;
result = (x >>> 15)
check = 65536
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 968: both arguments variables
x = -2147483649;
y = 15;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 969: both arguments constants
result = (-2147483649 >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 970: LHS constant
y = 15;
result = (-2147483649 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 971: RHS constant
x = -2147483649;
result = (x >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 972: both arguments variables
x = -2147483650;
y = 15;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 973: both arguments constants
result = (-2147483650 >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 974: LHS constant
y = 15;
result = (-2147483650 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 975: RHS constant
x = -2147483650;
result = (x >>> 15)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 976: both arguments variables
x = 4294967295;
y = 15;
result = (x >>> y);
check = 131071;
if(result != check) { fail(test, check, result); } ++test; 

// Test 977: both arguments constants
result = (4294967295 >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 978: LHS constant
y = 15;
result = (4294967295 >>> y)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 979: RHS constant
x = 4294967295;
result = (x >>> 15)
check = 131071
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 980: both arguments variables
x = 4294967296;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 981: both arguments constants
result = (4294967296 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 982: LHS constant
y = 15;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 983: RHS constant
x = 4294967296;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 984: both arguments variables
x = -4294967295;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 985: both arguments constants
result = (-4294967295 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 986: LHS constant
y = 15;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 987: RHS constant
x = -4294967295;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 988: both arguments variables
x = -4294967296;
y = 15;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 989: both arguments constants
result = (-4294967296 >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 990: LHS constant
y = 15;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 991: RHS constant
x = -4294967296;
result = (x >>> 15)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 992: both arguments variables
x = 0;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 993: both arguments constants
result = (0 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 994: LHS constant
y = 16;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 995: RHS constant
x = 0;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 996: both arguments variables
x = 1;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 997: both arguments constants
result = (1 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 998: LHS constant
y = 16;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 999: RHS constant
x = 1;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test10() {
var x;
var y;
var result;
var check;
// Test 1000: both arguments variables
x = -1;
y = 16;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1001: both arguments constants
result = (-1 >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1002: LHS constant
y = 16;
result = (-1 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1003: RHS constant
x = -1;
result = (x >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1004: both arguments variables
x = 2;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1005: both arguments constants
result = (2 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1006: LHS constant
y = 16;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1007: RHS constant
x = 2;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1008: both arguments variables
x = -2;
y = 16;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1009: both arguments constants
result = (-2 >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1010: LHS constant
y = 16;
result = (-2 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1011: RHS constant
x = -2;
result = (x >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1012: both arguments variables
x = 3;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1013: both arguments constants
result = (3 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1014: LHS constant
y = 16;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1015: RHS constant
x = 3;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1016: both arguments variables
x = -3;
y = 16;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1017: both arguments constants
result = (-3 >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1018: LHS constant
y = 16;
result = (-3 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1019: RHS constant
x = -3;
result = (x >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1020: both arguments variables
x = 4;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1021: both arguments constants
result = (4 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1022: LHS constant
y = 16;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1023: RHS constant
x = 4;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1024: both arguments variables
x = -4;
y = 16;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1025: both arguments constants
result = (-4 >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1026: LHS constant
y = 16;
result = (-4 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1027: RHS constant
x = -4;
result = (x >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1028: both arguments variables
x = 8;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1029: both arguments constants
result = (8 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1030: LHS constant
y = 16;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1031: RHS constant
x = 8;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1032: both arguments variables
x = -8;
y = 16;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1033: both arguments constants
result = (-8 >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1034: LHS constant
y = 16;
result = (-8 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1035: RHS constant
x = -8;
result = (x >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1036: both arguments variables
x = 1073741822;
y = 16;
result = (x >>> y);
check = 16383;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1037: both arguments constants
result = (1073741822 >>> 16)
check = 16383
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1038: LHS constant
y = 16;
result = (1073741822 >>> y)
check = 16383
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1039: RHS constant
x = 1073741822;
result = (x >>> 16)
check = 16383
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1040: both arguments variables
x = 1073741823;
y = 16;
result = (x >>> y);
check = 16383;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1041: both arguments constants
result = (1073741823 >>> 16)
check = 16383
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1042: LHS constant
y = 16;
result = (1073741823 >>> y)
check = 16383
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1043: RHS constant
x = 1073741823;
result = (x >>> 16)
check = 16383
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1044: both arguments variables
x = 1073741824;
y = 16;
result = (x >>> y);
check = 16384;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1045: both arguments constants
result = (1073741824 >>> 16)
check = 16384
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1046: LHS constant
y = 16;
result = (1073741824 >>> y)
check = 16384
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1047: RHS constant
x = 1073741824;
result = (x >>> 16)
check = 16384
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1048: both arguments variables
x = 1073741825;
y = 16;
result = (x >>> y);
check = 16384;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1049: both arguments constants
result = (1073741825 >>> 16)
check = 16384
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1050: LHS constant
y = 16;
result = (1073741825 >>> y)
check = 16384
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1051: RHS constant
x = 1073741825;
result = (x >>> 16)
check = 16384
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1052: both arguments variables
x = -1073741823;
y = 16;
result = (x >>> y);
check = 49152;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1053: both arguments constants
result = (-1073741823 >>> 16)
check = 49152
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1054: LHS constant
y = 16;
result = (-1073741823 >>> y)
check = 49152
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1055: RHS constant
x = -1073741823;
result = (x >>> 16)
check = 49152
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1056: both arguments variables
x = (-0x3fffffff-1);
y = 16;
result = (x >>> y);
check = 49152;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1057: both arguments constants
result = ((-0x3fffffff-1) >>> 16)
check = 49152
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1058: LHS constant
y = 16;
result = ((-0x3fffffff-1) >>> y)
check = 49152
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1059: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 16)
check = 49152
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1060: both arguments variables
x = -1073741825;
y = 16;
result = (x >>> y);
check = 49151;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1061: both arguments constants
result = (-1073741825 >>> 16)
check = 49151
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1062: LHS constant
y = 16;
result = (-1073741825 >>> y)
check = 49151
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1063: RHS constant
x = -1073741825;
result = (x >>> 16)
check = 49151
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1064: both arguments variables
x = -1073741826;
y = 16;
result = (x >>> y);
check = 49151;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1065: both arguments constants
result = (-1073741826 >>> 16)
check = 49151
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1066: LHS constant
y = 16;
result = (-1073741826 >>> y)
check = 49151
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1067: RHS constant
x = -1073741826;
result = (x >>> 16)
check = 49151
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1068: both arguments variables
x = 2147483646;
y = 16;
result = (x >>> y);
check = 32767;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1069: both arguments constants
result = (2147483646 >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1070: LHS constant
y = 16;
result = (2147483646 >>> y)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1071: RHS constant
x = 2147483646;
result = (x >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1072: both arguments variables
x = 2147483647;
y = 16;
result = (x >>> y);
check = 32767;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1073: both arguments constants
result = (2147483647 >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1074: LHS constant
y = 16;
result = (2147483647 >>> y)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1075: RHS constant
x = 2147483647;
result = (x >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1076: both arguments variables
x = 2147483648;
y = 16;
result = (x >>> y);
check = 32768;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1077: both arguments constants
result = (2147483648 >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1078: LHS constant
y = 16;
result = (2147483648 >>> y)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1079: RHS constant
x = 2147483648;
result = (x >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1080: both arguments variables
x = 2147483649;
y = 16;
result = (x >>> y);
check = 32768;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1081: both arguments constants
result = (2147483649 >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1082: LHS constant
y = 16;
result = (2147483649 >>> y)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1083: RHS constant
x = 2147483649;
result = (x >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1084: both arguments variables
x = -2147483647;
y = 16;
result = (x >>> y);
check = 32768;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1085: both arguments constants
result = (-2147483647 >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1086: LHS constant
y = 16;
result = (-2147483647 >>> y)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1087: RHS constant
x = -2147483647;
result = (x >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1088: both arguments variables
x = -2147483648;
y = 16;
result = (x >>> y);
check = 32768;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1089: both arguments constants
result = (-2147483648 >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1090: LHS constant
y = 16;
result = (-2147483648 >>> y)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1091: RHS constant
x = -2147483648;
result = (x >>> 16)
check = 32768
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1092: both arguments variables
x = -2147483649;
y = 16;
result = (x >>> y);
check = 32767;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1093: both arguments constants
result = (-2147483649 >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1094: LHS constant
y = 16;
result = (-2147483649 >>> y)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1095: RHS constant
x = -2147483649;
result = (x >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1096: both arguments variables
x = -2147483650;
y = 16;
result = (x >>> y);
check = 32767;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1097: both arguments constants
result = (-2147483650 >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1098: LHS constant
y = 16;
result = (-2147483650 >>> y)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1099: RHS constant
x = -2147483650;
result = (x >>> 16)
check = 32767
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test11() {
var x;
var y;
var result;
var check;
// Test 1100: both arguments variables
x = 4294967295;
y = 16;
result = (x >>> y);
check = 65535;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1101: both arguments constants
result = (4294967295 >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1102: LHS constant
y = 16;
result = (4294967295 >>> y)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1103: RHS constant
x = 4294967295;
result = (x >>> 16)
check = 65535
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1104: both arguments variables
x = 4294967296;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1105: both arguments constants
result = (4294967296 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1106: LHS constant
y = 16;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1107: RHS constant
x = 4294967296;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1108: both arguments variables
x = -4294967295;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1109: both arguments constants
result = (-4294967295 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1110: LHS constant
y = 16;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1111: RHS constant
x = -4294967295;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1112: both arguments variables
x = -4294967296;
y = 16;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1113: both arguments constants
result = (-4294967296 >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1114: LHS constant
y = 16;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1115: RHS constant
x = -4294967296;
result = (x >>> 16)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1116: both arguments variables
x = 0;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1117: both arguments constants
result = (0 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1118: LHS constant
y = 27;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1119: RHS constant
x = 0;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1120: both arguments variables
x = 1;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1121: both arguments constants
result = (1 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1122: LHS constant
y = 27;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1123: RHS constant
x = 1;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1124: both arguments variables
x = -1;
y = 27;
result = (x >>> y);
check = 31;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1125: both arguments constants
result = (-1 >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1126: LHS constant
y = 27;
result = (-1 >>> y)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1127: RHS constant
x = -1;
result = (x >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1128: both arguments variables
x = 2;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1129: both arguments constants
result = (2 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1130: LHS constant
y = 27;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1131: RHS constant
x = 2;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1132: both arguments variables
x = -2;
y = 27;
result = (x >>> y);
check = 31;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1133: both arguments constants
result = (-2 >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1134: LHS constant
y = 27;
result = (-2 >>> y)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1135: RHS constant
x = -2;
result = (x >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1136: both arguments variables
x = 3;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1137: both arguments constants
result = (3 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1138: LHS constant
y = 27;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1139: RHS constant
x = 3;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1140: both arguments variables
x = -3;
y = 27;
result = (x >>> y);
check = 31;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1141: both arguments constants
result = (-3 >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1142: LHS constant
y = 27;
result = (-3 >>> y)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1143: RHS constant
x = -3;
result = (x >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1144: both arguments variables
x = 4;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1145: both arguments constants
result = (4 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1146: LHS constant
y = 27;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1147: RHS constant
x = 4;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1148: both arguments variables
x = -4;
y = 27;
result = (x >>> y);
check = 31;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1149: both arguments constants
result = (-4 >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1150: LHS constant
y = 27;
result = (-4 >>> y)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1151: RHS constant
x = -4;
result = (x >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1152: both arguments variables
x = 8;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1153: both arguments constants
result = (8 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1154: LHS constant
y = 27;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1155: RHS constant
x = 8;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1156: both arguments variables
x = -8;
y = 27;
result = (x >>> y);
check = 31;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1157: both arguments constants
result = (-8 >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1158: LHS constant
y = 27;
result = (-8 >>> y)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1159: RHS constant
x = -8;
result = (x >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1160: both arguments variables
x = 1073741822;
y = 27;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1161: both arguments constants
result = (1073741822 >>> 27)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1162: LHS constant
y = 27;
result = (1073741822 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1163: RHS constant
x = 1073741822;
result = (x >>> 27)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1164: both arguments variables
x = 1073741823;
y = 27;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1165: both arguments constants
result = (1073741823 >>> 27)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1166: LHS constant
y = 27;
result = (1073741823 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1167: RHS constant
x = 1073741823;
result = (x >>> 27)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1168: both arguments variables
x = 1073741824;
y = 27;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1169: both arguments constants
result = (1073741824 >>> 27)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1170: LHS constant
y = 27;
result = (1073741824 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1171: RHS constant
x = 1073741824;
result = (x >>> 27)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1172: both arguments variables
x = 1073741825;
y = 27;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1173: both arguments constants
result = (1073741825 >>> 27)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1174: LHS constant
y = 27;
result = (1073741825 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1175: RHS constant
x = 1073741825;
result = (x >>> 27)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1176: both arguments variables
x = -1073741823;
y = 27;
result = (x >>> y);
check = 24;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1177: both arguments constants
result = (-1073741823 >>> 27)
check = 24
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1178: LHS constant
y = 27;
result = (-1073741823 >>> y)
check = 24
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1179: RHS constant
x = -1073741823;
result = (x >>> 27)
check = 24
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1180: both arguments variables
x = (-0x3fffffff-1);
y = 27;
result = (x >>> y);
check = 24;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1181: both arguments constants
result = ((-0x3fffffff-1) >>> 27)
check = 24
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1182: LHS constant
y = 27;
result = ((-0x3fffffff-1) >>> y)
check = 24
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1183: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 27)
check = 24
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1184: both arguments variables
x = -1073741825;
y = 27;
result = (x >>> y);
check = 23;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1185: both arguments constants
result = (-1073741825 >>> 27)
check = 23
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1186: LHS constant
y = 27;
result = (-1073741825 >>> y)
check = 23
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1187: RHS constant
x = -1073741825;
result = (x >>> 27)
check = 23
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1188: both arguments variables
x = -1073741826;
y = 27;
result = (x >>> y);
check = 23;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1189: both arguments constants
result = (-1073741826 >>> 27)
check = 23
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1190: LHS constant
y = 27;
result = (-1073741826 >>> y)
check = 23
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1191: RHS constant
x = -1073741826;
result = (x >>> 27)
check = 23
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1192: both arguments variables
x = 2147483646;
y = 27;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1193: both arguments constants
result = (2147483646 >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1194: LHS constant
y = 27;
result = (2147483646 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1195: RHS constant
x = 2147483646;
result = (x >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1196: both arguments variables
x = 2147483647;
y = 27;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1197: both arguments constants
result = (2147483647 >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1198: LHS constant
y = 27;
result = (2147483647 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1199: RHS constant
x = 2147483647;
result = (x >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test12() {
var x;
var y;
var result;
var check;
// Test 1200: both arguments variables
x = 2147483648;
y = 27;
result = (x >>> y);
check = 16;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1201: both arguments constants
result = (2147483648 >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1202: LHS constant
y = 27;
result = (2147483648 >>> y)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1203: RHS constant
x = 2147483648;
result = (x >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1204: both arguments variables
x = 2147483649;
y = 27;
result = (x >>> y);
check = 16;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1205: both arguments constants
result = (2147483649 >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1206: LHS constant
y = 27;
result = (2147483649 >>> y)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1207: RHS constant
x = 2147483649;
result = (x >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1208: both arguments variables
x = -2147483647;
y = 27;
result = (x >>> y);
check = 16;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1209: both arguments constants
result = (-2147483647 >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1210: LHS constant
y = 27;
result = (-2147483647 >>> y)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1211: RHS constant
x = -2147483647;
result = (x >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1212: both arguments variables
x = -2147483648;
y = 27;
result = (x >>> y);
check = 16;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1213: both arguments constants
result = (-2147483648 >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1214: LHS constant
y = 27;
result = (-2147483648 >>> y)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1215: RHS constant
x = -2147483648;
result = (x >>> 27)
check = 16
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1216: both arguments variables
x = -2147483649;
y = 27;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1217: both arguments constants
result = (-2147483649 >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1218: LHS constant
y = 27;
result = (-2147483649 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1219: RHS constant
x = -2147483649;
result = (x >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1220: both arguments variables
x = -2147483650;
y = 27;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1221: both arguments constants
result = (-2147483650 >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1222: LHS constant
y = 27;
result = (-2147483650 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1223: RHS constant
x = -2147483650;
result = (x >>> 27)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1224: both arguments variables
x = 4294967295;
y = 27;
result = (x >>> y);
check = 31;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1225: both arguments constants
result = (4294967295 >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1226: LHS constant
y = 27;
result = (4294967295 >>> y)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1227: RHS constant
x = 4294967295;
result = (x >>> 27)
check = 31
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1228: both arguments variables
x = 4294967296;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1229: both arguments constants
result = (4294967296 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1230: LHS constant
y = 27;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1231: RHS constant
x = 4294967296;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1232: both arguments variables
x = -4294967295;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1233: both arguments constants
result = (-4294967295 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1234: LHS constant
y = 27;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1235: RHS constant
x = -4294967295;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1236: both arguments variables
x = -4294967296;
y = 27;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1237: both arguments constants
result = (-4294967296 >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1238: LHS constant
y = 27;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1239: RHS constant
x = -4294967296;
result = (x >>> 27)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1240: both arguments variables
x = 0;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1241: both arguments constants
result = (0 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1242: LHS constant
y = 28;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1243: RHS constant
x = 0;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1244: both arguments variables
x = 1;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1245: both arguments constants
result = (1 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1246: LHS constant
y = 28;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1247: RHS constant
x = 1;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1248: both arguments variables
x = -1;
y = 28;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1249: both arguments constants
result = (-1 >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1250: LHS constant
y = 28;
result = (-1 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1251: RHS constant
x = -1;
result = (x >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1252: both arguments variables
x = 2;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1253: both arguments constants
result = (2 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1254: LHS constant
y = 28;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1255: RHS constant
x = 2;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1256: both arguments variables
x = -2;
y = 28;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1257: both arguments constants
result = (-2 >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1258: LHS constant
y = 28;
result = (-2 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1259: RHS constant
x = -2;
result = (x >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1260: both arguments variables
x = 3;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1261: both arguments constants
result = (3 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1262: LHS constant
y = 28;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1263: RHS constant
x = 3;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1264: both arguments variables
x = -3;
y = 28;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1265: both arguments constants
result = (-3 >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1266: LHS constant
y = 28;
result = (-3 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1267: RHS constant
x = -3;
result = (x >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1268: both arguments variables
x = 4;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1269: both arguments constants
result = (4 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1270: LHS constant
y = 28;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1271: RHS constant
x = 4;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1272: both arguments variables
x = -4;
y = 28;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1273: both arguments constants
result = (-4 >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1274: LHS constant
y = 28;
result = (-4 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1275: RHS constant
x = -4;
result = (x >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1276: both arguments variables
x = 8;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1277: both arguments constants
result = (8 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1278: LHS constant
y = 28;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1279: RHS constant
x = 8;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1280: both arguments variables
x = -8;
y = 28;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1281: both arguments constants
result = (-8 >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1282: LHS constant
y = 28;
result = (-8 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1283: RHS constant
x = -8;
result = (x >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1284: both arguments variables
x = 1073741822;
y = 28;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1285: both arguments constants
result = (1073741822 >>> 28)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1286: LHS constant
y = 28;
result = (1073741822 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1287: RHS constant
x = 1073741822;
result = (x >>> 28)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1288: both arguments variables
x = 1073741823;
y = 28;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1289: both arguments constants
result = (1073741823 >>> 28)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1290: LHS constant
y = 28;
result = (1073741823 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1291: RHS constant
x = 1073741823;
result = (x >>> 28)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1292: both arguments variables
x = 1073741824;
y = 28;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1293: both arguments constants
result = (1073741824 >>> 28)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1294: LHS constant
y = 28;
result = (1073741824 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1295: RHS constant
x = 1073741824;
result = (x >>> 28)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1296: both arguments variables
x = 1073741825;
y = 28;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1297: both arguments constants
result = (1073741825 >>> 28)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1298: LHS constant
y = 28;
result = (1073741825 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1299: RHS constant
x = 1073741825;
result = (x >>> 28)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test13() {
var x;
var y;
var result;
var check;
// Test 1300: both arguments variables
x = -1073741823;
y = 28;
result = (x >>> y);
check = 12;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1301: both arguments constants
result = (-1073741823 >>> 28)
check = 12
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1302: LHS constant
y = 28;
result = (-1073741823 >>> y)
check = 12
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1303: RHS constant
x = -1073741823;
result = (x >>> 28)
check = 12
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1304: both arguments variables
x = (-0x3fffffff-1);
y = 28;
result = (x >>> y);
check = 12;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1305: both arguments constants
result = ((-0x3fffffff-1) >>> 28)
check = 12
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1306: LHS constant
y = 28;
result = ((-0x3fffffff-1) >>> y)
check = 12
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1307: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 28)
check = 12
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1308: both arguments variables
x = -1073741825;
y = 28;
result = (x >>> y);
check = 11;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1309: both arguments constants
result = (-1073741825 >>> 28)
check = 11
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1310: LHS constant
y = 28;
result = (-1073741825 >>> y)
check = 11
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1311: RHS constant
x = -1073741825;
result = (x >>> 28)
check = 11
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1312: both arguments variables
x = -1073741826;
y = 28;
result = (x >>> y);
check = 11;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1313: both arguments constants
result = (-1073741826 >>> 28)
check = 11
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1314: LHS constant
y = 28;
result = (-1073741826 >>> y)
check = 11
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1315: RHS constant
x = -1073741826;
result = (x >>> 28)
check = 11
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1316: both arguments variables
x = 2147483646;
y = 28;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1317: both arguments constants
result = (2147483646 >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1318: LHS constant
y = 28;
result = (2147483646 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1319: RHS constant
x = 2147483646;
result = (x >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1320: both arguments variables
x = 2147483647;
y = 28;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1321: both arguments constants
result = (2147483647 >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1322: LHS constant
y = 28;
result = (2147483647 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1323: RHS constant
x = 2147483647;
result = (x >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1324: both arguments variables
x = 2147483648;
y = 28;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1325: both arguments constants
result = (2147483648 >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1326: LHS constant
y = 28;
result = (2147483648 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1327: RHS constant
x = 2147483648;
result = (x >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1328: both arguments variables
x = 2147483649;
y = 28;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1329: both arguments constants
result = (2147483649 >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1330: LHS constant
y = 28;
result = (2147483649 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1331: RHS constant
x = 2147483649;
result = (x >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1332: both arguments variables
x = -2147483647;
y = 28;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1333: both arguments constants
result = (-2147483647 >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1334: LHS constant
y = 28;
result = (-2147483647 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1335: RHS constant
x = -2147483647;
result = (x >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1336: both arguments variables
x = -2147483648;
y = 28;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1337: both arguments constants
result = (-2147483648 >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1338: LHS constant
y = 28;
result = (-2147483648 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1339: RHS constant
x = -2147483648;
result = (x >>> 28)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1340: both arguments variables
x = -2147483649;
y = 28;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1341: both arguments constants
result = (-2147483649 >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1342: LHS constant
y = 28;
result = (-2147483649 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1343: RHS constant
x = -2147483649;
result = (x >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1344: both arguments variables
x = -2147483650;
y = 28;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1345: both arguments constants
result = (-2147483650 >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1346: LHS constant
y = 28;
result = (-2147483650 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1347: RHS constant
x = -2147483650;
result = (x >>> 28)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1348: both arguments variables
x = 4294967295;
y = 28;
result = (x >>> y);
check = 15;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1349: both arguments constants
result = (4294967295 >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1350: LHS constant
y = 28;
result = (4294967295 >>> y)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1351: RHS constant
x = 4294967295;
result = (x >>> 28)
check = 15
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1352: both arguments variables
x = 4294967296;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1353: both arguments constants
result = (4294967296 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1354: LHS constant
y = 28;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1355: RHS constant
x = 4294967296;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1356: both arguments variables
x = -4294967295;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1357: both arguments constants
result = (-4294967295 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1358: LHS constant
y = 28;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1359: RHS constant
x = -4294967295;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1360: both arguments variables
x = -4294967296;
y = 28;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1361: both arguments constants
result = (-4294967296 >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1362: LHS constant
y = 28;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1363: RHS constant
x = -4294967296;
result = (x >>> 28)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1364: both arguments variables
x = 0;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1365: both arguments constants
result = (0 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1366: LHS constant
y = 29;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1367: RHS constant
x = 0;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1368: both arguments variables
x = 1;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1369: both arguments constants
result = (1 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1370: LHS constant
y = 29;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1371: RHS constant
x = 1;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1372: both arguments variables
x = -1;
y = 29;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1373: both arguments constants
result = (-1 >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1374: LHS constant
y = 29;
result = (-1 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1375: RHS constant
x = -1;
result = (x >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1376: both arguments variables
x = 2;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1377: both arguments constants
result = (2 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1378: LHS constant
y = 29;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1379: RHS constant
x = 2;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1380: both arguments variables
x = -2;
y = 29;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1381: both arguments constants
result = (-2 >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1382: LHS constant
y = 29;
result = (-2 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1383: RHS constant
x = -2;
result = (x >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1384: both arguments variables
x = 3;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1385: both arguments constants
result = (3 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1386: LHS constant
y = 29;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1387: RHS constant
x = 3;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1388: both arguments variables
x = -3;
y = 29;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1389: both arguments constants
result = (-3 >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1390: LHS constant
y = 29;
result = (-3 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1391: RHS constant
x = -3;
result = (x >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1392: both arguments variables
x = 4;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1393: both arguments constants
result = (4 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1394: LHS constant
y = 29;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1395: RHS constant
x = 4;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1396: both arguments variables
x = -4;
y = 29;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1397: both arguments constants
result = (-4 >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1398: LHS constant
y = 29;
result = (-4 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1399: RHS constant
x = -4;
result = (x >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test14() {
var x;
var y;
var result;
var check;
// Test 1400: both arguments variables
x = 8;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1401: both arguments constants
result = (8 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1402: LHS constant
y = 29;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1403: RHS constant
x = 8;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1404: both arguments variables
x = -8;
y = 29;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1405: both arguments constants
result = (-8 >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1406: LHS constant
y = 29;
result = (-8 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1407: RHS constant
x = -8;
result = (x >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1408: both arguments variables
x = 1073741822;
y = 29;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1409: both arguments constants
result = (1073741822 >>> 29)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1410: LHS constant
y = 29;
result = (1073741822 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1411: RHS constant
x = 1073741822;
result = (x >>> 29)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1412: both arguments variables
x = 1073741823;
y = 29;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1413: both arguments constants
result = (1073741823 >>> 29)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1414: LHS constant
y = 29;
result = (1073741823 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1415: RHS constant
x = 1073741823;
result = (x >>> 29)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1416: both arguments variables
x = 1073741824;
y = 29;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1417: both arguments constants
result = (1073741824 >>> 29)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1418: LHS constant
y = 29;
result = (1073741824 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1419: RHS constant
x = 1073741824;
result = (x >>> 29)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1420: both arguments variables
x = 1073741825;
y = 29;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1421: both arguments constants
result = (1073741825 >>> 29)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1422: LHS constant
y = 29;
result = (1073741825 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1423: RHS constant
x = 1073741825;
result = (x >>> 29)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1424: both arguments variables
x = -1073741823;
y = 29;
result = (x >>> y);
check = 6;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1425: both arguments constants
result = (-1073741823 >>> 29)
check = 6
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1426: LHS constant
y = 29;
result = (-1073741823 >>> y)
check = 6
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1427: RHS constant
x = -1073741823;
result = (x >>> 29)
check = 6
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1428: both arguments variables
x = (-0x3fffffff-1);
y = 29;
result = (x >>> y);
check = 6;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1429: both arguments constants
result = ((-0x3fffffff-1) >>> 29)
check = 6
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1430: LHS constant
y = 29;
result = ((-0x3fffffff-1) >>> y)
check = 6
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1431: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 29)
check = 6
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1432: both arguments variables
x = -1073741825;
y = 29;
result = (x >>> y);
check = 5;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1433: both arguments constants
result = (-1073741825 >>> 29)
check = 5
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1434: LHS constant
y = 29;
result = (-1073741825 >>> y)
check = 5
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1435: RHS constant
x = -1073741825;
result = (x >>> 29)
check = 5
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1436: both arguments variables
x = -1073741826;
y = 29;
result = (x >>> y);
check = 5;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1437: both arguments constants
result = (-1073741826 >>> 29)
check = 5
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1438: LHS constant
y = 29;
result = (-1073741826 >>> y)
check = 5
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1439: RHS constant
x = -1073741826;
result = (x >>> 29)
check = 5
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1440: both arguments variables
x = 2147483646;
y = 29;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1441: both arguments constants
result = (2147483646 >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1442: LHS constant
y = 29;
result = (2147483646 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1443: RHS constant
x = 2147483646;
result = (x >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1444: both arguments variables
x = 2147483647;
y = 29;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1445: both arguments constants
result = (2147483647 >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1446: LHS constant
y = 29;
result = (2147483647 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1447: RHS constant
x = 2147483647;
result = (x >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1448: both arguments variables
x = 2147483648;
y = 29;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1449: both arguments constants
result = (2147483648 >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1450: LHS constant
y = 29;
result = (2147483648 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1451: RHS constant
x = 2147483648;
result = (x >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1452: both arguments variables
x = 2147483649;
y = 29;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1453: both arguments constants
result = (2147483649 >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1454: LHS constant
y = 29;
result = (2147483649 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1455: RHS constant
x = 2147483649;
result = (x >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1456: both arguments variables
x = -2147483647;
y = 29;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1457: both arguments constants
result = (-2147483647 >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1458: LHS constant
y = 29;
result = (-2147483647 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1459: RHS constant
x = -2147483647;
result = (x >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1460: both arguments variables
x = -2147483648;
y = 29;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1461: both arguments constants
result = (-2147483648 >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1462: LHS constant
y = 29;
result = (-2147483648 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1463: RHS constant
x = -2147483648;
result = (x >>> 29)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1464: both arguments variables
x = -2147483649;
y = 29;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1465: both arguments constants
result = (-2147483649 >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1466: LHS constant
y = 29;
result = (-2147483649 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1467: RHS constant
x = -2147483649;
result = (x >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1468: both arguments variables
x = -2147483650;
y = 29;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1469: both arguments constants
result = (-2147483650 >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1470: LHS constant
y = 29;
result = (-2147483650 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1471: RHS constant
x = -2147483650;
result = (x >>> 29)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1472: both arguments variables
x = 4294967295;
y = 29;
result = (x >>> y);
check = 7;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1473: both arguments constants
result = (4294967295 >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1474: LHS constant
y = 29;
result = (4294967295 >>> y)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1475: RHS constant
x = 4294967295;
result = (x >>> 29)
check = 7
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1476: both arguments variables
x = 4294967296;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1477: both arguments constants
result = (4294967296 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1478: LHS constant
y = 29;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1479: RHS constant
x = 4294967296;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1480: both arguments variables
x = -4294967295;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1481: both arguments constants
result = (-4294967295 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1482: LHS constant
y = 29;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1483: RHS constant
x = -4294967295;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1484: both arguments variables
x = -4294967296;
y = 29;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1485: both arguments constants
result = (-4294967296 >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1486: LHS constant
y = 29;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1487: RHS constant
x = -4294967296;
result = (x >>> 29)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1488: both arguments variables
x = 0;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1489: both arguments constants
result = (0 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1490: LHS constant
y = 30;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1491: RHS constant
x = 0;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1492: both arguments variables
x = 1;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1493: both arguments constants
result = (1 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1494: LHS constant
y = 30;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1495: RHS constant
x = 1;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1496: both arguments variables
x = -1;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1497: both arguments constants
result = (-1 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1498: LHS constant
y = 30;
result = (-1 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1499: RHS constant
x = -1;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test15() {
var x;
var y;
var result;
var check;
// Test 1500: both arguments variables
x = 2;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1501: both arguments constants
result = (2 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1502: LHS constant
y = 30;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1503: RHS constant
x = 2;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1504: both arguments variables
x = -2;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1505: both arguments constants
result = (-2 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1506: LHS constant
y = 30;
result = (-2 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1507: RHS constant
x = -2;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1508: both arguments variables
x = 3;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1509: both arguments constants
result = (3 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1510: LHS constant
y = 30;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1511: RHS constant
x = 3;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1512: both arguments variables
x = -3;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1513: both arguments constants
result = (-3 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1514: LHS constant
y = 30;
result = (-3 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1515: RHS constant
x = -3;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1516: both arguments variables
x = 4;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1517: both arguments constants
result = (4 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1518: LHS constant
y = 30;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1519: RHS constant
x = 4;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1520: both arguments variables
x = -4;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1521: both arguments constants
result = (-4 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1522: LHS constant
y = 30;
result = (-4 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1523: RHS constant
x = -4;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1524: both arguments variables
x = 8;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1525: both arguments constants
result = (8 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1526: LHS constant
y = 30;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1527: RHS constant
x = 8;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1528: both arguments variables
x = -8;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1529: both arguments constants
result = (-8 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1530: LHS constant
y = 30;
result = (-8 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1531: RHS constant
x = -8;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1532: both arguments variables
x = 1073741822;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1533: both arguments constants
result = (1073741822 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1534: LHS constant
y = 30;
result = (1073741822 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1535: RHS constant
x = 1073741822;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1536: both arguments variables
x = 1073741823;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1537: both arguments constants
result = (1073741823 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1538: LHS constant
y = 30;
result = (1073741823 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1539: RHS constant
x = 1073741823;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1540: both arguments variables
x = 1073741824;
y = 30;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1541: both arguments constants
result = (1073741824 >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1542: LHS constant
y = 30;
result = (1073741824 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1543: RHS constant
x = 1073741824;
result = (x >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1544: both arguments variables
x = 1073741825;
y = 30;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1545: both arguments constants
result = (1073741825 >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1546: LHS constant
y = 30;
result = (1073741825 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1547: RHS constant
x = 1073741825;
result = (x >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1548: both arguments variables
x = -1073741823;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1549: both arguments constants
result = (-1073741823 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1550: LHS constant
y = 30;
result = (-1073741823 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1551: RHS constant
x = -1073741823;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1552: both arguments variables
x = (-0x3fffffff-1);
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1553: both arguments constants
result = ((-0x3fffffff-1) >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1554: LHS constant
y = 30;
result = ((-0x3fffffff-1) >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1555: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1556: both arguments variables
x = -1073741825;
y = 30;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1557: both arguments constants
result = (-1073741825 >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1558: LHS constant
y = 30;
result = (-1073741825 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1559: RHS constant
x = -1073741825;
result = (x >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1560: both arguments variables
x = -1073741826;
y = 30;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1561: both arguments constants
result = (-1073741826 >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1562: LHS constant
y = 30;
result = (-1073741826 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1563: RHS constant
x = -1073741826;
result = (x >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1564: both arguments variables
x = 2147483646;
y = 30;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1565: both arguments constants
result = (2147483646 >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1566: LHS constant
y = 30;
result = (2147483646 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1567: RHS constant
x = 2147483646;
result = (x >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1568: both arguments variables
x = 2147483647;
y = 30;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1569: both arguments constants
result = (2147483647 >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1570: LHS constant
y = 30;
result = (2147483647 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1571: RHS constant
x = 2147483647;
result = (x >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1572: both arguments variables
x = 2147483648;
y = 30;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1573: both arguments constants
result = (2147483648 >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1574: LHS constant
y = 30;
result = (2147483648 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1575: RHS constant
x = 2147483648;
result = (x >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1576: both arguments variables
x = 2147483649;
y = 30;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1577: both arguments constants
result = (2147483649 >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1578: LHS constant
y = 30;
result = (2147483649 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1579: RHS constant
x = 2147483649;
result = (x >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1580: both arguments variables
x = -2147483647;
y = 30;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1581: both arguments constants
result = (-2147483647 >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1582: LHS constant
y = 30;
result = (-2147483647 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1583: RHS constant
x = -2147483647;
result = (x >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1584: both arguments variables
x = -2147483648;
y = 30;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1585: both arguments constants
result = (-2147483648 >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1586: LHS constant
y = 30;
result = (-2147483648 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1587: RHS constant
x = -2147483648;
result = (x >>> 30)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1588: both arguments variables
x = -2147483649;
y = 30;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1589: both arguments constants
result = (-2147483649 >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1590: LHS constant
y = 30;
result = (-2147483649 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1591: RHS constant
x = -2147483649;
result = (x >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1592: both arguments variables
x = -2147483650;
y = 30;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1593: both arguments constants
result = (-2147483650 >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1594: LHS constant
y = 30;
result = (-2147483650 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1595: RHS constant
x = -2147483650;
result = (x >>> 30)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1596: both arguments variables
x = 4294967295;
y = 30;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1597: both arguments constants
result = (4294967295 >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1598: LHS constant
y = 30;
result = (4294967295 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1599: RHS constant
x = 4294967295;
result = (x >>> 30)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test16() {
var x;
var y;
var result;
var check;
// Test 1600: both arguments variables
x = 4294967296;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1601: both arguments constants
result = (4294967296 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1602: LHS constant
y = 30;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1603: RHS constant
x = 4294967296;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1604: both arguments variables
x = -4294967295;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1605: both arguments constants
result = (-4294967295 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1606: LHS constant
y = 30;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1607: RHS constant
x = -4294967295;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1608: both arguments variables
x = -4294967296;
y = 30;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1609: both arguments constants
result = (-4294967296 >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1610: LHS constant
y = 30;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1611: RHS constant
x = -4294967296;
result = (x >>> 30)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1612: both arguments variables
x = 0;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1613: both arguments constants
result = (0 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1614: LHS constant
y = 31;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1615: RHS constant
x = 0;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1616: both arguments variables
x = 1;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1617: both arguments constants
result = (1 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1618: LHS constant
y = 31;
result = (1 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1619: RHS constant
x = 1;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1620: both arguments variables
x = -1;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1621: both arguments constants
result = (-1 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1622: LHS constant
y = 31;
result = (-1 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1623: RHS constant
x = -1;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1624: both arguments variables
x = 2;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1625: both arguments constants
result = (2 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1626: LHS constant
y = 31;
result = (2 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1627: RHS constant
x = 2;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1628: both arguments variables
x = -2;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1629: both arguments constants
result = (-2 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1630: LHS constant
y = 31;
result = (-2 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1631: RHS constant
x = -2;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1632: both arguments variables
x = 3;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1633: both arguments constants
result = (3 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1634: LHS constant
y = 31;
result = (3 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1635: RHS constant
x = 3;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1636: both arguments variables
x = -3;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1637: both arguments constants
result = (-3 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1638: LHS constant
y = 31;
result = (-3 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1639: RHS constant
x = -3;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1640: both arguments variables
x = 4;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1641: both arguments constants
result = (4 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1642: LHS constant
y = 31;
result = (4 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1643: RHS constant
x = 4;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1644: both arguments variables
x = -4;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1645: both arguments constants
result = (-4 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1646: LHS constant
y = 31;
result = (-4 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1647: RHS constant
x = -4;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1648: both arguments variables
x = 8;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1649: both arguments constants
result = (8 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1650: LHS constant
y = 31;
result = (8 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1651: RHS constant
x = 8;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1652: both arguments variables
x = -8;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1653: both arguments constants
result = (-8 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1654: LHS constant
y = 31;
result = (-8 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1655: RHS constant
x = -8;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1656: both arguments variables
x = 1073741822;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1657: both arguments constants
result = (1073741822 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1658: LHS constant
y = 31;
result = (1073741822 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1659: RHS constant
x = 1073741822;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1660: both arguments variables
x = 1073741823;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1661: both arguments constants
result = (1073741823 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1662: LHS constant
y = 31;
result = (1073741823 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1663: RHS constant
x = 1073741823;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1664: both arguments variables
x = 1073741824;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1665: both arguments constants
result = (1073741824 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1666: LHS constant
y = 31;
result = (1073741824 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1667: RHS constant
x = 1073741824;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1668: both arguments variables
x = 1073741825;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1669: both arguments constants
result = (1073741825 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1670: LHS constant
y = 31;
result = (1073741825 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1671: RHS constant
x = 1073741825;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1672: both arguments variables
x = -1073741823;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1673: both arguments constants
result = (-1073741823 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1674: LHS constant
y = 31;
result = (-1073741823 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1675: RHS constant
x = -1073741823;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1676: both arguments variables
x = (-0x3fffffff-1);
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1677: both arguments constants
result = ((-0x3fffffff-1) >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1678: LHS constant
y = 31;
result = ((-0x3fffffff-1) >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1679: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1680: both arguments variables
x = -1073741825;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1681: both arguments constants
result = (-1073741825 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1682: LHS constant
y = 31;
result = (-1073741825 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1683: RHS constant
x = -1073741825;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1684: both arguments variables
x = -1073741826;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1685: both arguments constants
result = (-1073741826 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1686: LHS constant
y = 31;
result = (-1073741826 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1687: RHS constant
x = -1073741826;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1688: both arguments variables
x = 2147483646;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1689: both arguments constants
result = (2147483646 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1690: LHS constant
y = 31;
result = (2147483646 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1691: RHS constant
x = 2147483646;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1692: both arguments variables
x = 2147483647;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1693: both arguments constants
result = (2147483647 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1694: LHS constant
y = 31;
result = (2147483647 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1695: RHS constant
x = 2147483647;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1696: both arguments variables
x = 2147483648;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1697: both arguments constants
result = (2147483648 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1698: LHS constant
y = 31;
result = (2147483648 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1699: RHS constant
x = 2147483648;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test17() {
var x;
var y;
var result;
var check;
// Test 1700: both arguments variables
x = 2147483649;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1701: both arguments constants
result = (2147483649 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1702: LHS constant
y = 31;
result = (2147483649 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1703: RHS constant
x = 2147483649;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1704: both arguments variables
x = -2147483647;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1705: both arguments constants
result = (-2147483647 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1706: LHS constant
y = 31;
result = (-2147483647 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1707: RHS constant
x = -2147483647;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1708: both arguments variables
x = -2147483648;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1709: both arguments constants
result = (-2147483648 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1710: LHS constant
y = 31;
result = (-2147483648 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1711: RHS constant
x = -2147483648;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1712: both arguments variables
x = -2147483649;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1713: both arguments constants
result = (-2147483649 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1714: LHS constant
y = 31;
result = (-2147483649 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1715: RHS constant
x = -2147483649;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1716: both arguments variables
x = -2147483650;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1717: both arguments constants
result = (-2147483650 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1718: LHS constant
y = 31;
result = (-2147483650 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1719: RHS constant
x = -2147483650;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1720: both arguments variables
x = 4294967295;
y = 31;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1721: both arguments constants
result = (4294967295 >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1722: LHS constant
y = 31;
result = (4294967295 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1723: RHS constant
x = 4294967295;
result = (x >>> 31)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1724: both arguments variables
x = 4294967296;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1725: both arguments constants
result = (4294967296 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1726: LHS constant
y = 31;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1727: RHS constant
x = 4294967296;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1728: both arguments variables
x = -4294967295;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1729: both arguments constants
result = (-4294967295 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1730: LHS constant
y = 31;
result = (-4294967295 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1731: RHS constant
x = -4294967295;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1732: both arguments variables
x = -4294967296;
y = 31;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1733: both arguments constants
result = (-4294967296 >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1734: LHS constant
y = 31;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1735: RHS constant
x = -4294967296;
result = (x >>> 31)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1736: both arguments variables
x = 0;
y = 32;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1737: both arguments constants
result = (0 >>> 32)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1738: LHS constant
y = 32;
result = (0 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1739: RHS constant
x = 0;
result = (x >>> 32)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1740: both arguments variables
x = 1;
y = 32;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1741: both arguments constants
result = (1 >>> 32)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1742: LHS constant
y = 32;
result = (1 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1743: RHS constant
x = 1;
result = (x >>> 32)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1744: both arguments variables
x = -1;
y = 32;
result = (x >>> y);
check = 4294967295;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1745: both arguments constants
result = (-1 >>> 32)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1746: LHS constant
y = 32;
result = (-1 >>> y)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1747: RHS constant
x = -1;
result = (x >>> 32)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1748: both arguments variables
x = 2;
y = 32;
result = (x >>> y);
check = 2;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1749: both arguments constants
result = (2 >>> 32)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1750: LHS constant
y = 32;
result = (2 >>> y)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1751: RHS constant
x = 2;
result = (x >>> 32)
check = 2
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1752: both arguments variables
x = -2;
y = 32;
result = (x >>> y);
check = 4294967294;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1753: both arguments constants
result = (-2 >>> 32)
check = 4294967294
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1754: LHS constant
y = 32;
result = (-2 >>> y)
check = 4294967294
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1755: RHS constant
x = -2;
result = (x >>> 32)
check = 4294967294
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1756: both arguments variables
x = 3;
y = 32;
result = (x >>> y);
check = 3;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1757: both arguments constants
result = (3 >>> 32)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1758: LHS constant
y = 32;
result = (3 >>> y)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1759: RHS constant
x = 3;
result = (x >>> 32)
check = 3
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1760: both arguments variables
x = -3;
y = 32;
result = (x >>> y);
check = 4294967293;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1761: both arguments constants
result = (-3 >>> 32)
check = 4294967293
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1762: LHS constant
y = 32;
result = (-3 >>> y)
check = 4294967293
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1763: RHS constant
x = -3;
result = (x >>> 32)
check = 4294967293
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1764: both arguments variables
x = 4;
y = 32;
result = (x >>> y);
check = 4;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1765: both arguments constants
result = (4 >>> 32)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1766: LHS constant
y = 32;
result = (4 >>> y)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1767: RHS constant
x = 4;
result = (x >>> 32)
check = 4
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1768: both arguments variables
x = -4;
y = 32;
result = (x >>> y);
check = 4294967292;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1769: both arguments constants
result = (-4 >>> 32)
check = 4294967292
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1770: LHS constant
y = 32;
result = (-4 >>> y)
check = 4294967292
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1771: RHS constant
x = -4;
result = (x >>> 32)
check = 4294967292
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1772: both arguments variables
x = 8;
y = 32;
result = (x >>> y);
check = 8;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1773: both arguments constants
result = (8 >>> 32)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1774: LHS constant
y = 32;
result = (8 >>> y)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1775: RHS constant
x = 8;
result = (x >>> 32)
check = 8
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1776: both arguments variables
x = -8;
y = 32;
result = (x >>> y);
check = 4294967288;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1777: both arguments constants
result = (-8 >>> 32)
check = 4294967288
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1778: LHS constant
y = 32;
result = (-8 >>> y)
check = 4294967288
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1779: RHS constant
x = -8;
result = (x >>> 32)
check = 4294967288
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1780: both arguments variables
x = 1073741822;
y = 32;
result = (x >>> y);
check = 1073741822;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1781: both arguments constants
result = (1073741822 >>> 32)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1782: LHS constant
y = 32;
result = (1073741822 >>> y)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1783: RHS constant
x = 1073741822;
result = (x >>> 32)
check = 1073741822
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1784: both arguments variables
x = 1073741823;
y = 32;
result = (x >>> y);
check = 1073741823;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1785: both arguments constants
result = (1073741823 >>> 32)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1786: LHS constant
y = 32;
result = (1073741823 >>> y)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1787: RHS constant
x = 1073741823;
result = (x >>> 32)
check = 1073741823
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1788: both arguments variables
x = 1073741824;
y = 32;
result = (x >>> y);
check = 1073741824;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1789: both arguments constants
result = (1073741824 >>> 32)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1790: LHS constant
y = 32;
result = (1073741824 >>> y)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1791: RHS constant
x = 1073741824;
result = (x >>> 32)
check = 1073741824
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1792: both arguments variables
x = 1073741825;
y = 32;
result = (x >>> y);
check = 1073741825;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1793: both arguments constants
result = (1073741825 >>> 32)
check = 1073741825
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1794: LHS constant
y = 32;
result = (1073741825 >>> y)
check = 1073741825
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1795: RHS constant
x = 1073741825;
result = (x >>> 32)
check = 1073741825
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1796: both arguments variables
x = -1073741823;
y = 32;
result = (x >>> y);
check = 3221225473;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1797: both arguments constants
result = (-1073741823 >>> 32)
check = 3221225473
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1798: LHS constant
y = 32;
result = (-1073741823 >>> y)
check = 3221225473
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1799: RHS constant
x = -1073741823;
result = (x >>> 32)
check = 3221225473
if(result != check) {{ fail(test, check, result); }} ++test; 

}
function test18() {
var x;
var y;
var result;
var check;
// Test 1800: both arguments variables
x = (-0x3fffffff-1);
y = 32;
result = (x >>> y);
check = 3221225472;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1801: both arguments constants
result = ((-0x3fffffff-1) >>> 32)
check = 3221225472
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1802: LHS constant
y = 32;
result = ((-0x3fffffff-1) >>> y)
check = 3221225472
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1803: RHS constant
x = (-0x3fffffff-1);
result = (x >>> 32)
check = 3221225472
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1804: both arguments variables
x = -1073741825;
y = 32;
result = (x >>> y);
check = 3221225471;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1805: both arguments constants
result = (-1073741825 >>> 32)
check = 3221225471
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1806: LHS constant
y = 32;
result = (-1073741825 >>> y)
check = 3221225471
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1807: RHS constant
x = -1073741825;
result = (x >>> 32)
check = 3221225471
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1808: both arguments variables
x = -1073741826;
y = 32;
result = (x >>> y);
check = 3221225470;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1809: both arguments constants
result = (-1073741826 >>> 32)
check = 3221225470
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1810: LHS constant
y = 32;
result = (-1073741826 >>> y)
check = 3221225470
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1811: RHS constant
x = -1073741826;
result = (x >>> 32)
check = 3221225470
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1812: both arguments variables
x = 2147483646;
y = 32;
result = (x >>> y);
check = 2147483646;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1813: both arguments constants
result = (2147483646 >>> 32)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1814: LHS constant
y = 32;
result = (2147483646 >>> y)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1815: RHS constant
x = 2147483646;
result = (x >>> 32)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1816: both arguments variables
x = 2147483647;
y = 32;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1817: both arguments constants
result = (2147483647 >>> 32)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1818: LHS constant
y = 32;
result = (2147483647 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1819: RHS constant
x = 2147483647;
result = (x >>> 32)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1820: both arguments variables
x = 2147483648;
y = 32;
result = (x >>> y);
check = 2147483648;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1821: both arguments constants
result = (2147483648 >>> 32)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1822: LHS constant
y = 32;
result = (2147483648 >>> y)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1823: RHS constant
x = 2147483648;
result = (x >>> 32)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1824: both arguments variables
x = 2147483649;
y = 32;
result = (x >>> y);
check = 2147483649;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1825: both arguments constants
result = (2147483649 >>> 32)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1826: LHS constant
y = 32;
result = (2147483649 >>> y)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1827: RHS constant
x = 2147483649;
result = (x >>> 32)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1828: both arguments variables
x = -2147483647;
y = 32;
result = (x >>> y);
check = 2147483649;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1829: both arguments constants
result = (-2147483647 >>> 32)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1830: LHS constant
y = 32;
result = (-2147483647 >>> y)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1831: RHS constant
x = -2147483647;
result = (x >>> 32)
check = 2147483649
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1832: both arguments variables
x = -2147483648;
y = 32;
result = (x >>> y);
check = 2147483648;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1833: both arguments constants
result = (-2147483648 >>> 32)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1834: LHS constant
y = 32;
result = (-2147483648 >>> y)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1835: RHS constant
x = -2147483648;
result = (x >>> 32)
check = 2147483648
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1836: both arguments variables
x = -2147483649;
y = 32;
result = (x >>> y);
check = 2147483647;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1837: both arguments constants
result = (-2147483649 >>> 32)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1838: LHS constant
y = 32;
result = (-2147483649 >>> y)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1839: RHS constant
x = -2147483649;
result = (x >>> 32)
check = 2147483647
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1840: both arguments variables
x = -2147483650;
y = 32;
result = (x >>> y);
check = 2147483646;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1841: both arguments constants
result = (-2147483650 >>> 32)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1842: LHS constant
y = 32;
result = (-2147483650 >>> y)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1843: RHS constant
x = -2147483650;
result = (x >>> 32)
check = 2147483646
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1844: both arguments variables
x = 4294967295;
y = 32;
result = (x >>> y);
check = 4294967295;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1845: both arguments constants
result = (4294967295 >>> 32)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1846: LHS constant
y = 32;
result = (4294967295 >>> y)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1847: RHS constant
x = 4294967295;
result = (x >>> 32)
check = 4294967295
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1848: both arguments variables
x = 4294967296;
y = 32;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1849: both arguments constants
result = (4294967296 >>> 32)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1850: LHS constant
y = 32;
result = (4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1851: RHS constant
x = 4294967296;
result = (x >>> 32)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1852: both arguments variables
x = -4294967295;
y = 32;
result = (x >>> y);
check = 1;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1853: both arguments constants
result = (-4294967295 >>> 32)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1854: LHS constant
y = 32;
result = (-4294967295 >>> y)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1855: RHS constant
x = -4294967295;
result = (x >>> 32)
check = 1
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1856: both arguments variables
x = -4294967296;
y = 32;
result = (x >>> y);
check = 0;
if(result != check) { fail(test, check, result); } ++test; 

// Test 1857: both arguments constants
result = (-4294967296 >>> 32)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1858: LHS constant
y = 32;
result = (-4294967296 >>> y)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

// Test 1859: RHS constant
x = -4294967296;
result = (x >>> 32)
check = 0
if(result != check) {{ fail(test, check, result); }} ++test; 

}
test0();
test1();
test2();
test3();
test4();
test5();
test6();
test7();
test8();
test9();
test10();
test11();
test12();
test13();
test14();
test15();
test16();
test17();
test18();
WScript.Echo("done");
