The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl -T

# Binary bitwise operators

BEGIN { require './t/test.pl' }

use Test::More tests => 2673;
use strict;
use utf8;

# Test 1: See if the module loads
BEGIN { use_ok('JE') };


my $j = new JE;


# Tests 2-3: Bind the ok and is functions
isa_ok( $j->new_function( ok  => \&ok   ), 'JE::Object::Function' );
isa_ok( $j->new_function( is  => \&is   ), 'JE::Object::Function' );


# JS tests
defined $j->eval( <<'--end--' ) or die;

// ===================================================
// &
// ===================================================

/* Tests 4-51: type convernsion */

ok(( void 0  &  void 0           ) === 0,     "undefined & undefined")
ok(( void 0  &  null             ) === 0,     "undefined & null")
ok(( void 0  &  true             ) === 0,     "undefined & boolean")
ok(( void 0  & "string"          ) === 0,     "undefined & string")
ok(( void 0  &  73               ) === 0,     "undefined & number")
ok(( void 0  &  {}               ) === 0,     "undefined & object")
ok(( void 0  &  new Number(34.2) ) === 0,     "undefined & number object")
ok(( null    &  void 0           ) === 0,     "null & undefined")
ok(( null    &  null             ) === 0,     "null & null")
ok(( null    &  true             ) === 0,     "null & boolean")
ok(( null    & "string"          ) === 0,     "null & string")
ok(( null    &  73               ) === 0,     "null & number")
ok(( null    &  {}               ) === 0,     "null & object")
ok(( null    &  new Number(34.2) ) === 0,     "null & number object")
ok(( true    &  void 0           ) === 0,     "boolean & undefined")
ok(( true    &  null             ) === 0,     "boolean & null")
ok(( true    &  true             ) === 1,     "boolean & boolean")
ok(( true    & "string"          ) === 0,     "boolean & string")
ok(( true    &  73               ) === 1,     "boolean & number")
ok(( true    &  {}               ) === 0,     "boolean & object")
ok(( true    &  new Number(34.2) ) === 0,     "boolean & number object")
ok(("string" &  void 0           ) === 0,     "string & undefined")
ok(("string" &  null             ) === 0,     "string & null")
ok(("string" &  true             ) === 0,     "string & boolean")
ok(("string" & "string"          ) === 0,     "string & string")
ok(("string" &  73               ) === 0,     "string & number")
ok(("string" &  {}               ) === 0,     "string & object")
ok(("string" &  new Number(34.2) ) === 0,     "string & number object")
ok(( 73      &  void 0           ) === 0,     "number & undefined")
ok(( 73      &  null             ) === 0,     "number & null")
ok(( 73      &  true             ) === 1,     "number & boolean")
ok(( 73      & "string"          ) === 0,     "number & string")
ok(( 73      &  {}               ) === 0,     "number & object")
ok(( 73      &  new Number(34.2) ) === 0,     "number & number object")
ok(( {}      &  void 0           ) === 0,     "object & undefined")
ok(( {}      &  null             ) === 0,     "object & null")
ok(( {}      &  true             ) === 0,     "object & boolean")
ok(( {}      & "string"          ) === 0,     "object & string")
ok(( {}      &  73               ) === 0,     "object & number")
ok(( {}      &  {}               ) === 0,     "object & object")
ok(( {}      &  new Number(34.2) ) === 0,     "object & number object")
ok(( new Number(34.2) &  void 0  ) === 0,     "number object & undefined")
ok(( new Number(34.2) &  null    ) === 0,     "number object & null")
ok(( new Number(34.2) &  true    ) === 0,     "number object & boolean")
ok(( new Number(34.2) & "string" ) === 0,     "number object & string")
ok(( new Number(34.2) &  73      ) === 0,     "number object & number")
ok(( new Number(34.2) &  {}      ) === 0,     "number object & object")
ok(( new Number(34.2) &  new Number(34.2) ) === 34,
	"number object & number object")

/* Tests 52-892: number & number */

