michael@0: michael@0: function mul(x, y) { return x * y; }; michael@0: function mulConst0(x) { return x * 0; }; michael@0: function mulConst1(x) { return -5 * x; }; michael@0: function mulConst2(x) { return x * -5; }; michael@0: michael@0: function f() { michael@0: assertEq(mulConst0(7), 0); michael@0: assertEq(mulConst0(-5), -0); michael@0: assertEq(mulConst0(0), 0); michael@0: assertEq(mulConst0(-0), -0); michael@0: michael@0: assertEq(mulConst1(7), -35); michael@0: assertEq(mulConst1(-8), 40); michael@0: assertEq(mulConst1(0), -0); michael@0: assertEq(mulConst1(-0), 0); michael@0: michael@0: assertEq(mulConst2(7), -35); michael@0: assertEq(mulConst2(-8), 40); michael@0: assertEq(mulConst2(0), -0); michael@0: assertEq(mulConst2(-0), 0); michael@0: michael@0: assertEq(mul(55, 2), 110); michael@0: assertEq(mul(0, -10), -0); michael@0: assertEq(mul(-5, 0), -0); michael@0: assertEq(mul(-0, 0), -0); michael@0: assertEq(mul(0, -0), -0); michael@0: assertEq(mul(0, 0), 0); michael@0: assertEq(mul(-0, -0), 0); michael@0: } michael@0: f();