using System;
using System.Diagnostics;
public class Test
{
public static void Main()
{
var tests = 1234567890;
var value = 123456789235;
var sw = new Stopwatch();
sw.Restart();
Test1(tests, value);
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds);
sw.Restart();
Test2(tests, value);
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds);
}
static void Test1(long n, long value)
{
var temp = 0d;
for (var i = 0; i < n; i++)
temp = value >> 1;
}
static void Test2(long n, long value)
{
var temp = 0d;
for (var i = 0; i < n; i++)
temp = value * 0.5;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIHRlc3RzID0gMTIzNDU2Nzg5MDsKCQl2YXIgdmFsdWUgPSAxMjM0NTY3ODkyMzU7CgkJdmFyIHN3ID0gbmV3IFN0b3B3YXRjaCgpOwoJCQoJCXN3LlJlc3RhcnQoKTsKCQlUZXN0MSh0ZXN0cywgdmFsdWUpOwoJCXN3LlN0b3AoKTsKCQlDb25zb2xlLldyaXRlTGluZShzdy5FbGFwc2VkTWlsbGlzZWNvbmRzKTsKCQkKCQlzdy5SZXN0YXJ0KCk7CgkJVGVzdDIodGVzdHMsIHZhbHVlKTsKCQlzdy5TdG9wKCk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoc3cuRWxhcHNlZE1pbGxpc2Vjb25kcyk7Cgl9CgkKCXN0YXRpYyB2b2lkIFRlc3QxKGxvbmcgbiwgbG9uZyB2YWx1ZSkKCXsKCQl2YXIgdGVtcCA9IDBkOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgbjsgaSsrKQoJCQl0ZW1wID0gdmFsdWUgPj4gMTsKCX0KCQoJc3RhdGljIHZvaWQgVGVzdDIobG9uZyBuLCBsb25nIHZhbHVlKQoJewoJCXZhciB0ZW1wID0gMGQ7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBuOyBpKyspCgkJCXRlbXAgPSB2YWx1ZSAqIDAuNTsKCX0KfQ==