n2n = [
	[NaN, NaN, 0],
	[NaN, 0, 0],
	[NaN, 0, 0],
	[NaN, Infinity, 0],
	[NaN, -Infinity, 0],
	[NaN, 1, 0],
	[NaN, 32.5, 0],
	[NaN, 2147483648, 0],
	[NaN, 3000000000, 0],
	[NaN, 4000000000.23, 0],
	[NaN, 5000000000, 0],
	[NaN, 4294967296, 0],
	[NaN, 4294967298.479, 0],
	[NaN, 6442450942, 0],
	[NaN, 6442450943.674, 0],
	[NaN, 6442450944, 0],
	[NaN, 6442450945, 0],
	[NaN, 6442450946.74, 0],
	[NaN, -1, 0],
	[NaN, -32.5, 0],
	[NaN, -3000000000, 0],
	[NaN, -4000000000.23, 0],
	[NaN, -5000000000, 0],
	[NaN, -4294967298.479, 0],
	[NaN, -6442450942, 0],
	[NaN, -6442450943.674, 0],
	[NaN, -6442450944, 0],
	[NaN, -6442450945, 0],
	[NaN, -6442450946.74, 0],
	[0, NaN, 0],
	[0, 0, 0],
	[0, 0, 0],
	[0, Infinity, 0],
	[0, -Infinity, 0],
	[0, 1, 0],
	[0, 32.5, 0],
	[0, 2147483648, 0],
	[0, 3000000000, 0],
	[0, 4000000000.23, 0],
	[0, 5000000000, 0],
	[0, 4294967296, 0],
	[0, 4294967298.479, 0],
	[0, 6442450942, 0],
	[0, 6442450943.674, 0],
	[0, 6442450944, 0],
	[0, 6442450945, 0],
	[0, 6442450946.74, 0],
	[0, -1, 0],
	[0, -32.5, 0],
	[0, -3000000000, 0],
	[0, -4000000000.23, 0],
	[0, -5000000000, 0],
	[0, -4294967298.479, 0],
	[0, -6442450942, 0],
	[0, -6442450943.674, 0],
	[0, -6442450944, 0],
	[0, -6442450945, 0],
	[0, -6442450946.74, 0],
	[0, NaN, 0],
	[0, 0, 0],
	[0, 0, 0],
	[0, Infinity, 0],
	[0, -Infinity, 0],
	[0, 1, 0],
	[0, 32.5, 0],
	[0, 2147483648, 0],
	[0, 3000000000, 0],
	[0, 4000000000.23, 0],
	[0, 5000000000, 0],
	[0, 4294967296, 0],
	[0, 4294967298.479, 0],
	[0, 6442450942, 0],
	[0, 6442450943.674, 0],
	[0, 6442450944, 0],
	[0, 6442450945, 0],
	[0, 6442450946.74, 0],
	[0, -1, 0],
	[0, -32.5, 0],
	[0, -3000000000, 0],
	[0, -4000000000.23, 0],
	[0, -5000000000, 0],
	[0, -4294967298.479, 0],
	[0, -6442450942, 0],
	[0, -6442450943.674, 0],
	[0, -6442450944, 0],
	[0, -6442450945, 0],
	[0, -6442450946.74, 0],
	[Infinity, NaN, 0],
	[Infinity, 0, 0],
	[Infinity, 0, 0],
	[Infinity, Infinity, 0],
	[Infinity, -Infinity, 0],
	[Infinity, 1, 0],
	[Infinity, 32.5, 0],
	[Infinity, 2147483648, 0],
	[Infinity, 3000000000, 0],
	[Infinity, 4000000000.23, 0],
	[Infinity, 5000000000, 0],
	[Infinity, 4294967296, 0],
	[Infinity, 4294967298.479, 0],
	[Infinity, 6442450942, 0],
	[Infinity, 6442450943.674, 0],
	[Infinity, 6442450944, 0],
	[Infinity, 6442450945, 0],
	[Infinity, 6442450946.74, 0],
	[Infinity, -1, 0],
	[Infinity, -32.5, 0],
	[Infinity, -3000000000, 0],
	[Infinity, -4000000000.23, 0],
	[Infinity, -5000000000, 0],
	[Infinity, -4294967298.479, 0],
	[Infinity, -6442450942, 0],
	[Infinity, -6442450943.674, 0],
	[Infinity, -6442450944, 0],
	[Infinity, -6442450945, 0],
	[Infinity, -6442450946.74, 0],
	[-Infinity, NaN, 0],
	[-Infinity, 0, 0],
	[-Infinity, 0, 0],
	[-Infinity, Infinity, 0],
	[-Infinity, -Infinity, 0],
	[-Infinity, 1, 0],
	[-Infinity, 32.5, 0],
	[-Infinity, 2147483648, 0],
	[-Infinity, 3000000000, 0],
	[-Infinity, 4000000000.23, 0],
	[-Infinity, 5000000000, 0],
	[-Infinity, 4294967296, 0],
	[-Infinity, 4294967298.479, 0],
	[-Infinity, 6442450942, 0],
	[-Infinity, 6442450943.674, 0],
	[-Infinity, 6442450944, 0],
	[-Infinity, 6442450945, 0],
	[-Infinity, 6442450946.74, 0],
	[-Infinity, -1, 0],
	[-Infinity, -32.5, 0],
	[-Infinity, -3000000000, 0],
	[-Infinity, -4000000000.23, 0],
	[-Infinity, -5000000000, 0],
	[-Infinity, -4294967298.479, 0],
	[-Infinity, -6442450942, 0],
	[-Infinity, -6442450943.674, 0],
	[-Infinity, -6442450944, 0],
	[-Infinity, -6442450945, 0],
	[-Infinity, -6442450946.74, 0],
	[1, NaN, 0],
	[1, 0, 0],
	[1, 0, 0],
	[1, Infinity, 0],
	[1, -Infinity, 0],
	[1, 1, 1],
	[1, 32.5, 0],
	[1, 2147483648, 0],
	[1, 3000000000, 0],
	[1, 4000000000.23, 0],
	[1, 5000000000, 0],
	[1, 4294967296, 0],
	[1, 4294967298.479, 0],
	[1, 6442450942, 0],
	[1, 6442450943.674, 1],
	[1, 6442450944, 0],
	[1, 6442450945, 1],
	[1, 6442450946.74, 0],
	[1, -1, 1],
	[1, -32.5, 0],
	[1, -3000000000, 0],
	[1, -4000000000.23, 0],
	[1, -5000000000, 0],
	[1, -4294967298.479, 0],
	[1, -6442450942, 0],
	[1, -6442450943.674, 1],
	[1, -6442450944, 0],
	[1, -6442450945, 1],
	[1, -6442450946.74, 0],
	[32.5, NaN, 0],
	[32.5, 0, 0],
	[32.5, 0, 0],
	[32.5, Infinity, 0],
	[32.5, -Infinity, 0],
	[32.5, 1, 0],
	[32.5, 32.5, 32],
	[32.5, 2147483648, 0],
	[32.5, 3000000000, 0],
	[32.5, 4000000000.23, 0],
	[32.5, 5000000000, 0],
	[32.5, 4294967296, 0],
	[32.5, 4294967298.479, 0],
	[32.5, 6442450942, 32],
	[32.5, 6442450943.674, 32],
	[32.5, 6442450944, 0],
	[32.5, 6442450945, 0],
	[32.5, 6442450946.74, 0],
	[32.5, -1, 32],
	[32.5, -32.5, 32],
	[32.5, -3000000000, 0],
	[32.5, -4000000000.23, 0],
	[32.5, -5000000000, 0],
	[32.5, -4294967298.479, 32],
	[32.5, -6442450942, 0],
	[32.5, -6442450943.674, 0],
	[32.5, -6442450944, 0],
	[32.5, -6442450945, 32],
	[32.5, -6442450946.74, 32],
	[2147483648, NaN, 0],
	[2147483648, 0, 0],
	[2147483648, 0, 0],
	[2147483648, Infinity, 0],
	[2147483648, -Infinity, 0],
	[2147483648, 1, 0],
	[2147483648, 32.5, 0],
	[2147483648, 2147483648, -2147483648],
	[2147483648, 3000000000, -2147483648],
	[2147483648, 4000000000.23, -2147483648],
	[2147483648, 5000000000, 0],
	[2147483648, 4294967296, 0],
	[2147483648, 4294967298.479, 0],
	[2147483648, 6442450942, 0],
	[2147483648, 6442450943.674, 0],
	[2147483648, 6442450944, -2147483648],
	[2147483648, 6442450945, -2147483648],
	[2147483648, 6442450946.74, -2147483648],
	[2147483648, -1, -2147483648],
	[2147483648, -32.5, -2147483648],
	[2147483648, -3000000000, 0],
	[2147483648, -4000000000.23, 0],
	[2147483648, -5000000000, -2147483648],
	[2147483648, -4294967298.479, -2147483648],
	[2147483648, -6442450942, -2147483648],
	[2147483648, -6442450943.674, -2147483648],
	[2147483648, -6442450944, -2147483648],
	[2147483648, -6442450945, 0],
	[2147483648, -6442450946.74, 0],
	[3000000000, NaN, 0],
	[3000000000, 0, 0],
	[3000000000, 0, 0],
	[3000000000, Infinity, 0],
	[3000000000, -Infinity, 0],
	[3000000000, 1, 0],
	[3000000000, 32.5, 0],
	[3000000000, 2147483648, -2147483648],
	[3000000000, 3000000000, -1294967296],
	[3000000000, 4000000000.23, -1572861952],
	[3000000000, 5000000000, 570446336],
	[3000000000, 4294967296, 0],
	[3000000000, 4294967298.479, 0],
	[3000000000, 6442450942, 852516352],
	[3000000000, 6442450943.674, 852516352],
	[3000000000, 6442450944, -2147483648],
	[3000000000, 6442450945, -2147483648],
	[3000000000, 6442450946.74, -2147483648],
	[3000000000, -1, -1294967296],
	[3000000000, -32.5, -1294967296],
	[3000000000, -3000000000, 512],
	[3000000000, -4000000000.23, 277895168],
	[3000000000, -5000000000, -1865413120],
	[3000000000, -4294967298.479, -1294967296],
	[3000000000, -6442450942, -2147483648],
	[3000000000, -6442450943.674, -2147483648],
	[3000000000, -6442450944, -2147483648],
	[3000000000, -6442450945, 852516352],
	[3000000000, -6442450946.74, 852516352],
	[4000000000.23, NaN, 0],
	[4000000000.23, 0, 0],
	[4000000000.23, 0, 0],
	[4000000000.23, Infinity, 0],
	[4000000000.23, -Infinity, 0],
	[4000000000.23, 1, 0],
	[4000000000.23, 32.5, 0],
	[4000000000.23, 2147483648, -2147483648],
	[4000000000.23, 3000000000, -1572861952],
	[4000000000.23, 4000000000.23, -294967296],
	[4000000000.23, 5000000000, 704716800],
	[4000000000.23, 4294967296, 0],
	[4000000000.23, 4294967298.479, 0],
	[4000000000.23, 6442450942, 1852516352],
	[4000000000.23, 6442450943.674, 1852516352],
	[4000000000.23, 6442450944, -2147483648],
	[4000000000.23, 6442450945, -2147483648],
	[4000000000.23, 6442450946.74, -2147483648],
	[4000000000.23, -1, -294967296],
	[4000000000.23, -32.5, -294967296],
	[4000000000.23, -3000000000, 1277894656],
	[4000000000.23, -4000000000.23, 2048],
	[4000000000.23, -5000000000, -999684096],
	[4000000000.23, -4294967298.479, -294967296],
	[4000000000.23, -6442450942, -2147483648],
	[4000000000.23, -6442450943.674, -2147483648],
	[4000000000.23, -6442450944, -2147483648],
	[4000000000.23, -6442450945, 1852516352],
	[4000000000.23, -6442450946.74, 1852516352],
	[5000000000, NaN, 0],
	[5000000000, 0, 0],
	[5000000000, 0, 0],
	[5000000000, Infinity, 0],
	[5000000000, -Infinity, 0],
	[5000000000, 1, 0],
	[5000000000, 32.5, 0],
	[5000000000, 2147483648, 0],
	[5000000000, 3000000000, 570446336],
	[5000000000, 4000000000.23, 704716800],
	[5000000000, 5000000000, 705032704],
	[5000000000, 4294967296, 0],
	[5000000000, 4294967298.479, 0],
	[5000000000, 6442450942, 705032704],
	[5000000000, 6442450943.674, 705032704],
	[5000000000, 6442450944, 0],
	[5000000000, 6442450945, 0],
	[5000000000, 6442450946.74, 0],
	[5000000000, -1, 705032704],
	[5000000000, -32.5, 705032704],
	[5000000000, -3000000000, 134586880],
	[5000000000, -4000000000.23, 315392],
	[5000000000, -5000000000, 512],
	[5000000000, -4294967298.479, 705032704],
	[5000000000, -6442450942, 0],
	[5000000000, -6442450943.674, 0],
	[5000000000, -6442450944, 0],
	[5000000000, -6442450945, 705032704],
	[5000000000, -6442450946.74, 705032704],
	[4294967296, NaN, 0],
	[4294967296, 0, 0],
	[4294967296, 0, 0],
	[4294967296, Infinity, 0],
	[4294967296, -Infinity, 0],
	[4294967296, 1, 0],
	[4294967296, 32.5, 0],
	[4294967296, 2147483648, 0],
	[4294967296, 3000000000, 0],
	[4294967296, 4000000000.23, 0],
	[4294967296, 5000000000, 0],
	[4294967296, 4294967296, 0],
	[4294967296, 4294967298.479, 0],
	[4294967296, 6442450942, 0],
	[4294967296, 6442450943.674, 0],
	[4294967296, 6442450944, 0],
	[4294967296, 6442450945, 0],
	[4294967296, 6442450946.74, 0],
	[4294967296, -1, 0],
	[4294967296, -32.5, 0],
	[4294967296, -3000000000, 0],
	[4294967296, -4000000000.23, 0],
	[4294967296, -5000000000, 0],
	[4294967296, -4294967298.479, 0],
	[4294967296, -6442450942, 0],
	[4294967296, -6442450943.674, 0],
	[4294967296, -6442450944, 0],
	[4294967296, -6442450945, 0],
	[4294967296, -6442450946.74, 0],
	[4294967298.479, NaN, 0],
	[4294967298.479, 0, 0],
	[4294967298.479, 0, 0],
	[4294967298.479, Infinity, 0],
	[4294967298.479, -Infinity, 0],
	[4294967298.479, 1, 0],
	[4294967298.479, 32.5, 0],
	[4294967298.479, 2147483648, 0],
	[4294967298.479, 3000000000, 0],
	[4294967298.479, 4000000000.23, 0],
	[4294967298.479, 5000000000, 0],
	[4294967298.479, 4294967296, 0],
	[4294967298.479, 4294967298.479, 2],
	[4294967298.479, 6442450942, 2],
	[4294967298.479, 6442450943.674, 2],
	[4294967298.479, 6442450944, 0],
	[4294967298.479, 6442450945, 0],
	[4294967298.479, 6442450946.74, 2],
	[4294967298.479, -1, 2],
	[4294967298.479, -32.5, 0],
	[4294967298.479, -3000000000, 0],
	[4294967298.479, -4000000000.23, 0],
	[4294967298.479, -5000000000, 0],
	[4294967298.479, -4294967298.479, 2],
	[4294967298.479, -6442450942, 2],
	[4294967298.479, -6442450943.674, 0],
	[4294967298.479, -6442450944, 0],
	[4294967298.479, -6442450945, 2],
	[4294967298.479, -6442450946.74, 2],
	[6442450942, NaN, 0],
	[6442450942, 0, 0],
	[6442450942, 0, 0],
	[6442450942, Infinity, 0],
	[6442450942, -Infinity, 0],
	[6442450942, 1, 0],
	[6442450942, 32.5, 32],
	[6442450942, 2147483648, 0],
	[6442450942, 3000000000, 852516352],
	[6442450942, 4000000000.23, 1852516352],
	[6442450942, 5000000000, 705032704],
	[6442450942, 4294967296, 0],
	[6442450942, 4294967298.479, 2],
	[6442450942, 6442450942, 2147483646],
	[6442450942, 6442450943.674, 2147483646],
	[6442450942, 6442450944, 0],
	[6442450942, 6442450945, 0],
	[6442450942, 6442450946.74, 2],
	[6442450942, -1, 2147483646],
	[6442450942, -32.5, 2147483616],
	[6442450942, -3000000000, 1294967296],
	[6442450942, -4000000000.23, 294967296],
	[6442450942, -5000000000, 1442450944],
	[6442450942, -4294967298.479, 2147483646],
	[6442450942, -6442450942, 2],
	[6442450942, -6442450943.674, 0],
	[6442450942, -6442450944, 0],
	[6442450942, -6442450945, 2147483646],
	[6442450942, -6442450946.74, 2147483646],
	[6442450943.674, NaN, 0],
	[6442450943.674, 0, 0],
	[6442450943.674, 0, 0],
	[6442450943.674, Infinity, 0],
	[6442450943.674, -Infinity, 0],
	[6442450943.674, 1, 1],
	[6442450943.674, 32.5, 32],
	[6442450943.674, 2147483648, 0],
	[6442450943.674, 3000000000, 852516352],
	[6442450943.674, 4000000000.23, 1852516352],
	[6442450943.674, 5000000000, 705032704],
	[6442450943.674, 4294967296, 0],
	[6442450943.674, 4294967298.479, 2],
	[6442450943.674, 6442450942, 2147483646],
	[6442450943.674, 6442450943.674, 2147483647],
	[6442450943.674, 6442450944, 0],
	[6442450943.674, 6442450945, 1],
	[6442450943.674, 6442450946.74, 2],
	[6442450943.674, -1, 2147483647],
	[6442450943.674, -32.5, 2147483616],
	[6442450943.674, -3000000000, 1294967296],
	[6442450943.674, -4000000000.23, 294967296],
	[6442450943.674, -5000000000, 1442450944],
	[6442450943.674, -4294967298.479, 2147483646],
	[6442450943.674, -6442450942, 2],
	[6442450943.674, -6442450943.674, 1],
	[6442450943.674, -6442450944, 0],
	[6442450943.674, -6442450945, 2147483647],
	[6442450943.674, -6442450946.74, 2147483646],
	[6442450944, NaN, 0],
	[6442450944, 0, 0],
	[6442450944, 0, 0],
	[6442450944, Infinity, 0],
	[6442450944, -Infinity, 0],
	[6442450944, 1, 0],
	[6442450944, 32.5, 0],
	[6442450944, 2147483648, -2147483648],
	[6442450944, 3000000000, -2147483648],
	[6442450944, 4000000000.23, -2147483648],
	[6442450944, 5000000000, 0],
	[6442450944, 4294967296, 0],
	[6442450944, 4294967298.479, 0],
	[6442450944, 6442450942, 0],
	[6442450944, 6442450943.674, 0],
	[6442450944, 6442450944, -2147483648],
	[6442450944, 6442450945, -2147483648],
	[6442450944, 6442450946.74, -2147483648],
	[6442450944, -1, -2147483648],
	[6442450944, -32.5, -2147483648],
	[6442450944, -3000000000, 0],
	[6442450944, -4000000000.23, 0],
	[6442450944, -5000000000, -2147483648],
	[6442450944, -4294967298.479, -2147483648],
	[6442450944, -6442450942, -2147483648],
	[6442450944, -6442450943.674, -2147483648],
	[6442450944, -6442450944, -2147483648],
	[6442450944, -6442450945, 0],
	[6442450944, -6442450946.74, 0],
	[6442450945, NaN, 0],
	[6442450945, 0, 0],
	[6442450945, 0, 0],
	[6442450945, Infinity, 0],
	[6442450945, -Infinity, 0],
	[6442450945, 1, 1],
	[6442450945, 32.5, 0],
	[6442450945, 2147483648, -2147483648],
	[6442450945, 3000000000, -2147483648],
	[6442450945, 4000000000.23, -2147483648],
	[6442450945, 5000000000, 0],
	[6442450945, 4294967296, 0],
	[6442450945, 4294967298.479, 0],
	[6442450945, 6442450942, 0],
	[6442450945, 6442450943.674, 1],
	[6442450945, 6442450944, -2147483648],
	[6442450945, 6442450945, -2147483647],
	[6442450945, 6442450946.74, -2147483648],
	[6442450945, -1, -2147483647],
	[6442450945, -32.5, -2147483648],
	[6442450945, -3000000000, 0],
	[6442450945, -4000000000.23, 0],
	[6442450945, -5000000000, -2147483648],
	[6442450945, -4294967298.479, -2147483648],
	[6442450945, -6442450942, -2147483648],
	[6442450945, -6442450943.674, -2147483647],
	[6442450945, -6442450944, -2147483648],
	[6442450945, -6442450945, 1],
	[6442450945, -6442450946.74, 0],
	[6442450946.74, NaN, 0],
	[6442450946.74, 0, 0],
	[6442450946.74, 0, 0],
	[6442450946.74, Infinity, 0],
	[6442450946.74, -Infinity, 0],
	[6442450946.74, 1, 0],
	[6442450946.74, 32.5, 0],
	[6442450946.74, 2147483648, -2147483648],
	[6442450946.74, 3000000000, -2147483648],
	[6442450946.74, 4000000000.23, -2147483648],
	[6442450946.74, 5000000000, 0],
	[6442450946.74, 4294967296, 0],
	[6442450946.74, 4294967298.479, 2],
	[6442450946.74, 6442450942, 2],
	[6442450946.74, 6442450943.674, 2],
	[6442450946.74, 6442450944, -2147483648],
	[6442450946.74, 6442450945, -2147483648],
	[6442450946.74, 6442450946.74, -2147483646],
	[6442450946.74, -1, -2147483646],
	[6442450946.74, -32.5, -2147483648],
	[6442450946.74, -3000000000, 0],
	[6442450946.74, -4000000000.23, 0],
	[6442450946.74, -5000000000, -2147483648],
	[6442450946.74, -4294967298.479, -2147483646],
	[6442450946.74, -6442450942, -2147483646],
	[6442450946.74, -6442450943.674, -2147483648],
	[6442450946.74, -6442450944, -2147483648],
	[6442450946.74, -6442450945, 2],
	[6442450946.74, -6442450946.74, 2],
	[-1, NaN, 0],
	[-1, 0, 0],
	[-1, 0, 0],
	[-1, Infinity, 0],
	[-1, -Infinity, 0],
	[-1, 1, 1],
	[-1, 32.5, 32],
	[-1, 2147483648, -2147483648],
	[-1, 3000000000, -1294967296],
	[-1, 4000000000.23, -294967296],
	[-1, 5000000000, 705032704],
	[-1, 4294967296, 0],
	[-1, 4294967298.479, 2],
	[-1, 6442450942, 2147483646],
	[-1, 6442450943.674, 2147483647],
	[-1, 6442450944, -2147483648],
	[-1, 6442450945, -2147483647],
	[-1, 6442450946.74, -2147483646],
	[-1, -1, -1],
	[-1, -32.5, -32],
	[-1, -3000000000, 1294967296],
	[-1, -4000000000.23, 294967296],
	[-1, -5000000000, -705032704],
	[-1, -4294967298.479, -2],
	[-1, -6442450942, -2147483646],
	[-1, -6442450943.674, -2147483647],
	[-1, -6442450944, -2147483648],
	[-1, -6442450945, 2147483647],
	[-1, -6442450946.74, 2147483646],
	[-32.5, NaN, 0],
	[-32.5, 0, 0],
	[-32.5, 0, 0],
	[-32.5, Infinity, 0],
	[-32.5, -Infinity, 0],
	[-32.5, 1, 0],
	[-32.5, 32.5, 32],
	[-32.5, 2147483648, -2147483648],
	[-32.5, 3000000000, -1294967296],
	[-32.5, 4000000000.23, -294967296],
	[-32.5, 5000000000, 705032704],
	[-32.5, 4294967296, 0],
	[-32.5, 4294967298.479, 0],
	[-32.5, 6442450942, 2147483616],
	[-32.5, 6442450943.674, 2147483616],
	[-32.5, 6442450944, -2147483648],
	[-32.5, 6442450945, -2147483648],
	[-32.5, 6442450946.74, -2147483648],
	[-32.5, -1, -32],
	[-32.5, -32.5, -32],
	[-32.5, -3000000000, 1294967296],
	[-32.5, -4000000000.23, 294967296],
	[-32.5, -5000000000, -705032704],
	[-32.5, -4294967298.479, -32],
	[-32.5, -6442450942, -2147483648],
	[-32.5, -6442450943.674, -2147483648],
	[-32.5, -6442450944, -2147483648],
	[-32.5, -6442450945, 2147483616],
	[-32.5, -6442450946.74, 2147483616],
	[-3000000000, NaN, 0],
	[-3000000000, 0, 0],
	[-3000000000, 0, 0],
	[-3000000000, Infinity, 0],
	[-3000000000, -Infinity, 0],
	[-3000000000, 1, 0],
	[-3000000000, 32.5, 0],
	[-3000000000, 2147483648, 0],
	[-3000000000, 3000000000, 512],
	[-3000000000, 4000000000.23, 1277894656],
	[-3000000000, 5000000000, 134586880],
	[-3000000000, 4294967296, 0],
	[-3000000000, 4294967298.479, 0],
	[-3000000000, 6442450942, 1294967296],
	[-3000000000, 6442450943.674, 1294967296],
	[-3000000000, 6442450944, 0],
	[-3000000000, 6442450945, 0],
	[-3000000000, 6442450946.74, 0],
	[-3000000000, -1, 1294967296],
	[-3000000000, -32.5, 1294967296],
	[-3000000000, -3000000000, 1294967296],
	[-3000000000, -4000000000.23, 17072128],
	[-3000000000, -5000000000, 1160380928],
	[-3000000000, -4294967298.479, 1294967296],
	[-3000000000, -6442450942, 0],
	[-3000000000, -6442450943.674, 0],
	[-3000000000, -6442450944, 0],
	[-3000000000, -6442450945, 1294967296],
	[-3000000000, -6442450946.74, 1294967296],
	[-4000000000.23, NaN, 0],
	[-4000000000.23, 0, 0],
	[-4000000000.23, 0, 0],
	[-4000000000.23, Infinity, 0],
	[-4000000000.23, -Infinity, 0],
	[-4000000000.23, 1, 0],
	[-4000000000.23, 32.5, 0],
	[-4000000000.23, 2147483648, 0],
	[-4000000000.23, 3000000000, 277895168],
	[-4000000000.23, 4000000000.23, 2048],
	[-4000000000.23, 5000000000, 315392],
	[-4000000000.23, 4294967296, 0],
	[-4000000000.23, 4294967298.479, 0],
	[-4000000000.23, 6442450942, 294967296],
	[-4000000000.23, 6442450943.674, 294967296],
	[-4000000000.23, 6442450944, 0],
	[-4000000000.23, 6442450945, 0],
	[-4000000000.23, 6442450946.74, 0],
	[-4000000000.23, -1, 294967296],
	[-4000000000.23, -32.5, 294967296],
	[-4000000000.23, -3000000000, 17072128],
	[-4000000000.23, -4000000000.23, 294967296],
	[-4000000000.23, -5000000000, 294651904],
	[-4000000000.23, -4294967298.479, 294967296],
	[-4000000000.23, -6442450942, 0],
	[-4000000000.23, -6442450943.674, 0],
	[-4000000000.23, -6442450944, 0],
	[-4000000000.23, -6442450945, 294967296],
	[-4000000000.23, -6442450946.74, 294967296],
	[-5000000000, NaN, 0],
	[-5000000000, 0, 0],
	[-5000000000, 0, 0],
	[-5000000000, Infinity, 0],
	[-5000000000, -Infinity, 0],
	[-5000000000, 1, 0],
	[-5000000000, 32.5, 0],
	[-5000000000, 2147483648, -2147483648],
	[-5000000000, 3000000000, -1865413120],
	[-5000000000, 4000000000.23, -999684096],
	[-5000000000, 5000000000, 512],
	[-5000000000, 4294967296, 0],
	[-5000000000, 4294967298.479, 0],
	[-5000000000, 6442450942, 1442450944],
	[-5000000000, 6442450943.674, 1442450944],
	[-5000000000, 6442450944, -2147483648],
	[-5000000000, 6442450945, -2147483648],
	[-5000000000, 6442450946.74, -2147483648],
	[-5000000000, -1, -705032704],
	[-5000000000, -32.5, -705032704],
	[-5000000000, -3000000000, 1160380928],
	[-5000000000, -4000000000.23, 294651904],
	[-5000000000, -5000000000, -705032704],
	[-5000000000, -4294967298.479, -705032704],
	[-5000000000, -6442450942, -2147483648],
	[-5000000000, -6442450943.674, -2147483648],
	[-5000000000, -6442450944, -2147483648],
	[-5000000000, -6442450945, 1442450944],
	[-5000000000, -6442450946.74, 1442450944],
	[-4294967298.479, NaN, 0],
	[-4294967298.479, 0, 0],
	[-4294967298.479, 0, 0],
	[-4294967298.479, Infinity, 0],
	[-4294967298.479, -Infinity, 0],
	[-4294967298.479, 1, 0],
	[-4294967298.479, 32.5, 32],
	[-4294967298.479, 2147483648, -2147483648],
	[-4294967298.479, 3000000000, -1294967296],
	[-4294967298.479, 4000000000.23, -294967296],
	[-4294967298.479, 5000000000, 705032704],
	[-4294967298.479, 4294967296, 0],
	[-4294967298.479, 4294967298.479, 2],
	[-4294967298.479, 6442450942, 2147483646],
	[-4294967298.479, 6442450943.674, 2147483646],
	[-4294967298.479, 6442450944, -2147483648],
	[-4294967298.479, 6442450945, -2147483648],
	[-4294967298.479, 6442450946.74, -2147483646],
	[-4294967298.479, -1, -2],
	[-4294967298.479, -32.5, -32],
	[-4294967298.479, -3000000000, 1294967296],
	[-4294967298.479, -4000000000.23, 294967296],
	[-4294967298.479, -5000000000, -705032704],
	[-4294967298.479, -4294967298.479, -2],
	[-4294967298.479, -6442450942, -2147483646],
	[-4294967298.479, -6442450943.674, -2147483648],
	[-4294967298.479, -6442450944, -2147483648],
	[-4294967298.479, -6442450945, 2147483646],
	[-4294967298.479, -6442450946.74, 2147483646],
	[-6442450942, NaN, 0],
	[-6442450942, 0, 0],
	[-6442450942, 0, 0],
	[-6442450942, Infinity, 0],
	[-6442450942, -Infinity, 0],
	[-6442450942, 1, 0],
	[-6442450942, 32.5, 0],
	[-6442450942, 2147483648, -2147483648],
	[-6442450942, 3000000000, -2147483648],
	[-6442450942, 4000000000.23, -2147483648],
	[-6442450942, 5000000000, 0],
	[-6442450942, 4294967296, 0],
	[-6442450942, 4294967298.479, 2],
	[-6442450942, 6442450942, 2],
	[-6442450942, 6442450943.674, 2],
	[-6442450942, 6442450944, -2147483648],
	[-6442450942, 6442450945, -2147483648],
	[-6442450942, 6442450946.74, -2147483646],
	[-6442450942, -1, -2147483646],
	[-6442450942, -32.5, -2147483648],
	[-6442450942, -3000000000, 0],
	[-6442450942, -4000000000.23, 0],
	[-6442450942, -5000000000, -2147483648],
	[-6442450942, -4294967298.479, -2147483646],
	[-6442450942, -6442450942, -2147483646],
	[-6442450942, -6442450943.674, -2147483648],
	[-6442450942, -6442450944, -2147483648],
	[-6442450942, -6442450945, 2],
	[-6442450942, -6442450946.74, 2],
	[-6442450943.674, NaN, 0],
	[-6442450943.674, 0, 0],
	[-6442450943.674, 0, 0],
	[-6442450943.674, Infinity, 0],
	[-6442450943.674, -Infinity, 0],
	[-6442450943.674, 1, 1],
	[-6442450943.674, 32.5, 0],
	[-6442450943.674, 2147483648, -2147483648],
	[-6442450943.674, 3000000000, -2147483648],
	[-6442450943.674, 4000000000.23, -2147483648],
	[-6442450943.674, 5000000000, 0],
	[-6442450943.674, 4294967296, 0],
	[-6442450943.674, 4294967298.479, 0],
	[-6442450943.674, 6442450942, 0],
	[-6442450943.674, 6442450943.674, 1],
	[-6442450943.674, 6442450944, -2147483648],
	[-6442450943.674, 6442450945, -2147483647],
	[-6442450943.674, 6442450946.74, -2147483648],
	[-6442450943.674, -1, -2147483647],
	[-6442450943.674, -32.5, -2147483648],
	[-6442450943.674, -3000000000, 0],
	[-6442450943.674, -4000000000.23, 0],
	[-6442450943.674, -5000000000, -2147483648],
	[-6442450943.674, -4294967298.479, -2147483648],
	[-6442450943.674, -6442450942, -2147483648],
	[-6442450943.674, -6442450943.674, -2147483647],
	[-6442450943.674, -6442450944, -2147483648],
	[-6442450943.674, -6442450945, 1],
	[-6442450943.674, -6442450946.74, 0],
	[-6442450944, NaN, 0],
	[-6442450944, 0, 0],
	[-6442450944, 0, 0],
	[-6442450944, Infinity, 0],
	[-6442450944, -Infinity, 0],
	[-6442450944, 1, 0],
	[-6442450944, 32.5, 0],
	[-6442450944, 2147483648, -2147483648],
	[-6442450944, 3000000000, -2147483648],
	[-6442450944, 4000000000.23, -2147483648],
	[-6442450944, 5000000000, 0],
	[-6442450944, 4294967296, 0],
	[-6442450944, 4294967298.479, 0],
	[-6442450944, 6442450942, 0],
	[-6442450944, 6442450943.674, 0],
	[-6442450944, 6442450944, -2147483648],
	[-6442450944, 6442450945, -2147483648],
	[-6442450944, 6442450946.74, -2147483648],
	[-6442450944, -1, -2147483648],
	[-6442450944, -32.5, -2147483648],
	[-6442450944, -3000000000, 0],
	[-6442450944, -4000000000.23, 0],
	[-6442450944, -5000000000, -2147483648],
	[-6442450944, -4294967298.479, -2147483648],
	[-6442450944, -6442450942, -2147483648],
	[-6442450944, -6442450943.674, -2147483648],
	[-6442450944, -6442450944, -2147483648],
	[-6442450944, -6442450945, 0],
	[-6442450944, -6442450946.74, 0],
	[-6442450945, NaN, 0],
	[-6442450945, 0, 0],
	[-6442450945, 0, 0],
	[-6442450945, Infinity, 0],
	[-6442450945, -Infinity, 0],
	[-6442450945, 1, 1],
	[-6442450945, 32.5, 32],
	[-6442450945, 2147483648, 0],
	[-6442450945, 3000000000, 852516352],
	[-6442450945, 4000000000.23, 1852516352],
	[-6442450945, 5000000000, 705032704],
	[-6442450945, 4294967296, 0],
	[-6442450945, 4294967298.479, 2],
	[-6442450945, 6442450942, 2147483646],
	[-6442450945, 6442450943.674, 2147483647],
	[-6442450945, 6442450944, 0],
	[-6442450945, 6442450945, 1],
	[-6442450945, 6442450946.74, 2],
	[-6442450945, -1, 2147483647],
	[-6442450945, -32.5, 2147483616],
	[-6442450945, -3000000000, 1294967296],
	[-6442450945, -4000000000.23, 294967296],
	[-6442450945, -5000000000, 1442450944],
	[-6442450945, -4294967298.479, 2147483646],
	[-6442450945, -6442450942, 2],
	[-6442450945, -6442450943.674, 1],
	[-6442450945, -6442450944, 0],
	[-6442450945, -6442450945, 2147483647],
	[-6442450945, -6442450946.74, 2147483646],
	[-6442450946.74, NaN, 0],
	[-6442450946.74, 0, 0],
	[-6442450946.74, 0, 0],
	[-6442450946.74, Infinity, 0],
	[-6442450946.74, -Infinity, 0],
	[-6442450946.74, 1, 0],
	[-6442450946.74, 32.5, 32],
	[-6442450946.74, 2147483648, 0],
	[-6442450946.74, 3000000000, 852516352],
	[-6442450946.74, 4000000000.23, 1852516352],
	[-6442450946.74, 5000000000, 705032704],
	[-6442450946.74, 4294967296, 0],
	[-6442450946.74, 4294967298.479, 2],
	[-6442450946.74, 6442450942, 2147483646],
	[-6442450946.74, 6442450943.674, 2147483646],
	[-6442450946.74, 6442450944, 0],
	[-6442450946.74, 6442450945, 0],
	[-6442450946.74, 6442450946.74, 2],
	[-6442450946.74, -1, 2147483646],
	[-6442450946.74, -32.5, 2147483616],
	[-6442450946.74, -3000000000, 1294967296],
	[-6442450946.74, -4000000000.23, 294967296],
	[-6442450946.74, -5000000000, 1442450944],
	[-6442450946.74, -4294967298.479, 2147483646],
	[-6442450946.74, -6442450942, 2],
	[-6442450946.74, -6442450943.674, 0],
	[-6442450946.74, -6442450944, 0],
	[-6442450946.74, -6442450945, 2147483646],
	[-6442450946.74, -6442450946.74, 2147483646],
];

