tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

truncate.js (1299B)


      1 function f() {
      2    var x = Math.pow(2, 31); // take it as argument if constant propagation comes in you way.
      3    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 32
      4    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 33
      5    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 34
      6    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 35
      7    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 36
      8    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 37
      9    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 38
     10    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 39
     11    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 40
     12    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 41
     13    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 42
     14    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 43
     15    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 44
     16    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 45
     17    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 46
     18    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 47
     19    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 48
     20    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 49
     21    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 50
     22    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 51
     23    x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 52
     24    x = x + x; assertEq((x + 1) | 0, 0); // 2 ** 53
     25 }
     26 
     27 for (var i = 0; i <= 10_000; i++)
     28    f();