var asmdiv2 = (function(m) { "use asm" function f(x) { x = x|0; var z = 0; z = ((x>>>0) / 2)>>>0; return z|0; } return f; })() var plaindiv2 = function(x) { x = x|0; var z = 0; z = ((x>>>0) / 2)>>>0; return z|0; } var k2 = 0xf0000000; assertEq(asmdiv2(k2), 0x78000000); assertEq(plaindiv2(k2), 0x78000000); var asmdiv3 = (function(m) { "use asm" function f(x) { x = x|0; var z = 0; z = ((x>>>0) / 3)>>>0; return z|0; } return f; })() var plaindiv3 = function(x) { x = x|0; var z = 0; z = ((x>>>0) / 3)>>>0; return z|0; } var k3 = 3<<30; assertEq(asmdiv3(k3), 1<<30); assertEq(plaindiv3(k3), 1<<30); var asmdiv7 = (function(m) { "use asm" function f(x) { x = x|0; var z = 0; z = ((x>>>0) / 7)>>>0; return z|0; } return f; })() var plaindiv7 = function(x) { x = x|0; var z = 0; z = ((x>>>0) / 7)>>>0; return z|0; } var k7 = (1<<29)*7 + 4; assertEq(asmdiv7(k7), 1<<29); assertEq(plaindiv7(k7), 1<<29); var asmmod3 = (function(m) { "use asm" function f(x) { x = x|0; var z = 0; z = ((x>>>0) % 3)>>>0; return z|0; } return f; })() var plainmod3 = function(x) { x = x|0; var z = 0; z = ((x>>>0) % 3)>>>0; return z|0; } var kmod = (3<<30) + 2; assertEq(asmmod3(kmod), 2); assertEq(plainmod3(kmod), 2);