for(var i in n2n) {
	item = n2n[i]
	ok((item[0] & item[1]) === item[2], item[0] + ' & ' + item[1])
}

/* Test 893 */
expr = 1
is(expr & (expr = 2), 0, 'lvalue & expr modifying the lvalue');


// ===================================================
// ^
// ===================================================

/* Tests 894-941: type conversion (48 tests) */

ok(( void 0  ^  void 0           ) === 0,     "undefined ^ undefined")
ok(( void 0  ^  null             ) === 0,     "undefined ^ null")
ok(( void 0  ^  true             ) === 1,     "undefined ^ boolean")
ok(( void 0  ^ "string"          ) === 0,     "undefined ^ string")
ok(( void 0  ^  73               ) === 73,    "undefined ^ number")
ok(( void 0  ^  {}               ) === 0,     "undefined ^ object")
ok(( void 0  ^  new Number(34.2) ) === 34,    "undefined ^ number object")
ok(( null    ^  void 0           ) === 0,     "null ^ undefined")
ok(( null    ^  null             ) === 0,     "null ^ null")
ok(( null    ^  true             ) === 1,     "null ^ boolean")
ok(( null    ^ "string"          ) === 0,     "null ^ string")
ok(( null    ^  73               ) === 73,     "null ^ number")
ok(( null    ^  {}               ) === 0,     "null ^ object")
ok(( null    ^  new Number(34.2) ) === 34,    "null ^ number object")
ok(( true    ^  void 0           ) === 1,     "boolean ^ undefined")
ok(( true    ^  null             ) === 1,     "boolean ^ null")
ok(( true    ^  true             ) === 0,     "boolean ^ boolean")
ok(( true    ^ "string"          ) === 1,     "boolean ^ string")
ok(( true    ^  73               ) === 72,    "boolean ^ number")
ok(( true    ^  {}               ) === 1,     "boolean ^ object")
ok(( true    ^  new Number(34.2) ) === 35,    "boolean ^ number object")
ok(("string" ^  void 0           ) === 0,     "string ^ undefined")
ok(("string" ^  null             ) === 0,     "string ^ null")
ok(("string" ^  true             ) === 1,     "string ^ boolean")
ok(("string" ^ "string"          ) === 0,     "string ^ string")
ok(("string" ^  73               ) === 73,    "string ^ number")
ok(("string" ^  {}               ) === 0,     "string ^ object")
ok(("string" ^  new Number(34.2) ) === 34,    "string ^ number object")
ok(( 73      ^  void 0           ) === 73,    "number ^ undefined")
ok(( 73      ^  null             ) === 73,    "number ^ null")
ok(( 73      ^  true             ) === 72,    "number ^ boolean")
ok(( 73      ^ "string"          ) === 73,    "number ^ string")
ok(( 73      ^  {}               ) === 73,    "number ^ object")
ok(( 73      ^  new Number(34.2) ) === 107,   "number ^ number object")
ok(( {}      ^  void 0           ) === 0,     "object ^ undefined")
ok(( {}      ^  null             ) === 0,     "object ^ null")
ok(( {}      ^  true             ) === 1,     "object ^ boolean")
ok(( {}      ^ "string"          ) === 0,     "object ^ string")
ok(( {}      ^  73               ) === 73,    "object ^ number")
ok(( {}      ^  {}               ) === 0,     "object ^ object")
ok(( {}      ^  new Number(34.2) ) === 34,    "object ^ number object")
ok(( new Number(34.2) ^  void 0  ) === 34,    "number object ^ undefined")
ok(( new Number(34.2) ^  null    ) === 34,    "number object ^ null")
ok(( new Number(34.2) ^  true    ) === 35,    "number object ^ boolean")
ok(( new Number(34.2) ^ "string" ) === 34,    "number object ^ string")
ok(( new Number(34.2) ^  73      ) === 107,   "number object ^ number")
ok(( new Number(34.2) ^  {}      ) === 34,    "number object ^ object")
ok(( new Number(34.2) ^  new Number(34.2) ) === 0,
	"number object ^ number object")

/* Tests 942-1782: numebr ^ number */

