| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function Test0Compound(a, b) | |
| { | |
| var t0, t1; | |
| t0 = a * b; | |
| d = t0 & a; | |
| return d; | |
| } | |
| function Test1Compound(a, b) | |
| { | |
| var t0, t1, t2, t3; | |
| t0 = a * b; | |
| t2 = t0 + a; | |
| d = t2 & a; | |
| return d; | |
| } | |
| function Test2Compound(a, b) | |
| { | |
| var t0, t1, t2, t3; | |
| t0 = a * b; | |
| t2 = t0 + a; | |
| t2 = t2 + b; | |
| d = t2 & a; | |
| return d; | |
| } | |
| function Test16Compound(a, b) | |
| { | |
| var t0, t1, t2, t3; | |
| t0 = a * b; | |
| // 8 | |
| t2 = t0 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| // 8 | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| d = t2 & a; | |
| return d; | |
| } | |
| function Test20Compound(a, b) | |
| { | |
| var t0, t1, t2, t3; | |
| t0 = a * b; | |
| // 8 | |
| t2 = t0 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| // 8 | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| // 4 | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| d = t2 & a; | |
| return d; | |
| } | |
| function Test32Compound(a, b) | |
| { | |
| var t0, t1, t2, t3; | |
| t0 = a * b; | |
| // 8 | |
| t2 = t0 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| // 8 | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| // 8 | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| // 8 | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| t2 = t2 + a; | |
| t2 = t2 + b; | |
| d = t2 & a; | |
| return d; | |
| } | |
| for (var i = 1; i < 2147483647; i+=3131313) | |
| { | |
| WScript.Echo("Test0Compound(" + -i + ", " + i + ") = " + Test0Compound(-i, i)); | |
| WScript.Echo("Test0Compound(" + i + ", " + i + ") = " + Test0Compound(i, i)); | |
| WScript.Echo("Test1Compound(" + -i + ", " + i + ") = " + Test1Compound(-i, i)); | |
| WScript.Echo("Test1Compound(" + i + ", " + i + ") = " + Test1Compound(i, i)); | |
| WScript.Echo("Test2Compound(" + -i + ", " + i + ") = " + Test2Compound(-i, i)); | |
| WScript.Echo("Test2Compound(" + i + ", " + i + ") = " + Test2Compound(i, i)); | |
| WScript.Echo("Test16Compound(" + -i + ", " + i + ") = " + Test16Compound(-i, i)); | |
| WScript.Echo("Test16Compound(" + i + ", " + i + ") = " + Test16Compound(i, i)); | |
| WScript.Echo("Test20Compound(" + -i + ", " + i + ") = " + Test20Compound(-i, i)); | |
| WScript.Echo("Test20Compound(" + i + ", " + i + ") = " + Test20Compound(i, i)); | |
| WScript.Echo("Test32Compound(" + -i + ", " + i + ") = " + Test32Compound(-i, i)); | |
| WScript.Echo("Test32Compound(" + i + ", " + i + ") = " + Test32Compound(i, i)); | |
| } | |
| WScript.Echo(Test1Compound(2147483647, 2147483647)); | |
| WScript.Echo(Test1Compound(-2147483648, 2147483647)); | |
| WScript.Echo(Test1Compound(2147483647, -2147483648)); | |
| WScript.Echo(Test2Compound(2147483647, 2147483647)); | |
| WScript.Echo(Test2Compound(-2147483648, 2147483647)); | |
| WScript.Echo(Test2Compound(2147483647, -2147483648)); | |
| WScript.Echo(Test16Compound(2147483647, 2147483647)); | |
| WScript.Echo(Test16Compound(-2147483648, 2147483647)); | |
| WScript.Echo(Test16Compound(2147483647, -2147483648)); | |
| WScript.Echo(Test20Compound(2147483647, 2147483647)); | |
| WScript.Echo(Test20Compound(-2147483648, 2147483647)); | |
| WScript.Echo(Test20Compound(2147483647, -2147483648)); | |
| WScript.Echo(Test32Compound(2147483647, 2147483647)); | |
| WScript.Echo(Test32Compound(-2147483648, 2147483647)); | |
| WScript.Echo(Test32Compound(2147483647, -2147483648)); | |