n2n = [
	[NaN, NaN, 0],
	[NaN, 0, 0],
	[NaN, 0, 0],
	[NaN, Infinity, 0],
	[NaN, -Infinity, 0],
	[NaN, 1, 1],
	[NaN, 32.5, 32],
	[NaN, 2147483648, -2147483648],
	[NaN, 3000000000, -1294967296],
	[NaN, 4000000000.23, -294967296],
	[NaN, 5000000000, 705032704],
	[NaN, 4294967296, 0],
	[NaN, 4294967298.479, 2],
	[NaN, 6442450942, 2147483646],
	[NaN, 6442450943.674, 2147483647],
	[NaN, 6442450944, -2147483648],
	[NaN, 6442450945, -2147483647],
	[NaN, 6442450946.74, -2147483646],
	[NaN, -1, -1],
	[NaN, -32.5, -32],
	[NaN, -3000000000, 1294967296],
	[NaN, -4000000000.23, 294967296],
	[NaN, -5000000000, -705032704],
	[NaN, -4294967298.479, -2],
	[NaN, -6442450942, -2147483646],
	[NaN, -6442450943.674, -2147483647],
	[NaN, -6442450944, -2147483648],
	[NaN, -6442450945, 2147483647],
	[NaN, -6442450946.74, 2147483646],
	[0, NaN, 0],
	[0, 0, 0],
	[0, 0, 0],
	[0, Infinity, 0],
	[0, -Infinity, 0],
	[0, 1, 1],
	[0, 32.5, 32],
	[0, 2147483648, -2147483648],
	[0, 3000000000, -1294967296],
	[0, 4000000000.23, -294967296],
	[0, 5000000000, 705032704],
	[0, 4294967296, 0],
	[0, 4294967298.479, 2],
	[0, 6442450942, 2147483646],
	[0, 6442450943.674, 2147483647],
	[0, 6442450944, -2147483648],
	[0, 6442450945, -2147483647],
	[0, 6442450946.74, -2147483646],
	[0, -1, -1],
	[0, -32.5, -32],
	[0, -3000000000, 1294967296],
	[0, -4000000000.23, 294967296],
	[0, -5000000000, -705032704],
	[0, -4294967298.479, -2],
	[0, -6442450942, -2147483646],
	[0, -6442450943.674, -2147483647],
	[0, -6442450944, -2147483648],
	[0, -6442450945, 2147483647],
	[0, -6442450946.74, 2147483646],
	[0, NaN, 0],
	[0, 0, 0],
	[0, 0, 0],
	[0, Infinity, 0],
	[0, -Infinity, 0],
	[0, 1, 1],
	[0, 32.5, 32],
	[0, 2147483648, -2147483648],
	[0, 3000000000, -1294967296],
	[0, 4000000000.23, -294967296],
	[0, 5000000000, 705032704],
	[0, 4294967296, 0],
	[0, 4294967298.479, 2],
	[0, 6442450942, 2147483646],
	[0, 6442450943.674, 2147483647],
	[0, 6442450944, -2147483648],
	[0, 6442450945, -2147483647],
	[0, 6442450946.74, -2147483646],
	[0, -1, -1],
	[0, -32.5, -32],
	[0, -3000000000, 1294967296],
	[0, -4000000000.23, 294967296],
	[0, -5000000000, -705032704],
	[0, -4294967298.479, -2],
	[0, -6442450942, -2147483646],
	[0, -6442450943.674, -2147483647],
	[0, -6442450944, -2147483648],
	[0, -6442450945, 2147483647],
	[0, -6442450946.74, 2147483646],
	[Infinity, NaN, 0],
	[Infinity, 0, 0],
	[Infinity, 0, 0],
	[Infinity, Infinity, 0],
	[Infinity, -Infinity, 0],
	[Infinity, 1, 1],
	[Infinity, 32.5, 32],
	[Infinity, 2147483648, -2147483648],
	[Infinity, 3000000000, -1294967296],
	[Infinity, 4000000000.23, -294967296],
	[Infinity, 5000000000, 705032704],
	[Infinity, 4294967296, 0],
	[Infinity, 4294967298.479, 2],
	[Infinity, 6442450942, 2147483646],
	[Infinity, 6442450943.674, 2147483647],
	[Infinity, 6442450944, -2147483648],
	[Infinity, 6442450945, -2147483647],
	[Infinity, 6442450946.74, -2147483646],
	[Infinity, -1, -1],
	[Infinity, -32.5, -32],
	[Infinity, -3000000000, 1294967296],
	[Infinity, -4000000000.23, 294967296],
	[Infinity, -5000000000, -705032704],
	[Infinity, -4294967298.479, -2],
	[Infinity, -6442450942, -2147483646],
	[Infinity, -6442450943.674, -2147483647],
	[Infinity, -6442450944, -2147483648],
	[Infinity, -6442450945, 2147483647],
	[Infinity, -6442450946.74, 2147483646],
	[-Infinity, NaN, 0],
	[-Infinity, 0, 0],
	[-Infinity, 0, 0],
	[-Infinity, Infinity, 0],
	[-Infinity, -Infinity, 0],
	[-Infinity, 1, 1],
	[-Infinity, 32.5, 32],
	[-Infinity, 2147483648, -2147483648],
	[-Infinity, 3000000000, -1294967296],
	[-Infinity, 4000000000.23, -294967296],
	[-Infinity, 5000000000, 705032704],
	[-Infinity, 4294967296, 0],
	[-Infinity, 4294967298.479, 2],
	[-Infinity, 6442450942, 2147483646],
	[-Infinity, 6442450943.674, 2147483647],
	[-Infinity, 6442450944, -2147483648],
	[-Infinity, 6442450945, -2147483647],
	[-Infinity, 6442450946.74, -2147483646],
	[-Infinity, -1, -1],
	[-Infinity, -32.5, -32],
	[-Infinity, -3000000000, 1294967296],
	[-Infinity, -4000000000.23, 294967296],
	[-Infinity, -5000000000, -705032704],
	[-Infinity, -4294967298.479, -2],
	[-Infinity, -6442450942, -2147483646],
	[-Infinity, -6442450943.674, -2147483647],
	[-Infinity, -6442450944, -2147483648],
	[-Infinity, -6442450945, 2147483647],
	[-Infinity, -6442450946.74, 2147483646],
	[1, NaN, 1],
	[1, 0, 1],
	[1, 0, 1],
	[1, Infinity, 1],
	[1, -Infinity, 1],
	[1, 1, 0],
	[1, 32.5, 33],
	[1, 2147483648, -2147483647],
	[1, 3000000000, -1294967295],
	[1, 4000000000.23, -294967295],
	[1, 5000000000, 705032705],
	[1, 4294967296, 1],
	[1, 4294967298.479, 3],
	[1, 6442450942, 2147483647],
	[1, 6442450943.674, 2147483646],
	[1, 6442450944, -2147483647],
	[1, 6442450945, -2147483648],
	[1, 6442450946.74, -2147483645],
	[1, -1, -2],
	[1, -32.5, -31],
	[1, -3000000000, 1294967297],
	[1, -4000000000.23, 294967297],
	[1, -5000000000, -705032703],
	[1, -4294967298.479, -1],
	[1, -6442450942, -2147483645],
	[1, -6442450943.674, -2147483648],
	[1, -6442450944, -2147483647],
	[1, -6442450945, 2147483646],
	[1, -6442450946.74, 2147483647],
	[32.5, NaN, 32],
	[32.5, 0, 32],
	[32.5, 0, 32],
	[32.5, Infinity, 32],
	[32.5, -Infinity, 32],
	[32.5, 1, 33],
	[32.5, 32.5, 0],
	[32.5, 2147483648, -2147483616],
	[32.5, 3000000000, -1294967264],
	[32.5, 4000000000.23, -294967264],
	[32.5, 5000000000, 705032736],
	[32.5, 4294967296, 32],
	[32.5, 4294967298.479, 34],
	[32.5, 6442450942, 2147483614],
	[32.5, 6442450943.674, 2147483615],
	[32.5, 6442450944, -2147483616],
	[32.5, 6442450945, -2147483615],
	[32.5, 6442450946.74, -2147483614],
	[32.5, -1, -33],
	[32.5, -32.5, -64],
	[32.5, -3000000000, 1294967328],
	[32.5, -4000000000.23, 294967328],
	[32.5, -5000000000, -705032672],
	[32.5, -4294967298.479, -34],
	[32.5, -6442450942, -2147483614],
	[32.5, -6442450943.674, -2147483615],
	[32.5, -6442450944, -2147483616],
	[32.5, -6442450945, 2147483615],
	[32.5, -6442450946.74, 2147483614],
	[2147483648, NaN, -2147483648],
	[2147483648, 0, -2147483648],
	[2147483648, 0, -2147483648],
	[2147483648, Infinity, -2147483648],
	[2147483648, -Infinity, -2147483648],
	[2147483648, 1, -2147483647],
	[2147483648, 32.5, -2147483616],
	[2147483648, 2147483648, 0],
	[2147483648, 3000000000, 852516352],
	[2147483648, 4000000000.23, 1852516352],
	[2147483648, 5000000000, -1442450944],
	[2147483648, 4294967296, -2147483648],
	[2147483648, 4294967298.479, -2147483646],
	[2147483648, 6442450942, -2],
	[2147483648, 6442450943.674, -1],
	[2147483648, 6442450944, 0],
	[2147483648, 6442450945, 1],
	[2147483648, 6442450946.74, 2],
	[2147483648, -1, 2147483647],
	[2147483648, -32.5, 2147483616],
	[2147483648, -3000000000, -852516352],
	[2147483648, -4000000000.23, -1852516352],
	[2147483648, -5000000000, 1442450944],
	[2147483648, -4294967298.479, 2147483646],
	[2147483648, -6442450942, 2],
	[2147483648, -6442450943.674, 1],
	[2147483648, -6442450944, 0],
	[2147483648, -6442450945, -1],
	[2147483648, -6442450946.74, -2],
	[3000000000, NaN, -1294967296],
	[3000000000, 0, -1294967296],
	[3000000000, 0, -1294967296],
	[3000000000, Infinity, -1294967296],
	[3000000000, -Infinity, -1294967296],
	[3000000000, 1, -1294967295],
	[3000000000, 32.5, -1294967264],
	[3000000000, 2147483648, 852516352],
	[3000000000, 3000000000, 0],
	[3000000000, 4000000000.23, 1555789312],
	[3000000000, 5000000000, -1730827264],
	[3000000000, 4294967296, -1294967296],
	[3000000000, 4294967298.479, -1294967294],
	[3000000000, 6442450942, -852516354],
	[3000000000, 6442450943.674, -852516353],
	[3000000000, 6442450944, 852516352],
	[3000000000, 6442450945, 852516353],
	[3000000000, 6442450946.74, 852516354],
	[3000000000, -1, 1294967295],
	[3000000000, -32.5, 1294967264],
	[3000000000, -3000000000, -1024],
	[3000000000, -4000000000.23, -1555790336],
	[3000000000, -5000000000, 1730826240],
	[3000000000, -4294967298.479, 1294967294],
	[3000000000, -6442450942, 852516354],
	[3000000000, -6442450943.674, 852516353],
	[3000000000, -6442450944, 852516352],
	[3000000000, -6442450945, -852516353],
	[3000000000, -6442450946.74, -852516354],
	[4000000000.23, NaN, -294967296],
	[4000000000.23, 0, -294967296],
	[4000000000.23, 0, -294967296],
	[4000000000.23, Infinity, -294967296],
	[4000000000.23, -Infinity, -294967296],
	[4000000000.23, 1, -294967295],
	[4000000000.23, 32.5, -294967264],
	[4000000000.23, 2147483648, 1852516352],
	[4000000000.23, 3000000000, 1555789312],
	[4000000000.23, 4000000000.23, 0],
	[4000000000.23, 5000000000, -999368192],
	[4000000000.23, 4294967296, -294967296],
	[4000000000.23, 4294967298.479, -294967294],
	[4000000000.23, 6442450942, -1852516354],
	[4000000000.23, 6442450943.674, -1852516353],
	[4000000000.23, 6442450944, 1852516352],
	[4000000000.23, 6442450945, 1852516353],
	[4000000000.23, 6442450946.74, 1852516354],
	[4000000000.23, -1, 294967295],
	[4000000000.23, -32.5, 294967264],
	[4000000000.23, -3000000000, -1555789312],
	[4000000000.23, -4000000000.23, -4096],
	[4000000000.23, -5000000000, 999368192],
	[4000000000.23, -4294967298.479, 294967294],
	[4000000000.23, -6442450942, 1852516354],
	[4000000000.23, -6442450943.674, 1852516353],
	[4000000000.23, -6442450944, 1852516352],
	[4000000000.23, -6442450945, -1852516353],
	[4000000000.23, -6442450946.74, -1852516354],
	[5000000000, NaN, 705032704],
	[5000000000, 0, 705032704],
	[5000000000, 0, 705032704],
	[5000000000, Infinity, 705032704],
	[5000000000, -Infinity, 705032704],
	[5000000000, 1, 705032705],
	[5000000000, 32.5, 705032736],
	[5000000000, 2147483648, -1442450944],
	[5000000000, 3000000000, -1730827264],
	[5000000000, 4000000000.23, -999368192],
	[5000000000, 5000000000, 0],
	[5000000000, 4294967296, 705032704],
	[5000000000, 4294967298.479, 705032706],
	[5000000000, 6442450942, 1442450942],
	[5000000000, 6442450943.674, 1442450943],
	[5000000000, 6442450944, -1442450944],
	[5000000000, 6442450945, -1442450943],
	[5000000000, 6442450946.74, -1442450942],
	[5000000000, -1, -705032705],
	[5000000000, -32.5, -705032736],
	[5000000000, -3000000000, 1730826240],
	[5000000000, -4000000000.23, 999369216],
	[5000000000, -5000000000, -1024],
	[5000000000, -4294967298.479, -705032706],
	[5000000000, -6442450942, -1442450942],
	[5000000000, -6442450943.674, -1442450943],
	[5000000000, -6442450944, -1442450944],
	[5000000000, -6442450945, 1442450943],
	[5000000000, -6442450946.74, 1442450942],
	[4294967296, NaN, 0],
	[4294967296, 0, 0],
	[4294967296, 0, 0],
	[4294967296, Infinity, 0],
	[4294967296, -Infinity, 0],
	[4294967296, 1, 1],
	[4294967296, 32.5, 32],
	[4294967296, 2147483648, -2147483648],
	[4294967296, 3000000000, -1294967296],
	[4294967296, 4000000000.23, -294967296],
	[4294967296, 5000000000, 705032704],
	[4294967296, 4294967296, 0],
	[4294967296, 4294967298.479, 2],
	[4294967296, 6442450942, 2147483646],
	[4294967296, 6442450943.674, 2147483647],
	[4294967296, 6442450944, -2147483648],
	[4294967296, 6442450945, -2147483647],
	[4294967296, 6442450946.74, -2147483646],
	[4294967296, -1, -1],
	[4294967296, -32.5, -32],
	[4294967296, -3000000000, 1294967296],
	[4294967296, -4000000000.23, 294967296],
	[4294967296, -5000000000, -705032704],
	[4294967296, -4294967298.479, -2],
	[4294967296, -6442450942, -2147483646],
	[4294967296, -6442450943.674, -2147483647],
	[4294967296, -6442450944, -2147483648],
	[4294967296, -6442450945, 2147483647],
	[4294967296, -6442450946.74, 2147483646],
	[4294967298.479, NaN, 2],
	[4294967298.479, 0, 2],
	[4294967298.479, 0, 2],
	[4294967298.479, Infinity, 2],
	[4294967298.479, -Infinity, 2],
	[4294967298.479, 1, 3],
	[4294967298.479, 32.5, 34],
	[4294967298.479, 2147483648, -2147483646],
	[4294967298.479, 3000000000, -1294967294],
	[4294967298.479, 4000000000.23, -294967294],
	[4294967298.479, 5000000000, 705032706],
	[4294967298.479, 4294967296, 2],
	[4294967298.479, 4294967298.479, 0],
	[4294967298.479, 6442450942, 2147483644],
	[4294967298.479, 6442450943.674, 2147483645],
	[4294967298.479, 6442450944, -2147483646],
	[4294967298.479, 6442450945, -2147483645],
	[4294967298.479, 6442450946.74, -2147483648],
	[4294967298.479, -1, -3],
	[4294967298.479, -32.5, -30],
	[4294967298.479, -3000000000, 1294967298],
	[4294967298.479, -4000000000.23, 294967298],
	[4294967298.479, -5000000000, -705032702],
	[4294967298.479, -4294967298.479, -4],
	[4294967298.479, -6442450942, -2147483648],
	[4294967298.479, -6442450943.674, -2147483645],
	[4294967298.479, -6442450944, -2147483646],
	[4294967298.479, -6442450945, 2147483645],
	[4294967298.479, -6442450946.74, 2147483644],
	[6442450942, NaN, 2147483646],
	[6442450942, 0, 2147483646],
	[6442450942, 0, 2147483646],
	[6442450942, Infinity, 2147483646],
	[6442450942, -Infinity, 2147483646],
	[6442450942, 1, 2147483647],
	[6442450942, 32.5, 2147483614],
	[6442450942, 2147483648, -2],
	[6442450942, 3000000000, -852516354],
	[6442450942, 4000000000.23, -1852516354],
	[6442450942, 5000000000, 1442450942],
	[6442450942, 4294967296, 2147483646],
	[6442450942, 4294967298.479, 2147483644],
	[6442450942, 6442450942, 0],
	[6442450942, 6442450943.674, 1],
	[6442450942, 6442450944, -2],
	[6442450942, 6442450945, -1],
	[6442450942, 6442450946.74, -4],
	[6442450942, -1, -2147483647],
	[6442450942, -32.5, -2147483618],
	[6442450942, -3000000000, 852516350],
	[6442450942, -4000000000.23, 1852516350],
	[6442450942, -5000000000, -1442450946],
	[6442450942, -4294967298.479, -2147483648],
	[6442450942, -6442450942, -4],
	[6442450942, -6442450943.674, -1],
	[6442450942, -6442450944, -2],
	[6442450942, -6442450945, 1],
	[6442450942, -6442450946.74, 0],
	[6442450943.674, NaN, 2147483647],
	[6442450943.674, 0, 2147483647],
	[6442450943.674, 0, 2147483647],
	[6442450943.674, Infinity, 2147483647],
	[6442450943.674, -Infinity, 2147483647],
	[6442450943.674, 1, 2147483646],
	[6442450943.674, 32.5, 2147483615],
	[6442450943.674, 2147483648, -1],
	[6442450943.674, 3000000000, -852516353],
	[6442450943.674, 4000000000.23, -1852516353],
	[6442450943.674, 5000000000, 1442450943],
	[6442450943.674, 4294967296, 2147483647],
	[6442450943.674, 4294967298.479, 2147483645],
	[6442450943.674, 6442450942, 1],
	[6442450943.674, 6442450943.674, 0],
	[6442450943.674, 6442450944, -1],
	[6442450943.674, 6442450945, -2],
	[6442450943.674, 6442450946.74, -3],
	[6442450943.674, -1, -2147483648],
	[6442450943.674, -32.5, -2147483617],
	[6442450943.674, -3000000000, 852516351],
	[6442450943.674, -4000000000.23, 1852516351],
	[6442450943.674, -5000000000, -1442450945],
	[6442450943.674, -4294967298.479, -2147483647],
	[6442450943.674, -6442450942, -3],
	[6442450943.674, -6442450943.674, -2],
	[6442450943.674, -6442450944, -1],
	[6442450943.674, -6442450945, 0],
	[6442450943.674, -6442450946.74, 1],
	[6442450944, NaN, -2147483648],
	[6442450944, 0, -2147483648],
	[6442450944, 0, -2147483648],
	[6442450944, Infinity, -2147483648],
	[6442450944, -Infinity, -2147483648],
	[6442450944, 1, -2147483647],
	[6442450944, 32.5, -2147483616],
	[6442450944, 2147483648, 0],
	[6442450944, 3000000000, 852516352],
	[6442450944, 4000000000.23, 1852516352],
	[6442450944, 5000000000, -1442450944],
	[6442450944, 4294967296, -2147483648],
	[6442450944, 4294967298.479, -2147483646],
	[6442450944, 6442450942, -2],
	[6442450944, 6442450943.674, -1],
	[6442450944, 6442450944, 0],
	[6442450944, 6442450945, 1],
	[6442450944, 6442450946.74, 2],
	[6442450944, -1, 2147483647],
	[6442450944, -32.5, 2147483616],
	[6442450944, -3000000000, -852516352],
	[6442450944, -4000000000.23, -1852516352],
	[6442450944, -5000000000, 1442450944],
	[6442450944, -4294967298.479, 2147483646],
	[6442450944, -6442450942, 2],
	[6442450944, -6442450943.674, 1],
	[6442450944, -6442450944, 0],
	[6442450944, -6442450945, -1],
	[6442450944, -6442450946.74, -2],
	[6442450945, NaN, -2147483647],
	[6442450945, 0, -2147483647],
	[6442450945, 0, -2147483647],
	[6442450945, Infinity, -2147483647],
	[6442450945, -Infinity, -2147483647],
	[6442450945, 1, -2147483648],
	[6442450945, 32.5, -2147483615],
	[6442450945, 2147483648, 1],
	[6442450945, 3000000000, 852516353],
	[6442450945, 4000000000.23, 1852516353],
	[6442450945, 5000000000, -1442450943],
	[6442450945, 4294967296, -2147483647],
	[6442450945, 4294967298.479, -2147483645],
	[6442450945, 6442450942, -1],
	[6442450945, 6442450943.674, -2],
	[6442450945, 6442450944, 1],
	[6442450945, 6442450945, 0],
	[6442450945, 6442450946.74, 3],
	[6442450945, -1, 2147483646],
	[6442450945, -32.5, 2147483617],
	[6442450945, -3000000000, -852516351],
	[6442450945, -4000000000.23, -1852516351],
	[6442450945, -5000000000, 1442450945],
	[6442450945, -4294967298.479, 2147483647],
	[6442450945, -6442450942, 3],
	[6442450945, -6442450943.674, 0],
	[6442450945, -6442450944, 1],
	[6442450945, -6442450945, -2],
	[6442450945, -6442450946.74, -1],
	[6442450946.74, NaN, -2147483646],
	[6442450946.74, 0, -2147483646],
	[6442450946.74, 0, -2147483646],
	[6442450946.74, Infinity, -2147483646],
	[6442450946.74, -Infinity, -2147483646],
	[6442450946.74, 1, -2147483645],
	[6442450946.74, 32.5, -2147483614],
	[6442450946.74, 2147483648, 2],
	[6442450946.74, 3000000000, 852516354],
	[6442450946.74, 4000000000.23, 1852516354],
	[6442450946.74, 5000000000, -1442450942],
	[6442450946.74, 4294967296, -2147483646],
	[6442450946.74, 4294967298.479, -2147483648],
	[6442450946.74, 6442450942, -4],
	[6442450946.74, 6442450943.674, -3],
	[6442450946.74, 6442450944, 2],
	[6442450946.74, 6442450945, 3],
	[6442450946.74, 6442450946.74, 0],
	[6442450946.74, -1, 2147483645],
	[6442450946.74, -32.5, 2147483618],
	[6442450946.74, -3000000000, -852516350],
	[6442450946.74, -4000000000.23, -1852516350],
	[6442450946.74, -5000000000, 1442450946],
	[6442450946.74, -4294967298.479, 2147483644],
	[6442450946.74, -6442450942, 0],
	[6442450946.74, -6442450943.674, 3],
	[6442450946.74, -6442450944, 2],
	[6442450946.74, -6442450945, -3],
	[6442450946.74, -6442450946.74, -4],
	[-1, NaN, -1],
	[-1, 0, -1],
	[-1, 0, -1],
	[-1, Infinity, -1],
	[-1, -Infinity, -1],
	[-1, 1, -2],
	[-1, 32.5, -33],
	[-1, 2147483648, 2147483647],
	[-1, 3000000000, 1294967295],
	[-1, 4000000000.23, 294967295],
	[-1, 5000000000, -705032705],
	[-1, 4294967296, -1],
	[-1, 4294967298.479, -3],
	[-1, 6442450942, -2147483647],
	[-1, 6442450943.674, -2147483648],
	[-1, 6442450944, 2147483647],
	[-1, 6442450945, 2147483646],
	[-1, 6442450946.74, 2147483645],
	[-1, -1, 0],
	[-1, -32.5, 31],
	[-1, -3000000000, -1294967297],
	[-1, -4000000000.23, -294967297],
	[-1, -5000000000, 705032703],
	[-1, -4294967298.479, 1],
	[-1, -6442450942, 2147483645],
	[-1, -6442450943.674, 2147483646],
	[-1, -6442450944, 2147483647],
	[-1, -6442450945, -2147483648],
	[-1, -6442450946.74, -2147483647],
	[-32.5, NaN, -32],
	[-32.5, 0, -32],
	[-32.5, 0, -32],
	[-32.5, Infinity, -32],
	[-32.5, -Infinity, -32],
	[-32.5, 1, -31],
	[-32.5, 32.5, -64],
	[-32.5, 2147483648, 2147483616],
	[-32.5, 3000000000, 1294967264],
	[-32.5, 4000000000.23, 294967264],
	[-32.5, 5000000000, -705032736],
	[-32.5, 4294967296, -32],
	[-32.5, 4294967298.479, -30],
	[-32.5, 6442450942, -2147483618],
	[-32.5, 6442450943.674, -2147483617],
	[-32.5, 6442450944, 2147483616],
	[-32.5, 6442450945, 2147483617],
	[-32.5, 6442450946.74, 2147483618],
	[-32.5, -1, 31],
	[-32.5, -32.5, 0],
	[-32.5, -3000000000, -1294967328],
	[-32.5, -4000000000.23, -294967328],
	[-32.5, -5000000000, 705032672],
	[-32.5, -4294967298.479, 30],
	[-32.5, -6442450942, 2147483618],
	[-32.5, -6442450943.674, 2147483617],
	[-32.5, -6442450944, 2147483616],
	[-32.5, -6442450945, -2147483617],
	[-32.5, -6442450946.74, -2147483618],
	[-3000000000, NaN, 1294967296],
	[-3000000000, 0, 1294967296],
	[-3000000000, 0, 1294967296],
	[-3000000000, Infinity, 1294967296],
	[-3000000000, -Infinity, 1294967296],
	[-3000000000, 1, 1294967297],
	[-3000000000, 32.5, 1294967328],
	[-3000000000, 2147483648, -852516352],
	[-3000000000, 3000000000, -1024],
	[-3000000000, 4000000000.23, -1555789312],
	[-3000000000, 5000000000, 1730826240],
	[-3000000000, 4294967296, 1294967296],
	[-3000000000, 4294967298.479, 1294967298],
	[-3000000000, 6442450942, 852516350],
	[-3000000000, 6442450943.674, 852516351],
	[-3000000000, 6442450944, -852516352],
	[-3000000000, 6442450945, -852516351],
	[-3000000000, 6442450946.74, -852516350],
	[-3000000000, -1, -1294967297],
	[-3000000000, -32.5, -1294967328],
	[-3000000000, -3000000000, 0],
	[-3000000000, -4000000000.23, 1555790336],
	[-3000000000, -5000000000, -1730827264],
	[-3000000000, -4294967298.479, -1294967298],
	[-3000000000, -6442450942, -852516350],
	[-3000000000, -6442450943.674, -852516351],
	[-3000000000, -6442450944, -852516352],
	[-3000000000, -6442450945, 852516351],
	[-3000000000, -6442450946.74, 852516350],
	[-4000000000.23, NaN, 294967296],
	[-4000000000.23, 0, 294967296],
	[-4000000000.23, 0, 294967296],
	[-4000000000.23, Infinity, 294967296],
	[-4000000000.23, -Infinity, 294967296],
	[-4000000000.23, 1, 294967297],
	[-4000000000.23, 32.5, 294967328],
	[-4000000000.23, 2147483648, -1852516352],
	[-4000000000.23, 3000000000, -1555790336],
	[-4000000000.23, 4000000000.23, -4096],
	[-4000000000.23, 5000000000, 999369216],
	[-4000000000.23, 4294967296, 294967296],
	[-4000000000.23, 4294967298.479, 294967298],
	[-4000000000.23, 6442450942, 1852516350],
	[-4000000000.23, 6442450943.674, 1852516351],
	[-4000000000.23, 6442450944, -1852516352],
	[-4000000000.23, 6442450945, -1852516351],
	[-4000000000.23, 6442450946.74, -1852516350],
	[-4000000000.23, -1, -294967297],
	[-4000000000.23, -32.5, -294967328],
	[-4000000000.23, -3000000000, 1555790336],
	[-4000000000.23, -4000000000.23, 0],
	[-4000000000.23, -5000000000, -999369216],
	[-4000000000.23, -4294967298.479, -294967298],
	[-4000000000.23, -6442450942, -1852516350],
	[-4000000000.23, -6442450943.674, -1852516351],
	[-4000000000.23, -6442450944, -1852516352],
	[-4000000000.23, -6442450945, 1852516351],
	[-4000000000.23, -6442450946.74, 1852516350],
	[-5000000000, NaN, -705032704],
	[-5000000000, 0, -705032704],
	[-5000000000, 0, -705032704],
	[-5000000000, Infinity, -705032704],
	[-5000000000, -Infinity, -705032704],
	[-5000000000, 1, -705032703],
	[-5000000000, 32.5, -705032672],
	[-5000000000, 2147483648, 1442450944],
	[-5000000000, 3000000000, 1730826240],
	[-5000000000, 4000000000.23, 999368192],
	[-5000000000, 5000000000, -1024],
	[-5000000000, 4294967296, -705032704],
	[-5000000000, 4294967298.479, -705032702],
	[-5000000000, 6442450942, -1442450946],
	[-5000000000, 6442450943.674, -1442450945],
	[-5000000000, 6442450944, 1442450944],
	[-5000000000, 6442450945, 1442450945],
	[-5000000000, 6442450946.74, 1442450946],
	[-5000000000, -1, 705032703],
	[-5000000000, -32.5, 705032672],
	[-5000000000, -3000000000, -1730827264],
	[-5000000000, -4000000000.23, -999369216],
	[-5000000000, -5000000000, 0],
	[-5000000000, -4294967298.479, 705032702],
	[-5000000000, -6442450942, 1442450946],
	[-5000000000, -6442450943.674, 1442450945],
	[-5000000000, -6442450944, 1442450944],
	[-5000000000, -6442450945, -1442450945],
	[-5000000000, -6442450946.74, -1442450946],
	[-4294967298.479, NaN, -2],
	[-4294967298.479, 0, -2],
	[-4294967298.479, 0, -2],
	[-4294967298.479, Infinity, -2],
	[-4294967298.479, -Infinity, -2],
	[-4294967298.479, 1, -1],
	[-4294967298.479, 32.5, -34],
	[-4294967298.479, 2147483648, 2147483646],
	[-4294967298.479, 3000000000, 1294967294],
	[-4294967298.479, 4000000000.23, 294967294],
	[-4294967298.479, 5000000000, -705032706],
	[-4294967298.479, 4294967296, -2],
	[-4294967298.479, 4294967298.479, -4],
	[-4294967298.479, 6442450942, -2147483648],
	[-4294967298.479, 6442450943.674, -2147483647],
	[-4294967298.479, 6442450944, 2147483646],
	[-4294967298.479, 6442450945, 2147483647],
	[-4294967298.479, 6442450946.74, 2147483644],
	[-4294967298.479, -1, 1],
	[-4294967298.479, -32.5, 30],
	[-4294967298.479, -3000000000, -1294967298],
	[-4294967298.479, -4000000000.23, -294967298],
	[-4294967298.479, -5000000000, 705032702],
	[-4294967298.479, -4294967298.479, 0],
	[-4294967298.479, -6442450942, 2147483644],
	[-4294967298.479, -6442450943.674, 2147483647],
	[-4294967298.479, -6442450944, 2147483646],
	[-4294967298.479, -6442450945, -2147483647],
	[-4294967298.479, -6442450946.74, -2147483648],
	[-6442450942, NaN, -2147483646],
	[-6442450942, 0, -2147483646],
	[-6442450942, 0, -2147483646],
	[-6442450942, Infinity, -2147483646],
	[-6442450942, -Infinity, -2147483646],
	[-6442450942, 1, -2147483645],
	[-6442450942, 32.5, -2147483614],
	[-6442450942, 2147483648, 2],
	[-6442450942, 3000000000, 852516354],
	[-6442450942, 4000000000.23, 1852516354],
	[-6442450942, 5000000000, -1442450942],
	[-6442450942, 4294967296, -2147483646],
	[-6442450942, 4294967298.479, -2147483648],
	[-6442450942, 6442450942, -4],
	[-6442450942, 6442450943.674, -3],
	[-6442450942, 6442450944, 2],
	[-6442450942, 6442450945, 3],
	[-6442450942, 6442450946.74, 0],
	[-6442450942, -1, 2147483645],
	[-6442450942, -32.5, 2147483618],
	[-6442450942, -3000000000, -852516350],
	[-6442450942, -4000000000.23, -1852516350],
	[-6442450942, -5000000000, 1442450946],
	[-6442450942, -4294967298.479, 2147483644],
	[-6442450942, -6442450942, 0],
	[-6442450942, -6442450943.674, 3],
	[-6442450942, -6442450944, 2],
	[-6442450942, -6442450945, -3],
	[-6442450942, -6442450946.74, -4],
	[-6442450943.674, NaN, -2147483647],
	[-6442450943.674, 0, -2147483647],
	[-6442450943.674, 0, -2147483647],
	[-6442450943.674, Infinity, -2147483647],
	[-6442450943.674, -Infinity, -2147483647],
	[-6442450943.674, 1, -2147483648],
	[-6442450943.674, 32.5, -2147483615],
	[-6442450943.674, 2147483648, 1],
	[-6442450943.674, 3000000000, 852516353],
	[-6442450943.674, 4000000000.23, 1852516353],
	[-6442450943.674, 5000000000, -1442450943],
	[-6442450943.674, 4294967296, -2147483647],
	[-6442450943.674, 4294967298.479, -2147483645],
	[-6442450943.674, 6442450942, -1],
	[-6442450943.674, 6442450943.674, -2],
	[-6442450943.674, 6442450944, 1],
	[-6442450943.674, 6442450945, 0],
	[-6442450943.674, 6442450946.74, 3],
	[-6442450943.674, -1, 2147483646],
	[-6442450943.674, -32.5, 2147483617],
	[-6442450943.674, -3000000000, -852516351],
	[-6442450943.674, -4000000000.23, -1852516351],
	[-6442450943.674, -5000000000, 1442450945],
	[-6442450943.674, -4294967298.479, 2147483647],
	[-6442450943.674, -6442450942, 3],
	[-6442450943.674, -6442450943.674, 0],
	[-6442450943.674, -6442450944, 1],
	[-6442450943.674, -6442450945, -2],
	[-6442450943.674, -6442450946.74, -1],
	[-6442450944, NaN, -2147483648],
	[-6442450944, 0, -2147483648],
	[-6442450944, 0, -2147483648],
	[-6442450944, Infinity, -2147483648],
	[-6442450944, -Infinity, -2147483648],
	[-6442450944, 1, -2147483647],
	[-6442450944, 32.5, -2147483616],
	[-6442450944, 2147483648, 0],
	[-6442450944, 3000000000, 852516352],
	[-6442450944, 4000000000.23, 1852516352],
	[-6442450944, 5000000000, -1442450944],
	[-6442450944, 4294967296, -2147483648],
	[-6442450944, 4294967298.479, -2147483646],
	[-6442450944, 6442450942, -2],
	[-6442450944, 6442450943.674, -1],
	[-6442450944, 6442450944, 0],
	[-6442450944, 6442450945, 1],
	[-6442450944, 6442450946.74, 2],
	[-6442450944, -1, 2147483647],
	[-6442450944, -32.5, 2147483616],
	[-6442450944, -3000000000, -852516352],
	[-6442450944, -4000000000.23, -1852516352],
	[-6442450944, -5000000000, 1442450944],
	[-6442450944, -4294967298.479, 2147483646],
	[-6442450944, -6442450942, 2],
	[-6442450944, -6442450943.674, 1],
	[-6442450944, -6442450944, 0],
	[-6442450944, -6442450945, -1],
	[-6442450944, -6442450946.74, -2],
	[-6442450945, NaN, 2147483647],
	[-6442450945, 0, 2147483647],
	[-6442450945, 0, 2147483647],
	[-6442450945, Infinity, 2147483647],
	[-6442450945, -Infinity, 2147483647],
	[-6442450945, 1, 2147483646],
	[-6442450945, 32.5, 2147483615],
	[-6442450945, 2147483648, -1],
	[-6442450945, 3000000000, -852516353],
	[-6442450945, 4000000000.23, -1852516353],
	[-6442450945, 5000000000, 1442450943],
	[-6442450945, 4294967296, 2147483647],
	[-6442450945, 4294967298.479, 2147483645],
	[-6442450945, 6442450942, 1],
	[-6442450945, 6442450943.674, 0],
	[-6442450945, 6442450944, -1],
	[-6442450945, 6442450945, -2],
	[-6442450945, 6442450946.74, -3],
	[-6442450945, -1, -2147483648],
	[-6442450945, -32.5, -2147483617],
	[-6442450945, -3000000000, 852516351],
	[-6442450945, -4000000000.23, 1852516351],
	[-6442450945, -5000000000, -1442450945],
	[-6442450945, -4294967298.479, -2147483647],
	[-6442450945, -6442450942, -3],
	[-6442450945, -6442450943.674, -2],
	[-6442450945, -6442450944, -1],
	[-6442450945, -6442450945, 0],
	[-6442450945, -6442450946.74, 1],
	[-6442450946.74, NaN, 2147483646],
	[-6442450946.74, 0, 2147483646],
	[-6442450946.74, 0, 2147483646],
	[-6442450946.74, Infinity, 2147483646],
	[-6442450946.74, -Infinity, 2147483646],
	[-6442450946.74, 1, 2147483647],
	[-6442450946.74, 32.5, 2147483614],
	[-6442450946.74, 2147483648, -2],
	[-6442450946.74, 3000000000, -852516354],
	[-6442450946.74, 4000000000.23, -1852516354],
	[-6442450946.74, 5000000000, 1442450942],
	[-6442450946.74, 4294967296, 2147483646],
	[-6442450946.74, 4294967298.479, 2147483644],
	[-6442450946.74, 6442450942, 0],
	[-6442450946.74, 6442450943.674, 1],
	[-6442450946.74, 6442450944, -2],
	[-6442450946.74, 6442450945, -1],
	[-6442450946.74, 6442450946.74, -4],
	[-6442450946.74, -1, -2147483647],
	[-6442450946.74, -32.5, -2147483618],
	[-6442450946.74, -3000000000, 852516350],
	[-6442450946.74, -4000000000.23, 1852516350],
	[-6442450946.74, -5000000000, -1442450946],
	[-6442450946.74, -4294967298.479, -2147483648],
	[-6442450946.74, -6442450942, -4],
	[-6442450946.74, -6442450943.674, -1],
	[-6442450946.74, -6442450944, -2],
	[-6442450946.74, -6442450945, 1],
	[-6442450946.74, -6442450946.74, 0],
];

for(var i in n2n) {
	item = n2n[i]
	ok((item[0] ^ item[1]) === item[2], item[0] + ' ^ ' + item[1])
}

/* Test 1783 */
expr = 1
is(expr ^ (expr = 2), 3, 'lvalue ^ expr modifying the lvalue');


// ===================================================
// |
// ===================================================

/* Tests 1784-1831: type conversion (48 tests) */

ok(( void 0  |  void 0           ) === 0,     "undefined | undefined")
ok(( void 0  |  null             ) === 0,     "undefined | null")
ok(( void 0  |  true             ) === 1,     "undefined | boolean")
ok(( void 0  | "string"          ) === 0,     "undefined | string")
ok(( void 0  |  73               ) === 73,    "undefined | number")
ok(( void 0  |  {}               ) === 0,     "undefined | object")
ok(( void 0  |  new Number(34.2) ) === 34,    "undefined | number object")
ok(( null    |  void 0           ) === 0,     "null | undefined")
ok(( null    |  null             ) === 0,     "null | null")
ok(( null    |  true             ) === 1,     "null | boolean")
ok(( null    | "string"          ) === 0,     "null | string")
ok(( null    |  73               ) === 73,     "null | number")
ok(( null    |  {}               ) === 0,     "null | object")
ok(( null    |  new Number(34.2) ) === 34,    "null | number object")
ok(( true    |  void 0           ) === 1,     "boolean | undefined")
ok(( true    |  null             ) === 1,     "boolean | null")
ok(( true    |  true             ) === 1,     "boolean | boolean")
ok(( true    | "string"          ) === 1,     "boolean | string")
ok(( true    |  73               ) === 73,    "boolean | number")
ok(( true    |  {}               ) === 1,     "boolean | object")
ok(( true    |  new Number(34.2) ) === 35,    "boolean | number object")
ok(("string" |  void 0           ) === 0,     "string | undefined")
ok(("string" |  null             ) === 0,     "string | null")
ok(("string" |  true             ) === 1,     "string | boolean")
ok(("string" | "string"          ) === 0,     "string | string")
ok(("string" |  73               ) === 73,    "string | number")
ok(("string" |  {}               ) === 0,     "string | object")
ok(("string" |  new Number(34.2) ) === 34,    "string | number object")
ok(( 73      |  void 0           ) === 73,    "number | undefined")
ok(( 73      |  null             ) === 73,    "number | null")
ok(( 73      |  true             ) === 73,    "number | boolean")
ok(( 73      | "string"          ) === 73,    "number | string")
ok(( 73      |  {}               ) === 73,    "number | object")
ok(( 73      |  new Number(34.2) ) === 107,   "number | number object")
ok(( {}      |  void 0           ) === 0,     "object | undefined")
ok(( {}      |  null             ) === 0,     "object | null")
ok(( {}      |  true             ) === 1,     "object | boolean")
ok(( {}      | "string"          ) === 0,     "object | string")
ok(( {}      |  73               ) === 73,    "object | number")
ok(( {}      |  {}               ) === 0,     "object | object")
ok(( {}      |  new Number(34.2) ) === 34,    "object | number object")
ok(( new Number(34.2) |  void 0  ) === 34,    "number object | undefined")
ok(( new Number(34.2) |  null    ) === 34,    "number object | null")
ok(( new Number(34.2) |  true    ) === 35,    "number object | boolean")
ok(( new Number(34.2) | "string" ) === 34,    "number object | string")
ok(( new Number(34.2) |  73      ) === 107,   "number object | number")
ok(( new Number(34.2) |  {}      ) === 34,    "number object | object")
ok(( new Number(34.2) |  new Number(34.2) ) === 34,
	"number object | number object")


/* Tests 1832-2672 */

n2n = [
	[NaN, NaN, 0],
	[NaN, 0, 0],
	[NaN, 0, 0],
	[NaN, Infinity, 0],
	[NaN, -Infinity, 0],
	[NaN, 1, 1],
	[NaN, 32.5, 32],
	[NaN, 2147483648, -2147483648],
	[NaN, 3000000000, -1294967296],
	[NaN, 4000000000.23, -294967296],
	[NaN, 5000000000, 705032704],
	[NaN, 4294967296, 0],
	[NaN, 4294967298.479, 2],
	[NaN, 6442450942, 2147483646],
	[NaN, 6442450943.674, 2147483647],
	[NaN, 6442450944, -2147483648],
	[NaN, 6442450945, -2147483647],
	[NaN, 6442450946.74, -2147483646],
	[NaN, -1, -1],
	[NaN, -32.5, -32],
	[NaN, -3000000000, 1294967296],
	[NaN, -4000000000.23, 294967296],
	[NaN, -5000000000, -705032704],
	[NaN, -4294967298.479, -2],
	[NaN, -6442450942, -2147483646],
	[NaN, -6442450943.674, -2147483647],
	[NaN, -6442450944, -2147483648],
	[NaN, -6442450945, 2147483647],
	[NaN, -6442450946.74, 2147483646],
	[0, NaN, 0],
	[0, 0, 0],
	[0, 0, 0],
	[0, Infinity, 0],
	[0, -Infinity, 0],
	[0, 1, 1],
	[0, 32.5, 32],
	[0, 2147483648, -2147483648],
	[0, 3000000000, -1294967296],
	[0, 4000000000.23, -294967296],
	[0, 5000000000, 705032704],
	[0, 4294967296, 0],
	[0, 4294967298.479, 2],
	[0, 6442450942, 2147483646],
	[0, 6442450943.674, 2147483647],
	[0, 6442450944, -2147483648],
	[0, 6442450945, -2147483647],
	[0, 6442450946.74, -2147483646],
	[0, -1, -1],
	[0, -32.5, -32],
	[0, -3000000000, 1294967296],
	[0, -4000000000.23, 294967296],
	[0, -5000000000, -705032704],
	[0, -4294967298.479, -2],
	[0, -6442450942, -2147483646],
	[0, -6442450943.674, -2147483647],
	[0, -6442450944, -2147483648],
	[0, -6442450945, 2147483647],
	[0, -6442450946.74, 2147483646],
	[0, NaN, 0],
	[0, 0, 0],
	[0, 0, 0],
	[0, Infinity, 0],
	[0, -Infinity, 0],
	[0, 1, 1],
	[0, 32.5, 32],
	[0, 2147483648, -2147483648],
	[0, 3000000000, -1294967296],
	[0, 4000000000.23, -294967296],
	[0, 5000000000, 705032704],
	[0, 4294967296, 0],
	[0, 4294967298.479, 2],
	[0, 6442450942, 2147483646],
	[0, 6442450943.674, 2147483647],
	[0, 6442450944, -2147483648],
	[0, 6442450945, -2147483647],
	[0, 6442450946.74, -2147483646],
	[0, -1, -1],
	[0, -32.5, -32],
	[0, -3000000000, 1294967296],
	[0, -4000000000.23, 294967296],
	[0, -5000000000, -705032704],
	[0, -4294967298.479, -2],
	[0, -6442450942, -2147483646],
	[0, -6442450943.674, -2147483647],
	[0, -6442450944, -2147483648],
	[0, -6442450945, 2147483647],
	[0, -6442450946.74, 2147483646],
	[Infinity, NaN, 0],
	[Infinity, 0, 0],
	[Infinity, 0, 0],
	[Infinity, Infinity, 0],
	[Infinity, -Infinity, 0],
	[Infinity, 1, 1],
	[Infinity, 32.5, 32],
	[Infinity, 2147483648, -2147483648],
	[Infinity, 3000000000, -1294967296],
	[Infinity, 4000000000.23, -294967296],
	[Infinity, 5000000000, 705032704],
	[Infinity, 4294967296, 0],
	[Infinity, 4294967298.479, 2],
	[Infinity, 6442450942, 2147483646],
	[Infinity, 6442450943.674, 2147483647],
	[Infinity, 6442450944, -2147483648],
	[Infinity, 6442450945, -2147483647],
	[Infinity, 6442450946.74, -2147483646],
	[Infinity, -1, -1],
	[Infinity, -32.5, -32],
	[Infinity, -3000000000, 1294967296],
	[Infinity, -4000000000.23, 294967296],
	[Infinity, -5000000000, -705032704],
	[Infinity, -4294967298.479, -2],
	[Infinity, -6442450942, -2147483646],
	[Infinity, -6442450943.674, -2147483647],
	[Infinity, -6442450944, -2147483648],
	[Infinity, -6442450945, 2147483647],
	[Infinity, -6442450946.74, 2147483646],
	[-Infinity, NaN, 0],
	[-Infinity, 0, 0],
	[-Infinity, 0, 0],
	[-Infinity, Infinity, 0],
	[-Infinity, -Infinity, 0],
	[-Infinity, 1, 1],
	[-Infinity, 32.5, 32],
	[-Infinity, 2147483648, -2147483648],
	[-Infinity, 3000000000, -1294967296],
	[-Infinity, 4000000000.23, -294967296],
	[-Infinity, 5000000000, 705032704],
	[-Infinity, 4294967296, 0],
	[-Infinity, 4294967298.479, 2],
	[-Infinity, 6442450942, 2147483646],
	[-Infinity, 6442450943.674, 2147483647],
	[-Infinity, 6442450944, -2147483648],
	[-Infinity, 6442450945, -2147483647],
	[-Infinity, 6442450946.74, -2147483646],
	[-Infinity, -1, -1],
	[-Infinity, -32.5, -32],
	[-Infinity, -3000000000, 1294967296],
	[-Infinity, -4000000000.23, 294967296],
	[-Infinity, -5000000000, -705032704],
	[-Infinity, -4294967298.479, -2],
	[-Infinity, -6442450942, -2147483646],
	[-Infinity, -6442450943.674, -2147483647],
	[-Infinity, -6442450944, -2147483648],
	[-Infinity, -6442450945, 2147483647],
	[-Infinity, -6442450946.74, 2147483646],
	[1, NaN, 1],
	[1, 0, 1],
	[1, 0, 1],
	[1, Infinity, 1],
	[1, -Infinity, 1],
	[1, 1, 1],
	[1, 32.5, 33],
	[1, 2147483648, -2147483647],
	[1, 3000000000, -1294967295],
	[1, 4000000000.23, -294967295],
	[1, 5000000000, 705032705],
	[1, 4294967296, 1],
	[1, 4294967298.479, 3],
	[1, 6442450942, 2147483647],
	[1, 6442450943.674, 2147483647],
	[1, 6442450944, -2147483647],
	[1, 6442450945, -2147483647],
	[1, 6442450946.74, -2147483645],
	[1, -1, -1],
	[1, -32.5, -31],
	[1, -3000000000, 1294967297],
	[1, -4000000000.23, 294967297],
	[1, -5000000000, -705032703],
	[1, -4294967298.479, -1],
	[1, -6442450942, -2147483645],
	[1, -6442450943.674, -2147483647],
	[1, -6442450944, -2147483647],
	[1, -6442450945, 2147483647],
	[1, -6442450946.74, 2147483647],
	[32.5, NaN, 32],
	[32.5, 0, 32],
	[32.5, 0, 32],
	[32.5, Infinity, 32],
	[32.5, -Infinity, 32],
	[32.5, 1, 33],
	[32.5, 32.5, 32],
	[32.5, 2147483648, -2147483616],
	[32.5, 3000000000, -1294967264],
	[32.5, 4000000000.23, -294967264],
	[32.5, 5000000000, 705032736],
	[32.5, 4294967296, 32],
	[32.5, 4294967298.479, 34],
	[32.5, 6442450942, 2147483646],
	[32.5, 6442450943.674, 2147483647],
	[32.5, 6442450944, -2147483616],
	[32.5, 6442450945, -2147483615],
	[32.5, 6442450946.74, -2147483614],
	[32.5, -1, -1],
	[32.5, -32.5, -32],
	[32.5, -3000000000, 1294967328],
	[32.5, -4000000000.23, 294967328],
	[32.5, -5000000000, -705032672],
	[32.5, -4294967298.479, -2],
	[32.5, -6442450942, -2147483614],
	[32.5, -6442450943.674, -2147483615],
	[32.5, -6442450944, -2147483616],
	[32.5, -6442450945, 2147483647],
	[32.5, -6442450946.74, 2147483646],
	[2147483648, NaN, -2147483648],
	[2147483648, 0, -2147483648],
	[2147483648, 0, -2147483648],
	[2147483648, Infinity, -2147483648],
	[2147483648, -Infinity, -2147483648],
	[2147483648, 1, -2147483647],
	[2147483648, 32.5, -2147483616],
	[2147483648, 2147483648, -2147483648],
	[2147483648, 3000000000, -1294967296],
	[2147483648, 4000000000.23, -294967296],
	[2147483648, 5000000000, -1442450944],
	[2147483648, 4294967296, -2147483648],
	[2147483648, 4294967298.479, -2147483646],
	[2147483648, 6442450942, -2],
	[2147483648, 6442450943.674, -1],
	[2147483648, 6442450944, -2147483648],
	[2147483648, 6442450945, -2147483647],
	[2147483648, 6442450946.74, -2147483646],
	[2147483648, -1, -1],
	[2147483648, -32.5, -32],
	[2147483648, -3000000000, -852516352],
	[2147483648, -4000000000.23, -1852516352],
	[2147483648, -5000000000, -705032704],
	[2147483648, -4294967298.479, -2],
	[2147483648, -6442450942, -2147483646],
	[2147483648, -6442450943.674, -2147483647],
	[2147483648, -6442450944, -2147483648],
	[2147483648, -6442450945, -1],
	[2147483648, -6442450946.74, -2],
	[3000000000, NaN, -1294967296],
	[3000000000, 0, -1294967296],
	[3000000000, 0, -1294967296],
	[3000000000, Infinity, -1294967296],
	[3000000000, -Infinity, -1294967296],
	[3000000000, 1, -1294967295],
	[3000000000, 32.5, -1294967264],
	[3000000000, 2147483648, -1294967296],
	[3000000000, 3000000000, -1294967296],
	[3000000000, 4000000000.23, -17072640],
	[3000000000, 5000000000, -1160380928],
	[3000000000, 4294967296, -1294967296],
	[3000000000, 4294967298.479, -1294967294],
	[3000000000, 6442450942, -2],
	[3000000000, 6442450943.674, -1],
	[3000000000, 6442450944, -1294967296],
	[3000000000, 6442450945, -1294967295],
	[3000000000, 6442450946.74, -1294967294],
	[3000000000, -1, -1],
	[3000000000, -32.5, -32],
	[3000000000, -3000000000, -512],
	[3000000000, -4000000000.23, -1277895168],
	[3000000000, -5000000000, -134586880],
	[3000000000, -4294967298.479, -2],
	[3000000000, -6442450942, -1294967294],
	[3000000000, -6442450943.674, -1294967295],
	[3000000000, -6442450944, -1294967296],
	[3000000000, -6442450945, -1],
	[3000000000, -6442450946.74, -2],
	[4000000000.23, NaN, -294967296],
	[4000000000.23, 0, -294967296],
	[4000000000.23, 0, -294967296],
	[4000000000.23, Infinity, -294967296],
	[4000000000.23, -Infinity, -294967296],
	[4000000000.23, 1, -294967295],
	[4000000000.23, 32.5, -294967264],
	[4000000000.23, 2147483648, -294967296],
	[4000000000.23, 3000000000, -17072640],
	[4000000000.23, 4000000000.23, -294967296],
	[4000000000.23, 5000000000, -294651392],
	[4000000000.23, 4294967296, -294967296],
	[4000000000.23, 4294967298.479, -294967294],
	[4000000000.23, 6442450942, -2],
	[4000000000.23, 6442450943.674, -1],
	[4000000000.23, 6442450944, -294967296],
	[4000000000.23, 6442450945, -294967295],
	[4000000000.23, 6442450946.74, -294967294],
	[4000000000.23, -1, -1],
	[4000000000.23, -32.5, -32],
	[4000000000.23, -3000000000, -277894656],
	[4000000000.23, -4000000000.23, -2048],
	[4000000000.23, -5000000000, -315904],
	[4000000000.23, -4294967298.479, -2],
	[4000000000.23, -6442450942, -294967294],
	[4000000000.23, -6442450943.674, -294967295],
	[4000000000.23, -6442450944, -294967296],
	[4000000000.23, -6442450945, -1],
	[4000000000.23, -6442450946.74, -2],
	[5000000000, NaN, 705032704],
	[5000000000, 0, 705032704],
	[5000000000, 0, 705032704],
	[5000000000, Infinity, 705032704],
	[5000000000, -Infinity, 705032704],
	[5000000000, 1, 705032705],
	[5000000000, 32.5, 705032736],
	[5000000000, 2147483648, -1442450944],
	[5000000000, 3000000000, -1160380928],
	[5000000000, 4000000000.23, -294651392],
	[5000000000, 5000000000, 705032704],
	[5000000000, 4294967296, 705032704],
	[5000000000, 4294967298.479, 705032706],
	[5000000000, 6442450942, 2147483646],
	[5000000000, 6442450943.674, 2147483647],
	[5000000000, 6442450944, -1442450944],
	[5000000000, 6442450945, -1442450943],
	[5000000000, 6442450946.74, -1442450942],
	[5000000000, -1, -1],
	[5000000000, -32.5, -32],
	[5000000000, -3000000000, 1865413120],
	[5000000000, -4000000000.23, 999684608],
	[5000000000, -5000000000, -512],
	[5000000000, -4294967298.479, -2],
	[5000000000, -6442450942, -1442450942],
	[5000000000, -6442450943.674, -1442450943],
	[5000000000, -6442450944, -1442450944],
	[5000000000, -6442450945, 2147483647],
	[5000000000, -6442450946.74, 2147483646],
	[4294967296, NaN, 0],
	[4294967296, 0, 0],
	[4294967296, 0, 0],
	[4294967296, Infinity, 0],
	[4294967296, -Infinity, 0],
	[4294967296, 1, 1],
	[4294967296, 32.5, 32],
	[4294967296, 2147483648, -2147483648],
	[4294967296, 3000000000, -1294967296],
	[4294967296, 4000000000.23, -294967296],
	[4294967296, 5000000000, 705032704],
	[4294967296, 4294967296, 0],
	[4294967296, 4294967298.479, 2],
	[4294967296, 6442450942, 2147483646],
	[4294967296, 6442450943.674, 2147483647],
	[4294967296, 6442450944, -2147483648],
	[4294967296, 6442450945, -2147483647],
	[4294967296, 6442450946.74, -2147483646],
	[4294967296, -1, -1],
	[4294967296, -32.5, -32],
	[4294967296, -3000000000, 1294967296],
	[4294967296, -4000000000.23, 294967296],
	[4294967296, -5000000000, -705032704],
	[4294967296, -4294967298.479, -2],
	[4294967296, -6442450942, -2147483646],
	[4294967296, -6442450943.674, -2147483647],
	[4294967296, -6442450944, -2147483648],
	[4294967296, -6442450945, 2147483647],
	[4294967296, -6442450946.74, 2147483646],
	[4294967298.479, NaN, 2],
	[4294967298.479, 0, 2],
	[4294967298.479, 0, 2],
	[4294967298.479, Infinity, 2],
	[4294967298.479, -Infinity, 2],
	[4294967298.479, 1, 3],
	[4294967298.479, 32.5, 34],
	[4294967298.479, 2147483648, -2147483646],
	[4294967298.479, 3000000000, -1294967294],
	[4294967298.479, 4000000000.23, -294967294],
	[4294967298.479, 5000000000, 705032706],
	[4294967298.479, 4294967296, 2],
	[4294967298.479, 4294967298.479, 2],
	[4294967298.479, 6442450942, 2147483646],
	[4294967298.479, 6442450943.674, 2147483647],
	[4294967298.479, 6442450944, -2147483646],
	[4294967298.479, 6442450945, -2147483645],
	[4294967298.479, 6442450946.74, -2147483646],
	[4294967298.479, -1, -1],
	[4294967298.479, -32.5, -30],
	[4294967298.479, -3000000000, 1294967298],
	[4294967298.479, -4000000000.23, 294967298],
	[4294967298.479, -5000000000, -705032702],
	[4294967298.479, -4294967298.479, -2],
	[4294967298.479, -6442450942, -2147483646],
	[4294967298.479, -6442450943.674, -2147483645],
	[4294967298.479, -6442450944, -2147483646],
	[4294967298.479, -6442450945, 2147483647],
	[4294967298.479, -6442450946.74, 2147483646],
	[6442450942, NaN, 2147483646],
	[6442450942, 0, 2147483646],
	[6442450942, 0, 2147483646],
	[6442450942, Infinity, 2147483646],
	[6442450942, -Infinity, 2147483646],
	[6442450942, 1, 2147483647],
	[6442450942, 32.5, 2147483646],
	[6442450942, 2147483648, -2],
	[6442450942, 3000000000, -2],
	[6442450942, 4000000000.23, -2],
	[6442450942, 5000000000, 2147483646],
	[6442450942, 4294967296, 2147483646],
	[6442450942, 4294967298.479, 2147483646],
	[6442450942, 6442450942, 2147483646],
	[6442450942, 6442450943.674, 2147483647],
	[6442450942, 6442450944, -2],
	[6442450942, 6442450945, -1],
	[6442450942, 6442450946.74, -2],
	[6442450942, -1, -1],
	[6442450942, -32.5, -2],
	[6442450942, -3000000000, 2147483646],
	[6442450942, -4000000000.23, 2147483646],
	[6442450942, -5000000000, -2],
	[6442450942, -4294967298.479, -2],
	[6442450942, -6442450942, -2],
	[6442450942, -6442450943.674, -1],
	[6442450942, -6442450944, -2],
	[6442450942, -6442450945, 2147483647],
	[6442450942, -6442450946.74, 2147483646],
	[6442450943.674, NaN, 2147483647],
	[6442450943.674, 0, 2147483647],
	[6442450943.674, 0, 2147483647],
	[6442450943.674, Infinity, 2147483647],
	[6442450943.674, -Infinity, 2147483647],
	[6442450943.674, 1, 2147483647],
	[6442450943.674, 32.5, 2147483647],
	[6442450943.674, 2147483648, -1],
	[6442450943.674, 3000000000, -1],
	[6442450943.674, 4000000000.23, -1],
	[6442450943.674, 5000000000, 2147483647],
	[6442450943.674, 4294967296, 2147483647],
	[6442450943.674, 4294967298.479, 2147483647],
	[6442450943.674, 6442450942, 2147483647],
	[6442450943.674, 6442450943.674, 2147483647],
	[6442450943.674, 6442450944, -1],
	[6442450943.674, 6442450945, -1],
	[6442450943.674, 6442450946.74, -1],
	[6442450943.674, -1, -1],
	[6442450943.674, -32.5, -1],
	[6442450943.674, -3000000000, 2147483647],
	[6442450943.674, -4000000000.23, 2147483647],
	[6442450943.674, -5000000000, -1],
	[6442450943.674, -4294967298.479, -1],
	[6442450943.674, -6442450942, -1],
	[6442450943.674, -6442450943.674, -1],
	[6442450943.674, -6442450944, -1],
	[6442450943.674, -6442450945, 2147483647],
	[6442450943.674, -6442450946.74, 2147483647],
	[6442450944, NaN, -2147483648],
	[6442450944, 0, -2147483648],
	[6442450944, 0, -2147483648],
	[6442450944, Infinity, -2147483648],
	[6442450944, -Infinity, -2147483648],
	[6442450944, 1, -2147483647],
	[6442450944, 32.5, -2147483616],
	[6442450944, 2147483648, -2147483648],
	[6442450944, 3000000000, -1294967296],
	[6442450944, 4000000000.23, -294967296],
	[6442450944, 5000000000, -1442450944],
	[6442450944, 4294967296, -2147483648],
	[6442450944, 4294967298.479, -2147483646],
	[6442450944, 6442450942, -2],
	[6442450944, 6442450943.674, -1],
	[6442450944, 6442450944, -2147483648],
	[6442450944, 6442450945, -2147483647],
	[6442450944, 6442450946.74, -2147483646],
	[6442450944, -1, -1],
	[6442450944, -32.5, -32],
	[6442450944, -3000000000, -852516352],
	[6442450944, -4000000000.23, -1852516352],
	[6442450944, -5000000000, -705032704],
	[6442450944, -4294967298.479, -2],
	[6442450944, -6442450942, -2147483646],
	[6442450944, -6442450943.674, -2147483647],
	[6442450944, -6442450944, -2147483648],
	[6442450944, -6442450945, -1],
	[6442450944, -6442450946.74, -2],
	[6442450945, NaN, -2147483647],
	[6442450945, 0, -2147483647],
	[6442450945, 0, -2147483647],
	[6442450945, Infinity, -2147483647],
	[6442450945, -Infinity, -2147483647],
	[6442450945, 1, -2147483647],
	[6442450945, 32.5, -2147483615],
	[6442450945, 2147483648, -2147483647],
	[6442450945, 3000000000, -1294967295],
	[6442450945, 4000000000.23, -294967295],
	[6442450945, 5000000000, -1442450943],
	[6442450945, 4294967296, -2147483647],
	[6442450945, 4294967298.479, -2147483645],
	[6442450945, 6442450942, -1],
	[6442450945, 6442450943.674, -1],
	[6442450945, 6442450944, -2147483647],
	[6442450945, 6442450945, -2147483647],
	[6442450945, 6442450946.74, -2147483645],
	[6442450945, -1, -1],
	[6442450945, -32.5, -31],
	[6442450945, -3000000000, -852516351],
	[6442450945, -4000000000.23, -1852516351],
	[6442450945, -5000000000, -705032703],
	[6442450945, -4294967298.479, -1],
	[6442450945, -6442450942, -2147483645],
	[6442450945, -6442450943.674, -2147483647],
	[6442450945, -6442450944, -2147483647],
	[6442450945, -6442450945, -1],
	[6442450945, -6442450946.74, -1],
	[6442450946.74, NaN, -2147483646],
	[6442450946.74, 0, -2147483646],
	[6442450946.74, 0, -2147483646],
	[6442450946.74, Infinity, -2147483646],
	[6442450946.74, -Infinity, -2147483646],
	[6442450946.74, 1, -2147483645],
	[6442450946.74, 32.5, -2147483614],
	[6442450946.74, 2147483648, -2147483646],
	[6442450946.74, 3000000000, -1294967294],
	[6442450946.74, 4000000000.23, -294967294],
	[6442450946.74, 5000000000, -1442450942],
	[6442450946.74, 4294967296, -2147483646],
	[6442450946.74, 4294967298.479, -2147483646],
	[6442450946.74, 6442450942, -2],
	[6442450946.74, 6442450943.674, -1],
	[6442450946.74, 6442450944, -2147483646],
	[6442450946.74, 6442450945, -2147483645],
	[6442450946.74, 6442450946.74, -2147483646],
	[6442450946.74, -1, -1],
	[6442450946.74, -32.5, -30],
	[6442450946.74, -3000000000, -852516350],
	[6442450946.74, -4000000000.23, -1852516350],
	[6442450946.74, -5000000000, -705032702],
	[6442450946.74, -4294967298.479, -2],
	[6442450946.74, -6442450942, -2147483646],
	[6442450946.74, -6442450943.674, -2147483645],
	[6442450946.74, -6442450944, -2147483646],
	[6442450946.74, -6442450945, -1],
	[6442450946.74, -6442450946.74, -2],
	[-1, NaN, -1],
	[-1, 0, -1],
	[-1, 0, -1],
	[-1, Infinity, -1],
	[-1, -Infinity, -1],
	[-1, 1, -1],
	[-1, 32.5, -1],
	[-1, 2147483648, -1],
	[-1, 3000000000, -1],
	[-1, 4000000000.23, -1],
	[-1, 5000000000, -1],
	[-1, 4294967296, -1],
	[-1, 4294967298.479, -1],
	[-1, 6442450942, -1],
	[-1, 6442450943.674, -1],
	[-1, 6442450944, -1],
	[-1, 6442450945, -1],
	[-1, 6442450946.74, -1],
	[-1, -1, -1],
	[-1, -32.5, -1],
	[-1, -3000000000, -1],
	[-1, -4000000000.23, -1],
	[-1, -5000000000, -1],
	[-1, -4294967298.479, -1],
	[-1, -6442450942, -1],
	[-1, -6442450943.674, -1],
	[-1, -6442450944, -1],
	[-1, -6442450945, -1],
	[-1, -6442450946.74, -1],
	[-32.5, NaN, -32],
	[-32.5, 0, -32],
	[-32.5, 0, -32],
	[-32.5, Infinity, -32],
	[-32.5, -Infinity, -32],
	[-32.5, 1, -31],
	[-32.5, 32.5, -32],
	[-32.5, 2147483648, -32],
	[-32.5, 3000000000, -32],
	[-32.5, 4000000000.23, -32],
	[-32.5, 5000000000, -32],
	[-32.5, 4294967296, -32],
	[-32.5, 4294967298.479, -30],
	[-32.5, 6442450942, -2],
	[-32.5, 6442450943.674, -1],
	[-32.5, 6442450944, -32],
	[-32.5, 6442450945, -31],
	[-32.5, 6442450946.74, -30],
	[-32.5, -1, -1],
	[-32.5, -32.5, -32],
	[-32.5, -3000000000, -32],
	[-32.5, -4000000000.23, -32],
	[-32.5, -5000000000, -32],
	[-32.5, -4294967298.479, -2],
	[-32.5, -6442450942, -30],
	[-32.5, -6442450943.674, -31],
	[-32.5, -6442450944, -32],
	[-32.5, -6442450945, -1],
	[-32.5, -6442450946.74, -2],
	[-3000000000, NaN, 1294967296],
	[-3000000000, 0, 1294967296],
	[-3000000000, 0, 1294967296],
	[-3000000000, Infinity, 1294967296],
	[-3000000000, -Infinity, 1294967296],
	[-3000000000, 1, 1294967297],
	[-3000000000, 32.5, 1294967328],
	[-3000000000, 2147483648, -852516352],
	[-3000000000, 3000000000, -512],
	[-3000000000, 4000000000.23, -277894656],
	[-3000000000, 5000000000, 1865413120],
	[-3000000000, 4294967296, 1294967296],
	[-3000000000, 4294967298.479, 1294967298],
	[-3000000000, 6442450942, 2147483646],
	[-3000000000, 6442450943.674, 2147483647],
	[-3000000000, 6442450944, -852516352],
	[-3000000000, 6442450945, -852516351],
	[-3000000000, 6442450946.74, -852516350],
	[-3000000000, -1, -1],
	[-3000000000, -32.5, -32],
	[-3000000000, -3000000000, 1294967296],
	[-3000000000, -4000000000.23, 1572862464],
	[-3000000000, -5000000000, -570446336],
	[-3000000000, -4294967298.479, -2],
	[-3000000000, -6442450942, -852516350],
	[-3000000000, -6442450943.674, -852516351],
	[-3000000000, -6442450944, -852516352],
	[-3000000000, -6442450945, 2147483647],
	[-3000000000, -6442450946.74, 2147483646],
	[-4000000000.23, NaN, 294967296],
	[-4000000000.23, 0, 294967296],
	[-4000000000.23, 0, 294967296],
	[-4000000000.23, Infinity, 294967296],
	[-4000000000.23, -Infinity, 294967296],
	[-4000000000.23, 1, 294967297],
	[-4000000000.23, 32.5, 294967328],
	[-4000000000.23, 2147483648, -1852516352],
	[-4000000000.23, 3000000000, -1277895168],
	[-4000000000.23, 4000000000.23, -2048],
	[-4000000000.23, 5000000000, 999684608],
	[-4000000000.23, 4294967296, 294967296],
	[-4000000000.23, 4294967298.479, 294967298],
	[-4000000000.23, 6442450942, 2147483646],
	[-4000000000.23, 6442450943.674, 2147483647],
	[-4000000000.23, 6442450944, -1852516352],
	[-4000000000.23, 6442450945, -1852516351],
	[-4000000000.23, 6442450946.74, -1852516350],
	[-4000000000.23, -1, -1],
	[-4000000000.23, -32.5, -32],
	[-4000000000.23, -3000000000, 1572862464],
	[-4000000000.23, -4000000000.23, 294967296],
	[-4000000000.23, -5000000000, -704717312],
	[-4000000000.23, -4294967298.479, -2],
	[-4000000000.23, -6442450942, -1852516350],
	[-4000000000.23, -6442450943.674, -1852516351],
	[-4000000000.23, -6442450944, -1852516352],
	[-4000000000.23, -6442450945, 2147483647],
	[-4000000000.23, -6442450946.74, 2147483646],
	[-5000000000, NaN, -705032704],
	[-5000000000, 0, -705032704],
	[-5000000000, 0, -705032704],
	[-5000000000, Infinity, -705032704],
	[-5000000000, -Infinity, -705032704],
	[-5000000000, 1, -705032703],
	[-5000000000, 32.5, -705032672],
	[-5000000000, 2147483648, -705032704],
	[-5000000000, 3000000000, -134586880],
	[-5000000000, 4000000000.23, -315904],
	[-5000000000, 5000000000, -512],
	[-5000000000, 4294967296, -705032704],
	[-5000000000, 4294967298.479, -705032702],
	[-5000000000, 6442450942, -2],
	[-5000000000, 6442450943.674, -1],
	[-5000000000, 6442450944, -705032704],
	[-5000000000, 6442450945, -705032703],
	[-5000000000, 6442450946.74, -705032702],
	[-5000000000, -1, -1],
	[-5000000000, -32.5, -32],
	[-5000000000, -3000000000, -570446336],
	[-5000000000, -4000000000.23, -704717312],
	[-5000000000, -5000000000, -705032704],
	[-5000000000, -4294967298.479, -2],
	[-5000000000, -6442450942, -705032702],
	[-5000000000, -6442450943.674, -705032703],
	[-5000000000, -6442450944, -705032704],
	[-5000000000, -6442450945, -1],
	[-5000000000, -6442450946.74, -2],
	[-4294967298.479, NaN, -2],
	[-4294967298.479, 0, -2],
	[-4294967298.479, 0, -2],
	[-4294967298.479, Infinity, -2],
	[-4294967298.479, -Infinity, -2],
	[-4294967298.479, 1, -1],
	[-4294967298.479, 32.5, -2],
	[-4294967298.479, 2147483648, -2],
	[-4294967298.479, 3000000000, -2],
	[-4294967298.479, 4000000000.23, -2],
	[-4294967298.479, 5000000000, -2],
	[-4294967298.479, 4294967296, -2],
	[-4294967298.479, 4294967298.479, -2],
	[-4294967298.479, 6442450942, -2],
	[-4294967298.479, 6442450943.674, -1],
	[-4294967298.479, 6442450944, -2],
	[-4294967298.479, 6442450945, -1],
	[-4294967298.479, 6442450946.74, -2],
	[-4294967298.479, -1, -1],
	[-4294967298.479, -32.5, -2],
	[-4294967298.479, -3000000000, -2],
	[-4294967298.479, -4000000000.23, -2],
	[-4294967298.479, -5000000000, -2],
	[-4294967298.479, -4294967298.479, -2],
	[-4294967298.479, -6442450942, -2],
	[-4294967298.479, -6442450943.674, -1],
	[-4294967298.479, -6442450944, -2],
	[-4294967298.479, -6442450945, -1],
	[-4294967298.479, -6442450946.74, -2],
	[-6442450942, NaN, -2147483646],
	[-6442450942, 0, -2147483646],
	[-6442450942, 0, -2147483646],
	[-6442450942, Infinity, -2147483646],
	[-6442450942, -Infinity, -2147483646],
	[-6442450942, 1, -2147483645],
	[-6442450942, 32.5, -2147483614],
	[-6442450942, 2147483648, -2147483646],
	[-6442450942, 3000000000, -1294967294],
	[-6442450942, 4000000000.23, -294967294],
	[-6442450942, 5000000000, -1442450942],
	[-6442450942, 4294967296, -2147483646],
	[-6442450942, 4294967298.479, -2147483646],
	[-6442450942, 6442450942, -2],
	[-6442450942, 6442450943.674, -1],
	[-6442450942, 6442450944, -2147483646],
	[-6442450942, 6442450945, -2147483645],
	[-6442450942, 6442450946.74, -2147483646],
	[-6442450942, -1, -1],
	[-6442450942, -32.5, -30],
	[-6442450942, -3000000000, -852516350],
	[-6442450942, -4000000000.23, -1852516350],
	[-6442450942, -5000000000, -705032702],
	[-6442450942, -4294967298.479, -2],
	[-6442450942, -6442450942, -2147483646],
	[-6442450942, -6442450943.674, -2147483645],
	[-6442450942, -6442450944, -2147483646],
	[-6442450942, -6442450945, -1],
	[-6442450942, -6442450946.74, -2],
	[-6442450943.674, NaN, -2147483647],
	[-6442450943.674, 0, -2147483647],
	[-6442450943.674, 0, -2147483647],
	[-6442450943.674, Infinity, -2147483647],
	[-6442450943.674, -Infinity, -2147483647],
	[-6442450943.674, 1, -2147483647],
	[-6442450943.674, 32.5, -2147483615],
	[-6442450943.674, 2147483648, -2147483647],
	[-6442450943.674, 3000000000, -1294967295],
	[-6442450943.674, 4000000000.23, -294967295],
	[-6442450943.674, 5000000000, -1442450943],
	[-6442450943.674, 4294967296, -2147483647],
	[-6442450943.674, 4294967298.479, -2147483645],
	[-6442450943.674, 6442450942, -1],
	[-6442450943.674, 6442450943.674, -1],
	[-6442450943.674, 6442450944, -2147483647],
	[-6442450943.674, 6442450945, -2147483647],
	[-6442450943.674, 6442450946.74, -2147483645],
	[-6442450943.674, -1, -1],
	[-6442450943.674, -32.5, -31],
	[-6442450943.674, -3000000000, -852516351],
	[-6442450943.674, -4000000000.23, -1852516351],
	[-6442450943.674, -5000000000, -705032703],
	[-6442450943.674, -4294967298.479, -1],
	[-6442450943.674, -6442450942, -2147483645],
	[-6442450943.674, -6442450943.674, -2147483647],
	[-6442450943.674, -6442450944, -2147483647],
	[-6442450943.674, -6442450945, -1],
	[-6442450943.674, -6442450946.74, -1],
	[-6442450944, NaN, -2147483648],
	[-6442450944, 0, -2147483648],
	[-6442450944, 0, -2147483648],
	[-6442450944, Infinity, -2147483648],
	[-6442450944, -Infinity, -2147483648],
	[-6442450944, 1, -2147483647],
	[-6442450944, 32.5, -2147483616],
	[-6442450944, 2147483648, -2147483648],
	[-6442450944, 3000000000, -1294967296],
	[-6442450944, 4000000000.23, -294967296],
	[-6442450944, 5000000000, -1442450944],
	[-6442450944, 4294967296, -2147483648],
	[-6442450944, 4294967298.479, -2147483646],
	[-6442450944, 6442450942, -2],
	[-6442450944, 6442450943.674, -1],
	[-6442450944, 6442450944, -2147483648],
	[-6442450944, 6442450945, -2147483647],
	[-6442450944, 6442450946.74, -2147483646],
	[-6442450944, -1, -1],
	[-6442450944, -32.5, -32],
	[-6442450944, -3000000000, -852516352],
	[-6442450944, -4000000000.23, -1852516352],
	[-6442450944, -5000000000, -705032704],
	[-6442450944, -4294967298.479, -2],
	[-6442450944, -6442450942, -2147483646],
	[-6442450944, -6442450943.674, -2147483647],
	[-6442450944, -6442450944, -2147483648],
	[-6442450944, -6442450945, -1],
	[-6442450944, -6442450946.74, -2],
	[-6442450945, NaN, 2147483647],
	[-6442450945, 0, 2147483647],
	[-6442450945, 0, 2147483647],
	[-6442450945, Infinity, 2147483647],
	[-6442450945, -Infinity, 2147483647],
	[-6442450945, 1, 2147483647],
	[-6442450945, 32.5, 2147483647],
	[-6442450945, 2147483648, -1],
	[-6442450945, 3000000000, -1],
	[-6442450945, 4000000000.23, -1],
	[-6442450945, 5000000000, 2147483647],
	[-6442450945, 4294967296, 2147483647],
	[-6442450945, 4294967298.479, 2147483647],
	[-6442450945, 6442450942, 2147483647],
	[-6442450945, 6442450943.674, 2147483647],
	[-6442450945, 6442450944, -1],
	[-6442450945, 6442450945, -1],
	[-6442450945, 6442450946.74, -1],
	[-6442450945, -1, -1],
	[-6442450945, -32.5, -1],
	[-6442450945, -3000000000, 2147483647],
	[-6442450945, -4000000000.23, 2147483647],
	[-6442450945, -5000000000, -1],
	[-6442450945, -4294967298.479, -1],
	[-6442450945, -6442450942, -1],
	[-6442450945, -6442450943.674, -1],
	[-6442450945, -6442450944, -1],
	[-6442450945, -6442450945, 2147483647],
	[-6442450945, -6442450946.74, 2147483647],
	[-6442450946.74, NaN, 2147483646],
	[-6442450946.74, 0, 2147483646],
	[-6442450946.74, 0, 2147483646],
	[-6442450946.74, Infinity, 2147483646],
	[-6442450946.74, -Infinity, 2147483646],
	[-6442450946.74, 1, 2147483647],
	[-6442450946.74, 32.5, 2147483646],
	[-6442450946.74, 2147483648, -2],
	[-6442450946.74, 3000000000, -2],
	[-6442450946.74, 4000000000.23, -2],
	[-6442450946.74, 5000000000, 2147483646],
	[-6442450946.74, 4294967296, 2147483646],
	[-6442450946.74, 4294967298.479, 2147483646],
	[-6442450946.74, 6442450942, 2147483646],
	[-6442450946.74, 6442450943.674, 2147483647],
	[-6442450946.74, 6442450944, -2],
	[-6442450946.74, 6442450945, -1],
	[-6442450946.74, 6442450946.74, -2],
	[-6442450946.74, -1, -1],
	[-6442450946.74, -32.5, -2],
	[-6442450946.74, -3000000000, 2147483646],
	[-6442450946.74, -4000000000.23, 2147483646],
	[-6442450946.74, -5000000000, -2],
	[-6442450946.74, -4294967298.479, -2],
	[-6442450946.74, -6442450942, -2],
	[-6442450946.74, -6442450943.674, -1],
	[-6442450946.74, -6442450944, -2],
	[-6442450946.74, -6442450945, 2147483647],
	[-6442450946.74, -6442450946.74, 2147483646],
];

for(var i in n2n) {
	item = n2n[i]
	ok((item[0] | item[1]) === item[2], item[0] + ' | ' + item[1])
}

/* Test 2673 */
expr = 1
is(expr | (expr = 2), 3, 'lvalue | expr modifying the lvalue');

--end--